«Теорема глибокого Нітера»: побудова обмежень симетрії


9

Якщо у мене є проблема навчання, яка повинна мати властиву симетрію, чи є спосіб піддати мою проблему навчання обмеженням симетрії для покращення навчання?

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

Або якщо я вчуся грати в тик-так-носок, то обертання на 90deg повинно дати ту саму гру.

Чи було зроблено якісь дослідження з цього приводу?



@Emre Спасибі! Чи знаєте ви про будь-яку роботу поза CNN?
aidan.plenert.macdonald

Ні, я маю лише поверхневі знання про цю нішу. Незважаючи на те, CNN здаються природними умовами ...
Emre

3
Я також повинен згадати докторську дисертацію Рісі Кондор, Групові теоретичні методи в машинному навчанні (pdf)
Емре

Відповіді:


8

З коментаря Емре вище, в розділі 4.4 Групових теоретичних методів машинного навчання Різі Кондор є детальна інформація та докази створення методів ядра, які по суті мають симетрію. Я підсумую це, сподіваючись інтуїтивно зрозумілим чином (я фізик, а не математик!).

Більшість алгоритмів ML мають матричне множення на зразок,

сi=jWij хj=jWij (еjх)
з х будучи вхідним і Wij будучи вагами, які ми хочемо тренувати.

Метод ядра

Введіть сферу методів ядра і дозвольте алгоритму обробляти вхід через,

сi=jWij к(еj, х)
де ми зараз узагальнюємо х,еjХ.

Розглянемо групу Г що діє на Х через хТг(х) для гГ. Простий спосіб зробити наш алгоритм інваріантним під цією групою - це зробити ядро,

кГ(х,у)=1|Г|гГк(х,Тг(у))
з к(х,у)=к(Тг(х),Тг(у)).

Тому,

кГ(х,Тгод(у))=1|Г|гГк(х,Тггод(у))=1|Г|гГк(х,Тг(у))=1|Г|гГк(Тг(х),у)

Для к(х,у)=ху яка працює для всіх унітарних представництв,

кГ(х,Тгод(у))=[1|Г|гГТг(х)]у

Яка пропонує матрицю перетворення, яка може симетризувати вхід в алгоритм.

SO (2) Приклад

Насправді просто група, на яку відображається карта π2 обертання для простоти.

Давайте проведемо лінійну регресію на даних (хi,уi)R2×R де ми очікуємо обертальну симетрію.

Наша проблема оптимізації стає,

хвWji12(уi-у~i)2у~i=jWjкГ(еj,хi)+бi

Ядро к(х,у)=х-у2задовольняє . Ви також можете використовувати та різні ядра.к(х,у)=к(Тг(х),Тг(у))к(х,у)=ху

Таким чином,

кГ(еj,хi)=14н=14R(нπ/2) еj-хi2=14н=14(cos(нπ/2)-хi1)2+(гріх(нπ/2)-хi2)2=14[2хi12+2хi22+(1-хi1)2+(1-хi2)2+(1+хi1)2+(1+хi2)2]=хi12+хi22+1

Зауважте, що нам не потрібно сумувати понад оскільки це однаково для обох. Отже, наша проблема стає, j

хвWi12(уi-у~i)2у~i=W[хi12+хi22+1]+бi

Що дає очікувану сферичну симетрію!

Хрестики-нулики

Приклад коду можна побачити тут . Він показує, як ми можемо створити матрицю, що кодує симетрію, і використовувати її. Зауважте, що це справді погано, коли я його фактично запускаю! Наразі робота з іншими ядрами.


Гарна робота, Айдане! Якщо у вас є час, ви можете написати більш детальну публікацію в блозі. Громада буде найбільше зацікавлена.
Emre

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.