Apa itu "replay pengalaman" dan apa manfaatnya?

19

Saya telah membaca makalah DeepMind Atari Google dan saya mencoba memahami konsep "replay pengalaman". Replay pengalaman muncul di banyak makalah pembelajaran penguatan lainnya (khususnya, kertas AlphaGo), jadi saya ingin memahami cara kerjanya. Berikut beberapa kutipannya.

Pertama, kami menggunakan mekanisme yang diilhami secara biologis yang disebut replay pengalaman yang mengacak data, sehingga menghilangkan korelasi dalam urutan pengamatan dan memperlancar perubahan dalam distribusi data.

Makalah ini kemudian menguraikan sebagai berikut:

Sementara metode stabil lainnya ada untuk pelatihan jaringan saraf dalam pengaturan pembelajaran penguatan, seperti Q-iterasi yang dipasang secara saraf, metode ini melibatkan pelatihan berulang jaringan de novo ratusan iterasi. Akibatnya, metode-metode ini, tidak seperti algoritma kami, terlalu tidak efisien untuk berhasil digunakan dengan jaringan saraf besar. Kami parameterisasi fungsi nilai perkiraan Q(s,a;θi) menggunakan jaringan saraf convolutional yang dalam ditunjukkan pada Gambar. 1, di mana θi adalah parameter (yaitu, bobot) dari jaringan Q di iterasi i . Untuk melakukan replay pengalaman, kami menyimpan pengalaman agenet=(st,at,rt,st+1) pada setiap waktu-langkaht dalam kumpulan dataDt={e1,,et} . Selama belajar, kami menerapkan pembaruan Q-learning, pada sampel (atau mini-batch) pengalaman(s,a,r,s)U(D), diambil secara seragam secara acak dari kumpulan sampel yang disimpan. Pembaruan Q-learning at iteration i menggunakan fungsi kehilangan berikut:

Li(θi)=E(s,a,r,s)U(D)[(r+γmaxaQ(s,a;θi)Q(s,a;θi))2]

Apa itu replay pengalaman, dan apa manfaatnya, dalam istilah awam?

Ryan Zotti
sumber

Jawaban:

25

Bagian penting dari teks yang dikutip adalah:

Untuk melakukan replay pengalaman, kami menyimpan pengalaman agenet=(st,at,rt,st+1)

Ini berarti alih-alih menjalankan Q-learning pada pasangan state / action saat terjadi selama simulasi atau pengalaman aktual, sistem menyimpan data yang ditemukan untuk [state, action, reward, next_state] - biasanya dalam tabel besar. Catatan ini tidak menyimpan nilai terkait - ini adalah data mentah untuk dimasukkan ke dalam perhitungan nilai tindakan nanti.

Tahap pembelajaran kemudian secara logis terpisah dari mendapatkan pengalaman, dan berdasarkan pada pengambilan sampel acak dari tabel ini. Anda masih ingin menyatukan kedua proses - bertindak dan belajar - karena meningkatkan kebijakan akan mengarah pada perilaku berbeda yang harus mengeksplorasi tindakan yang lebih dekat dengan yang optimal, dan Anda ingin belajar dari itu. Namun, Anda dapat membagi ini sesuka Anda - mis. Ambil satu langkah, pelajari dari tiga langkah acak sebelumnya, dll. Target Q-Learning saat menggunakan replay pengalaman menggunakan target yang sama dengan versi online, jadi tidak ada formula baru untuk itu. Formula kehilangan yang diberikan juga adalah yang akan Anda gunakan untuk DQN tanpa replay pengalaman. Perbedaannya hanya yang s, a, r, s ', a' yang Anda masukkan.

Di DQN, tim DeepMind juga memelihara dua jaringan dan mengganti jaringan mana yang sedang dipelajari dan mana yang memasukkan perkiraan nilai tindakan saat ini sebagai "bootstraps". Ini membantu dengan stabilitas algoritma ketika menggunakan penduga fungsi non-linear. Itulah arti bilah dalam - ini menunjukkan versi bobot bobot alternatif yang dibekukan .θi ¯

Keuntungan dari replay pengalaman:

  • Lebih efisien menggunakan pengalaman sebelumnya, dengan belajar dengannya berkali-kali. Ini adalah kunci ketika mendapatkan pengalaman dunia nyata itu mahal, Anda bisa menggunakannya sepenuhnya. Pembaruan Q-learning bersifat inkremental dan tidak konvergen dengan cepat, sehingga beberapa lintasan dengan data yang sama bermanfaat, terutama ketika ada varians yang rendah dalam hasil langsung (hadiah, kondisi berikutnya) dengan kondisi yang sama, pasangan tindakan.

  • Perilaku konvergensi yang lebih baik ketika melatih aproksimator fungsi. Sebagian ini karena data lebih seperti data iid yang diasumsikan dalam kebanyakan bukti konvergensi pembelajaran yang diawasi.

Kerugian dari replay pengalaman:

  • Lebih sulit untuk menggunakan algoritma pembelajaran multi-langkah, seperti Q ( ), yang dapat disesuaikan untuk memberikan kurva belajar yang lebih baik dengan menyeimbangkan antara bias (karena bootstrap) dan varians (karena keterlambatan dan keacakan dalam hasil jangka panjang) ). Multi-step DQN dengan experience-replay DQN adalah salah satu ekstensi yang dieksplorasi dalam makalah Rainbow: Menggabungkan Peningkatan dalam Pembelajaran Penguatan Dalam .λ

Pendekatan yang digunakan dalam DQN secara singkat diuraikan oleh David Silver di beberapa bagian dari video ceramah ini (sekitar 01:17:00, tetapi layak untuk melihat bagian sebelumnya). Saya sarankan menonton seluruh seri, yang merupakan kursus tingkat pascasarjana tentang pembelajaran penguatan, jika Anda punya waktu.

Neil Slater
sumber
Katakanlah selama pelatihan kita berada di satu negara dan kita mengambil tindakan sesuai dengan kebijakan epsilon-serakah dan Anda berakhir di negara lain. Jadi, Anda mendapatkan hadiah, dan status berikutnya. Di sini hadiah bisa menjadi skor permainan dan negara dapat menjadi pola piksel di layar. Dan kemudian kami mengambil kesalahan antara fungsi aproximator kami dan nilai yang kami dapatkan dari kebijakan serakah lagi menggunakan pendekati fungsi yang sudah beku. Tetapi dengan replay pengalaman ketika mengoptimalkan aproksimator kami mengambil beberapa set data tindakan keadaan acak. Apakah saya benar ?
Shamane Siriwardhana
1
@ShamaneSiriwardhana: Ya, saya pikir Anda benar. Ini adalah data yang sama persis dari lintasan nyata, tetapi alih-alih belajar hanya dari langkah terbaru, Anda menyimpannya dalam tabel besar dan sampel dari tabel itu (biasanya beberapa sampel, dengan menyimpan 1000-an langkah sebelumnya untuk dipilih. ). Jika Anda membutuhkan lebih banyak klarifikasi, maka mungkin ajukan pertanyaan di situs.
Neil Slater
Ya saya membaca kertas lagi. Ia juga mengatakan metode ini dapat meningkatkan pembelajaran kebijakan juga. Karena dalam pembelajaran Q dengan bertindak sesuai dengan kebijakan epsilon-serakah tetapi memperbarui fungsi nilai sesuai dengan kebijakan serakah. Jadi ketika setiap kali langkah parameter jaringan syaraf kami diperbarui oleh statistik mini batch yang lebih penting tidak terkait dengan statistik langkah waktu yang tepat tetapi apa yang terjadi sebelum ini juga membantu untuk tidak berkorelasi dengan data.
Shamane Siriwardhana
@Neil Slater, saya telah membaca kertas Rainbow dan saya tidak melihat komentar khusus tentang penggunaan trik khusus untuk menggabungkan replay pengalaman dan metode multi-langkah. Saya juga pernah mendengar bahwa metode multi-langkah pada awalnya tidak mungkin untuk digabungkan dengan replay pengalaman tetapi mengapa tidak hanya secara acak memilih pengalaman n-berturut-turut alih-alih 1 dari replay pengalaman tetapi dari replay sehingga antara setiap n-pengalaman, tidak ada korelasi yang ditemukan? Bukankah ini pengalaman multi-langkah memutar ulang?
StL
@ NeilSlater Mengapa "lebih sulit untuk menggunakan algoritma pembelajaran multi-langkah"? Apa yang kamu maksud?
Gulzar