Saya ingin menggunakan pembelajaran penguatan untuk membuat mesin meningkat dengan bermain melawan dirinya sendiri. Saya telah membaca tentang topik ini tetapi saya masih cukup bingung.
Diperingatkan: Pembelajaran penguatan adalah subjek yang kompleks dan besar. Meskipun mungkin Anda harus mengambil jalan memutar dari bot bermain game, Anda mungkin ingin mempelajari dasar-dasar RL. Tempat yang baik untuk memulai adalah Sutton & Barto Reinforcement Learning: An Introduction
Apa hadiah lain yang ada dalam permainan bagian hasil win-or-loss (1 atau 0)?
Tergantung pada gim Anda, biasanya itu masalahnya. Sebenarnya untuk permainan menang / imbang / kalah seperti catur maka hadiah dari setiap aksi adalah 0 kecuali untuk menang (+1) atau kalah (-1) pada akhirnya. Dalam permainan zero-sum maka ini selaras dengan minimax, pemangkasan alfabet, dll.
Pembelajaran Penguatan dimaksudkan untuk mengatasi lingkungan dengan imbalan yang tertunda. Menambahkan hadiah "pembantu" untuk non-tujuan sementara biasanya tidak produktif.
Jika saya menggunakan hadiah lain, seperti output dari fungsi evaluasi di setiap belokan, bagaimana saya bisa menerapkannya?
Biasanya tidak. Apa yang menerapkan RL bermain sendiri akan lakukan adalah mempelajari fungsi pengembalian (kadang-kadang disebut utilitas ) yang memprediksi ekspektasi total + 1/0 / -1 hadiah Anda di akhir permainan. Anda akan menggunakan ini sebagai pengganti heuristik Anda saat ini untuk pencarian minimax. Atau, berpotensi Anda akan menyesuaikan fungsi heuristik Anda saat ini untuk menghasilkan dalam kisaran yang sama dan menggunakan RL untuk mengoptimalkan bobotnya untuk membuat perkiraan terbaik untuk fungsi pemutaran kembali yang benar optimal (yang mungkin terlalu rumit untuk menghitung dengan tepat).
Bagaimana cara memodifikasi fungsi evaluasi untuk memberikan iterasi penghargaan yang lebih baik setelah iterasi?
Itulah yang coba dilakukan oleh berbagai pendekatan RL, ada beragam pemecah yang berbeda. Tidak ada cara singkat untuk menjelaskannya. Anda bisa mulai dengan metode sederhana seperti Q-Learning . Q-Learning mempelajari perkiraan Q (s, a) (disebut nilai tindakan) yang merupakan pengembalian yang diharapkan ketika dalam keadaan dan mengambil tindakan a, dan setelah itu mengikuti kebijakan yang optimal. Itu membuat tebakan sewenang-wenang untuk memulai dan memolesnya lebih dekat ke nilai sebenarnya dengan setiap langkah yang dibuat dalam lingkungan belajar. Pelajar-Q tabel sederhana melakukan penyempurnaan ini hanya dengan menyimpan tabel besar semua negara dan tindakan dengan estimasi terbaik sejauh ini dari nilai sebenarnya, dan rata-rata dalam setiap estimasi baru seperti yang dialami.
Dimungkinkan juga untuk menggabungkan metode RL untuk heuristik dengan pencarian minimal di masa depan - itulah yang dilakukan AlphaGo asli, dan apa yang dilakukan AlphaGo Zero selama pelatihan. Ini adalah pendekatan yang kuat karena pencarian minimax akan bekerja untuk memeriksa ulang heuristik yang dihasilkan RL. Meskipun untuk gim yang cukup sederhana, RL dapat mempelajari heuristik yang sempurna dan Anda hanya perlu pencarian lokal (seperti apa langkah selanjutnya).
Kecuali gim Anda sangat sederhana (semua kondisi yang memungkinkan akan sesuai dengan memori), Anda akan memerlukan semacam penduga fungsi di dalam algoritma RL. Jaringan saraf adalah pilihan standar. Memiliki sesuatu untuk bagian itu tidak dapat dihindari - meskipun pilihan lain yang baik adalah mendefinisikan banyak fitur proxy (yang dapat Anda gunakan untuk membangun heuristik dengan tangan) dan menggunakan pendekatan linier - hanya jumlah dari semua fitur. Ini dapat bekerja dengan cukup baik, dan telah digunakan misalnya dalam checker (draft) pemain yang dilatih menggunakan RL.
Bahkan, asalkan fungsi heuristik Anda sendiri tidak terlalu luar biasa, Anda mungkin dapat memperlakukannya seperti aproksimasi linear dan menggunakan RL untuk mempelajari bobot terbaik untuk itu.