계산 시간을 단축하기 위해 수행 된 것으로 생각합니다. 그렇지 않으면 각 작업의 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 구현을 볼 수 있습니다.