‘파이썬과 케라스로 배우는 강화학습’ 세미나 7

7장을 읽고 A3C에 대해서 학습합니다. 우리는 이전 세미나들을 통해 이미 CNN에 대한 기본적인 내용을 알고 있기 때문에 이번 장을 통해 추가적으로 학습해야 할 내용은 아주 적습니다. 이번 장의 많은 부분이 브레이크아웃과 관련된 코드이고, 어려움도 대부분 이것을 구현하는 것에 있습니다. 이 책에 나오는 구현들은 별도로 다루기로 했으니, 구현 내용 때문에 좌절하지 말고 가벼운 마음으로 읽고 넘어가면 됩니다.

 

DQN 이론

p300. DQN은 리플레이 메모리를 사용하기 때문에 리플레이 메모리 사이즈가 커지면 학습 속도가 느려진다. 또한 리플레이 메모리를 통해 학습한다는 것은 지금 정책이 아닌 이전 정책을 통해 모은 샘플로 학습한다는 것이다. 따라서 리플레이 메모리를 사용할 때는 오프폴리시 강화학습을 사용해야 한다는 단점이 있다. DQN은 그 중에서 큐러닝을 사용한 것이다.

p301. A3C는 DQN과 같이 메모리에 많은 샘플을 쌓아서 샘플 사이의 연관성을 깨는 것이 아니라 아예 에이전트를 여러 개 사용하는 것이다. 액터러너가 일정 타임스텝 동안 모은 샘플을 통해 글로벌신경망을 업데이트하고 자신을 글로벌신경망으로 업데이트한다. 여러 개의 액터러너가 이 과정을 비동기적으로 진행한다.

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*