Tại sao Q-Learning sử dụng epsilon tham lam trong quá trình thử nghiệm?


18

Trong bài viết của DeepMind về Deep Q-Learning cho các trò chơi video Atari ( ở đây ), họ sử dụng một phương pháp tham lam epsilon để khám phá trong quá trình đào tạo. Điều này có nghĩa là khi một hành động được chọn trong đào tạo, nó sẽ được chọn là hành động có giá trị q cao nhất hoặc một hành động ngẫu nhiên. Lựa chọn giữa hai điều này là ngẫu nhiên và dựa trên giá trị của epsilon và epsilon bị hủy trong quá trình đào tạo, ban đầu, rất nhiều hành động ngẫu nhiên được thực hiện (thăm dò), nhưng khi tiến hành đào tạo, rất nhiều hành động với giá trị q tối đa được thực hiện (khai thác).

Sau đó, trong quá trình thử nghiệm, họ cũng sử dụng phương pháp tham lam epsilon này, nhưng với epsilon ở giá trị rất thấp, do đó có sự thiên vị mạnh mẽ đối với việc khai thác trong thăm dò, ưu tiên chọn hành động có giá trị q cao nhất so với hành động ngẫu nhiên. Tuy nhiên, hành động ngẫu nhiên đôi khi vẫn được chọn (5% thời gian).

Câu hỏi của tôi là: Tại sao mọi sự thăm dò cần thiết ở thời điểm này, cho rằng việc đào tạo đã được thực hiện? Nếu hệ thống đã học được chính sách tối ưu, thì tại sao hành động không thể luôn được chọn là chính sách có giá trị q cao nhất? Không nên thăm dò chỉ được thực hiện trong đào tạo, và sau đó một khi chính sách tối ưu được học, tác nhân có thể liên tục chọn hành động tối ưu?

Cảm ơn!


Nó bằng cách nào đó có thể được kết nối với tính chất quyết định của môi trường ALE. Nếu bạn không thực hiện các hành động ngẫu nhiên trong quá trình đánh giá, bạn sẽ luôn thực hiện cùng một chuỗi hành động (vì chuỗi trạng thái là như nhau). Họ cũng bắt đầu ngẫu nhiên - đợi tối đa 30 khung hình không làm gì vì lý do này.
yobibyte

Câu trả lời:


10

Trong bài báo tự nhiên họ đề cập:

Các tác nhân được đào tạo được đánh giá bằng cách chơi mỗi trò chơi 30 lần trong tối đa 5 phút mỗi lần với các điều kiện ngẫu nhiên ban đầu khác nhau ('noop'; xem Bảng dữ liệu mở rộng 1) và chính sách tham lam với epsilon 0,05. Thủ tục này được thông qua để giảm thiểu khả năng thừa trong quá trình đánh giá.

Tôi nghĩ ý nghĩa của chúng là "vô hiệu hóa các tác động tiêu cực của sự phù hợp trên / dưới". Sử dụng epsilon bằng 0 là một lựa chọn khai thác đầy đủ (như bạn chỉ ra) và đưa ra tuyên bố mạnh mẽ.

Ví dụ, hãy xem xét một trò chơi mê cung trong đó các ước tính Q hiện tại của tác nhân được hội tụ theo chính sách tối ưu ngoại trừ một lưới, trong đó nó tham lam chọn cách di chuyển đến một ranh giới dẫn đến nó vẫn nằm trong cùng một lưới. Nếu tác nhân đạt đến bất kỳ trạng thái nào như vậy và nó đang chọn hành động Max Q, nó sẽ bị kẹt ở đó mãi mãi. Tuy nhiên, việc giữ một yếu tố khám phá / ngẫu nhiên mơ hồ trong chính sách của mình (như một lượng nhỏ epsilon) cho phép nó thoát khỏi các trạng thái như vậy.

Phải nói rằng, từ các triển khai mã tôi đã xem xét (và tự mã hóa) trong hiệu suất thực hành thường được đo bằng chính sách tham lam vì những lý do chính xác mà bạn liệt kê trong câu hỏi của mình.


3

Câu trả lời là có trong bài báo. Họ đã sử dụng để tránh bị quá nhiều. Mô hình này được sử dụng làm đường cơ sở. Và yobibyte được đề cập trong bình luận họ bắt đầu ngẫu nhiên vì lý do tương tự. Và sau đó thuật toán được đánh giá hiệu năng đối với một chuyên gia về con người. Thuật toán không có mô hình của đối thủ của nó, vì vậy epsilon nhỏ. Nếu bạn có mô hình của đối thủ, vấn đề của bạn sẽ mang tính quyết định thay vì ngẫu nhiên. tôi mong bạn trả lời câu hỏi nàyε = =0,05


2

Tôi nghĩ mục đích của thử nghiệm là để hiểu được cách hệ thống phản ứng trong các tình huống thực tế.

Tùy chọn 1:
Họ thực sự có thể gây ra một số tiếng ồn trong trò chơi trong thế giới thực - thực hiện các bước di chuyển thực sự ngẫu nhiên. Điều này có thể làm cho chuyển đổi -policy phản ánh hoàn hảo trò chơi thực tế. ε

Lựa chọn 2:
Nếu họ lo lắng về việc dễ gãy, chơi với một người chơi ít "nguyên sơ" hơn, thì họ có thể "tiết lộ" điểm số đào tạo của mình để không đánh giá quá cao.

Lựa chọn 3:
Đây là khói ma thuật của họ. Sẽ có những phần mà họ không thể và không muốn chia sẻ. Họ có thể xuất bản điều này để che khuất một cái gì đó độc quyền hoặc đặc biệt có liên quan cho doanh nghiệp của họ mà họ không muốn chia sẻ.

Tùy chọn 4:
Họ có thể sử dụng các thử nghiệm lặp lại và các giá trị khác nhau của epsilon để kiểm tra lượng "chất béo" còn lại trong hệ thống. Nếu họ có ngẫu nhiên yếu, hoặc rất nhiều mẫu mà ngay cả một ngẫu nhiên hợp lý cũng bắt đầu lặp lại, thì phương pháp có thể "học" một hành vi không đúng sự thật đối với sai lệch giả ngẫu nhiên. Điều này có thể cho phép kiểm tra điều đó trong giai đoạn thử nghiệm.

Tôi chắc chắn có một nửa tá lý do có ý nghĩa khác, nhưng đó là những gì tôi có thể nghĩ ra.

EDIT: lưu ý đến bản thân, tôi thực sự thích suy nghĩ "dễ vỡ". Tôi nghĩ rằng nó có thể là một điểm yếu tồn tại của AI trung gian thế hệ đầu tiên.


1

Lý do sử dụng tham lam trong quá trình thử nghiệm là, không giống như trong học máy có giám sát (ví dụ như phân loại hình ảnh), trong học tăng cường không có bộ dữ liệu không nhìn thấy, có sẵn cho giai đoạn thử nghiệm. Điều này có nghĩa là thuật toán được kiểm tra trên cùng một thiết lập mà nó đã được đào tạo. Bây giờ, đề cập đến giấy (phần Phương pháp, thủ tục Đánh giá):ε

Các đại lý được đào tạo được đánh giá bằng cách chơi mỗi trò chơi 30 lần cho đến 5 phút mỗi lần với điều kiện ngẫu nhiên ban đầu khác nhau ( 'op không-'; xem mở rộng dữ liệu Bảng 1) và một chính sách -greedy với . Thủ tục này được thông qua để giảm thiểu khả năng thừa trong quá trình đánh giá.εε= =0,05

Đặc biệt là vì đầu vào được xử lý trước chứa một lịch sử của các trạng thái gặp phải trước đây, mối quan tâm là, thay vì khái quát hóa lối chơi cơ bản, tác nhân chỉ ghi nhớ các quỹ đạo tối ưu cho trò chơi cụ thể đó và phát lại chúng trong giai đoạn thử nghiệm; đây là những gì có nghĩa là "khả năng quá mức trong quá trình đánh giá" . Đối với môi trường xác định, điều này là hiển nhiên nhưng cũng có thể xảy ra đối với việc ghi nhớ chuyển trạng thái ngẫu nhiên (tức là quá mức). Sử dụng ngẫu nhiên trong giai đoạn thử nghiệm, dưới dạng không bắt đầu có độ dài ngẫu nhiên cũng như một phần của các hành động ngẫu nhiên trong trò chơi, buộc thuật toán phải xử lý các trạng thái không lường trước và do đó đòi hỏi một mức độ khái quát.

εε= =0trong quá trình thử nghiệm có khả năng cải thiện hiệu suất nhưng vấn đề ở đây là thể hiện khả năng khái quát hóa. Hơn nữa, trong hầu hết các trò chơi Atari, tiểu bang cũng phát triển theo kiểu không hoạt động và do đó, đặc vụ sẽ tự nhiên "không bị giật" nếu điều đó từng xảy ra. Xem xét ví dụ mê cung được đề cập ở nơi khác, nơi môi trường không phát triển trên các no-op, tác nhân sẽ nhanh chóng biết rằng chạy vào tường không phải là một ý tưởng tốt nếu ví dụ như phần thưởng được định hình đúng (ví dụ -1 cho mỗi bước); đặc biệt là khi sử dụng các giá trị ban đầu lạc quan, việc thăm dò cần thiết diễn ra một cách tự nhiên. Trong trường hợp bạn vẫn thấy thuật toán của mình bị kẹt trong một số tình huống thì điều này có nghĩa là bạn cần tăng thời gian đào tạo (tức là chạy nhiều tập hơn), thay vì đưa ra một số ngẫu nhiên phụ trợ liên quan đến các hành động.

Tuy nhiên, nếu bạn đang chạy trong một môi trường có sự phát triển của hệ thống (đó là sự chuyển đổi trạng thái cơ bản hoặc phần thưởng thay đổi theo thời gian) thì bạn phải giữ một mức độ thăm dò và cập nhật chính sách của mình để theo kịp các thay đổi.

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.