Tại sao thuật toán lặp chính sách hội tụ đến hàm chính sách và giá trị tối ưu?


10

Tôi đã đọc các ghi chú bài giảng của Andrew Ng về học tập củng cố và tôi đã cố gắng hiểu tại sao phép lặp chính sách lại hội tụ đến hàm giá trị tối ưu và chính sách tối ưu .Vπ

Nhớ lại chính sách lặp lại là:

Initialize π randomlyRepeat{Let V:=Vπ \for the current policy, solve bellman's eqn's and set that to the current VLet π(s):=argmaxaAsPsa(s)V(s)}

Tại sao thuật toán tham lam lại dẫn đến một chính sách tối ưu và hàm giá trị tối ưu? (Tôi biết các thuật toán tham lam không luôn đảm bảo điều đó, hoặc có thể bị mắc kẹt trong tối ưu cục bộ, vì vậy tôi chỉ muốn xem một bằng chứng cho sự tối ưu của thuật toán).

Ngoài ra, đối với tôi, việc lặp lại chính sách là một cái gì đó tương tự như phân cụm hoặc giảm độ dốc. Để phân cụm, vì với cài đặt hiện tại của các tham số, chúng tôi tối ưu hóa. Tương tự như độ dốc giảm dần vì nó chỉ chọn một số giá trị dường như tăng một số hàm. Hai phương thức này không phải lúc nào cũng hội tụ đến cực đại tối ưu và tôi đã cố gắng hiểu thuật toán này khác với các thuật toán trước mà tôi đã đề cập như thế nào.


Đây là những suy nghĩ của tôi cho đến nay:

Giả sử chúng tôi bắt đầu với một số chính sách , sau bước đầu tiên, đối với chính sách cố định đó, chúng tôi có:π1

Vπ1(s)=R(s)+γsPsπ1(s)(s)Vπ1(s)

V(1):=Vπ1(s)

Trong đó V ^ {(1)} là hàm giá trị cho lần lặp đầu tiên. Sau bước thứ hai, chúng tôi chọn một số chính sách mới để tăng giá trị của . Bây giờ, với chính sách mới , nếu chúng ta thực hiện bước thứ hai của thuật toán thì bất đẳng thức sau đây là đúng:π2Vπ1(s)π2

R(s)+γsPsπ1(s)(s)Vπ1(s)R(s)+γsPsπ2(s)(s)Vπ1(s)

Vì chúng tôi chọn trong bước thứ hai để tăng hàm giá trị ở bước trước (nghĩa là cải thiện . Cho đến nay, rõ ràng việc chọn chỉ có thể tăng V ^ {(1)}, bởi vì đó là cách chúng tôi chọn . Tuy nhiên, sự nhầm lẫn của tôi xuất hiện ở bước lặp lại bởi vì một khi chúng tôi lặp lại và quay lại bước 1, chúng tôi thực sự thay đổi mọi thứ vì chúng tôi tính lại cho chính sách mới . Cung cấp cho:π2V(1)π2π2V2π2

Vπ2(s)=R(s)+γsPsπ2(s)(s)Vπ2(s)

nhưng nó KHÔNG phải là:

Vπ1(s)=R(s)+γsPsπ2(s)(s)Vπ1(s)

Đây có vẻ là một vấn đề vì đã được chọn để cải thiện và không phải . Về cơ bản các vấn đề là đảm bảo để nâng cao bằng cách làm thay của khi hàm giá trị là . Nhưng trong bước lặp lại, chúng tôi thay đổi thành , nhưng tôi không thấy cách đó đảm bảo rằng hàm giá trị cải thiện đơn điệu ở mỗi lần lặp lại vì được tính để cải thiện hàm giá trị khi các hàm giá trị giữ nguyên ởπ2V(1)Vπ2pi2R(s)+γsPsπ1(s)(s)Vπ1(s)π2pi1Vπ1Vπ1 V pi 2 π 2Vπ2π2Vπ1 V π 1, nhưng bước 1 thay đổi thành (điều này rất tệ vì tôi chỉ cải thiện hàm giá trị trước đó mà chúng tôi có).Vπ1Vπ2π2


1
Chỉ cần một lưu ý: tham lam không ngụ ý rằng một thuật toán sẽ không tìm thấy một giải pháp tối ưu nói chung.
Regenschein

1
Lặp lại giá trị là một thuật toán lập trình động, chứ không phải là một thuật toán tham lam. Hai người chia sẻ một số điểm tương đồng, nhưng có sự khác biệt. Hãy xem stackoverflow.com/questions/13713572/ .
francoisr

@francoisr không ai từng nói với tôi điều đó. Có lẽ đó là lý do tại sao nó rất (không cần thiết) đối với tôi. Tôi biết DP khá rõ. Cảm ơn mặc dù! :)
Pinocchio

Câu trả lời:


4

Tôi nghĩ phần bạn đang thiếu là được đảm bảo với cùng lý do chúng tôi có thể đặt hàng . Đó thực chất là định nghĩa của một chính sách tốt hơn một chính sách khác - rằng hàm giá trị của nó lớn hơn hoặc bằng nhau trong tất cả các trạng thái. Bạn đã đảm bảo điều này bằng cách chọn các hành động tối đa hóa - không có giá trị trạng thái nào có thể tồi tệ hơn trước đây và nếu chỉ một lựa chọn hành động đã thay đổi để chọn một hành động tối đa hóa tốt hơn, thì bạn đã biết (nhưng có thể không tính toán) rằng cho trạng thái đó sẽ cao hơn so với . π 2π 1Vπ2Vπ1π2π1V π 1 ( s )Vπ2(s)Vπ1(s)

Khi chúng tôi chọn tối đa hóa kết quả để tạo , chúng tôi không biết sẽ dành cho bất kỳ trạng thái nào, nhưng chúng tôi biết rằng .V π 2 ( s )π2Vπ2(s)s:Vπ2(s)Vπ1(s)

Do đó, quay lại vòng lặp và tính toán cho chính sách mới được đảm bảo có cùng giá trị hoặc cao hơn trước và khi cập nhật lại chính sách, . π 3π 2π 1Vπ2π3π2π1


4

Trước tiên hãy xem tại sao Thuật toán lặp chính sách hoạt động. Nó có hai bước.

Bước đánh giá chính sách:

vn=rdn+γPdnvn là dạng vectơ chung của hệ phương trình tuyến tính.

Ở đây, các thuật ngữ là phần thưởng ngay lập tức và các hàng tương ứng của ma trận chuyển tiếp.rdn,Pdn

Các điều khoản này phụ thuộc vào chính sáchΠn

Giải hệ phương trình trên chúng ta có thể tìm thấy các giá trị củavn

Bước cải thiện chính sách:

Giả sử rằng chúng tôi có thể tìm thấy một chính sách mới sao choΠn+1

rdn+1+γPdn+1vnrdn+γPdnvnrdn+1[IγPdn+1]vnsay this is eqn. 1

Bây giờ, dựa trên chính sách mới , chúng ta có thể tìm thấy , giả sử đây là phương trình 2. v n + 1 = r d n + 1 + γΠn+1vn+1=rdn+1+γPdn+1vn+1

Chúng tôi sẽ chỉ ra rằng ;vn+1vn

tức là về cơ bản cho tất cả các trạng thái, chính sách mới được chọn mang lại giá trị tốt hơn so với chính sách trước đó Π nΠn+1Πn

Bằng chứng:

Từ, phương trình 2, chúng ta có,

[IγPdn+1]vn+1=rdn+1

Từ, , chúng tôi có1&2

vn+1vn

Về cơ bản, các giá trị đang tăng đơn điệu với mỗi lần lặp.

Điều này rất quan trọng để hiểu tại sao Tương tác chính sách sẽ không bị kẹt ở mức tối đa cục bộ.

Chính sách không là gì ngoài không gian hành động nhà nước.

Ở mỗi bước lặp chính sách, chúng tôi cố gắng tìm ít nhất một hành động trạng thái khác nhau giữa và và xem liệu . Chỉ khi điều kiện được thỏa mãn, chúng tôi sẽ tính toán giải pháp cho hệ phương trình tuyến tính mới. Π nΠn+1Πnrdn+1+γPdn+1vnrdn+γPdnvn

Giả sử và là tối ưu toàn cục và cục bộ tương ứng.Π #ΠΠ#

Ngụ ý,vv#

Giả sử thuật toán bị kẹt ở mức tối ưu cục bộ.

Nếu đây là trường hợp, thì bước cải thiện chính sách sẽ không dừng lại ở không gian hành động tối ưu cục bộ , vì tồn tại ít nhất một hành động trạng thái trong khác với và mang lại giá trị cao hơn của so vớiΠ * Π # vΠ#ΠΠ# v #vv#

hoặc, nói cách khác,

[IγPd]v[IγPd]v#

rd[IγPd]v#

rd+γPdv#v#

rd+γPdv#rd#+γPd#v#

Do đó, Lặp lại chính sách không dừng lại ở mức tối ưu cục bộ

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.