Sto tentando di programmare il mio sistema per eseguire una rete neurale. Per ridurre il numero di nodi necessari, è stato suggerito di fare in modo che le rotazioni dell'input fossero trattate allo stesso modo.
La mia rete mira a imparare e prevedere il gioco della vita di Conway osservando ogni quadrato e i suoi quadrati circostanti in una griglia e fornendo l'output per quel quadrato. Il suo input è una stringa di 9 bit:
Quanto sopra è rappresentato come 010 001 111.
Esistono altre tre rotazioni di questa forma e tutte producono lo stesso output:
La mia topologia di rete è composta da 9 nodi di input e 1 nodo di output per lo stato successivo del quadrato centrale nell'input. Come posso costruire i layer nascosti in modo che prendano ciascuna di queste rotazioni allo stesso modo, riducendo il numero di input possibili fino a un quarto dell'originale?
Modificare:
C'è anche una rotazione di ogni rotazione che produce un risultato identico. Incorporare questi taglierà i miei input di 1/8. Con l'aliante, il mio obiettivo è che tutti questi input vengano trattati esattamente allo stesso modo. Questo dovrà essere fatto con la pre-elaborazione o posso incorporarlo nella rete?