«Théorème de Deep Noether»: intégrer des contraintes de symétrie


9

Si j'ai un problème d'apprentissage qui devrait avoir une symétrie inhérente, existe-t-il un moyen de soumettre mon problème d'apprentissage à une contrainte de symétrie pour améliorer l'apprentissage?

Par exemple, si je fais une reconnaissance d'image, je pourrais vouloir une symétrie de rotation 2D. Cela signifie que la version pivotée d'une image devrait obtenir le même résultat que l'original.

Ou si j'apprends à jouer au tic-tac-toe, une rotation de 90 degrés devrait donner le même jeu.

Des recherches ont-elles été effectuées à ce sujet?



@Emre Merci! Connaissez-vous des travaux en dehors de CNN?
aidan.plenert.macdonald

Non, je n'ai qu'une connaissance superficielle de ce créneau. Nonobstant, les CNN semblent être un cadre naturel ...
Emre

3
Je devrais également mentionner la thèse de doctorat de Risi Kondor, Méthodes théoriques de groupe en apprentissage automatique (pdf)
Emre

Réponses:


8

D'après le commentaire d'Emre ci-dessus, la section 4.4 des méthodes théoriques de groupe en apprentissage automatique par Risi Kondor contient des informations détaillées et des preuves sur la création de méthodes de noyau qui ont intrinsèquement des symétries. Je vais le résumer d'une manière, je l'espère, intuitive (je suis un physicien et non un mathématicien!).

La plupart des algorithmes ML ont une multiplication matricielle comme,

si=jWij xj=jWij (ejx)
avec x étant l'entrée etWijétant les poids que nous souhaitons entraîner.

Méthode du noyau

Entrez dans le domaine des méthodes du noyau et laissez l'algorithme gérer l'entrée via,

si=jWij k(ej, x)
où maintenant on généralise àx,ejX.

Considérons un groupe G qui agit sur X par xTg(x) pour gG . Un moyen simple de rendre notre algorithme invariant sous ce groupe est de faire un noyau,

kG(x,y)=1|G|gGk(x,Tg(y))
aveck(x,y)=k(Tg(x),Tg(y)).

Donc,

kG(x,Th(y))=1|G|gGk(x,Tgh(y))=1|G|gGk(x,Tg(y))=1|G|gGk(Tg(x),y)

Pour k(x,y)=xy qui fonctionne pour toutes les représentations unitaires,

kG(x,Th(y))=[1|G|gGTg(x)]y

Ce qui offre une matrice de transformation qui peut symétriser l'entrée dans l'algorithme.

SO (2) Exemple

En fait, juste le groupe qui correspond à π2 rotations pour plus de simplicité.

Exécutons une régression linéaire sur les données (xi,yi)R2×R où nous nous attendons à une symétrie de rotation.

Notre problème d'optimisation devient,

minWji12(yiy~i)2y~i=jWjkG(ej,xi)+bi

k(x,y)=xy2k(x,y)=k(Tg(x),Tg(y))k(x,y)=xy

Ainsi,

kG(ej,xi)=14n=14R(nπ/2) ejxi2=14n=14(cos(nπ/2)xi1)2+(sin(nπ/2)xi2)2=14[2xi12+2xi22+(1xi1)2+(1xi2)2+(1+xi1)2+(1+xi2)2]=xi12+xi22+1

Notez que nous n'avons pas besoin de faire la somme de car c'est la même chose pour les deux. Donc, notre problème devient, j

minWi12(yiy~i)2y~i=W[xi12+xi22+1]+bi

Ce qui donne la symétrie sphérique attendue!

Tic-Tac-Toe

Un exemple de code peut être vu ici . Il montre comment nous pouvons créer une matrice qui code la symétrie et l'utiliser. Notez que c'est vraiment mauvais quand je le lance! Travailler avec d'autres noyaux en ce moment.


Bon travail, Aidan! Si vous avez le temps, vous pouvez écrire un article de blog plus détaillé. La communauté sera la plus intéressée.
Emre

1
Je ne sais pas de quelle communauté vous parlez, mais j'ai commencé à écrire davantage. Je voulais trouver un moyen d'estimer le noyau optimal étant donné un ensemble de données. J'ai donc optimisé l'entropie sur l'espace du noyau pour obtenir intuitivement un nouvel ensemble de fonctionnalités qui sont contraintes symétriquement et aussi entropiques au maximum (c'est-à-dire informatives). Maintenant, que ce soit la bonne approche. Je ne peux pas dire. Juste un avertissement, les maths sont un peu un travail de piratage en ce moment et un peu tout droit sorti des statistiques. overleaf.com/read/kdfzdbyhpbbq
aidan.plenert.macdonald

Existe-t-il une approche significative lorsque le groupe de symétrie n'est pas connu?
leitasat

@leitasat Comment savez-vous que c'est symétrique si vous ne connaissez pas le groupe?
aidan.plenert.macdonald

@ aidan.plenert.macdonald à partir des données. Disons que nous avons 1000 ensembles de 100 images chacun, et dans chaque ensemble, il y a des images d'un objet de différents points de vue. Un algorithme peut-il «apprendre l'idée» de la symétrie SO (3) et l'utiliser sur des objets jamais vus auparavant?
leitasat

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.