나는 놀랍게도 Atari Pong을 거진 2개월이 넘도록 잡고 있었다.
그리고 오늘 승리했다.
89 Episode 만에 14대 21로 승리하는 Pong을 보고야 말았다..
2013년에 다 풀린 그딴 Pong을 왜 2개월 동안이나 붙잡고 있었을지 이해가 되지 않을 수 있다.
2013년에 pixel 입력으로 pong을 풀었던 바로 그 알고리즘 DQN은
Bellman equation을 기반으로 한 Q함수를 DNN으로 근사하여 푼다.
이 Bellman equation은 강화 학습에서 하나의 정수가 되었다.
그 뒤로 쏟아져나오는 '정파' 강화학습 논문들은 이 'Bellman equation' 정통을 따른다.
(DQN이 아니라 사실 딥강화학습 이전부터 내려오던 강화학습 자체의 정통이다.)
하지만 존버의 이유는 '사파'였기 때문이다.
문제의 2개월을 잡았던 pong의 알고리즘에서는 Bellman equation을 따르지 않는다.
Vanilla network만을 이용해서 아무런 사전 지식 없이
다중 실행되지 않는 오직 하나의 에이전트가
어떠한 augmentation이나 representation learning 기법을 사용하지 않고
단 하나의 random action도 없이 scratch부터 시작하여
단 89판 만에 rule-based 인공지능 상대를 조진 것이다.
다 포기해 가는 심정으로 부여잡았던 pong..
존버는 승리한다.
+ 알고리즘을 약간 수정했더니 약 60회의 에피소드에서 첫 승을 거두었다.
에피소드 60: 약 20,000 프레임
일반적인 정파 강화학습 알고리즘으로 Pong의 첫 승(Score >= 0)을 거두는 데 필요한 프레임 수는 위 그래프를 보면 알 수 있다.
단위가 10,000,000 프레임이므로 위 그래프 상에서 SOTA인 PPO도 약 0.12*1e7 = 1,200,000 프레임이다.
백이십만 프레임과 이만 프레임의 감이 오는가?
성능이 약 6,000% 개선되었다.
+
70,000 프레임 대에서 perfect score를 내기 시작함 (심각한 얍삽이를 꾸준히 이용한다.)
연구의 본질은 사치와 향락이다. (2) | 2021.03.27 |
---|---|
미니 배치에 대한 고찰 (2) | 2021.03.12 |
Breakout 조지기 (0) | 2021.01.24 |
유전 알고리즘 - 컨셉 (2) | 2020.02.14 |
유전 알고리즘 (2) | 2020.02.13 |
댓글 영역