Làm thế nào chính xác để tính toán Hàm mất Q-Learning sâu?


10

Tôi nghi ngờ về cách chính xác chức năng mất của Mạng Q-Learning sâu được đào tạo. Tôi đang sử dụng một mạng feedforward 2 lớp với lớp đầu ra tuyến tính và các lớp ẩn relu.

  1. Giả sử tôi có 4 hành động có thể. Do đó, đầu ra của mạng của tôi cho tình trạng hiện thời Q ( s t ) R 4 . Để làm cho nó cụ thể hơn, giả sử Q ( s t ) = [ 1.3 , 0.4 , 4.3 , 1.5 ]stQ(st)R4Q(st)=[1.3,0.4,4.3,1.5]
  2. Bây giờ tôi thực hiện hành động tương ứng với giá trị 4.3 tức là hành động thứ 3 và đạt đến trạng thái mới s t + 1 .at=24.3st+1
  3. Tiếp theo, tôi tính toán chuyển tiếp với trạng thái và giả sử tôi nhận được các giá trị sau ở lớp đầu ra Q ( s t + 1 ) = [ 9.1 , 2.4 , 0.1 , 0.3 ] . Cũng giả sử phần thưởng r t = 2 , và γ = 1,0 .st+1Q(st+1)=[9.1,2.4,0.1,0.3]rt=2γ=1.0
  4. Là sự mất mát được đưa ra bởi:

    L=(11.14.3)2

    HOẶC LÀ

    L=14i=03([11.1,11.1,11.1,11.1][1.3,0.4,4.3,1.5])2

    HOẶC LÀ

    L=14i=03([11.1,4.4,2.1,2.3][1.3,0.4,4.3,1.5])2

Cảm ơn bạn, xin lỗi tôi đã phải viết nó ra một cách rất cơ bản ... Tôi bối rối bởi tất cả các ký hiệu. (Tôi nghĩ câu trả lời đúng là câu thứ hai ...)


1
Câu hỏi này với ví dụ rõ ràng khiến tôi hiểu sâu về việc học q hơn bất kỳ bài báo trung bình nào khác mà tôi đã đọc trong tuần qua.
dhruvm

Câu trả lời:


5

Sau khi xem xét các phương trình một vài lần nữa. Tôi nghĩ rằng sự mất mát chính xác là như sau:

L=(11.14.3)2

state,action

Q(s,a)=r+γmaxaQ(s,a)

Phương trình này có nghĩa là cập nhật chỉ xảy ra đối với một cụ thể cặp và đối với mạng q thần kinh có nghĩa là tổn thất chỉ được tính cho một đơn vị đầu ra cụ thể tương ứng với một cụ thể .state,actionaction

Trong ví dụ được cung cấp và là .Q(s,a)=4.3targetr+γmaxaQ(s,a)=11.1

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.