Ich versuche, mein eigenes System so zu programmieren, dass ein neuronales Netzwerk ausgeführt wird. Um die Anzahl der benötigten Knoten zu verringern, wurde vorgeschlagen, die Rotationen der Eingabe gleich zu behandeln.
Mein Netzwerk zielt darauf ab, Conways Spiel des Lebens zu lernen und vorherzusagen, indem es jedes Quadrat und seine umgebenden Quadrate in einem Raster betrachtet und die Ausgabe für dieses Quadrat angibt. Seine Eingabe ist eine Folge von 9 Bits:
Das Obige wird als 010 001 111 dargestellt.
Es gibt jedoch drei weitere Umdrehungen dieser Form, und alle erzeugen dieselbe Ausgabe:
Meine Netzwerktopologie besteht aus 9 Eingabeknoten und 1 Ausgabeknoten für den nächsten Status des mittleren Quadrats in der Eingabe. Wie kann ich die verborgenen Ebenen so konstruieren, dass jede dieser Umdrehungen gleich ist, wodurch die Anzahl der möglichen Eingaben auf ein Viertel des Originals reduziert wird?
Bearbeiten:
Es gibt auch einen Flip jeder Umdrehung, der ein identisches Ergebnis erzeugt. Wenn ich diese einbeziehe, werden meine Eingaben um 1/8 reduziert. Mein Ziel beim Segelflugzeug ist es, dass alle diese Eingaben genau gleich behandelt werden. Muss dies mit Vorverarbeitung erfolgen oder kann ich es in das Netzwerk integrieren?