Até onde eu sei, ninguém tentou isso, devido à maneira como a rede está estruturada. Cada entrada possui um conjunto de pesos conectados a mais entradas. Se as entradas mudarem, a saída também mudará .
No entanto, você pode criar uma rede que aborda esse comportamento. No seu conjunto de treinamento, use o aprendizado em lote e, para cada amostra de treinamento, forneça todas as permutações possíveis à rede, de modo que ela aprenda a ser invariante. Isso nunca será exatamente invariável, apenas poderá estar próximo .
Outra maneira de fazer isso é replicar os pesos para todas as entradas. Por exemplo, vamos supor que você tenha 3 entradas (i0, i1, i2), e a próxima camada oculta possui 2 nós (hl0, hl1) e a função de ativação F. Assumindo uma camada totalmente conectada, você tem 2 pesos w0 e w1. Os nós da camada oculta hl0 e hl1 são dados, respectivamente, por
Dando assim a você uma camada oculta cujos valores são permutantes invariantes da entrada. A partir de agora, você poderá aprender e construir o restante da rede como achar melhor. Esta é uma abordagem derivada de camadas convolucionais.
Fora do tópico, isso parece um projeto interessante. Se você deseja colaborar em algum projeto de pesquisa, entre em contato comigo (consulte meu perfil)