Mengapa Q-Learning menggunakan epsilon-serakah selama pengujian?

18

Dalam makalah DeepMind tentang video game Deep Q-Learning untuk Atari (di sini ), mereka menggunakan metode epsilon-serakah untuk eksplorasi selama pelatihan. Ini berarti bahwa ketika suatu tindakan dipilih dalam pelatihan, tindakan tersebut dapat dipilih sebagai tindakan dengan nilai q tertinggi, atau tindakan acak. Memilih antara keduanya adalah acak dan berdasarkan pada nilai epsilon, dan epsilon dianil selama pelatihan sehingga pada awalnya, banyak tindakan acak diambil (eksplorasi), tetapi saat pelatihan berlangsung, banyak tindakan dengan nilai q maksimum diambil (eksploitasi).

Kemudian, selama pengujian, mereka juga menggunakan metode epsilon-serakah ini, tetapi dengan epsilon pada nilai yang sangat rendah, sehingga ada bias yang kuat terhadap eksploitasi dibandingkan eksplorasi, lebih memilih memilih tindakan dengan nilai q tertinggi daripada tindakan acak. Namun, tindakan acak masih terkadang dipilih (5% dari waktu).

Pertanyaan saya adalah: Mengapa eksplorasi diperlukan pada saat ini, mengingat pelatihan telah dilakukan? Jika sistem telah mempelajari kebijakan optimal, lalu mengapa tindakan tidak dapat selalu dipilih sebagai tindakan dengan nilai q tertinggi? Bukankah eksplorasi harus dilakukan hanya dalam pelatihan, dan kemudian setelah kebijakan optimal dipelajari, agen hanya bisa berulang kali memilih tindakan optimal?

Terima kasih!

Karnivaurus
sumber
Entah bagaimana itu mungkin terhubung dengan sifat deterministik dari lingkungan ALE. Jika Anda tidak melakukan tindakan acak selama evaluasi, Anda akan selalu melakukan urutan tindakan yang sama (karena urutan keadaan adalah sama). Mereka juga melakukan start acak - tunggu hingga 30 frame tidak melakukan apa-apa untuk alasan ini.
yobibyte

Jawaban:

10

Dalam makalah alam mereka menyebutkan:

Agen terlatih dievaluasi dengan memainkan setiap game 30 kali hingga 5 menit setiap kali dengan kondisi acak awal yang berbeda ('noop'; lihat Extended Data Tabel 1) dan kebijakan e-rakus dengan epsilon 0,05. Prosedur ini diadopsi untuk meminimalkan kemungkinan overfitting selama evaluasi.

Saya pikir apa yang mereka maksudkan adalah 'untuk meniadakan efek negatif dari over / under fitting'. Menggunakan epsilon 0 adalah pilihan yang sepenuhnya eksploitatif (seperti yang Anda tunjukkan) dan membuat pernyataan yang kuat.

Misalnya, pertimbangkan permainan labirin di mana perkiraan-Q agen saat ini dikonvergensi dengan kebijakan optimal kecuali untuk satu kisi, di mana ia dengan rakus memilih untuk bergerak menuju batas yang membuatnya tetap berada di kisi yang sama. Jika agen mencapai keadaan seperti itu, dan ia memilih tindakan Max Q, itu akan terjebak di sana untuk selamanya. Namun, menjaga elemen eksploratif / stokastik samar-samar dalam kebijakannya (seperti sejumlah kecil epsilon) memungkinkannya untuk keluar dari keadaan tersebut.

Karena itu, dari implementasi kode saya telah melihat (dan mengkodekan sendiri) dalam kinerja praktek sering kali diukur dengan kebijakan serakah untuk alasan yang tepat Anda daftar dalam pertanyaan Anda.

Zhubarb
sumber
3

ϵ =0,05

papabiceps
sumber
2

Saya pikir tujuan pengujian adalah untuk mengetahui bagaimana sistem merespons dalam situasi dunia nyata.


ϵ

Opsi 2:
Jika mereka khawatir akan rapuh, bermain melawan pemain yang kurang "rasional", maka mereka mungkin "menganil" skor pelatihan mereka agar tidak terlalu memperkirakan mereka.

Opsi 3:
Ini adalah asap ajaib mereka. Akan ada potongan-potongan yang tidak bisa dan tidak ingin mereka bagikan. Mereka dapat menerbitkan ini untuk mengaburkan sesuatu yang merupakan hak milik atau sangat relevan untuk bisnis mereka yang tidak ingin mereka bagikan.

Opsi 4:
Mereka dapat menggunakan tes berulang, dan berbagai nilai epsilon untuk menguji berapa banyak "lemak" yang tersisa dalam sistem. Jika mereka memiliki pengacakan yang lemah, atau begitu banyak sampel yang bahkan pengacakan yang adil pun mulai terulang kembali, maka metode tersebut dapat "mempelajari" perilaku yang tidak benar dilakukan terhadap bias pseudo-acak. Ini memungkinkan pemeriksaan itu dalam fase pengujian.

Saya yakin ada setengah lusin alasan penting lainnya, tetapi ini adalah apa yang dapat saya pikirkan.

EDIT: note to self, saya sangat suka pemikiran "rapuh". Saya pikir ini mungkin merupakan kelemahan eksistensial dari AI tingkat menengah generasi pertama.

EngrStudent - Pasang kembali Monica
sumber
1

ϵ

ϵϵ=0,05

Terutama karena input yang telah diproses mengandung riwayat keadaan yang ditemui sebelumnya, kekhawatirannya adalah, alih-alih menyamaratakan gameplay yang mendasari, agen hanya menghafal lintasan optimal untuk game tertentu dan memutar ulang mereka selama fase pengujian; inilah yang dimaksud dengan "kemungkinan overfitting selama evaluasi" . Untuk lingkungan deterministik ini jelas tetapi juga untuk menghafal transisi keadaan stokastik (yaitu overfitting) dapat terjadi. Menggunakan pengacakan selama fase pengujian, dalam bentuk no-op mulai dari panjang acak serta sebagian tindakan acak selama permainan, memaksa algoritma untuk berurusan dengan keadaan yang tidak terduga dan karenanya memerlukan beberapa derajat generalisasi.

ϵϵ=0selama pengujian berpotensi meningkatkan kinerja tetapi intinya di sini adalah untuk menunjukkan kemampuan untuk menggeneralisasi. Terlebih lagi dalam sebagian besar permainan Atari, negara juga berevolusi tanpa-op sehingga agen secara alami akan "melepaskan diri" jika itu pernah terjadi. Mempertimbangkan contoh labirin yang disebutkan di tempat lain di mana lingkungan tidak berevolusi tanpa operasi, agen akan segera belajar bahwa berlari ke dinding bukanlah ide yang baik jika hadiah dibentuk dengan benar (-1 untuk setiap langkah misalnya); terutama ketika menggunakan nilai awal yang optimis eksplorasi yang diperlukan terjadi secara alami. Jika Anda masih menemukan algoritma Anda pernah macet dalam beberapa situasi maka ini berarti Anda perlu meningkatkan waktu pelatihan (yaitu menjalankan lebih banyak episode), daripada memperkenalkan beberapa pengacakan tambahan sehubungan dengan tindakan.

Namun, jika Anda menjalankan dalam lingkungan dengan dinamika sistem yang berkembang (yaitu transisi keadaan dasar atau penghargaan berubah dari waktu ke waktu) maka Anda harus mempertahankan beberapa tingkat eksplorasi dan memperbarui kebijakan Anda sesuai untuk mengikuti perubahan.

seorang tamu
sumber