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
sumber
Jawaban:
Secara singkat setiap jaring memiliki tujuan yang berbeda seperti yang Anda sebutkan:
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.
sumber
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.
sumber
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.
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:
Jaringan kebijakan
Mari kita asumsikan Google memberi Anda dua jaringan kebijakan. Peluang yang dihasilkan untuk posisi kami adalah:
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:
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:
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:
Perhatikan bahwa
N
jumlah gerakan yang dicari untuk langkah tersebut dan ada di penyebutnya. Semakin besar kemungkinan langkah pertama kita dicari, semakin kecilu
fungsinya. Dengan demikian, probabilitas untuk memilih langkah kedua kami meningkat karena AlphaGo sebenarnya memilih langkah berdasarkan persamaan ini:Ini adalah persamaan kunci . Silakan perhatikan dengan seksama:
P
untuk probabilitas sebelumnya (diberikan oleh jaringan kebijakan)Q
untuk 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):
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
Bayesian
analisis. Kami mulai dengan beberapa probabilitas sebelumnya (diberikan oleh jaringan kebijakan), kemudian kami menghasilkan data untuk memindahkan distribusi probabilitas (diberikan oleh jaringan nilai).Ringkasan
sumber
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
sumber
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.
sumber