Mengapa tingkat diskonto dalam algoritma REINFORCE muncul dua kali?

11

Saya membaca buku Reinforcement Learning: An Introduction oleh Richard S. Sutton dan Andrew G. Barto (draft lengkap, 5 November 2017).

Pada halaman 271, pseudo-code untuk Metode Gradient Kebijakan-Gradien Episodik disajikan. Melihat pseudo-code ini saya tidak bisa mengerti mengapa tampaknya tingkat diskonto muncul 2 kali, sekali dalam keadaan pembaruan dan kedua kalinya di dalam pengembalian. [Lihat gambar di bawah ini]

masukkan deskripsi gambar di sini

Tampaknya kembalinya untuk langkah-langkah setelah langkah 1 hanyalah pemotongan dari kembalinya langkah pertama. Juga, jika Anda melihat hanya satu halaman di atas dalam buku Anda menemukan persamaan dengan hanya 1 tingkat diskonto (satu di dalam pengembalian.)

Lalu mengapa pseudo-code tampak berbeda? Dugaan saya adalah bahwa saya salah memahami sesuatu:

(13.6)θt+1 =˙ θt+αGtθπ(At|St,θt)π(At|St,θt).

Diego Orellana
sumber

Jawaban:

5

Faktor diskon memang muncul dua kali, dan ini benar.

Ini karena fungsi yang Anda coba maksimalkan dalam REINFORCE untuk masalah episodik (dengan mengambil gradien) adalah pengembalian yang diharapkan dari kondisi awal (distribusi) mulai yang diberikan:

J(θ)=Eπ(θ)[Gt|St=s0,t=0]

Oleh karena itu, selama episode, ketika Anda mencicipi kembali , G 2 dll, ini akan kurang relevan dengan masalah yang Anda pemecahan, dikurangi dengan discount factor kedua kalinya seperti yang Anda dicatat. Paling ekstrim dengan masalah episodik dan γ = 0G1G2γ=0 maka REINFORCE hanya akan menemukan kebijakan yang optimal untuk tindakan pertama.

Algoritma lain, yang bekerja di masalah terus menerus, seperti penggunaan Aktor-Critic formulasi berbeda untuk , sehingga tidak punya faktor γ t .J(θ)γt

Neil Slater
sumber
5

Jawaban Neil sudah menyediakan beberapa intuisi untuk mengapa pseudocode (dengan tambahan jangka) benar.γt

Saya hanya ingin memperjelas bahwa Anda tidak salah paham, Persamaan (13.6) dalam buku ini memang berbeda dari kode semu .

Sekarang, saya tidak memiliki edisi buku yang Anda sebutkan di sini, tetapi saya memiliki konsep selanjutnya dari 22 Maret 2018, dan teks tentang topik khusus ini tampaknya serupa. Dalam edisi ini:

  • γ=1 dalam bukti mereka untuk Teorema Gradien Kebijakan.
  • Bukti itu akhirnya mengarah ke Persamaan yang sama (13.6) di halaman 329.
  • γ=1
  • γ<1
Dennis Soemers
sumber
2
Terima kasih. Penjelasan poin ketiga Anda tidak ada pada draft 2017.
Diego Orellana
2
@DiegoOrellana Saya tidak dapat menemukan tautan ke konsep 22 Maret lagi, tampaknya ada konsep yang lebih baru (tidak dapat menemukan tanggal yang disebutkan) di sini . Versi ini sebenarnya memiliki sampul mewah, jadi itu bahkan mungkin versi final daripada konsep. Jika tautan tersebut rusak di masa mendatang, saya menduga tautan baru akan tersedia di sini .
Dennis Soemers
3

Ini masalah halus.

Jika Anda melihat algoritma A3C dalam makalah asli (hal.4 dan lampiran S3 untuk kode semu), algoritme aktor-kritik mereka (algoritme yang sama baik masalah episodik dan berkelanjutan) dimatikan oleh faktor gamma relatif terhadap aktor- kritik pseudo-code untuk masalah episodik dalam buku Sutton dan Barto (hal.332 Januari 2019 edisi http://incompleteideas.net/book/the-book.html ). Buku Sutton dan Barto memiliki gamma "pertama" ekstra seperti yang tertera pada gambar Anda. Jadi, apakah buku atau kertas A3C salah? Tidak juga.

Kuncinya ada di hal. 199 buku Sutton dan Barto:

Jika ada diskon (gamma <1) itu harus diperlakukan sebagai bentuk penghentian, yang dapat dilakukan hanya dengan memasukkan faktor dalam istilah kedua (9.2).

Masalahnya adalah ada dua interpretasi terhadap gamma faktor diskon:

  1. Faktor multiplikatif yang mengurangi bobot imbalan masa depan yang jauh.
  2. Probabilitas, 1 - gamma, bahwa lintasan simulasi berakhir secara palsu, pada setiap langkah waktu. Penafsiran ini hanya masuk akal untuk kasus-kasus episodik, dan tidak melanjutkan kasus.

Implementasi literal:

  1. Cukup gandakan hadiah di masa depan dan jumlah terkait (V atau Q) di masa depan dengan gamma.
  2. Simulasikan beberapa lintasan dan akhiri secara acak (1 - gamma) di setiap langkah waktu. Lintasan yang dihentikan tidak memberikan imbalan langsung atau di masa depan.

Glnπ(a|s)

γ2Glnπ(a|s)0.81Glnπ(a|s) . Istilah ini memiliki daya gradien 19% lebih sedikit daripada istilah t = 0 karena alasan sederhana bahwa 19% lintasan simulasi telah mati oleh t = 2.

Glnπ(a|s)G

Anda dapat memilih interpretasi gamma mana saja, tetapi Anda harus memperhatikan konsekuensi dari algoritma. Saya pribadi lebih suka menggunakan interpretasi 1 hanya karena lebih sederhana. Jadi saya menggunakan algoritma dalam kertas A3C, bukan buku Sutton dan Barto.

Pertanyaan Anda adalah tentang algoritma REINFORCE, tetapi saya telah membahas aktor-kritik. Anda memiliki masalah yang sama persis terkait dengan dua interpretasi gamma dan gamma tambahan di REINFORCE.

toto2
sumber