J'essaie de programmer mon propre système pour faire fonctionner un réseau neuronal. Pour réduire le nombre de nœuds nécessaires, il a été suggéré de le faire traiter également les rotations de l'entrée.
Mon réseau vise à apprendre et à prédire le jeu de la vie de Conway en regardant chaque carré et ses carrés environnants dans une grille, et en donnant la sortie pour ce carré. Son entrée est une chaîne de 9 bits:
Ce qui précède est représenté par 010 001 111.
Il existe cependant trois autres rotations de cette forme, et toutes produisent le même résultat:
Ma topologie de réseau est de 9 nœuds d'entrée et 1 nœud de sortie pour l'état suivant du carré central dans l'entrée. Comment puis-je construire la ou les couches cachées de façon à ce qu'elles prennent chacune la même rotation, réduisant ainsi le nombre d'entrées possibles au quart de l'original?
Éditer:
Il y a aussi un retournement de chaque rotation qui produit un résultat identique. L'intégration de ceux-ci réduira mes entrées de 1 / 8ème. Avec le planeur, mon objectif est que toutes ces entrées soient traitées exactement de la même manière. Est-ce que cela devra être fait avec le prétraitement, ou puis-je l'intégrer dans le réseau?