Estou tentando programar meu próprio sistema para executar uma rede neural. Para reduzir o número de nós necessários, foi sugerido que ele tratasse as rotações da entrada igualmente.
Minha rede tem como objetivo aprender e prever o Jogo da Vida de Conway, olhando para cada quadrado e seus quadrados ao redor em uma grade e fornecendo a saída para esse quadrado. Sua entrada é uma sequência de 9 bits:
O acima é representado como 010 001 111.
No entanto, existem outras três rotações dessa forma e todas produzem a mesma saída:
Minha topologia de rede é de 9 nós de entrada e 1 nó de saída para o próximo estado do quadrado central na entrada. Como posso construir a (s) camada (s) oculta (s) para que elas tomem cada uma dessas rotações da mesma forma, reduzindo o número de entradas possíveis em um quarto da original?
Editar:
Há também um giro de cada rotação que produz um resultado idêntico. Incorporar esses itens reduzirá minhas entradas em 1/8. Com o planador, meu objetivo é que todas essas entradas sejam tratadas exatamente da mesma forma. Isso precisa ser feito com pré-processamento ou posso incorporá-lo à rede?