Perbedaan antara jaringan kebijakan Alpha dan jaringan nilai

25

Saya membaca ringkasan tingkat tinggi tentang Google AlphaGo ( http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html ), dan saya menemukan istilah "kebijakan" jaringan "dan" jaringan nilai ". Pada tingkat tinggi, saya mengerti bahwa jaringan kebijakan digunakan untuk menyarankan gerakan dan jaringan nilai digunakan untuk, "Mengurangi kedalaman pohon pencarian [dan memperkirakan] pemenang di setiap posisi sebagai pengganti mencari semua jalan ke akhir pertandingan. "

Kedua jaringan ini tampak berlebihan bagi saya. Apa yang dilakukan jaringan kebijakan jika tidak menggunakan jaringan nilai untuk memangkas kebijakannya? Tampaknya cukup jelas bahwa jaringan nilai adalah jaringan saraf pembelajaran yang mendalam; Apakah jaringan kebijakan hanya abstraksi teoretis dan bukan jaringan saraf yang sebenarnya? Variabel target untuk jaringan nilai tampaknya menang / kalah. Apakah ada variabel target untuk jaringan kebijakan; jika demikian, apakah itu? Apa yang ingin dioptimalkan oleh jaringan kebijakan?

Pdf lengkap makalah Google, yang diterbitkan di Nature, dapat ditemukan di sini: https://vk.com/doc-44016343_437229031?dl=56ce06e325d42fbc72

Ryan Zotti
sumber
Sebagai catatan singkat: Variabel target untuk jaringan kebijakan adalah distribusi probabilitas. Dari makalah: "Jaringan saraf ini (jaringan nilai) memiliki arsitektur yang mirip dengan jaringan kebijakan, tetapi menghasilkan prediksi tunggal alih-alih distribusi probabilitas"
Zimano
3
Jika ada orang lain yang tersandung pada pertanyaan lama ini, seperti saya, Anda akan senang mengetahui bahwa penerus AlphaGo, "AlphaGo Zero", serta penggantinya "AlphaZero" memang menyingkirkan redundansi hanya dengan melatih SATU jaringan yang hasilnya melayani fungsi-fungsi baik jaringan kebijakan (memberikan distribusi probabilitas atas gerakan yang mungkin) dan jaringan nilai (memberikan probabilitas menang mengingat dewan). Posting blog di sini: deepmind.com/blog/alphago-zero-learning-scratch dan kertas terhubung di dalamnya.
Kevin Wang

Jawaban:

11

Secara singkat setiap jaring memiliki tujuan yang berbeda seperti yang Anda sebutkan:

  • Jaringan nilai digunakan di node daun untuk mengurangi kedalaman pencarian pohon.
  • Jaringan kebijakan digunakan untuk mengurangi luasnya pencarian dari sebuah simpul (panduan menuju tindakan segera yang menjanjikan).

Secara umum, Anda dapat menggunakan metode fungsi nilai untuk menemukan kebijakan yang optimal atau langsung mencari di ruang kebijakan untuk mengoptimalkan fungsi kebijakan parametrized (tentu saja ada pro dan kontra). Anda dapat menggunakan aproksimasi fungsi (mis. Deep Nets) dalam setiap kasus. Saya melihat bahwa Anda terutama bingung tentang jaring kebijakan jadi saya memfokuskan jawaban saya ke dalam ini.

Jaring kebijakan adalah yang pertama:

dilatih untuk melakukan gerakan yang kemungkinan besar dilakukan manusia dengan diberikan status papan (jadi input adalah status papan dan output adalah histogram yang menunjukkan probabilitas setiap tindakan berdasarkan kondisi tersebut). Net dapat memperkirakan fungsi probabilitas yang mendasari pemetaan dari status ke tindakan. Masuk akal untuk mulai membangun kebijakan Anda dari data yang tersedia. Setelah pelatihan yang diawasi dengan menggunakan pakar, jaring kebijakan dapat memainkan permainan yang cukup (meskipun jauh dari level Master). Sederhananya, Anda berusaha menangkap pola umum pemilihan tindakan pemain profesional.

Kemudian,

itu dilatih dalam permainan dengan lawan itu sendiri, untuk mengoptimalkan kebijakan yang dipelajari sebelumnya. Kali ini bobotnya diperbarui menggunakan algoritma REINFORCE. Dengan melakukan ini, Anda memperbarui parameter bersih ke arah maksimalisasi hadiah yang diharapkan. Akhirnya Anda memiliki jaring yang tidak hanya memilih tindakan seperti pemain profesional tetapi juga menuju memenangkan permainan (Namun itu tidak dapat direncanakan!).

Setelah langkah ini, mereka memperkirakan fungsi nilai versi yang sedikit lebih berisik dari kebijakan yang dipelajari, dengan regresi (input adalah papan negara dan target hasil permainan). Anda dapat menggunakan jaringan ini untuk memengaruhi evaluasi leaf node.

Berbicara secara konseptual, jaring kebijakan memberi Anda probabilitas atas tindakan, tetapi ini tidak menunjukkan bahwa Anda akan berakhir dalam kebaikan, untuk memenangkan permainan, katakanlah. AlphaGo memiliki beberapa "blind spot" dan selama turnamen melakukan beberapa gerakan yang sangat buruk tetapi juga satu gerakan luar biasa yang tidak pernah bisa dipikirkan manusia.

Akhirnya Anda dapat menggunakan algoritma perencanaan Anda (MCTS) dalam kombinasi dengan jaring-jaring ini. Mengapa kami mengambil semua langkah ini? Secara singkat, MCTS sederhana tanpa "intuisi" apa pun akan gagal.

Konstantinos
sumber
Saya baru saja kembali ke pertanyaan ini setelah mempelajari tentang Aktor-Kritikus, dan bagaimana hal itu mengimbangi biaya / manfaat antara metode berbasis Nilai vs vs Kebijakan murni. Saya pikir jawaban ini paling dekat dengan menjelaskan perincian ini, tetapi dicakup dengan sangat baik dalam kuliah David Silver: www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/pg.pdf (kuliah 7, itu juga tersedia di YouTube - youtube.com/... ).
Neil Slater
Pendekatan murni berbasis MCTS telah terbukti berhasil, jadi dalam konteks yang lebih luas saya tidak akan mengatakan itu akan gagal.
Zimano
1
Saya hanya merujuk pada kasus permainan Go dan juga tentang mencapai tingkat permainan Master. Sebenarnya David Silver (sebagai peneliti lain) sedang mengerjakan pemecahan permainan Go dengan MCTS sejak PhD. Tetapi tidak ada yang bisa bersaing di level tertinggi hingga kombinasi metode di atas.
Constantinos
9

Inilah proses pemikiran singkat saya dalam memahami dua jaringan yang berbeda.

Pertama-tama, tujuannya adalah untuk menemukan solusi optimal (atau sangat mendekati optimal) tanpa menggunakan pencarian yang lengkap, yang tentu saja menantang.

Per posisi atau keadaan, akan ada N gerakan yang mungkin, dan pada setiap gerakan akan ada kedalamannya sendiri D di pohon pencarian penuh. Secara teori atau matematis dimungkinkan untuk berjalan di semua jalur dan menemukan solusi optimal. Namun, kami tidak ingin melakukan pencarian lengkap.

Sekarang kami punya dua pertanyaan terpisah untuk mengembangkan pendekatan aproksimasi.

Q1. Bagaimana kita bisa melewati atau mengabaikan beberapa gerakan keluar dari N per posisi? (yaitu, pengurangan nafas)

Q2. Bagaimana kita bisa berhenti pada kedalaman menengah di pohon pencarian daripada berjalan sampai akhir permainan, tanpa gagal menemukan solusi yang optimal? (yaitu, reduksi kedalaman)

Jaringan kebijakan terutama dirancang untuk menyaring langkah-langkah yang tidak berguna dari N, namun tanpa gagal menemukan solusi yang optimal. Di sini jaringan ini awalnya bergantung pada gerakan pakar manusia, yaitu, SL, dan ditingkatkan oleh RL nanti.

Jaringan nilai terutama dirancang untuk menemukan probabilitas kemenangan tanpa pencarian penuh.

Kedua jaringan ini memiliki tujuan bersama untuk menemukan solusi optimal. Namun, dalam setiap pilihan langkah strategis, setiap jaringan memainkan peran yang berbeda.

Saya hanya berharap ini bisa membantu. Saya tahu itu masih pada tingkat tinggi.

Angin P.
sumber
Penjelasan dua arah Anda sangat ringkas.
Tim
6

Saya pikir OP bingung tentang AlphaGo dengan alpha-beta. Dalam alfa-beta, Anda memang akan menggunakan jaringan kebijakan untuk membantu pemangkasan, tetapi tidak di sini. Sekali lagi, tidak ada pemangkasan karena algoritma bergantung pada pencarian pohon Monte-Carlo (MCTS).

Siapa pun yang menganggap jawaban saya terlalu panjang dapat melewati bagian ringkasan, tempat saya menyatakan mengapa kedua jaringan tidak berlebihan.

Dalam contoh berikut, saya akan melakukan beberapa penyederhanaan untuk membuat ide-ide saya lebih mudah dimengerti.

Contoh:

Bayangkan Anda memiliki posisi di mana ada dua langkah hukum. Langkah pertama adalah jalan buntu bagi Anda, namun langkah kedua memberi Anda keuntungan menang.

  • Langkah pertama: kehilangan paksa untuk Anda
  • Langkah kedua: menang secara paksa untuk Anda

Jaringan evaluasi

Mari kita asumsikan jaringan evaluasi yang Google berikan kepada Anda adalah sempurna. Ia dapat mengevaluasi posisi daun apa pun dalam contoh kita dengan sempurna. Kami tidak akan mengubah jaringan nilai kami dalam contoh ini.

Untuk menyederhanakan contoh kami, anggap jaringan nilai kami memberikan:

  • -1000 untuk setiap posisi daun yang merupakan kerugian bagi Anda
  • +1000 untuk setiap posisi daun yang merupakan kemenangan untuk Anda

Jaringan kebijakan

Mari kita asumsikan Google memberi Anda dua jaringan kebijakan. Peluang yang dihasilkan untuk posisi kami adalah:

  • Kebijakan 1: 0,9 untuk langkah 1 dan 0,1 untuk langkah 2
  • Kebijakan 2: 0,2 untuk langkah 1 dan 0,8 untuk langkah 2.

Perhatikan bahwa jaringan kebijakan pertama kami memberikan probabilitas sebelumnya yang salah untuk contoh kami. Ini memberi 0,9 untuk langkah 1, yang merupakan langkah yang kalah. Ini bagus karena bahkan Google tidak bisa melatih jaringan kebijakan yang sempurna.

Bermain dengan jaringan kebijakan pertama

AlphaGo perlu membuat simulasi dengan Monte-Carlo, dan perlu memilih langkah 1 atau 2. Sekarang, AlphaGo menggambar variabel acak yang terdistribusi seragam, dan itu akan memilih:

  • Pindahkan 1 jika angka acak <= 0,9
  • Pindahkan 2 jika nomor acak> 0,9

Jadi AlphaGo jauh lebih mungkin untuk mengambil langkah yang hilang untuk disimulasikan (dalam simulasi pertama kami). Dalam simulasi pertama kami, kami juga akan menggunakan jaringan nilai untuk mendapatkan skor untuk simulasi. Di koran, itu:

masukkan deskripsi gambar di sini

Nilai ini akan menjadi -1000, karena simulasi ini akan menyebabkan kerugian.

Sekarang, AlphaGo perlu membuat simulasi kedua. Sekali lagi, langkah pertama akan lebih mungkin untuk diambil. Tetapi pada akhirnya, langkah kedua akan dipilih karena:

  • Probabilitas kami sebelumnya untuk langkah kedua adalah 0,1, bukan nol
  • AlphaGo didorong untuk mencoba gerakan yang belum banyak dieksplorasi. Dalam makalah, ini dilakukan oleh persamaan ini:

masukkan deskripsi gambar di sini

Perhatikan bahwa Njumlah gerakan yang dicari untuk langkah tersebut dan ada di penyebutnya. Semakin besar kemungkinan langkah pertama kita dicari, semakin kecil ufungsinya. Dengan demikian, probabilitas untuk memilih langkah kedua kami meningkat karena AlphaGo sebenarnya memilih langkah berdasarkan persamaan ini:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Ini adalah persamaan kunci . Silakan perhatikan dengan seksama:

  • Ini memiliki istilah Puntuk probabilitas sebelumnya (diberikan oleh jaringan kebijakan)
  • Ini memiliki istilah Quntuk skor evaluasi (diberikan oleh jaringan nilai)

Sekarang, kita tahu langkah kedua kita pada akhirnya akan dipilih. Ketika hal itu terjadi, jaringan nilai memberi +1000. Ini akan meningkat Q, yang membuat langkah kedua jauh lebih mungkin dipilih dalam simulasi selanjutnya.

Diberikan simulasi yang cukup, berapa kali gerakan kedua dipilih untuk simulasi harus lebih dari berapa kali gerakan pertama dipilih.

Akhirnya, langkah yang diputuskan AlphaGo adalah (dikutip dari kertas):

Setelah pencarian selesai, algoritme memilih langkah yang paling sering dikunjungi dari posisi root.

Bermain dengan jaringan kebijakan kedua

Jaringan kebijakan kedua kami akan membutuhkan lebih sedikit iterasi untuk memilih langkah 2 karena kemungkinan sebelumnya yang diberikan oleh jaringan kebijakan adalah yang benar.

Komentar

Semuanya di sini sangat mirip dengan Bayesiananalisis. Kami mulai dengan beberapa probabilitas sebelumnya (diberikan oleh jaringan kebijakan), kemudian kami menghasilkan data untuk memindahkan distribusi probabilitas (diberikan oleh jaringan nilai).

Ringkasan

  • Jaringan kebijakan digunakan untuk menghasilkan probabilitas sebelumnya untuk memandu langkah apa yang harus dipilih oleh pencarian Monte-Carlo
  • Value network digunakan untuk menghasilkan data untuk memvalidasi jaringan kebijakan. Jika jaringan kebijakan buruk, AlphaGo akan membutuhkan lebih banyak sumber daya komputasi untuk bertemu (jika pernah).
  • Anda dapat menganggapnya seperti analisis Bayesian
Catur kecil
sumber
Saya pikir ini memberikan wawasan yang lebih dalam pada mekanisme internal. Saya masih tidak yakin apakah ini menjelaskan mengapa dua jaringan. Masalah yang saya miliki adalah "menganggap jaringan evaluasi ... sempurna". Jika itu masalahnya, maka memang jaringan kebijakan itu mubazir. Lihat saja satu langkah ke depan (untuk semua gerakan yang mungkin) dan pilih satu dengan penilaian jaringan nilai terbaik. Tentu saja jaringan nilai tidak sempurna, dan saya menduga itu semakin akurat semakin berkembang ke dalam permainan. . . tapi saya tidak tahu seberapa benar / berguna itu, atau apakah itu melengkapi jawaban ini.
Neil Slater
@NeilSlater Ok. Jaringan tidak sempurna, tetapi alasan saya di sini masih bagus, hanya saja kita membutuhkan lebih banyak simulasi MC.
SmallChess
@StudentT Penjelasan yang bagus tentang beberapa persamaan kunci. Saya akan membuat satu perubahan kecil: Tidak masuk akal untuk mengatakan "Anda harus melihat sepuluh langkah ke depan" untuk memahami posisi dalam Pencarian Pohon Monte Carlo. MCTS adalah pencarian nomor bukti kedalaman-pertama, dan kami tidak benar-benar pernah mencapai kedalaman tetap seperti yang kami lakukan dengan pendalaman berulang dalam catur. Bahkan dengan jaringan nilai yang memungkinkan kami mengevaluasi node sebelum akhir pertandingan, kami masih belum mencapai ini secara luas, dan tidak ada evaluasi minimal dari node tersebut, dll.
Imran
@Imran Jangan ragu untuk mengedit posting saya.
SmallChess
3

Network Kebijakan : Jaringan yang belajar untuk memberikan output yang pasti dengan memberikan Input tertentu untuk permainan ini dikenal sebagai Network Kebijakan.

Jaringan Nilai : Jaringan nilai memberikan nilai / skor ke kondisi permainan dengan menghitung skor kumulatif yang diharapkan untuk kondisi saat ini s. Setiap negara melewati jaringan nilai. Negara-negara yang mendapat lebih banyak hadiah jelas mendapatkan lebih banyak nilai dalam jaringan.

Pemahaman yang lebih baik dengan Animasi Buka di sini: Jaringan Kebijakan vs. Jaringan Nilai dalam Pembelajaran Penguatan

masukkan deskripsi gambar di sini

SAGAR SHARMA
sumber
0

Dari apa yang saya pahami perbedaannya adalah pada output. Di mana jaringan kebijakan menghasilkan distribusi probabilitas dari kemungkinan pergerakan, jaringan nilai mengembalikan nilai nyata yang dapat diartikan sebagai probabilitas menang dengan konfigurasi papan ini. Dari sana pencarian pohon Monte-Carlo dilakukan melalui mengambil gerakan K atas dan kemudian mempersempit pohon pencarian lagi dengan mengambil output jaringan nilai K atas.

Merasa berkewajiban untuk mengoreksi saya jika saya salah.

Joonatan Samuel
sumber
2
Anda tidak salah AFAIK, tapi saya rasa ini tidak menjawab pertanyaan. OP tampaknya menyadari perbedaan antara model berbasis nilai atau kebijakan dalam RL. Kedua pendekatan tersebut memang memiliki keluaran yang berbeda. Namun, lebih umum untuk melihat satu atau yang lain, tidak keduanya, dan dua model biasanya berlebihan dalam "Value_maxarg (S ') == Policy_maxarg (S, A)" di mana S adalah kondisi saat ini, A adalah tindakan untuk ambil, dan S 'menghasilkan status. Yaitu dua jaringan dalam pengaturan RL yang lebih biasa hanya akan menghasilkan hasil yang sama, meskipun outputnya berbeda.
Neil Slater