Apa sebenarnya bootstrap dalam pembelajaran penguatan?

23

Rupanya, dalam pembelajaran penguatan, metode temporal-difference (TD) adalah metode bootstrap. Di sisi lain, metode Monte Carlo bukan metode bootstrap.

Apa sebenarnya bootstrap di RL? Apa itu metode bootstrap di RL?

nbro
sumber

Jawaban:

22

Bootstrap di RL dapat dibaca sebagai "menggunakan satu atau lebih nilai estimasi dalam langkah pembaruan untuk jenis nilai estimasi yang sama".

Di sebagian besar aturan pembaruan TD, Anda akan melihat sesuatu seperti pembaruan SARSA (0) ini:

Q(s,a)Q(s,a)+α(Rt+1+γQ(s,a)Q(s,a))

Nilai Rt+1+γQ(s,a) adalah perkiraan untuk nilai sebenarnya dari , dan juga disebut target TD. Ini adalah metode bootstrap karena kita sebagian menggunakan nilai Q untuk memperbarui nilai Q lainnya. Ada sejumlah kecil data nyata yang diamati dalam bentuk , hadiah langsung untuk langkah tersebut, dan juga dalam transisi keadaan .Q(s,a)Rt+1ss

Kontras dengan Monte Carlo di mana aturan pembaruan yang setara mungkin:

Q(s,a)Q(s,a)+α(GtQ(s,a))

Di mana adalah total diskon hadiah pada waktu , dengan asumsi dalam pembaruan ini, itu dimulai dalam keadaan , mengambil tindakanGttsa , kemudian mengikuti kebijakan saat ini hingga akhir episode. Secara teknis,Gt=k=0Tt1γkRt+k+1 di manaTadalah langkah waktu untuk terminal reward dan status. Khususnya, nilai target ini tidak menggunakan estimasi yang ada (dari nilai Q lainnya) sama sekali, itu hanya menggunakan satu set pengamatan (yaitu, hadiah) dari lingkungan. Dengan demikian, itu dijamin menjadi estimasi yang tidak bias dari nilai sebenarnya dari Q(s,a) , karena secara teknis merupakan sampel dari Q(s,Sebuah) .

Kerugian utama dari bootstrap adalah bias terhadap nilai awal Q(s,Sebuah) (atau V(s) ) Anda. Mereka kemungkinan besar salah, dan sistem pembaruan dapat menjadi tidak stabil secara keseluruhan karena terlalu banyak referensi-diri dan tidak cukup data nyata - ini adalah masalah dengan pembelajaran di luar kebijakan (mis. Q-learning) menggunakan jaringan saraf.

Tanpa bootstrap, menggunakan lintasan yang lebih panjang, sering ada varians yang tinggi , yang, dalam praktiknya, berarti Anda membutuhkan lebih banyak sampel sebelum perkiraan bertemu. Jadi, terlepas dari masalah dengan bootstrap, jika dapat dibuat bekerja, ia dapat belajar secara signifikan lebih cepat, dan sering lebih disukai daripada pendekatan Monte Carlo.

Anda dapat berkompromi antara metode berbasis sampel Monte Carlo dan metode TD satu langkah yang melakukan bootstrap dengan menggunakan campuran hasil dari lintasan panjang yang berbeda. Ini disebut pembelajaran TD ( λ ) , dan ada berbagai metode spesifik seperti SARSA ( λ ) atau Q ( λ ).

Neil Slater
sumber
1
Ini mungkin pertanyaan lain. Namun, jika Anda ingin jawaban, mengapa sebenarnya dan perkiraan Q ( s , a ) ? Rt+1+γQ(s,Sebuah)Q(s,Sebuah)
nbro
1
@nbro: Karena pada konvergensi, (persamaan ini dan sebagian besar RL didorong oleh persamaan Bellman untuk MDP). Dengan melihat peristiwa aktual yang terjadi dimulai dengan negara s dan tindakan yangQ(s,a)=E[Rt+1+γQ(St+1,At+1)|St=s,At=a]sa, maka Anda pada dasarnya mengambil sampel dari harapan itu. Masalahnya adalah bahwa nilai yang Anda miliki untuk mungkin belum terkonvergensi, sehingga sampel bias. Q(St+1,At+1)
Neil Slater
1
Apa yang mencegah seseorang menggunakan metode MC sebagai fase pembakaran , sebelum beralih ke bootstrap? Atau mungkinkah ini dianggap sebagai sub-kasus ? λTD
n1k31t4
1
@ n1k31t4: Tidak ada yang mencegah melakukan ini, dan itu harus menjadi pendekatan RL yang valid. Ini akan berbeda dengan TD ( ), tetapi dimotivasi oleh ide yang sama untuk mencoba mendapatkan fitur yang baik dari kedua algoritma. Anda perlu mencobanya dan membandingkan efisiensi pembelajaran dengan TD ( λ ) - Anda masih memiliki parameter hiper untuk disetel, yang merupakan jumlah episode untuk menjalankan MC. Versi yang lebih umum adalah membiarkan λ berubah - mulai dengan λ = 1 dan turunkan ke misalnya 0,4 atau nilai apa pun yang tampak paling optimal. Namun, itu memiliki 2 parameter hiper, laju peluruhan dan target untuk λλλλλ=10.4λ
Neil Slater
@ NeilSlater, ketika menggunakan bootstrap, dapatkah ia bertemu? Saya tidak bisa mengerti mengapa itu harus dilakukan karena Q (s ', a') hanyalah tebakan sewenang-wenang yang kemudian mendistorsi estimasi untuk Q (s, a). Juga, mengapa MC memiliki varian tinggi dibandingkan dengan TD?
D56
4

Secara umum, bootstrap di RL berarti Anda memperbarui nilai berdasarkan beberapa perkiraan dan bukan pada beberapa nilai yang tepat . Misalnya

Pembaruan Evaluasi Kebijakan Monte Carlo yang ditambahkan:

V(St)=V(St)+α(GtV(St))

TD (0) Pembaruan Evaluasi Kebijakan:

V(St)=V(St)+α(Rt+1+γV(St+1)V(St))

Di TD (0), yang kembali mulai dari negara adalah perkiraan (dinyalakan) oleh R t + 1 + γ V ( S t + 1 ) sementara di MC kita menggunakan tepat kembali G t .sRt+1+γV(St+1) Gt

plopd
sumber