"Teorema del profundo Noether": Construyendo restricciones de simetría

9

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?

aidan.plenert.macdonald
fuente
@ Emre Gracias! ¿Conoces algún trabajo fuera de CNN?
aidan.plenert.macdonald
No, solo tengo un conocimiento superficial de este nicho. No obstante, las CNN parecen un entorno natural ...
Emre
3
También debo mencionar la tesis doctoral de Risi Kondor, Métodos teóricos grupales en aprendizaje automático (pdf)
Emre

Respuestas:

8

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=jWyoj Xj=jWyoj (mijX)
con X como entrada yWyoj 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=jWyoj k(mij, X)
donde ahora generalizamos aX,mijX .

Considere un grupo sol que actúa sobre X a través de XTsol(X) para solsol . Una manera simple de hacer que nuestro algoritmo sea invariable en este grupo es hacer un núcleo,

ksol(X,y)=1El |solEl |solsolk(X,Tsol(y))
conk(X,y)=k(Tsol(X),Tsol(y)) .

Entonces,

ksol(X,Th(y))=1El |solEl |solsolk(X,Tsolh(y))=1El |solEl |solsolk(X,Tsol(y))=1El |solEl |solsolk(Tsol(X),y)

Para k(X,y)=Xy que funciona para todas las representaciones unitarias,

ksol(X,Th(y))=[1El |solEl |solsolTsol(X)]y

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 (Xyo,yyo)R2×R donde esperamos una simetría rotacional.

Nuestro problema de optimización se convierte,

minWjyo12(yyo-y~yo)2y~yo=jWjksol(mij,Xyo)+siyo

k(X,y)=X-y2k(X,y)=k(Tsol(X),Tsol(y))k(X,y)=Xy y una variedad de núcleos.

ksol(mij,Xyo)=14 4norte=14 4R(norteπ/ /2) mij-Xyo2=14 4norte=14 4(cos(norteπ/ /2)-Xyo1)2+(pecado(norteπ/ /2)-Xyo2)2=14 4[2Xyo12+2Xyo22+(1-Xyo1)2+(1-Xyo2)2+(1+Xyo1)2+(1+Xyo2)2]=Xyo12+Xyo22+1

Tenga en cuenta que no necesitamos sumar más de jporque es lo mismo para ambos. Entonces nuestro problema se convierte,

minWyo12(yyo-y~yo)2y~yo=W[Xyo12+Xyo22+1]+siyo

¡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.

aidan.plenert.macdonald
fuente
Buen trabajo, Aidan! Si tiene tiempo, puede escribir una publicación de blog más detallada. La comunidad estará más interesada.
Emre
1
Not sure what community you are referring to, but I started writing more. I wanted to find a way to estimate the optimal kernel given a set of data. So I optimized entropy on kernel space to intuitively get a new set of features that are symmetrically constrained and also maximally entropic (ie. informative). Now whether that it the right approach. I can't say. Just a warning, the math is a bit of a hack job right now and kind of straight out of stat mech. overleaf.com/read/kdfzdbyhpbbq
aidan.plenert.macdonald
Is there any meaningful approach when the symmetry group is not known?
leitasat
@leitasat How do you know it's symmetric if you don't know the group?
aidan.plenert.macdonald
@aidan.plenert.macdonald from the data. Let's say we have 1000 sets of 100 pictures each, and within each set there are pictures of one object from different viewpoints. Can any algorithm "learn the idea" of SO(3) symmetry and use it on previously unseen objects?
leitasat
1

Turns out this is just the study of Invariant Theory applied to Machine Learning

aidan.plenert.macdonald
fuente