RL

시작하게된 계기

알파고vs이세돌 경기를 실시간으로 본 이후에 관심은 있었지만, 직접적으로 공부하게 된 계기는 kaggle의 Hungry Geese컨테스트를 우연히 참가한 이후부터다. AlphaGoose라는 1인팀으로 참가해서 대회초반에는 2위까지도 올라갔었지만, 중반부터는 RL-based agent들의 대거 활약으로 나의 상태공간탐색 Agent는 계속 밑으로 밀렸고 최종 875팀중 395등으로 마무리했다. RL에 대한 지식이 전무한 상태라 Single Agent RL인 Snake Game를 짜는데는 성공했지만 Multi-agent로 확장하려니 코딩할것도 훨씬 많고 어려워서 RL은 제출시도도 못해보고 대회가 마무리되었다. 그래도 그 대회에 참가해서 RL에 대한 관심도 많이 생겼고, 상위권 솔루션을 읽어보면서 많은것을 배웠다.

추천 도서

  • 수학으로 풀어보는 강화학습 원리와 알고리즘 (박성수 저) [강력 추천]
  • 파이썬과 케라스로 배우는 강화학습 (이웅원, 양혁렬, 김건우, 이영무, 이의령 저) [추천]
  • 바닥부터 배우는 강화학습 (노승은 저) [추천]
  • 강화학습 첫걸음 (아서 줄리아니 저)
  • Deep Reinforcement Learning in Action (Alexander Zai, Brandon Brown 저)

온라인 자료

DeepMind의 논문들 대부분이 arxiv에 올라와있으니 꼭 읽어보자. 논문인데도 정말 친절하고 명확하게 설명해준다. 심지어 짧다!

TODO

A2C에 PPO와 TD(n) 적용

Hungry Geese환경에 위 알고리즘 적용해서 Human-level정도까지 학습시켜보기. IMPALA는 강화학습 알고리즘이라기보단 병렬화를위한 아키텍쳐같고, V-Trace도 PPO정도로 커버될거같아서 스킵.