DQN에 두 개의 다른 네트워크가 필요한 이유는 무엇입니까?


12

I 관통가는 DQN의 구현 및 I은 라인 124, 125 Q 개의 상이한 네트워크가 초기화 된 것을 알 수있다. 내 이해로, 하나의 네트워크가 적절한 조치를 예측하고 두 번째 네트워크는 Bellman 오류를 찾기 위해 목표 Q 값을 예측한다고 생각합니다.

Q 값을 단순히 예측하여 두 경우 모두에 사용하는 단일 네트워크를 만들 수없는 이유는 무엇입니까? 계산 시간을 단축하기 위해 수행 된 것으로 생각합니다. 그렇지 않으면 각 작업의 q 값을 찾아서 가장 좋은 것을 선택해야합니다. 이것이 유일한 이유입니까? 뭔가 빠졌습니까?

답변:


9

계산 시간을 단축하기 위해 수행 된 것으로 생각합니다. 그렇지 않으면 각 작업의 q 값을 찾아서 가장 좋은 것을 선택해야합니다.

약간의 증가 (두 개의 네트워크에서 사용하는 추가 메모리로 인해) 외에는 계산 시간에 실제 영향을 미치지 않습니다. 내가 생각한 대상 네트워크의 결과를 캐시 있지만 대부분의 환경에서 가치가 없을 수도 있으며 그렇게하는 구현을 보지 못했습니다.

뭔가 빠졌습니까?

함수 근사 (즉, 신경망)를 사용할 때 Q- 러닝 알고리즘의 안정성과 관련이 있습니다. 별도의 대상 네트워크를 사용하고, 최근에 학습 된 매개 변수의 사본으로 많은 단계를 업데이트하여, 부트 스트래핑으로부터의 시스템 편차가 수치 적으로 우회하여 예상 Q 값이 분기되는 것을 방지 할 수 있습니다.

데이터 포인트 중 하나가 (at S, A, R, S') 현재 과대 평가가 과도하게 Q(S', A')악화 된다고 상상해보십시오 . 어쩌면 S', A'아직 방문, 또는의 가치되지 않은 R지금까지 본 단지 우연히, 평균보다 높다. (S,A)경험 재생에서 샘플이 여러 번 자른 경우에 대한 업데이트가 Q(S,A)에 기반 하기 때문에 매번 다시 악화됩니다 R + max_a Q(S',a). 목표 네트워크를 고정하면 과대 평가로 인한 피해가 제한되어 학습 네트워크가 초기 편견을 더 많이 수렴하고 잃을 시간을줍니다.

이와 관련하여 별도의 대상 네트워크를 사용하면 재생 경험이 매우 유사합니다. 그렇지 않으면 수렴에 문제가있는 알고리즘을 안정화시킵니다.

별도의 문제를 해결하기 위해 "이중 학습"을 갖춘 DQN을 가질 수도 있습니다 : 최대화 편향. 이 경우 4 개의 신경망으로 DQN 구현을 볼 수 있습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.