Chính xác thì bootstrapping trong học tập củng cố là gì?


23

Rõ ràng, trong học tập củng cố, phương pháp chênh lệch thời gian (TD) là một phương pháp bootstrapping. Mặt khác, các phương thức Monte Carlo không phải là phương thức bootstrapping.

Chính xác thì bootstrapping trong RL là gì? Phương pháp bootstrapping trong RL là gì?

Câu trả lời:


22

Bootstrapping trong RL có thể được đọc là "sử dụng một hoặc nhiều giá trị ước tính trong bước cập nhật cho cùng loại giá trị ước tính".

Trong hầu hết các quy tắc cập nhật TD, bạn sẽ thấy một cái gì đó giống như bản cập nhật SARSA (0) này:

Q(S,một)Q(S,một)+α(Rt+1+γQ(S',một')-Q(S,một))

Giá trị là ước tính cho giá trị thực của và còn được gọi là mục tiêu TD. Đây là một phương thức bootstrap vì chúng ta một phần sử dụng giá trị Q để cập nhật giá trị Q khác. Có một lượng nhỏ dữ liệu được quan sát thực tế dưới dạng , phần thưởng ngay lập tức cho bước này và cả trong quá trình chuyển đổi trạng thái .Rt+1+γQ(S',một')Q(S,một)Rt+1SS'

Tương phản với Monte Carlo nơi quy tắc cập nhật tương đương có thể là:

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

Trong đó là tổng phần thưởng được giảm giá tại thời điểm , giả sử trong bản cập nhật này, nó bắt đầu ở trạng thái , thực hiện hành động , sau đó tuân theo chính sách hiện tại cho đến khi kết thúc tập phim. Về mặt kỹ thuật, trong đó là bước thời gian cho phần thưởng và trạng thái cuối. Đáng chú ý, giá trị mục tiêu này hoàn toàn không sử dụng bất kỳ ước tính hiện có nào (từ các giá trị Q khác), nó chỉ sử dụng một tập hợp các quan sát (nghĩa là phần thưởng) từ môi trường. Như vậy, nó được đảm bảo là ước tính không thiên vị về giá trị thực của , vì về mặt kỹ thuật nó là một mẫu củaGttsaGt=k=0Tt1γkRt+k+1TQ ( s , a ) Q ( s , a )Q(s,a)Q(s,a).

Nhược điểm chính của bootstrapping là nó thiên về bất cứ giá trị bắt đầu nào của (hoặc ) của bạn. Những điều đó rất có thể sai và hệ thống cập nhật có thể không ổn định vì toàn bộ quá nhiều tài liệu tham khảo và không đủ dữ liệu thực - đây là vấn đề với việc học ngoài chính sách (ví dụ: Q-learning) sử dụng mạng thần kinh.Q(s,a)V(s)

Không có bootstrapping, sử dụng quỹ đạo dài hơn, thường có phương sai cao thay vào đó, trong thực tế, có nghĩa là bạn cần nhiều mẫu hơn trước khi ước tính hội tụ. Vì vậy, mặc dù các vấn đề với bootstrapping, nếu nó có thể được thực hiện để hoạt động, nó có thể học nhanh hơn đáng kể và thường được ưa thích hơn các phương pháp của Monte Carlo.

Bạn có thể thỏa hiệp giữa các phương pháp dựa trên mẫu Monte Carlo và phương pháp TD một bước khởi động bằng cách sử dụng kết hợp các kết quả từ các quỹ đạo có độ dài khác nhau. Điều này được gọi là học TD ( )λ bước sóng bước sóng và có nhiều phương pháp cụ thể như SARSA ( ) hoặc Q ( ).λλ


1
Đây có lẽ nên là một câu hỏi khác. Tuy nhiên, nếu bạn muốn trả lời, tại sao chính xác là và ước tính cho ? Q ( s , một )Rt+1+γQ(s,a)Q(s,a)
nbro

1
@nbro: Vì khi hội tụ, (các phương trình này và hầu hết RL được điều khiển bởi phương trình Bellman cho MDP). Bằng cách nhìn vào một sự kiện thực tế đã xảy ra bắt đầu với trạng thái và hành động , sau đó bạn là chủ yếu lấy mẫu từ kỳ vọng đó. Vấn đề là mặc dù giá trị bạn có cho có thể chưa được hội tụ, do đó mẫu bị sai lệch. s a Q ( S t + 1 , A t + 1 )Q(s,a)=E[Rt+1+γQ(St+1,At+1)|St=s,At=a]saQ(St+1,At+1)
Neil Slater

1
Điều gì ngăn người ta sử dụng các phương thức MC như ghi trong pha, trước khi chuyển sang bootstrapping? Hay đây có thể được coi là trường hợp phụ của ? λTD
n1k31t4

1
@ n1k31t4: Không có gì ngăn cản việc này và đó phải là một cách tiếp cận RL hợp lệ. Nó sẽ khác với TD ( ), nhưng được thúc đẩy bởi cùng một ý tưởng cố gắng để có được các tính năng tốt từ cả hai thuật toán. Bạn sẽ cần dùng thử và so sánh hiệu quả học tập với TD ( ) - bạn vẫn có một tham số siêu để điều chỉnh, đó là số tập để chạy MC. Một phiên bản tổng quát hơn sẽ cho phép thay đổi - bắt đầu với và phân rã xuống còn hoặc bất kỳ giá trị nào có vẻ tối ưu nhất. Tuy nhiên, điều đó có 2 tham số siêu tốc, tốc độ phân rã và mục tiêu choλ λ λ = 1 0,4 λλλλλ=10.4λ
Neil Slater

@NeilSlater, khi sử dụng bootstrapping, nó có thể hội tụ không? Tôi không thể hiểu tại sao Q (s ', a') chỉ là một phỏng đoán tùy ý, sau đó làm sai lệch ước tính cho Q (s, a). Ngoài ra, tại sao MC có phương sai cao so với TD?
d56

4

Nói chung, bootstrapping trong RL có nghĩa là bạn cập nhật một giá trị dựa trên một số ước tính và không dựa trên một số giá trị chính xác . Ví dụ

Cập nhật đánh giá chính sách gia tăng Monte Carlo:

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

TD (0) Cập nhật đánh giá chính sách:

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

Trong TD (0), lợi nhuận bắt đầu từ trạng thái được ước tính (bootstrapping) bởi trong khi trong MC, chúng tôi sử dụng trả về chính xác .sRt+1+γV(St+1) Gt

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.