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


9

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

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

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

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



@ Emre Спасибо! Знаете ли вы о какой-либо работе за пределами CNN?
— aidan.plenert.macdonald

Нет, я только поверхностно знаю эту нишу. Несмотря на это, CNN кажутся естественной обстановкой ...
— Эмре

3
Я должен также упомянуть докторскую диссертацию Ризи Кондор, Групповые теоретические методы в машинном обучении (pdf)
— Эмре

Ответы:


8

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

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

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

Метод ядра

si=∑jWij k(ej, x)
x,ej∈X

GXx→Tg(x)g∈G

kG(x,y)=1|G|∑g∈Gk(x,Tg(y))
k(x,y)=k(Tg(x),Tg(y))

kG(x,Th(y))=1|G|∑g∈Gk(x,Tgh(y))=1|G|∑g∈Gk(x,Tg(y))=1|G|∑g∈Gk(Tg(x),y)

k(x,y)=x⋅y

kG(x,Th(y))=[1|G|∑g∈GTg(x)]⋅y

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

Пример SO (2)

π2

(x→i,yi)∈R2×R

minWj∑i12(yi−y~i)2y~i=∑jWjkG(ej,xi)+bi

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

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

kG(ej,xi)=14∑n=14‖R(nπ/2) e→j−x→i‖2=14∑n=14(cos⁡(nπ/2)−x→i1)2+(sin⁡(nπ/2)−x→i2)2=14[2x→i12+2x→i22+(1−x→i1)2+(1−x→i2)2+(1+x→i1)2+(1+x→i2)2]=x→i12+x→i22+1

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

minW∑i12(yi−y~i)2y~i=W[x→i12+x→i22+1]+bi

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

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

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


Хорошая работа, Эйдан! Если у вас есть время, вы можете написать более подробную запись в блоге. Сообщество будет наиболее заинтересованным.
— Эмре

1
Не уверен, какое сообщество вы имеете в виду, но я начал писать больше. Я хотел найти способ оценить оптимальное ядро ​​с учетом набора данных. Поэтому я оптимизировал энтропию в пространстве ядра, чтобы интуитивно получить новый набор функций, которые симметрично ограничены, а также максимально энтропийны (т.е. информативны). Теперь то ли это правильный подход. Я не могу сказать. Просто предупреждение, математика - это хакерская работа прямо сейчас и вроде как из статов. overleaf.com/read/kdfzdbyhpbbq
— aidan.plenert.macdonald

Есть ли какой-либо значимый подход, когда группа симметрии неизвестна?
— leitasat

@leitasat Откуда ты знаешь, что это симметрично, если ты не знаешь группу?
— aidan.plenert.macdonald

@ aidan.plenert.macdonald из данных. Допустим, у нас есть 1000 наборов по 100 изображений в каждом, и в каждом наборе есть изображения одного объекта с разных точек зрения. Может ли какой-либо алгоритм «изучить идею» симметрии SO (3) и использовать ее на ранее невидимых объектах?
— leitasat

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.