Wenn ich ein Lernproblem habe, das eine inhärente Symmetrie haben sollte, gibt es eine Möglichkeit, mein Lernproblem einer Symmetrieeinschränkung zu unterwerfen, um das Lernen zu verbessern?
Wenn ich beispielsweise eine Bilderkennung durchführe, möchte ich möglicherweise eine 2D-Rotationssymmetrie. Dies bedeutet, dass die gedrehte Version eines Bildes das gleiche Ergebnis wie das Original erzielen sollte.
Oder wenn ich lerne, Tic-Tac-Toe zu spielen, sollte eine Drehung um 90 Grad das gleiche Spielverhalten ergeben.
Wurden diesbezüglich Untersuchungen durchgeführt?
machine-learning
aidan.plenert.macdonald
quelle
quelle
Antworten:
Aus Emres obigem Kommentar geht hervor, dass Abschnitt 4.4 der gruppentheoretischen Methoden des maschinellen Lernens von Risi Kondor detaillierte Informationen und Beweise zum Erstellen von Kernelmethoden enthält, die von Natur aus Symmetrien aufweisen. Ich werde es auf hoffentlich intuitive Weise zusammenfassen (ich bin Physiker, kein Mathematiker!).
Die meisten ML-Algorithmen haben eine Matrixmultiplikation wiesich= ∑jW.i j xj= ∑jW.i j ( e⃗ j⋅ x⃗ )
wobei x⃗ die Eingabe undW.i j die Gewichte sind, die wir trainieren möchten.
Kernel-Methode
Betreten Sie den Bereich der Kernel-Methoden und lassen Sie den Algorithmus die Eingabe übersich= ∑jW.i j k ( ej, x )
wobei wir nun aufx , ej∈ X. verallgemeinern.
Betrachten Sie eine GruppeG , die über x → T g ( x ) für g ∈ G auf X. einwirkt . Eine einfache Möglichkeit, unseren Algorithmus unter dieser Gruppe invariant zu machen, besteht darin, einen Kernel,
k G ( x , y ) , zu erstellen.x → T.G( x ) G∈ G. kG( x , y)= 1| G |∑G∈ G.k ( x , T.G( y) )
mitk ( x , y) = k ( T.G( x ) , T.G( y) ) .
Also,kG(x,Th(y))=1|G|∑g∈Gk(x,Tgh(y))=1|G|∑g∈Gk(x,Tg(y))=1|G|∑g∈Gk(Tg(x),y)
Fürk(x,y)=x⋅y das für alle einheitlichen Darstellungen gilt,
Dies bietet eine Transformationsmatrix, die die Eingabe in den Algorithmus symmetrisieren kann.
SO (2) Beispiel
Eigentlich nur die Gruppe, die aufπ2 Einfachheit halber 2 Umdrehungen.
Lassen Sie uns eine lineare Regression für Daten(x⃗ i,yi)∈R2×R wobei wir eine Rotationssymmetrie erwarten.
Unser Optimierungsproblem wirdminWjy~i∑i12(yi−y~i)2=∑jWjkG(ej,xi)+bi
Der Kernk(x,y)=∥x−y∥2 erfüllt k(x,y)=k(Tg(x),Tg(y)) . Sie können auch k(x,y)=x⋅y und eine Vielzahl von Kerneln verwenden.
Somit istkG(ej,xi)=14∑n=14∥R(nπ/2) e⃗ j−x⃗ i∥2=14∑n=14(cos(nπ/2)−x⃗ i1)2+(sin(nπ/2)−x⃗ i2)2=14[2x⃗ 2i1+2x⃗ 2i2+(1−x⃗ i1)2+(1−x⃗ i2)2+(1+x⃗ i1)2+(1+x⃗ i2)2]=x⃗ 2i1+x⃗ 2i2+1
Was die erwartete sphärische Symmetrie ergibt!
Tic-Tac-Toe
Beispielcode ist hier zu sehen . Es zeigt, wie wir eine Matrix erstellen können, die die Symmetrie codiert und verwendet. Beachten Sie, dass dies wirklich schlecht ist, wenn ich es tatsächlich laufen lasse! Momentan mit anderen Kerneln arbeiten.
quelle
Es stellt sich heraus, dass dies nur das Studium der Invarianten Theorie ist, das auf maschinelles Lernen angewendet wird
quelle