Rumah  >  Artikel  >  Peranti teknologi  >  Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu

Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu

WBOY
WBOYasal
2024-07-02 01:14:04932semak imbas
Ternyata model penyebaran boleh digunakan bukan sahaja untuk menjana imej dan video, tetapi juga untuk mensintesis program baharu.

Katakan kita memberikan model grafik bentuk "5" yang dilukis tangan, ia boleh mengubah suai atur cara melalui mutasi berterusan, dan akhirnya mendapat program yang boleh mengeluarkan grafik sasaran. Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Model ini datang daripada pasukan penyelidik di University of California, Berkeley Kaedah baharu sintesis program yang dicadangkan oleh mereka menggunakan model resapan saraf untuk mengendalikan pokok sintaks secara langsung.

Kertas 1 Sebagai Shreyas Kapur, pelajar kedoktoran di sekolah itu, penyelianya ialah Stuart Russell, profesor sains komputer di sekolah itu.
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
  • Tajuk kertas: Diffusion On Syntax Trees For Program Synthesis
  • Alamat kertas: https://arxiv.org/pdf/2405.20519
  • Alamat Projek: github.io/
  • Pangkalan kod: https://github.com/revalo/tree-diffusion

Model penyebaran sebelum ini telah mencapai kejayaan besar dalam bidang penjanaan imej. Pasukan mendapati bahawa dengan menggunakan mekanisme resapan, model boleh belajar untuk mengoptimumkan program secara berulang sambil memastikan kesahan sintaksis. Kunci kepada pendekatan baharu ini adalah untuk membolehkan proses penyahpepijatan yang cekap dengan membenarkan model memerhatikan output program pada setiap langkah.

Keupayaan untuk lelaran telah ditunjukkan dalam sistem seperti AlphaZero, dan sifat berulang mekanisme resapan secara semula jadi akan digunakan dalam sintesis program berasaskan carian.

Pasukan mendapati bahawa dengan melatih model nilai pada masa yang sama dengan model penyebaran, mereka boleh membimbing proses denoising di dalamnya kepada program yang menghasilkan hasil yang diingini. Ini membolehkan penerokaan ruang program yang cekap dan membuat keputusan yang lebih termaklum pada setiap langkah proses penjanaan.

Untuk melaksanakan pendekatan ini, pasukan memilih tugas grafik songsang, yang menganggap bahawa bahasa khusus domain digunakan untuk melukis imej.

Pasukan berkata: "Tugas kejuruteraan terbalik adalah wajar untuk pendekatan kami, kerana perubahan kecil dalam kod boleh membawa kepada perubahan semantik yang bermakna dalam imej yang terhasil." jika Bentuk yang salah letak muncul dalam imej dan boleh dilihat dengan mudah dan diletakkan dalam ruang program. Rajah 1 memberikan beberapa contoh.

Sumbangan utama penyelidikan ini termasuk:
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
1. kaedah sebelumnya.

Kaedah
Ringkasnya, idea teras kaedah ini ialah: membangunkan model resapan denoising untuk pokok sintaks, serupa dengan model resapan imej yang dibangunkan untuk tugas penglihatan.

Pertama, mari kita lihat contoh tugasan daripada kertas kerja Ellis et al. "Tulis, laksana, nilai: Sintesis program dengan repl": Hasilkan atur cara geometri pepejal terbina (CSG2D) berdasarkan imej. Menggunakan CSG2D, kita boleh menggabungkan primitif mudah seperti bulatan dan segi empat menggunakan operasi Boolean seperti penambahan dan penolakan untuk mencipta bentuk yang lebih kompleks menggunakan tatabahasa bebas konteks (CFG) berikut:

dalam Rajah 2 , z₀ ialah program sasaran, x₀ ialah versi yang diberikan bagi z₀.
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Tugasnya adalah untuk membalikkan x₀ untuk memulihkan z₀. Pertama, proses denoising secara rawak bermutasi y=16 kepada y=10. Kemudian ubah subpokok dengan dua bentuk di sebelah kiri kepada subpokok baharu dengan hanya satu bentuk. Matlamat di sini adalah untuk melatih rangkaian saraf yang boleh membalikkan proses denoising ini, bermula dari z₃ dan x₃, berdasarkan imej x₀, untuk mendapatkan z₀.

Yang berikut akan mula-mula menerangkan cara menambah "bunyi" pada pokok sintaks, kemudian menerangkan secara terperinci cara melatih rangkaian saraf yang membalikkan bunyi ini, dan akhirnya menerangkan cara menggunakan rangkaian saraf ini untuk melakukan carian.

Mensampel mutasi kecil

Biar z_t menjadi program pada masa t. Biarkan p_N (z_{t+1}|z_t) menjadi taburan pada atur cara z_t dimutasi secara rawak kepada z_{t+1}. Di sini kami berharap mutasi p_N memenuhi dua perkara: (1) ia kecil, dan (2) ia boleh memperoleh z_{t+1} yang sah secara sintaksis.

Untuk melakukan ini, pasukan itu meneroka sekumpulan besar literatur keselamatan komputer mengenai ujian fuzz berasaskan tatabahasa. Untuk memastikan bahawa mutasi adalah kecil, mereka mula-mula mentakrifkan fungsi σ(z) yang memberikan "saiz" program z. Dalam eksperimen, satu set titik akhir (terminal) dalam CFG ditakrifkan sebagai primitif.

Sebagai contoh, jika ditulis dalam bahasa CSG2D mereka, primitif di atas ialah {Quad, Circle}. Apabila menggunakan bahasa ini, pendekatan pasukan adalah untuk membiarkan σ(z) = σ_primitive (z), yang mengira bilangan primitif. σ(z) juga mungkin mengandungi pilihan seperti kedalaman, bilangan nod, dsb.

Kemudian, sampel secara rawak prosedur daripada CFG berdasarkan kekangan tepat σ_min

Untuk memutasi atur cara z yang diberikan, mula-mula jana satu set nod calon dalam julat σ_small tertentu dalam pokok sintaksnya:
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Kemudian, sampel nod mutasi secara seragam daripada set ini :
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Memandangkan ia boleh membaca keseluruhan pepohon sintaks dan CFG, ia mengetahui peraturan generasi mana yang boleh mendapatkan m, dan dengan itu boleh memastikan mutasi yang sah secara sintaksis diperolehi. Sebagai contoh, jika m ialah nombor, penggantiannya juga hendaklah nombor. Jika m ialah subungkapan umum, ia boleh digantikan dengan mana-mana subungkapan umum. Oleh itu, m' boleh dijadikan sampel, yang merupakan pengganti kepada m:
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Strategi

Proses Hadapan

Masalah sintesis program sebagai masalah sintesis program. Biarkan p (x|z) ialah model pemerhatian, di mana x boleh menjadi sebarang jenis pemerhatian. Tugasnya adalah untuk menterbalikkan arah model cerapan ini, iaitu untuk mendapatkan atur cara z diberi beberapa pemerhatian x.

Pertama, ambil atur cara z₀ daripada set data D, atau dalam kes ini sampel secara rawak atur cara daripada CFG. Iaitu, sampel z₀ yang memenuhi σ(z₀) ≤ σ_maks. Bunyi kemudian ditambahkan pada z₀, mengambil s langkah, dengan s ∼ Seragam [1, s_max], dan s_max ialah hiperparameter:
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Kemudian, rangkaian saraf bersyarat dilatih yang memodelkan pengedaran berikut .
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
di mana ϕ ialah parameter rangkaian saraf, z_t ialah atur cara semasa, x_t ialah output semasa atur cara, dan x₀ ialah output sasaran yang perlu diselesaikan.

Laluan mutasi terbalik

Disebabkan keupayaan untuk mendapatkan mutasi kebenaran tanah, trajektori yang disampel boleh diterbalikkan hanya melalui proses hadapan Markov rantai z₀ → z₁ → a... untuk menjana Matlamat latihan rangkaian neural. Pada pandangan pertama, ini mungkin kelihatan seperti pilihan yang munasabah. Walau bagaimanapun, secara langsung melatih model untuk membalikkan risiko mutasi terakhir menghasilkan isyarat yang jauh lebih bising untuk rangkaian saraf.

Contohnya, dalam pokok sintaks yang lebih besar, laluan mutasi sesuatu warna ialah:
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Warna imej sasaran x₀ ialah Merah, dan warna imej x₂ bermutasi ialah Hijau.Jika anda hanya mengajar model untuk membalikkan rantai Markov di atas, anda boleh melatih rangkaian untuk menukar Hijau kepada Biru, walaupun anda boleh terus melatih rangkaian untuk menukar Hijau kepada Merah.

Oleh itu, untuk mencipta isyarat latihan yang lebih baik, laluan penyuntingan antara pokok sasaran dan pokok mutasi boleh dikira. Pasukan ini menggunakan algoritma laluan suntingan pokok secara longgar berdasarkan jarak suntingan pokok. Masalah jarak suntingan pokok umum membenarkan pemasukan, pemadaman dan penggantian nod sewenang-wenangnya. Tetapi tetapan di sini berbeza Penyuntingan pokok hanya boleh dicapai dalam ruang tindakan yang hanya membenarkan mutasi kecil.

Untuk dua pokok z_A dan z_B, struktur sintaksisnya boleh dibandingkan dengan cara yang linear. Untuk perubahan yang memenuhi ≤ σ_small, ia ditambahkan pada senarai mutasi. Untuk perubahan > σ_small, cari mutasi pertama yang mengurangkan jarak antara dua pokok. Oleh itu, untuk mana-mana dua atur cara z_A dan z_B, langkah pertama laluan mutasi boleh dikira dalam masa O (|z_A| + |z_B|).
Rangkaian dan Carian Nilai

Pasukan juga melatih rangkaian nilai v_ϕ (x_A, x_B), yang inputnya ialah dua imej yang diberikan x_A dan x_B, dan ramalannya adalah untuk menjana kedua-dua ini antara program asas imej. Memandangkan jarak suntingan antara pokok telah dikira semasa latihan, untuk mana-mana pasangan imej yang diberikan, jarak suntingan prosedur kebenaran asasnya diperoleh secara langsung, yang boleh digunakan untuk melatih nilai ini dalam rangkaian cara yang diselia.

Menggunakan strategi baharu di atas dan rangkaian nilai baharu yang dicadangkan oleh pasukan, adalah mungkin untuk melakukan carian pancaran untuk sebarang imej sasaran x₀ dan program yang dimulakan secara rawak z_t. Pada setiap lelaran, satu set nod dalam pepohon carian dengan nilai yang paling menjanjikan dikekalkan dan hanya nod ini dikembangkan. Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Senibina

Rajah 3 menunjukkan gambaran keseluruhan seni bina saraf yang baru dicadangkan.
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Model denosing mereka q_ϕ (z_{t−1}|z_t, x_t; x₀) menggunakan model visual- Bahasa. Bagi pengekod imej, mereka menggunakan pelaksanaan luar biasa NF-ResNet-26 seni bina konvolusi tanpa penormal yang mengelakkan isu ketidakstabilan temporal apabila menggunakan Batch-Norm.

Pasukan melaksanakan tokenizer tersuai yang menggunakan titik akhir CFG mereka sebagai token. Baki model penyuntingan ialah Transformer penyahkod kecil sahaja.

Mereka juga menambah dua jenis token lain: yang berfungsi sebagai token permulaan ayat untuk model, dan token yang membolehkan model merujuk kepada lokasi dalam konteksnya.

Memandangkan imej semasa, imej sasaran dan program token semasa, latih model Transformer untuk meramalkan kedudukan edit dan teks gantian secara autoregresif. Apabila membuat ramalan, proses penyahkodan dikekang oleh tatabahasa. Pasukan itu menutup logit yang diramalkan untuk memasukkan hanya kedudukan edit yang mewakili nod pokok sintaksis dan hanya memperoleh penggantian yang sah dari segi sintaksis untuk kedudukan edit yang dipilih.

Di sini kita tetapkan σ_small = 2, yang bermaksud bahawa rangkaian hanya dibenarkan menghasilkan suntingan dengan kurang daripada dua primitif. Untuk data latihan, perkara yang mereka lakukan ialah mencuba aliran ekspresi rawak yang tidak terhingga daripada CFG. Untuk langkah hingar s, mereka memilih secara rawak satu daripada [1, 5]. Perkadaran tertentu sampel ρ dilengkapkan dengan mensampel secara rawak ungkapan baharu sebagai ungkapan bermutasi. Mereka berlatih selama tiga hari menggunakan GPU NVIDIA A6000 tunggal.
Eksperimen

Mereka menjalankan eksperimen pada 4 bahasa grafik khusus domain: CSG2D, CSG2D-Sketch, TinySVG, Rainbow.

Kaedah penanda aras yang dipilih ialah "Tulis, laksana, nilai: Sintesis program dengan repl" yang dicadangkan oleh Ellis et al dan "CSGNet: Penghurai bentuk saraf untuk geometri pepejal yang membina" yang dicadangkan oleh Sharma et al.

Rajah 4 membandingkan prestasi kaedah baharu dengan kaedah garis dasar.

Dapat dilihat bahawa dalam persekitaran CSG2D dan TinySVG, strategi penyebaran pokok yang baru dicadangkan adalah jauh lebih baik daripada strategi kaedah sebelumnya.Prestasi strategi ini boleh dipertingkatkan lagi jika digabungkan dengan carian pancaran, membolehkan masalah diselesaikan dengan lebih sedikit panggilan kepada pemapar berbanding kaedah lain.
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Rajah di bawah memberikan beberapa contoh berjaya sistem baharu dan output kaedah penanda aras. Seperti yang anda lihat, sistem baharu boleh menyelesaikan masalah yang lebih kecil yang terlepas daripada kaedah lain.
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Video berikut menunjukkan dua contoh prosedur pemulihan berasaskan lakaran menggunakan bahasa CSG2D-Sketch, yang menunjukkan bahawa model pemerhatian tidak semestinya memerlukan pemaparan deterministik ia juga boleh terdiri daripada imej yang dilukis dengan tangan secara rawak. Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharuKarang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Untuk memahami kesan reka bentuk baharu ini, pasukan itu juga menjalankan eksperimen ablasi menggunakan model Transformer yang lebih kecil dalam persekitaran Rainbow yang dipermudahkan, hasilnya ditunjukkan dalam Rajah 5. Secara keseluruhan, hasil pilihan reka bentuk ini terbukti.
Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu
Sila rujuk kertas asal untuk butiran lanjut.

Atas ialah kandungan terperinci Karang program grafik hanya dengan melihat lakaran yang dilukis dengan tangan Berkeley, California, mengajar model resapan kemahiran baharu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn