Tại sao các phương thức gradient chính sách được ưa thích hơn xấp xỉ hàm giá trị trong các miền hành động liên tục?


7

Cụ thể, trong xấp xỉ hàm giá trị, đặc biệt, trong Q-learning sâu sắc, tôi hiểu rằng trước tiên chúng ta dự đoán các giá trị Q cho mỗi hành động. Tuy nhiên, khi có nhiều hành động, nhiệm vụ này không hề dễ dàng.

Nhưng trong lần lặp chính sách, chúng ta cũng phải xuất ra một vectơ softmax liên quan đến từng hành động. Vì vậy, tôi không hiểu làm thế nào điều này có thể được sử dụng để làm việc với không gian hành động liên tục.

Tại sao các phương thức gradient chính sách được ưa thích hơn xấp xỉ hàm giá trị trong các miền hành động liên tục?

Câu trả lời:


7

Nhưng trong lần lặp chính sách, chúng ta phải tạo ra một vectơ softmax liên quan đến từng hành động

Điều này là không đúng sự thật. Vectơ softmax là một cách có thể để thể hiện chính sách và hoạt động cho các không gian hành động riêng biệt. Sự khác biệt giữa độ dốc chính sách và cách tiếp cận hàm giá trị ở đây là ở cách bạn sử dụng đầu ra. Đối với hàm giá trị, bạn sẽ tìm thấy đầu ra tối đa và chọn nó (có lẽ là tham lam) và đó phải là ước tính của giá trị của việc thực hiện hành động đó. Đối với chức năng chính sách, bạn sẽ sử dụng đầu ra làm xác suất để chọn từng hành động và bạn không biết giá trị của việc thực hiện hành động đó.ϵ

Vì vậy, tôi không hiểu làm thế nào điều này có thể sử dụng để làm việc với không gian hành động liên tục?

Với các phương thức gradient chính sách, chính sách có thể là bất kỳ chức năng nào của tham số của bạn :θ

  • Xuất ra một phân phối xác suất

  • Có thể được phân biệt vớiθ

Vì vậy, ví dụ chức năng chính sách của bạn có thể là

πθ(s)=N(μ(s,θ),σ(s,θ))

trong đó và có thể là các chức năng bạn triển khai với ví dụ: mạng thần kinh. Đầu ra của mạng là một mô tả về phân phối Bình thường cho giá trị hành động cho một giá trị trạng thái . Chính sách yêu cầu bạn lấy mẫu từ phân phối bình thường được xác định bởi các giá trị đó (NN không thực hiện lấy mẫu đó, bạn thường phải thêm mã đó vào mã).μσas

Tại sao các phương thức gradient chính sách được ưa thích hơn xấp xỉ hàm giá trị trong các miền hành động liên tục?

Mặc dù vẫn có thể ước tính giá trị của cặp trạng thái / hành động trong không gian hành động liên tục, nhưng điều này không giúp bạn chọn một hành động. Xem xét cách bạn có thể thực hiện chính sách tham gia bằng cách sử dụng xấp xỉ giá trị hành động: Nó sẽ yêu cầu thực hiện tối ưu hóa không gian hành động cho mỗi và mọi lựa chọn hành động, để tìm hành động tối ưu ước tính. Điều này là có thể, nhưng có khả năng rất chậm / không hiệu quả (cũng có nguy cơ tìm thấy tối đa cục bộ).ϵ

Làm việc trực tiếp với các chính sách phát ra phân phối xác suất có thể tránh được vấn đề này, miễn là các phân phối đó dễ lấy mẫu. Do đó, bạn sẽ thường thấy những thứ như chính sách kiểm soát các tham số của phân phối Bình thường hoặc tương tự, bởi vì nó được biết cách dễ dàng lấy mẫu từ các phân phối đó.


Oh ! Vì vậy, trong thời gian chạy, chức năng điểm chính sách của chúng tôi sẽ đưa ra xác suất thực hiện từng hành động sau đó chọn một hành động với mức thăm dò tối đa | ĐÂY LÀ QUYỀN SAU! | Thay vì những gì nó sẽ làm là nó sẽ tạo ra một bản phân phối. Một cái gì đó như phân phối chuẩn hóa. Vì vậy, giống như trong chính sách tham lam của epsilon, hệ thống sẽ thực hiện các hành động theo phân phối. Tôi có đúng không
Shamane Siriwardhana

1
@ShamaneSiriwardhana: Có nhận xét của bạn có vẻ đúng với tôi. Vấn đề không phải là chức năng giá trị hành động hay chức năng chính sách trực tiếp chọn hành động, bạn cần thêm nó như là một phần của thuật toán học tập. Đối với giá trị hành động, bạn phải xem xét tất cả các hành động có thể và tìm phần thưởng tối đa để xác định một hành động tham lam (đôi khi bạn chỉ có thể chọn ngẫu nhiên ). Đối với chức năng chính sách, nó đưa ra một phân phối và bạn luôn chỉ chọn ngẫu nhiên từ phân phối đó. p(non-greedy)=ϵ
Neil Slater

bạn có thể trả lời câu hỏi này không, datascience.stackexchange.com/questions/25259/NH
Shamane Siriwardhana

1
@ShamaneSiriwardhana: Không xin lỗi tôi không thể trả lời câu hỏi đó, tôi không biết rõ về nó. Tôi theo dõi tất cả các câu hỏi trên trang web (nó không quá bận rộn. Có thể 20 câu hỏi mỗi ngày) và tôi tìm kiếm những câu hỏi mà tôi có thể trả lời, vì vậy không cần phải liên kết chúng cho tôi. Tôi hy vọng bạn tìm thấy câu trả lời của bạn. BTW có thể hữu ích nếu bạn ngừng sử dụng ảnh chụp màn hình - thay vào đó hãy liên kết các trang chiếu làm nguồn và đặt văn bản từ trang chiếu vào câu hỏi. Có thể mất một chút thời gian để làm cho các phương trình đúng, nhưng nó làm cho câu hỏi tốt hơn nhiều (và có nhiều khả năng được bình chọn hơn)
Neil Slater

3

Trong các phương thức hàm Giá trị (hoặc phương thức phê bình), chúng ta thường chọn một trong các tùy chọn sau để chọn hành động của mình sau khi chúng ta ước tính hàm giá trị có liên quan:

  • Hàm Boltzman với tham số nhiệt độ (nghịch đảo) kiểm soát mức độ chúng tôi 'nghe' tối đa của hàm giá trị để chọn hành động của chúng tôi.
  • ϵ -greedy: chọn hành động có hàm giá trị tối đa với xác suất (1- ) và ngẫu nhiên với xác suất .ϵϵ

Trong Gradient chính sách (hoặc Phương thức diễn viên), chúng ta có hai cách tiếp cận:

  1. Stochastic Chính sách sinh viên (SPG): Đầu ra là một xác suất trên các hành động. Đối với thuật toán của bạn, đầu ra sẽ là các tham số của phân phối được chỉ định trước (thường là Gausian) như Neil mô tả. Sau đó, bạn lấy mẫu phân phối đó theo cách tương tự như bạn lấy mẫu phân phối Boltzman.
  2. Sinh viên chính sách xác định (DPG): Đầu ra là giá trị của một hành động (ví dụ: tốc độ, chiều cao, v.v.).

Từ những điều trên bạn có thể thấy rõ rằng khi có không gian hành động liên tục, PG đưa ra giải pháp hợp lý hơn nhiều.

Để biết thêm thông tin, tôi đề nghị bạn làm luận án thạc sĩ PG Phương pháp: SGD-DPG của Riashat. Ông đã làm việc chặt chẽ với một trong những đồng tác giả của bài báo DPG của Silver và luận án có cấu trúc rất tốt với mã MATLAB có sẵn. Các phương thức Grad Grad chính sách khó hiểu hơn nhiều do toán học liên quan (và nhiều lần các ký hiệu khác nhau được sử dụng). Tuy nhiên tôi sẽ đề nghị bạn bắt đầu từ Jan Peters và sau đó quay lại các slide của Silver (ý kiến ​​của tôi :)).


Làm thế nào để chúng ta thường lấy mẫu từ các phân phối này? Bạn có thể đưa ra một ví dụ không.
Shamane Siriwardhana

Ồ, nó giống như cách chúng ta chọn một giá trị tốt hơn từ phân phối với một số nhóm lợi nhuận như thế này phải không? google.com / Quảng cáo :
Shamane Siriwardhana

Tôi không chắc có bao nhiêu chi tiết bạn cần về điều đó. Bạn lấy mẫu các phân phối này bằng các phương pháp lấy mẫu thông thường. Đối với Boltzmann (trường hợp không gian hành động rời rạc), bạn sẽ cần tính toán phân phối tích lũy (Trong MATLAB histc). Sau đó, bạn lấy mẫu một số ngẫu nhiên trong khoảng từ 0 đến 1 và bạn thấy vị trí trong biểu đồ này sẽ xuất hiện số ngẫu nhiên này và bạn chọn hành động tương ứng với xác suất gần nhất với số ngẫu nhiên của bạn. Nếu bạn không quen với điều này hãy cho tôi biết.
Constantinos

1
Đối với trường hợp Gaussian, hầu hết các ngôn ngữ lập trình đều có lệnh một dòng để lấy mẫu từ Gaussian. Ví dụ trong MATLAB là mvnrand (mu, sigma). Các tham số Gaussian đến từ đầu ra của thuật toán gradient chính sách của bạn (tất nhiên là phiên bản ngẫu nhiên). Lưu ý rằng với các phương thức PG, bạn nhận được giá trị của hành động, ví dụ: speed = 10km phù hợp với các miền hành động liên tục. Trong các phương pháp trường hợp và giá trị riêng biệt được mô tả ở trên, bạn nhận được và lập chỉ mục cho biết hành động (ví dụ: action1 = 'North', ví dụ đầu ra từ lấy mẫu: 1 tương ứng với hành động North). Hy vọng nó sẽ giúp :)
Constantinos

2
Chính xác! Trong các trường hợp SPG, mạng chính sách cố gắng xấp xỉ phân phối xác suất qua các hành động được đưa ra. Vì vậy, bạn luôn có một bước lấy mẫu sau khi mạng xuất ra xác suất. Từ bước đó bạn có được hành động được trả lại cho môi trường. Trong trường hợp DPG, đầu ra của mạng là hành động thực tế nên không cần lấy mẫu.
Constantinos
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.