Насколько я знаю, никто не пробовал это из-за структуры сети. Каждый вход имеет набор весов, которые связаны с большим количеством входов. Если входы переключатся, выход тоже будет .
Тем не менее, вы можете построить сеть, которая подходит к этому поведению. В вашем обучающем наборе используйте пакетное обучение и для каждой обучающей выборки укажите все возможные перестановки в сети, чтобы она научилась быть инвариантной по перестановкам. Это никогда не будет точно инвариантным, оно просто может быть близко .
Другой способ сделать это - скопировать веса для всех входных данных. Например, предположим, что у вас есть 3 входа (i0, i1, i2), а следующий скрытый слой имеет 2 узла (hl0, hl1) и функцию активации F. Предполагая, что у вас полностью связанный слой, у вас есть 2 веса w0 и w1. Узлы скрытого слоя hl0 и hl1 задаются соответственно
Таким образом, давая вам скрытый слой, значения которого являются перестановками, инвариантными от ввода. Отныне вы можете изучать и строить остальную сеть по своему усмотрению. Это подход, полученный из сверточных слоев.
Не по теме, это похоже на крутой проект. Если вы хотите сотрудничать в каком-либо исследовательском проекте, свяжитесь со мной (проверьте мой профиль)