- 2024년 7월 6일 오전 4:25
- 조회수: 31790
INFORMATION
- 2024년 7월 5일
- 오후 12시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
Arcade learning environment에서 Atari 게임은 심층 강화학습 에이전트의 성능을 측정하는 가장 대표적인 벤치마크이다. 이 벤치마크에서 사람보다 우수한 플레이를 보이는 에이전트를 생성하기 위해 오랫동안 다양한 연구들이 수행되었다. 그 결과 2020년에 International Conference on Machine Learning 학회에서 Agent57이라는 방법론이 발표가 되었고 Atari 게임 벤치마크가 제공하는 총 57개의 게임 전체에서 강화학습 에이전트가 사람보다 더 우수한 성능을 달성하는 결과를 보여주었다. 이번 세미나에서는 Agent57이 만들어지기까지 밑바탕이 되었던 연구들을 시간 순서대로 하나씩 소개하고자 한다.
[1] Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., ... & Hassabis, D. (2015). Human-level control through deep reinforcement learning. nature, 518(7540), 529-533.
[2] Schaul, T., Quan, J., Antonoglou, I., & Silver, D. (2015). Prioritized experience replay. arXiv preprint arXiv:1511.05952.
[3] Nair, A., Srinivasan, P., Blackwell, S., Alcicek, C., Fearon, R., De Maria, A., ... & Silver, D. (2015). Massively parallel methods for deep reinforcement learning. arXiv preprint arXiv:1507.04296.
[4] Horgan, D., Quan, J., Budden, D., Barth-Maron, G., Hessel, M., van Hasselt, H., & Silver, D. (2018, February). Distributed Prioritized Experience Replay. In International Conference on Learning Representations.
[5] Kapturowski, S., Ostrovski, G., Quan, J., Munos, R., & Dabney, W. (2018, September). Recurrent experience replay in distributed reinforcement learning. In International conference on learning representations.
[6] Badia, A. P., Sprechmann, P., Vitvitskyi, A., Guo, D., Piot, B., Kapturowski, S., ... & Blundell, C. Never Give Up: Learning Directed Exploration Strategies. In International Conference on Learning Representations.
[7] Badia, A. P., Piot, B., Kapturowski, S., Sprechmann, P., Vitvitskyi, A., Guo, Z. D., & Blundell, C. (2020, November). Agent57: Outperforming the atari human benchmark. In International conference on machine learning (pp. 507-517). PMLR.
청취자 후기

이번 세미나는 강화 학습에서 분산 학습을 통한 학습 속도 개선과 이러한 환경에서 탐험 방법론을 추가하여 모든 게임에서도(쉬운 난이도+어려운 난이도) 좋은 성능을 달성하기까지의 연구들에 대해 소개해주었다.
Deep Reinforcement Learning의 근간이 되는 DQN은 최적의 정책을 학습하기 위해서는 많은 시간이 소요된다. 따라서, 다수의 연산 자원을 활용한 병렬 처리 방식에 대해 연구가 진행되기 시작했다. Gorila (2015, ICML)는 별도의 actor와 learner를 두어 actor는 환경에서 경험을 수집하고 learner는 수집한 경험으로 손실 함수를 계산하도록 한다. 각 bundled mode를 통해 각 연산 자원마다 고유의 actor, learner, replay memory를 가지고 이를 통해 학습 속도 측면에서 많은 개선을 이루어냈다. GorilaDQN은 보다 빠른 속도를 가지면서 기존 DQN과 거의 동일한 성능을 도출했다.
Gorila는 분산 학습을 통해 기울기 연산을 병렬로 진행하는 것에 초점을 맞췄다면, Ape-X(2018, ICLR)는 경험을 수집하고 저장하는 부분을 개선하는 것에 초점을 맞췄다. Ape-X는 parameter server, bundled mode를 사용하지 않고, local / global buffer를 사용한다. Local buffer에 actor가 수집한 정보를 저장한 후, 거기에 priority 정보를 추가하여 global buffer에 이전 시킨다. 또한, actor마다 탐험 정도를 다양하게 부여하여 보다 다양한 경험을 수집하고자 하였다.
R2D2(2019, ICLR)은 Ape-X에 LSTM 모듈을 추가하여 과거의 데이터까지 활용하고자 하였다. 어떻게 보면 기존 방법론의 Q-Network에 LSTM만 추가했다고도 볼 수 있지만, 이를 적절히 끼워 넣기 위해서는 많은 고민이 필요했고, burn-in period 등을 통해 개선할 수 있었다. R2D2는 큰 성능 향상을 이루어냈지만, 어려운 탐험 게임에서는 인간 점수에 비해 매우 저조한 성능을 보였다.
이를 해결하기 위해, NGU(2020, ICLR)이 등장했다.(개인 적으로 방법론 이름이 인상 깊었다.-Never give up) NGU는 R2D2 방법론에 탐험을 강화하는 모듈을 추가하여 어려운 탐험 게임에서의 성능을 높이고자 하였다. Inverse dynamics modeling을 통해 에이전트에 영향을 미치지 않는 정보는 무시하고 특징을 추출할 수 있었다. 이는, 현재와 미래 state를 통해 사이의 action을 예측하는 방식을 사용함으로써, 에이전트에 영향을 주는 정보만 추출할 수 있다고 이해했다. 다음으로는, intrinsic reward를 통해 에이전트가 탐험을 보다 잘 하게끔 하였다. NGU는 결국 어려운 탐험 게임에서 성능 향상을 이루어냈지만, 오히려 그렇지 않은 게임들에서는 성능이 저하되어 다시 한 번 어려움을 안겨주었다.
이러한 문제까지 해결한 방법론이 Agent57(2020, ICML)이다. NGU가 낮은 성능을 달성하는 원인으로 각 actor마다 부여하는 서로 다른 discount factor와 exploration rate 방식을 두었다. 우선적으로, extrinsic / intrinsic reward 각각을 위한 Q-Network를 별도로 두었고 sliding window MAB 방식을 통해 각 에피소드마다 최적의 discount factor와 exploration rate 조합을 선택하였다.
이번 세미나를 통해, Agent57이 나오기까지의 전체적인 흐름과 연구 배경들을 알 수 있었다. 흐름적으로 너무나 완벽했던 세미나였던 것 같고 각각의 테크닉들이 조금씩 어렵긴 했지만 자세히 설명해주어 많은 도움이 되었다. Exploration 쪽은 재훈이형이 본인 연구를 강화 학습 세미나 때 소개해주기도 했고, 프로젝트를 이와 관련되어 진행하고 있기 때문에, 이해하기 용이했다. 좋은 세미나를 준비해주신 재훈이형께 고맙다는 말을 전하며, 본 세미나 후기를 마친다.

금일 세미나는 분산 학습을 적용한 강화학습 테크닉들, DPER, APE-X, R2D2, Agent57에 대해 알아보았다. 이전에는 분산학습이라는 테크닉이 단순히 연산 자원을 최대한 활용하여 학습 속도를 증가시키는 정도의 테크닉이라고 생각하였으나, 이번 세미나를 통해 알고리즘적인 개선이 아니라 연산 자원의 활용 방안을 통해서도 성능이 비약적으로 상승할 수 있음을 알게 되었다.
Gorilla DQN의 경우는 진짜 DQN을 여러개의 쓰레드에다가 단순히 뿌리는 느낌이라 수렴 속도는 빠르지만 최종적으로 달성하는 성능 측면에서 큰 개선을 보이지는 못하였다. 이에 따라 DQN에서 Human Score를 능가한 게임만큼의 비약적인 변화는 볼 수 없었다. 이후 나왔던 APE-X의 경우 간간히 이름을 들어보았으나 금일 세미나를 통해 좀 더 깊이 이해할 수 잇었다. APE-X는 Single Learner와 Multi-Actor의 구조를 가지고 있는데, 이러한 측면에서 A3C와 비슷한 것 같다. 다만 DQN을 베이스로 사용하기 때문에 Off-Policy Value-based Learning이라는 점에서 다음과 같은 차이가 존재한다. 우선 개별 Actor는 Local Memory를 가지고 있으며, 개별 Actor에서 산출한 TD Error를 함께 Global Memory로 보내어 사용하는 Distributed Prioritized Experience Replay (DPER)을 사용한다. 그리고 기존 DQN이 epsilon-greedy exploration을 사용하였는데, APE-X는 개별 Actor의 epsilon 값을 다양하게 설정함으로써 더욱 다양한 특성을 Replay Data를 축적하게 하였다. 이후 나온 R2D2는 이에 더 나아가 DRQN과 동일하게 LSTM을 사용하여 이전 상태에 대한 정보를 반영할 수 있도록 하였다. 좀 더 디테일하게는 LSTM Cell의 init hidden state가 가지는 문제 때문에 Burn-in Period 테크닉을 사용한다고 하는데, 별 거 아닌거 같지만 Burn-in 을 사용함으로써 hidden state를 복구하는 것에 대한 성능 차이는 엄청났다. Gorila DQN과 달리 R2D2는 분산 학습을 통한 수렴 속도 개선을 벗어나서 57개중 5개의 게임을 제외한 52개 게임에서 Human Level Score을 뛰어넘는 비약적인 발전을 보여주었다는 것이 인상 깊다.
하지만 이러한 R2D2 또한 여러 단계의 스테이지를 거쳐야 보상을 받을 수 있어서 Exploration이 크리티컬하게 작용하는 Montezuma Revenge나 Pitfall!에서는 발전이 없었다. 이후 나온 NGU는 Exploration의 대표적인 방법인 RND와 이를 활용한 Intrinsic Reward를 활용하여 상기 2개의 게임에서 성능 발전을 이루었다. 하지만 Exploration의 Trade-Off로써 나머지 게임에서 R2D2보다 저조한 성능을 보였다. 이후 최종적으로 나온 Agent 57은 NGU의 discount factor와 exploration rate을 adaptive하게 조절하고, Intrinsic Reward와 Extrinsic Reward의 Scale차이로 인한 문제를 해결하기 위해 Separate Q Network를 도입함으로써 모든 게임에서 Human Level Score를 뛰어넘게 되었다.
어쩌다보니 비평적인 후기보다는 오늘 나왔던 내용들에 대한 정리가 되었다. 아무래도 기업이 아닌 학교에서 강화학습 연구를 하며 대용량의 서버 자원을 활용하여 분산 학습을 하는 연구를 하기에는 어렵다보니 이쪽에 대한 지식이 거의 없다시피 하였었다. 하지만 실제 로봇 연구나 산업 현장에서는 APE-X나 IMPALA 등 대용량의 자원을 활용하는 연구가 많다보니 무시하고 넘어갈 수는 없는 노릇이다. 재훈이형 세미나 덕분에 이러한 알고리즘들에 대해 개략적으로 알게 되어 다행이라고 생각하였다.