Mengapa jaringan saraf gabungan AlphaGo Zero lebih efisien daripada dua jaringan saraf terpisah?


10

AlphaGo Zero berisi beberapa peningkatan dibandingkan dengan pendahulunya. Detail arsitektur Alpha Go Zero dapat dilihat di lembar contekan ini .

Salah satu perbaikan tersebut menggunakan jaringan saraf tunggal yang menghitung probabilitas perpindahan dan nilai status pada saat yang sama, sedangkan versi yang lebih lama menggunakan dua jaringan saraf yang terpisah. Telah ditunjukkan bahwa jaringan saraf yang digabungkan lebih efisien menurut makalah:

Ia menggunakan satu jaringan saraf daripada dua. Versi sebelumnya dari AlphaGo menggunakan "jaringan kebijakan" untuk memilih langkah selanjutnya untuk bermain dan "jaringan nilai" untuk memprediksi pemenang permainan dari setiap posisi. Ini digabungkan dalam AlphaGo Zero, memungkinkannya dilatih dan dievaluasi lebih efisien.

Ini tampaknya kontra intuitif bagi saya, karena dari perspektif desain perangkat lunak ini melanggar pemisahan prinsip perhatian . Itu sebabnya saya bertanya-tanya, mengapa penggabungan ini terbukti bermanfaat.

Dapatkah teknik ini - menggabungkan tugas yang berbeda dalam satu jaringan saraf untuk meningkatkan efisiensi - diterapkan pada jaringan saraf lain secara umum atau apakah ini memerlukan kondisi tertentu untuk bekerja?

Jawaban:


6

Mengapa penggabungan ini terbukti bermanfaat?

Jika Anda berpikir tentang jaringan Nilai / Kebijakan yang dibagi sebagai yang terdiri dari komponen bersama (lapisan Jaringan Residual) dengan komponen Nilai dan Kebijakan di atas daripada Pemisahan Masalah, itu lebih masuk akal.

Premis yang mendasarinya adalah bahwa bagian yang dibagikan dari jaringan (ResNet) memberikan generalisasi tingkat tinggi dari input (permainan menyatakan sebelum bergerak) yang merupakan representasi input yang baik untuk jaringan Nilai dan Kebijakan yang dangkal.

Ketika hal itu terjadi, kita dapat mengurangi banyak beban komputasi dengan melatih satu ResNet bersama dan menggunakannya untuk dua jaringan yang jauh lebih sederhana daripada melatih dua ResNets untuk Nilai dan Kebijakan. Dalam kasus mereka, melatih keduanya bersama-sama juga meningkatkan regularisasi dan dengan demikian menciptakan representasi umum yang lebih kuat.

Secara khusus, kertas Alpha Go Zero oleh Silver et al. , Menguasai Game Go tanpa Pengetahuan Manusia , menyatakan bahwa:

Menggabungkan kebijakan dan nilai bersama-sama ke dalam satu jaringan sedikit mengurangi akurasi prediksi gerakan, tetapi mengurangi kesalahan nilai dan mendorong kinerja bermain di AlphaGo sekitar 600 Elo. Ini sebagian karena peningkatan efisiensi komputasi, tetapi yang lebih penting adalah tujuan ganda mengatur jaringan untuk representasi umum yang mendukung banyak kasus penggunaan.

Bisakah teknik ini diterapkan secara umum atau hanya dalam kasus-kasus khusus?

Seperti komponen umum dalam pustaka perangkat lunak, itu hanya masuk akal ketika masalah yang Anda coba selesaikan dari perwakilan bersama.

Anda dapat menggunakannya jika Anda melatih pengklasifikasi untuk tugas-tugas serupa, atau melatih tugas baru dengan sedikit data di mana Anda sudah memiliki pengklasifikasi dilatih atas dataset yang lebih besar, serupa .

Di luar Go, ini sering digunakan dalam pengenalan gambar. Jaringan pra-terlatih yang dalam seperti dari kompetisi ImageNet ILSVRC umumnya digunakan sebagai titik awal. Mereka adalah pengklasifikasi yang telah dilatih (selama berminggu-minggu!) Pada lebih dari satu juta gambar.

Kemudian, katakan Anda ingin membuat jaringan untuk mengenali sepeda merek favorit Anda, Anda mulai dengan pipa pengenalan gambar umum yang dilatih di ImageNet, memotong lapisan terakhir yang melakukan klasifikasi aktual ("itu adalah Border Collie") dan tambahkan classifier baru kecil untuk memilih hanya sepeda yang Anda pedulikan.

Karena classifier pra-terlatih sudah menyediakan konsep gambar tingkat tinggi yang merupakan blok bangunan yang baik untuk pengenalan gambar (itu mengklasifikasikan 200 kategori), ini menghemat banyak pelatihan dan membuat untuk classifier yang sangat kuat.

Tentu saja ada banyak kasus di mana masalah tidak memiliki representasi bersama yang bermanfaat dan karenanya tidak mendapat manfaat dari jaringan gabungan. Meskipun demikian, ini adalah alat yang berguna dalam situasi yang tepat.

Cari Transfer Belajar atau Pembelajaran Multi-Tugas untuk mempelajari lebih lanjut tentang ini.


Jika seseorang ingin menggunakan prinsip-prinsip rekayasa perangkat lunak untuk menganalisis arsitektur jaringan saraf ini, saya juga akan menunjukkan bahwa jaringan blok residu yang menjadi dasar nilai dan kebijakan menghormati prinsip KERING. Dengan bergantung pada komponen yang sama (jaringan blok residual) untuk memproses data sebelum meneruskan data ini ke komponen lain dalam pipa (nilai dan kepala kebijakan), mereka menjamin bahwa masing-masing akan memproses representasi yang sama dari input asli. Menggandakan pemrosesan ini dengan dua jaringan terpisah hampir menjamin perbedaan dari waktu ke waktu.
sadakatsu
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.