"Deep Noether's Theorem": Membangun Keterbatasan dalam Simetri

9

Jika saya memiliki masalah belajar yang seharusnya memiliki simetri yang melekat, apakah ada cara untuk menempatkan masalah belajar saya ke kendala simetri untuk meningkatkan pembelajaran?

Misalnya, jika saya melakukan pengenalan gambar, saya mungkin ingin simetri rotasi 2D. Artinya, versi gambar yang diputar harus mendapatkan hasil yang sama seperti aslinya.

Atau jika saya belajar bermain tic-tac-toe, maka memutar dengan 90deg akan menghasilkan permainan yang sama.

Apakah ada penelitian yang dilakukan tentang ini?

aidan.plenert.macdonald
sumber
@ Terima kasih! Apakah Anda tahu ada pekerjaan di luar CNN?
aidan.plenert.macdonald
Tidak, saya hanya memiliki pengetahuan yang dangkal tentang ceruk ini. Meskipun demikian, CNN tampak seperti pengaturan alami ...
Emre
3
Saya juga harus menyebutkan disertasi PhD Risi Kondor, Metode teori grup dalam pembelajaran mesin (pdf)
Emre

Jawaban:

8

Dari komentar Emre di atas, Bagian 4.4 dari metode teoritis Grup dalam pembelajaran mesin oleh Risi Kondor memiliki informasi terperinci dan bukti tentang membuat metode kernel yang secara inheren memiliki simetri. Saya akan meringkasnya dengan cara yang mudah-mudahan intuitif (saya seorang ahli fisika, bukan ahli matematika!).

Kebanyakan algoritma ML memiliki perkalian matriks seperti,

ssaya=jWsayaj xj=jWsayaj (ejx)
dengan x sebagai input danWsayajadalah bobot yang ingin kita latih.

Metode Kernel

Masukkan bidang metode kernel dan biarkan algoritma menangani input melalui,

ssaya=jWsayaj k(ej, x)
di mana sekarang kita generalisasi untukx,ejX.

Pertimbangkan kelompok G yang bekerja pada X melalui xTg(x) untuk gG . Cara sederhana untuk membuat algoritme kami invarian di bawah grup ini adalah membuat kernel,

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

Jadi,

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

Yang menawarkan matriks transformasi yang dapat mensinkronisasi input ke dalam algoritma.

SO (2) Contoh

π2

(xsaya,ysaya)R2×R

minWjsaya12(ysaya-y~saya)2y~saya=jWjkG(ej,xsaya)+bsaya

k(x,y)=xy2k(x,y)=k(Tg(x),Tg(y))k(x,y)=xy

kG(ej,xsaya)=14n=14R(nπ/2) ej-xsaya2=14n=14(cos(nπ/2)-xsaya1)2+(dosa(nπ/2)-xsaya2)2=14[2xsaya12+2xsaya22+(1-xsaya1)2+(1-xsaya2)2+(1+xsaya1)2+(1+xsaya2)2]=xsaya12+xsaya22+1

j

minWsaya12(ysaya-y~saya)2y~saya=W[xsaya12+xsaya22+1]+bsaya

Yang menghasilkan simetri bola yang diharapkan!

Tic-Tac-Toe

Contoh kode bisa dilihat di sini . Ini menunjukkan bagaimana kita dapat membuat matriks yang mengkodekan simetri dan menggunakannya. Perhatikan bahwa ini sangat buruk ketika saya benar-benar menjalankannya! Bekerja dengan kernel lain saat ini.

aidan.plenert.macdonald
sumber
Kerja bagus, Aidan! Jika Anda punya waktu, Anda dapat menulis posting blog yang lebih rinci. Komunitas akan sangat tertarik.
Emre
1
Tidak yakin komunitas apa yang Anda maksud, tetapi saya mulai menulis lebih banyak. Saya ingin menemukan cara untuk memperkirakan kernel optimal yang diberikan satu set data. Jadi saya mengoptimalkan entropi pada ruang kernel untuk secara intuitif mendapatkan serangkaian fitur baru yang dibatasi secara simetris dan juga entropik secara maksimal (mis. Informatif). Sekarang apakah itu pendekatan yang tepat. Saya tidak bisa mengatakannya. Sekadar peringatan, matematika adalah sedikit pekerjaan hack sekarang dan agak langsung dari stat mech. overleaf.com/read/kdfzdbyhpbbq
aidan.plenert.macdonald
Apakah ada pendekatan yang berarti ketika kelompok simetri tidak diketahui?
leitasat
@leitasat Bagaimana Anda tahu ini simetris jika Anda tidak tahu grupnya?
aidan.plenert.macdonald
@ aidan.plenert.macdonald dari data. Katakanlah kita memiliki 1000 set 100 gambar masing-masing, dan dalam setiap set ada gambar satu objek dari sudut pandang yang berbeda. Bisakah algoritma "mempelajari ide" dari SO (3) simetri dan menggunakannya pada objek yang sebelumnya tidak terlihat?
leitasat
1

Ternyata ini hanya studi tentang Teori Invariant yang diterapkan pada Pembelajaran Mesin

aidan.plenert.macdonald
sumber