Phát lại ưu tiên, Lấy mẫu quan trọng thực sự làm gì?


9

Tôi không thể hiểu mục đích của trọng số lấy mẫu quan trọng (IS) trong Phát lại ưu tiên (trang 5) .

Một quá trình chuyển đổi có nhiều khả năng được lấy mẫu từ kinh nghiệm phát lại "chi phí" lớn hơn của nó. Sự hiểu biết của tôi là 'IS' giúp từ bỏ việc sử dụng phát lại ưu tiên sau khi chúng tôi được đào tạo đủ lâu. Nhưng những gì chúng ta sử dụng thay thế, lấy mẫu thống nhất?

Tôi đoán tôi không thể nhận ra mỗi thành phần trong một hệ số như vậy ảnh hưởng đến kết quả như thế nào . Ai đó có thể giải thích nó bằng lời?

wi=(1N1P(i))β

Sau đó, nó được sử dụng để làm giảm độ dốc mà chúng ta cố gắng lấy từ các hiệu ứng chuyển tiếp.

Ở đâu:

  • wi là "IS"
  • N là kích thước của bộ đệm Trải nghiệm Phát lại
  • P (i) là cơ hội để chọn chuyển đổi , tùy thuộc vào "chi phí của nó là bao nhiêu".i
  • β bắt đầu từ 0 và được kéo ngày càng gần hơn với 1 với mỗi kỷ nguyên mới.

Là sự hiểu biết của tôi về các thông số này cũng đúng?

Chỉnh sửa Một lúc nào đó sau khi câu trả lời được chấp nhận, tôi đã tìm thấy một nguồn bổ sung, một video có thể hữu ích cho người mới bắt đầu - Mô phỏng MC: 3.5 Lấy mẫu quan trọng


Chỉnh sửa Như @avejidah đã nói trong phần bình luận cho câu trả lời của mình " được sử dụng để lấy trung bình các mẫu theo xác suất chúng sẽ được lấy mẫu" . 1/N

Để nhận ra lý do tại sao nó quan trọng, giả sử được sửa thành 1, chúng tôi có 4 mẫu, mỗi mẫu có như sau:βP ( i )P(i)

0.1  0.2   0.3     0.4

Đó là, mục đầu tiên có 10% được chọn, thứ hai là 20%, v.v ... Bây giờ, đảo ngược chúng, chúng ta nhận được:

 10   5    3.333   2.5

Tính trung bình thông qua (trong trường hợp của chúng tôi là ), chúng tôi nhận được:1/N1/4

2.5  1.25  0.8325  0.625     ...which would add up to '5.21'

Như chúng ta có thể thấy chúng gần với số 0 hơn các phiên bản đảo ngược đơn giản ( ). Điều này có nghĩa là độ dốc cho mạng của chúng tôi sẽ không được phóng to hết mức, dẫn đến phương sai ít hơn rất nhiều khi chúng tôi đào tạo mạng của mình.10,5,3.333,2.5

Vì vậy, nếu không có này, chúng tôi đã may mắn chọn được mẫu ít có khả năng nhất ( ), độ dốc sẽ được chia tỷ lệ 10 lần. Nó thậm chí còn tồi tệ hơn với các giá trị nhỏ hơn, giả sử cơ hội , nếu phát lại kinh nghiệm của chúng tôi có nhiều ngàn mục, điều này là khá bình thường.1N0.10.00001

Câu trả lời:


10

DQN thực chất bị mất ổn định. Trong triển khai ban đầu, nhiều kỹ thuật được sử dụng để cải thiện tính ổn định:

  1. một mạng đích được sử dụng với các tham số tụt hậu so với mô hình được đào tạo;
  2. phần thưởng được cắt theo phạm vi [-1, 1];
  3. độ dốc được cắt theo phạm vi [-1, 1] (sử dụng cái gì đó như Mất Huber hoặc cắt độ dốc);
  4. và phù hợp nhất với câu hỏi của bạn, một bộ đệm phát lại lớn được sử dụng để lưu trữ các hiệu ứng chuyển tiếp.

Tiếp tục ở điểm 4, sử dụng các mẫu hoàn toàn ngẫu nhiên từ bộ đệm phát lại lớn sẽ giúp giải mã các mẫu, bởi vì nó có khả năng lấy mẫu chuyển tiếp từ hàng trăm ngàn tập trong quá khứ như để lấy mẫu mới. Nhưng khi lấy mẫu ưu tiên được thêm vào hỗn hợp, việc lấy mẫu hoàn toàn ngẫu nhiên sẽ bị bỏ qua: rõ ràng có sự thiên vị đối với các mẫu có mức độ ưu tiên cao. Để sửa lỗi cho sai lệch này, các trọng số tương ứng với các mẫu có mức độ ưu tiên cao được điều chỉnh rất ít, trong khi đó các trọng số tương ứng với các mẫu có mức độ ưu tiên thấp là không tương đối.

Theo trực giác điều này sẽ có ý nghĩa. Các mẫu có mức độ ưu tiên cao có khả năng được sử dụng trong đào tạo nhiều lần. Việc giảm trọng lượng trên các mẫu đã nhìn thấy này về cơ bản nói với mạng, "đào tạo về các mẫu này, nhưng không có nhiều điểm nhấn; chúng sẽ được gặp lại sớm." Ngược lại, khi nhìn thấy một mẫu có mức độ ưu tiên thấp, các trọng số IS về cơ bản sẽ nói với mạng, "mẫu này có thể sẽ không bao giờ được nhìn thấy nữa, vì vậy hãy cập nhật đầy đủ". Hãy nhớ rằng các mẫu ưu tiên thấp này dù sao cũng có lỗi TD thấp, và vì vậy có lẽ không có nhiều điều phải học từ chúng; tuy nhiên, chúng vẫn có giá trị cho mục đích ổn định.

Trong thực tế, tham số beta được ủ lên tới 1 trong suốt thời gian đào tạo. Thông số alpha có thể được ủ đồng thời, do đó làm cho việc lấy mẫu ưu tiên trở nên tích cực hơn đồng thời điều chỉnh trọng số mạnh hơn. Và trong thực tế, từ bài báo bạn đã liên kết, giữ một alpha cố định (.6) trong khi ủ beta từ .4 đến 1 dường như là điểm hấp dẫn để lấy mẫu dựa trên ưu tiên (trang 14).

Một lưu ý phụ, từ kinh nghiệm cá nhân của tôi, chỉ cần bỏ qua các trọng số IS (nghĩa là không sửa lỗi) dẫn đến một mạng hoạt động tốt lúc đầu, nhưng sau đó, mạng có vẻ quá phù hợp, quên đi những gì nó đã học (hay còn gọi là quên lãng thảm khốc) và xe tăng. Ví dụ, trên Atari Breakout, mức trung bình tăng trong 50 triệu khung hình đầu tiên, sau đó mức trung bình hoàn toàn tăng. Bài báo bạn liên kết thảo luận về điều này một chút, và cung cấp một số biểu đồ.


Cảm ơn bạn! Tôi có một mối quan tâm là tại sao các tác giả cần phải cân bằng khi họ đã có (bên trong trọng số 'IS'). Không phải đã dựa trên kích thước của bộ sưu tập sao? 11N 11P(i)1P(i)
Kari

2
Không có gì. Để trả lời câu hỏi trong nhận xét, không, không được đưa vào . là xác suất chọn mẫu i. Điều đó được tính bằng cách sử dụng Tức là mức độ ưu tiên của mẫu i so với tổng của tất cả các ưu tiên. (Trong đó các ưu tiên thường được tính là ). Không đi sâu vào quá nhiều chi tiết, ở đó để lấy trung bình (từ khóa) các mẫu theo xác suất chúng sẽ được lấy mẫu. 11N P(i)prioi1P(i)P(i) (td_error+ε)α1prioikpriok(td_error+ε)α1N
avejidah

1
@ user3180 Điểm quan trọng của việc lấy mẫu là không lấy một công cụ ước tính không thiên vị về lợi nhuận kỳ vọng - nó thiên về bản chất của nó. Vấn đề là một số mẫu có tác động đến việc đào tạo nhiều hơn các mẫu khác và do đó nên được lấy mẫu thường xuyên hơn. Các trọng số sửa chữa cho sự thiên vị bằng cách giảm điều chỉnh trọng lượng tương đối so với các ưu tiên mẫu. Trọng số này ngày càng trở nên quan trọng khi mạng bắt đầu hội tụ, vì vậy ủ được sử dụng. Bỏ qua trọng số hoặc sửa lỗi hoàn toàn cho sai lệch là điều mà giấy PER bao trùm (xem hình 12).
avejidah

2
@ user3180 Liên quan đến câu hỏi thứ hai của bạn về việc sử dụng tải trọng toàn bộ (β = 1): Tôi nghi ngờ rằng trong trường hợp này bạn sẽ thường vẫn thấy một lợi ích cho PER, nhưng nhìn chung công tác đào tạo sẽ chậm hơn so với phiên bản beta ủ. Hãy nhớ rằng có hai tham số, α và và ngay cả khi bạn sửa thành 1, tham số α chỉ ra số lượng mẫu được ưu tiên. Đó là, các mẫu vẫn được kéo theo một cách thiên vị và thậm chí sai lệch hoàn toàn được sửa, giải pháp mà mạng của bạn hội tụ sẽ khác với trường hợp thống nhất. Một lần nữa, xem hình 12 trong bài báo PER.
avejidah

1
@ user3180 Tôi không chắc rằng tôi có thể cung cấp một câu trả lời toán học tốt; tuy nhiên, lý do thực tế là bằng cách ưu tiên các mạng đào tạo trên một tập dữ liệu khác với trường hợp thống nhất. Với 0 <α <= 1, các mẫu được ưu tiên, do đó chúng không đồng nhất và sai lệch. Chắc chắn, bạn có thể điều chỉnh các trọng số để điều chỉnh cho sai lệch đó, nhưng các mẫu vẫn khác biệt lớn so với trường hợp thống nhất. Đào tạo trên một tập hợp các mẫu khác nhau mang lại một giải pháp khác nhau, bất kể điều chỉnh trọng lượng.
avejidah

1

Tôi có một nghi ngờ. Như giấy PER

Vì lý do ổn định, chúng tôi luôn bình thường hóa trọng lượng bằng 1 / maxi wi để họ chỉ thu nhỏ cập nhật xuống

Vì vậy, yếu tố 1 / N không hiệu quả? ví dụ, xem xét mẫu cuối cùng,

case 1 without N : 0.25/10 = 0.25
case 2 with N=4; 0.625/2.5 = 0.25.

vì thế,

Wi = pow(N,-beta) * pow(Pi, -beta)
Wmax = pow(N,-beta) * pow(Pmin,-beta)

bằng cách bình thường hóa

Wi/Wmax will cancel out the pow(N, -beta).

Xin hãy giúp tôi nếu sự hiểu biết của tôi là sai.


Bạn vẫn cần nó. Ví dụ: xem xét có 100 mục nhập và giá trị tối đa của một số mục nhập, giả sử, 5. Bây giờ hãy tưởng tượng chuyển sang 1 nghìn tỷ mục.
Kari

Xin lỗi, tôi không hiểu bạn. Tôi đã cập nhật với công thức. Vui lòng kiểm tra và cho tôi biết phản ứng của bạn.
Karthikeyan Nagarajan
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.