«Теорема глубокого Нётера»: построение в симметрийных ограничениях

9

Если у меня есть проблема обучения, которая должна иметь внутреннюю симметрию, есть ли способ подвергнуть мою проблему обучения ограничению симметрии для улучшения обучения?

Например, если я делаю распознавание изображения, мне может потребоваться 2D симметрия вращения. Это означает, что повернутая версия изображения должна получить тот же результат, что и оригинал.

Или, если я учусь играть в крестики-нолики, вращение на 90 градусов должно привести к тому же самому игровому процессу.

Было ли проведено какое-либо исследование по этому вопросу?

aidan.plenert.macdonald
источник
@ Emre Спасибо! Знаете ли вы о какой-либо работе за пределами CNN?
aidan.plenert.macdonald
Нет, я только поверхностно знаю эту нишу. Несмотря на это, CNN кажутся естественной обстановкой ...
Эмре
3
Я должен также упомянуть докторскую диссертацию Ризи Кондор, Групповые теоретические методы в машинном обучении (pdf)
Эмре

Ответы:

8

Из вышеприведенного комментария Эмре, раздел 4.4 теоретических методов группы в машинном обучении Риси Кондора содержит подробную информацию и доказательства создания методов ядра, которые по своей природе имеют симметрии. Я буду резюмировать это, надеюсь, интуитивно понятным способом (я физик, а не математик!).

Большинство алгоритмов ML имеют матричное умножение, например,

si=jWij xj=jWij (ejx)
где x - вход, аWij- веса, которые мы хотим обучить.

Метод ядра

si=jWij k(ej, x)
x,ejX

GXxTg(x)gG

kG(x,y)=1|G|gGk(x,Tg(y))
k(x,y)=k(Tg(x),Tg(y))

kG(x,Th(y))=1|G|gGk(x,Tgh(y))=1|G|gGk(x,Tg(y))=1|G|gGk(Tg(x),y)

k(x,y)=xy

kG(x,Th(y))=[1|G|gGTg(x)]y

Который предлагает матрицу преобразования, которая может симметризовать входные данные в алгоритм.

Пример SO (2)

π2

(xi,yi)R2×R

minWji12(yiy~i)2y~i=jWjkG(ej,xi)+bi

Ядро удовлетворяет . Вы также можете использовать и множество ядер.k(x,y)=xy2k(x,y)=k(Tg(x),Tg(y))k(x,y)=xy

Таким образом,

kG(ej,xi)=14n=14R(nπ/2) ejxi2=14n=14(cos(nπ/2)xi1)2+(sin(nπ/2)xi2)2=14[2xi12+2xi22+(1xi1)2+(1xi2)2+(1+xi1)2+(1+xi2)2]=xi12+xi22+1

Обратите внимание, что нам не нужно суммировать по потому что оно одинаково для обоих. Таким образом, наша проблема становится такой: j

minWi12(yiy~i)2y~i=W[xi12+xi22+1]+bi

Что дает ожидаемую сферическую симметрию!

Крестики-нолики

Пример кода можно посмотреть здесь . Он показывает, как мы можем создать матрицу, которая кодирует симметрию и использовать ее. Обратите внимание, что это действительно плохо, когда я запускаю его! Работа с другими ядрами на данный момент.

aidan.plenert.macdonald
источник
Хорошая работа, Эйдан! Если у вас есть время, вы можете написать более подробную запись в блоге. Сообщество будет наиболее заинтересованным.
Эмре
1
Не уверен, какое сообщество вы имеете в виду, но я начал писать больше. Я хотел найти способ оценить оптимальное ядро ​​с учетом набора данных. Поэтому я оптимизировал энтропию в пространстве ядра, чтобы интуитивно получить новый набор функций, которые симметрично ограничены, а также максимально энтропийны (т.е. информативны). Теперь то ли это правильный подход. Я не могу сказать. Просто предупреждение, математика - это хакерская работа прямо сейчас и вроде как из статов. overleaf.com/read/kdfzdbyhpbbq
aidan.plenert.macdonald
Есть ли какой-либо значимый подход, когда группа симметрии неизвестна?
leitasat
@leitasat Откуда ты знаешь, что это симметрично, если ты не знаешь группу?
aidan.plenert.macdonald
@ aidan.plenert.macdonald из данных. Допустим, у нас есть 1000 наборов по 100 изображений в каждом, и в каждом наборе есть изображения одного объекта с разных точек зрения. Может ли какой-либо алгоритм «изучить идею» симметрии SO (3) и использовать ее на ранее невидимых объектах?
leitasat
1

Оказывается, это всего лишь изучение теории инвариантов, применяемой к машинному обучению.

aidan.plenert.macdonald
источник