Pour autant que je sache, personne n'a essayé cela, en raison de la structure du réseau. Chaque entrée a un ensemble de poids, qui sont connectés à plus d'entrées. Si les entrées changent, la sortie le sera aussi .
Cependant, vous pouvez créer un réseau qui approche ce comportement. Dans votre ensemble de formation, utilisez l'apprentissage par lots et, pour chaque échantillon de formation, donnez toutes les permutations possibles au réseau de sorte qu'il apprenne à être invariant par permutation. Ce ne sera jamais exactement invariant, il pourrait bien être proche .
Une autre façon de procéder consiste à répliquer les poids pour toutes les entrées. Par exemple, supposons que vous ayez 3 entrées (i0, i1, i2) et que la couche cachée suivante a 2 nœuds (hl0, hl1) et la fonction d'activation F. En supposant une couche entièrement connectée, vous avez 2 poids w0 et w1. Les nœuds hl0 et hl1 de la couche cachée sont donnés respectivement par
Vous donnant ainsi une couche cachée dont les valeurs sont invariantes par permutation depuis l'entrée. A partir de maintenant, vous pouvez apprendre et construire le reste du réseau comme bon vous semble. Il s'agit d'une approche dérivée des couches convolutives.
Hors sujet, cela semble être un projet sympa. Si vous souhaitez coopérer sur un projet de recherche, contactez-moi (consultez mon profil)