Estoy intentando programar mi propio sistema para ejecutar una red neuronal. Para reducir la cantidad de nodos necesarios, se sugirió que tratara las rotaciones de la entrada por igual.
Mi red tiene como objetivo aprender y predecir el Juego de la vida de Conway al observar cada cuadro y sus cuadrados circundantes en una cuadrícula, y dar la salida para ese cuadrado. Su entrada es una cadena de 9 bits:
Lo anterior se representa como 010 001 111.
Sin embargo, hay otras tres rotaciones de esta forma, y todas producen la misma salida:
Mi topología de red es de 9 nodos de entrada y 1 nodo de salida para el siguiente estado del cuadrado central en la entrada. ¿Cómo puedo construir la (s) capa (s) oculta (s) para que tomen cada una de estas rotaciones de la misma manera, reduciendo el número de posibles entradas a un cuarto del original?
Editar:
También hay un giro de cada rotación que produce un resultado idéntico. La incorporación de estos reducirá mis entradas en 1/8. Con el planeador, mi objetivo es que todas estas entradas sean tratadas exactamente igual. ¿Esto tendrá que hacerse con preprocesamiento o puedo incorporarlo a la red?