Dalam Q-Learning, pada setiap langkah Anda akan menggunakan pengamatan dan penghargaan untuk memperbarui fungsi nilai-Q Anda:
Qt + 1(st,Sebuaht) =Qt(st,Sebuaht) + α [Rt + 1+ γmaksSebuah′Qt(st + 1,Sebuah′) -Qt(st,Sebuaht) ]
Anda benar dalam mengatakan bahwa jaringan saraf hanyalah perkiraan fungsi untuk fungsi nilai-q.
Secara umum, bagian perkiraan hanyalah masalah pembelajaran standar yang diawasi. Jaringan Anda menggunakan (s, a) sebagai input dan outputnya adalah nilai-q. Saat nilai-q disesuaikan, Anda perlu melatih sampel baru ini ke jaringan. Namun, Anda akan menemukan beberapa masalah saat menggunakan sampel berkorelasi dan SGD akan menderita.
Jika Anda melihat kertas DQN, situasinya sedikit berbeda. Dalam hal itu, apa yang mereka lakukan adalah meletakkan sampel dalam vektor (replay pengalaman). Untuk mengajarkan jaringan, mereka mengambil sampel tupel dari vektor, bootstrap menggunakan informasi ini untuk mendapatkan nilai q baru yang diajarkan ke jaringan. Ketika saya mengatakan mengajar, maksud saya menyesuaikan parameter jaringan menggunakan keturunan gradien stokastik atau pendekatan optimasi favorit Anda. Dengan tidak mengajarkan sampel dalam urutan yang dikumpulkan oleh kebijakan, dekorasi akan berhubungan dengan mereka dan yang membantu dalam pelatihan.
Terakhir, dalam rangka untuk membuat keputusan tentang negara , Anda memilih tindakan yang menyediakan tertinggi q-nilai:s
Sebuah∗( s ) =a r gm a xSebuah Q ( s , a )
Jika fungsi Q-value Anda telah dipelajari sepenuhnya dan lingkungannya diam, tidak apa-apa untuk menjadi rakus pada saat ini. Namun, saat belajar, Anda diharapkan menjelajah. Ada beberapa pendekatan yang menjadi -salah satu cara termudah dan paling umum.ε