Si tengo un problema de aprendizaje que debería tener una simetría inherente, ¿hay alguna forma de someter mi problema de aprendizaje a una restricción de simetría para mejorar el aprendizaje?
Por ejemplo, si estoy haciendo reconocimiento de imagen, podría querer simetría rotacional 2D. Lo que significa que la versión girada de una imagen debería obtener el mismo resultado que la original.
O si estoy aprendiendo a jugar al tic-tac-toe, entonces girar 90 grados debería producir el mismo juego.
¿Se ha hecho alguna investigación sobre esto?
machine-learning
aidan.plenert.macdonald
fuente
fuente
Respuestas:
Del comentario anterior de Emre, la Sección 4.4 de Métodos teóricos grupales en aprendizaje automático de Risi Kondor tiene información detallada y pruebas sobre la creación de métodos de núcleo que tienen simetrías inherentemente. Lo resumiré de una forma esperanzadora e intuitiva (¡soy un físico, no un matemático!).
La mayoría de los algoritmos de ML tienen una matriz de multiplicación como,syo= ∑jWyo j Xj= ∑jWyo j ( e⃗ j⋅ x⃗ )
con X⃗ como entrada yWyo j como los pesos que deseamos entrenar.
Método Kernel
Ingrese al reino de los métodos del núcleo y deje que el algoritmo maneje la entrada a través de,syo= ∑jWyo j k ( ej, x )
donde ahora generalizamos ax , ej∈ X .
Considere un gruposol que actúa sobre X a través de x → Tsol( x ) para sol∈ G . Una manera simple de hacer que nuestro algoritmo sea invariable en este grupo es hacer un núcleo,
ksol( x , y)= 1El | G |∑sol∈ Gk ( x , Tsol( y) )
conk ( x , y) = k ( Tsol( x ) , Tsol( y) ) .
Entonces,ksol( x , Th( y) )= 1El | G |∑sol∈ Gk ( x , Tsolh(y) )= 1El | G |∑sol∈ Gk ( x , Tsol(y) )= 1El | G |∑sol∈ Gk ( Tsol( X ) , y)
Parak ( x , y) = x ⋅ y que funciona para todas las representaciones unitarias,
Que ofrece una matriz de transformación que puede simimentar la entrada en el algoritmo.
SO (2) Ejemplo
En realidad, solo el grupo que se asigna aπ2 rotaciones para simplicidad.
Ejecutemos una regresión lineal en los datos( x⃗ yo, yyo) ∈ R2× R donde esperamos una simetría rotacional.
Nuestro problema de optimización se convierte,minWjy~yo∑yo12( yyo- y~yo)2= ∑jWjksol( ej, xyo) + byo
Tenga en cuenta que no necesitamos sumar más dej porque es lo mismo para ambos. Entonces nuestro problema se convierte,
minWy~yo∑yo12( yyo- y~yo)2= W[ x⃗ 2yo 1+ x⃗ 2yo 2+ 1 ] + byo
¡Lo que produce la simetría esférica esperada!
Tic-Tac-Toe
El código de ejemplo se puede ver aquí . Muestra cómo podemos crear una matriz que codifique la simetría y usarla. Tenga en cuenta que esto es realmente malo cuando realmente lo ejecuto. Trabajando con otros núcleos en este momento.
fuente
Turns out this is just the study of Invariant Theory applied to Machine Learning
fuente