OpenAI에서 발표한 Exploration에 대한 논문. 18년도까지 여러 강화학습 알고리즘이 있었지만 Reward가 Sparse한 환경인 몬테주마의 복수에서 인간의 성능
을 최초로 넘은 방법이다.
몬테주마의 복수 게임의 모습
intrinsic
and extrinsic
reward를 적절하게 결합하여 사용한 flexibility에 대한 method를 소개한다간단하고 고차원의 관측에서도 잘 동작하는 Exploration bonus를 소개한다. 이 알고리즘은 policy optimization과 함께 적용할 수도 있고, 계산 효율적이기도 하다.
유의미한 이벤트가 발생할 때 내부 보상이 높은 것을 볼수 있다. (2, 8, 10, 21) 은 life를 잃을 때, (3, 5, 6, 11, 12, 13, 14, 15) 는 적을 아슬아슬하게 피할 때, (7, 9, 18) 은 어려운 장애물을 피할때, 그리고 (19, 20, 21) 은 아이템을 습득할 때
이 논문에서 제시된 Exploration bonus는 신경망에서 학습된 것들과 유사한 예들에 대해서 prediction error
가 현저하게 낮은 것에서 아이디어를 얻었다.
새로운 경험들의 참신함을 측정하기 위해, 에이전트의 과거 경험들에 대해 학습한 네트워크의 prediction error
를 사용하였다.
이전에 많은 저자들이 지적했듯이 prediction error
를 최대화 하는 에이전트의 경우는 prediction problem의 답이 입력의 확률적 함수인 transition들에 대해 끌리게 된다.
예를들어 Noise TV 와 같은 예가 있다. 현재 obsevation에서 다음 observation을 예측하는 prediction problem이 있고, 이때 에이전트가 prediction error
를 극대화 하도록 행동한다면, 확률적 전환(stochastic transitions)을 찾도록 하는 경향이 있다.
그 예로 무작위로 변하는 아래와 같은 화면인 Noise TV와 무작위로 동전을 던지는 이벤트와 같은 것들이 있다.
논문의 저자들은 적절하지 않은 stochasticity에 대한 대안을 제시한다. 답이 그것의 입력에 deterministic function인 prediction problem을 exploration bonus으로 정의하면서 대안으로 제안한다.
대안으로는, 현재 Observation에 대해서 output을 fixed randomly initialized network
를 사용해서 예측한다는 것이다.
Bellemare의 2016년 논문에서 보상이 드물고 탐색이 어려운 게임들을 확인했다. 그 게임들로는 Freeway
, Gravitar
, Montezuma's Revenge
, Pitfall
, Private Eye
, Solaris
, Venture
들이 있고, 어떤 경우에서는 단 하나의 긍정보상도 찾지 못했다.
몬테주마의 복수는 강화학습에서 어려운 게임으로 여겨진다. 게임에서 치명적인 장애물을 피하기 위해 다양한 게임스킬들에 대한 조합들이 필요하고, 최적의 플레이를 하면서도 보상이 수백 스텝 이상 떨어져 있기 때문에, 보상을 찾기에 어려운 과제로 여겨진다.
몇 논문들에서 꽤 좋은 성과를 거두었지만, expert demonstrations와 emulator state에 대한 접근 없이는 가장 좋은 성과가 전체 방의 절반만 찾아내었다.
extrinsic reward
를 무시하여도 agent가 RND exploration bonus를 극대화 하도록 한다면 일관되게 몬테주마의 복수 게임에서 절반 이상의 방을 찾았다. extrinsic reward
를 결합하기 위해서 수정된 PPO(Poximal Policy Optimization)을 제안한다. 수정된 PPO는 2개의 보상을 위해 2개의 value head
를 사용한다. episodic
과non-episodic
반환값(return)을 결합한다. first level에서 종종 몬테주마 게임에서 24개의 방 중에서 22개를 찾았고, 이따금씩 클리어 하기도 했다. 그리고 같은 방법으로 Venture와 Gravitar에서 SOTA를 달성하였다.
Venture
Gravitar
explorration bonus는 보상 가 드문 환경(environment)에서도 agent가 exploration 할수 있도록 장려하는 방법.
agent가 novel state들을 탐색하도록 장려하는 방법은, 자주 방문하는 것들보다 novel state들에 대해 값이 더 커지도록 한다.
상태에 대한 제한 수를 가진 tabular setting에서는 를 방문수 에 따라 점점 줄어들도록 정의 할수 있고 이전 논문들에서 사용 되었다.
non-tabular case에서는 대부분의 상태들이 한번 정도만 방문하기 때문에 위와 같이 적용하는 것은 쉽지 않다. 그래서 pseudo-count와 같은 방법들이 있다. pseudo-count는 이전에 방문했던 상태들과 유사하다면 과거에 방문한적이 없는 상태들에 대해 양수인 값을 줄 수 있는 density model
로부터 얻을 수 있다.
이 논문에서는 랜덤하게 생성된 prediction problem에 대한 다른 접근 방법을 소개 한다.target network
와 predictor network
와 같이 2개의 네트워크를 사용한다.
fixed random initialized target network
, prediction problem settarget network
predictor network
위와 같이 구하고 에러값을 최소화 하도록 그래디언트 디센트 방법을 통해 predictor의 파라미터 을 학습한다.
위 방법이 target network인 randomly initialized neural network를 이용해서 predictor network를 학습 시키는 과정이다.
prediction error는 predictor가 학습한것과 다른 novel state에 대해서 높은 값을 가지게 될것이다.
위 figure2에서는 target class에서 training example들의 수에 대해 test errorr가 감소하는것을 보여주고 novel state를 탐지할 수 있는데 사용할 수 있음을 알려준다.
predictor가 랜덤한 target network를 완전히 모사할 수 있을거라는 반대 의견도 있지만 위 figure를 통해 아님을 보였다.
일반적으로 prediction error 들은 아래 요소들로부터 나온다.
predictor가 전에 학습한 example들과 다를수록 prediction error가 높다
target function이 확률적이기 때문에 prediction error가 크다. stochastic transition들은 forward dynamic prediction과 같은 에러들의 원인이다.
필요한 정보가 부족하거나 모델이 target funtion의 복잡도에 맞추기 위해 제한적인 경우
predictor가 target funtion을 근사 하는 과정에서 최적화를 실패했을때,
RND의 prediction errror는 불확실한것을 수량화하는 것과 관련이 있다.
RND prediction error
regression target 가 0이 된다면
predictor
와 target
network의 결과의 각 좌표들은 앙상블의 멤버로 반응하며 MSE 는 앙상블의 예측된 variance가 될 수 있다. 이전 실험들에서 intrinsic reward
만 non-episodic 문제에서 다루엇으며, 더 나은 exploration 결과를 보였다. 하지만 이 방법에서는 게임이 오버되어도 리턴이 종료 되지 않았다는 문제가 있었다.
intringic return
은 미래에 찾을 수 있는 모든 novel state들에 대해 관련 있어야 하기 때문에.extrrinsic reward에 대한 non-episodic return
non-episodic return 에 대해 non-episodic return을 사용하는것은 전략이 게임의 시작과 가까운 보상이 이용(exploited)되도록 할 수 있으며, 고의적으로 게임을 종료시키고 다시 게임의 시작으로 돌아가는 사이클이 반복 될 수 있다.
non-episodic stream value에서 intrinsic reward 와 epsodic stream에서 extrinsic reward 의 조합을 평가하는 방법은 불분명 하다.
prediction error를 exploration bonus로 사용하는것이 보상의 크기가 환경에 따라, 시간에 따라 크게 다르기 때문에 모든 환경에서 동작하는 하이퍼파라미터를 찾는 것은 어려운 부분이 있다.
일정한 크기의 reward를 유지하기 위해서 intrinsic reward
를 intrinsic reward
의 표준편차들에 대한 추정치로 나누어 주어 normalization 과정을 거친다.
랜덤 신경망을 사용할 때는 파라미터들이 고정되고 다른 데이터 셋들에 대해서도 조정되면 안되기 때문에 observation normalization이 중요하다. normalization이 부족하면 임베딩의 분산이 극단적으로 낮아지고 입력에 대한 정보가 조금만 전달되는 결과가 발생할 수 있다.