Gegeben ist ein neuronales Netz , das Datenpunkte als Eingabe nimmt : . Wir sagen, ist eine Permutationsinvariante wenn
für jede Permutation .
Könnte jemand einen Ausgangspunkt (Artikel, Beispiel oder anderes Papier) für die Permutation invarianter neuronaler Netze empfehlen?
neural-networks
machine-learning
reference-request
Josef Ondrej
quelle
quelle
Antworten:
Soweit ich weiß, hat dies aufgrund der Struktur des Netzwerks noch niemand versucht. Jeder Eingang verfügt über eine Reihe von Gewichten, die mit mehreren Eingängen verbunden sind. Wenn die Eingänge umschalten, wird auch der Ausgang .
Sie können jedoch ein Netzwerk erstellen, das sich diesem Verhalten nähert. Verwenden Sie in Ihrem Trainingssatz Batch-Lernen und geben Sie für jede Trainingsprobe alle möglichen Permutationen an das Netzwerk, sodass es lernt, permutationsinvariant zu sein. Dies wird niemals genau unveränderlich sein, es könnte nur nahe sein .
Eine andere Möglichkeit besteht darin, die Gewichte für alle Eingaben replizieren zu lassen. Angenommen, Sie haben 3 Eingänge (i0, i1, i2) und die nächste ausgeblendete Ebene verfügt über 2 Knoten (hl0, hl1) und die Aktivierungsfunktion F. Bei einer vollständig verbundenen Ebene haben Sie 2 Gewichte w0 und w1. Die Knoten h10 und h11 der verborgenen Schicht sind jeweils gegeben durch
hl0 = F (i0w0 + i1w0 + i2w0)
hl1 = F (i0w1 + i1w1 + i2w1)
Auf diese Weise erhalten Sie eine ausgeblendete Ebene, deren Werte von der Eingabe nicht abweichen. Von nun an können Sie den Rest des Netzwerks nach Belieben erlernen und aufbauen. Dies ist ein aus Faltungsschichten abgeleiteter Ansatz.
Off-Topic scheint dies ein cooles Projekt zu sein. Wenn Sie an einem Forschungsprojekt mitarbeiten möchten, setzen Sie sich mit mir in Verbindung (siehe mein Profil)
quelle
Hier sind einige, nach denen Sie vielleicht suchen:
quelle
Ich habe Permutational Layer hier mit Keras implementiert: https://github.com/off99555/superkeras/blob/master/permutational_layer.py
Sie können die
PermutationalModule
Funktion aufrufen , um sie zu verwenden.Implementiert gemäß diesem Dokument: https://arxiv.org/pdf/1612.04530.pdf
Die Idee ist, alle Paare von N ^ 2 Paaren von N Eingängen zu vergleichen, das Modell mit gemeinsamen Gewichten zu verwenden und dann die Pooling-Funktion N- mal für N Eingänge zu verwenden. Die Ausgabe, die Sie wieder zusammenfassen können, aber in der Zeitung erwähnen sie kein anderes Zusammenfassen.
quelle