Bagaimana mendefinisikan negara dalam pembelajaran penguatan?

14

Saya belajar penguatan belajar dan variasinya. Saya mulai mendapatkan pemahaman tentang bagaimana algoritma bekerja dan bagaimana mereka berlaku untuk MDP. Yang tidak saya mengerti adalah proses mendefinisikan status MDP. Dalam sebagian besar contoh dan tutorial, mereka mewakili sesuatu yang sederhana seperti kotak di kotak atau serupa.

Untuk masalah yang lebih kompleks, seperti robot yang belajar berjalan, dll., Bagaimana Anda mendefinisikan negara-negara tersebut? Bisakah Anda menggunakan algoritma pembelajaran atau klasifikasi untuk "mempelajari" status tersebut?

Andy
sumber

Jawaban:

14

Masalah representasi negara dalam Reinforcement Learning (RL) mirip dengan masalah representasi fitur, pemilihan fitur dan rekayasa fitur dalam pembelajaran yang diawasi atau tidak diawasi.

Sastra yang mengajarkan dasar-dasar RL cenderung menggunakan lingkungan yang sangat sederhana sehingga semua negara bagian dapat disebutkan. Ini menyederhanakan estimasi nilai menjadi rata-rata rolling dasar dalam sebuah tabel, yang lebih mudah dipahami dan diimplementasikan. Algoritma pembelajaran tabular juga memiliki jaminan teoritis yang wajar tentang konvergensi, yang berarti jika Anda bisa menyederhanakan masalah Anda sehingga memiliki, katakanlah, kurang dari beberapa juta negara, maka ini patut dicoba.

Sebagian besar masalah kontrol yang menarik tidak akan sesuai dengan jumlah negara tersebut, bahkan jika Anda mendiskreditkannya. Ini karena " kutukan dimensi ". Untuk masalah-masalah tersebut, Anda biasanya akan mewakili keadaan Anda sebagai vektor fitur yang berbeda - misalnya untuk robot, berbagai posisi, sudut, kecepatan bagian-bagian mekanik. Seperti halnya dengan pembelajaran yang diawasi, Anda mungkin ingin memperlakukan ini untuk digunakan dengan proses pembelajaran tertentu. Sebagai contoh, biasanya Anda ingin semuanya menjadi numerik, dan jika Anda ingin menggunakan jaringan saraf Anda juga harus menormalkannya ke rentang standar (misalnya -1 hingga 1).

Selain masalah di atas yang berlaku untuk pembelajaran mesin lainnya, untuk RL, Anda juga harus peduli dengan Properti Markov - bahwa negara bagian memberikan informasi yang cukup, sehingga Anda dapat secara akurat memprediksi hadiah berikutnya yang diharapkan dan negara-negara berikutnya yang memberikan tindakan, tanpa memerlukan informasi tambahan. Ini tidak harus sempurna, perbedaan kecil karena misalnya variasi dalam kepadatan udara atau suhu untuk robot beroda biasanya tidak akan memiliki dampak besar pada navigasinya, dan dapat diabaikan. Faktor apa pun yang pada dasarnya acak juga dapat diabaikan sementara tetap berpegang pada teori RL - itu mungkin membuat agen secara keseluruhan kurang optimal, tetapi teori itu masih akan bekerja.

Jika ada faktor-faktor tidak diketahui yang konsisten yang mempengaruhi hasil, dan secara logis dapat disimpulkan - mungkin dari sejarah negara atau tindakan - tetapi Anda telah mengeluarkan mereka dari perwakilan negara, maka Anda mungkin memiliki masalah yang lebih serius, dan agen mungkin gagal belajar .

Perlu dicatat perbedaan di sini antara pengamatan dan negara . Pengamatan adalah beberapa data yang dapat Anda kumpulkan. Misalnya Anda mungkin memiliki sensor pada robot Anda yang memberi makan kembali posisi sendi-sendinya. Karena negara harus memiliki Properti Markov, satu pengamatan mentah mungkin tidak cukup data untuk membuat negara yang cocok. Jika itu masalahnya, Anda bisa menerapkan pengetahuan domain Anda untuk membangun status yang lebih baik dari data yang tersedia, atau Anda dapat mencoba menggunakan teknik yang dirancang untuk pembelajaran atau algoritma klasifikasi untuk "mempelajari" status tersebut "seperti yang Anda minta. MDP (POMDPs) yang dapat diamati sebagian - ini secara efektif mencoba membangun bagian data negara yang hilang. secara statistik. Anda bisa menggunakan RNN atau model markov tersembunyi (juga disebut "negara kepercayaan") untuk ini, dan dalam beberapa hal ini menggunakan "

Terakhir, Anda perlu mempertimbangkan jenis model aproksimasi yang ingin Anda gunakan. Pendekatan serupa berlaku di sini untuk pembelajaran terawasi:

  • Regresi linier sederhana dengan fitur yang direkayasa berdasarkan pengetahuan domain dapat dilakukan dengan sangat baik. Anda mungkin perlu bekerja keras untuk mencoba representasi negara yang berbeda sehingga pendekatan linier berfungsi. Keuntungannya adalah bahwa pendekatan yang lebih sederhana ini lebih kuat terhadap masalah stabilitas daripada pendekatan non-linear

  • Penaksir fungsi non-linear yang lebih kompleks, seperti jaringan saraf multi-layer. Anda dapat memberi makan dalam keadaan vektor yang lebih "mentah" dan berharap bahwa lapisan tersembunyi akan menemukan beberapa struktur atau representasi yang mengarah pada perkiraan yang baik. Dalam beberapa hal, ini juga adalah " algoritma pembelajaran atau klasifikasi untuk" mempelajari "status tersebut ", tetapi dengan cara yang berbeda dengan RNN atau HMM. Ini mungkin merupakan pendekatan yang masuk akal jika keadaan Anda dinyatakan secara alami sebagai gambar layar - mencari tahu fitur rekayasa untuk data gambar dengan tangan sangat sulit.

The Atari DQN bekerja dengan DeepMind tim menggunakan kombinasi teknik fitur dan mengandalkan jaringan saraf dalam untuk mencapai hasil-hasilnya. Rekayasa fitur termasuk downsampling gambar, menguranginya menjadi skala abu-abu dan - penting untuk Properti Markov - menggunakan empat frame berturut-turut untuk mewakili satu keadaan, sehingga informasi tentang kecepatan objek hadir dalam representasi negara. DNN kemudian memproses gambar menjadi fitur tingkat tinggi yang dapat digunakan untuk membuat prediksi tentang nilai status.

Neil Slater
sumber
3

Pendekatan awal yang umum untuk pemodelan masalah kompleks adalah diskritisasi . Pada tingkat dasar, ini membagi ruang yang kompleks dan kontinu ke dalam kotak. Kemudian Anda dapat menggunakan salah satu teknik RL klasik yang dirancang untuk ruang diskrit, linier. Namun, seperti yang Anda bayangkan, jika Anda tidak hati-hati, ini dapat menyebabkan banyak masalah!

Buku klasik Sutton & Barto Reinforcement Learning memiliki beberapa saran untuk cara lain untuk menyelesaikannya. Salah satunya adalah pengkodean ubin , tercakup dalam bagian 9.5.4 dari edisi kedua yang baru . Dalam pengkodean ubin, kami menghasilkan sejumlah besar kisi, masing-masing dengan jarak kisi yang berbeda. Kami kemudian overlay grid di atas satu sama lain. Ini menciptakan daerah diskrit yang bentuknya tidak seragam, dan dapat bekerja dengan baik untuk berbagai masalah.

Bagian 9.5 juga mencakup berbagai cara lain untuk menyandikan ruang kontinu menjadi MDP diskrit, termasuk fungsi basis radial, dan pengkodean kasar. Coba lihat!

John Doucette
sumber