https://arxiv.org/abs/1312.5602
Playing Atari with Deep Reinforcement Learning
We present the first deep learning model to successfully learn control policies directly from high-dimensional sensory input using reinforcement learning. The model is a convolutional neural network, trained with a variant of Q-learning, whose input is raw
arxiv.org
■ 논문을 접한 계기
edwith - 논문으로 짚어보는 딥러닝의 맥 강의를 수강하다 소개받은 논문이다.
강화 학습을 접하고자 할 때 꼭 읽어봐야 하는 논문 중 하나라고 하며, 학습된 모델의 성능을 평가하기 위해 고전 아타리 게임을 이용하였다는 발상이 흥미로워서 읽게 되었다.
■ 강화 학습(Reinforce Learning)이란?(참고: 핵심 딥러닝 입문)
강화 학습을 적용한 사례 중 가장 유명한 것은 역시 몇 년전 세계를 뒤흔든 알파고(AlphaGo)일 것이다.
강화 학습이란 '주어진 환경에서 가장 보상받기 쉬운 행동'을 학습하는 머신러닝의 한 종류로서, 1990년대 이전부터 기계 제어 분야에서 사용되었다.
강화 학습에는 Q-learning과 SARSA라는 기술이 있는데, 강화학습을 딥러닝과 조합한 심층강화학습 기술을 통해 기존에 컴퓨터가 할 수 없었던 작업이 가능해졌다.
이 논문에서 소개하는 기술은 그 중 Q-learning을 변형한 것이다.
■ Abstract
이 논문에서 제시하는 것은 강화 학습을 사용하여 고차원 감각 입력(high-dimensional sensory input)으로부터 직접적인 제어 정책(control policies)을 성공적으로 학습하는 최초의 딥러닝 모델이다.
이 모델은 변형된 Q-learning으로 학습된 CNN이며, 입력이 raw pixels, 출력이 미래의 보상을 추측하는 가치 함수(value function)이다.
아키텍처 및 학습 알고리즘을 조정하지 않고 7가지 Atari 게임에 이 방법을 적용한 결과, 이 중 6개의 게임에서 이전의 모든 접근 방식을 능가하고 그 중 3개의 게임에서 인간 전문가를 능가한다는 것을 발견하였다.
■ Introduction
시각 및 언어와 같은 고차원 감각 입력에서 직접 에이전트를 제어하는 방법을 배우는 것은 강화 학습의 오랜 과제 중 하나였다. 이 영역에서 성공적으로 작동하는 RL 모델들 대부분은 선형 가치 함수 혹은 정책 표현과 결합된 사람이 직접 만든 기능(hand-crafted features combined with linear value functions or policy representations)에 의존하고 있었다.
이러한 시스템의 성능은 기능 표현(feature representation)의 퀄리티에 크게 좌우된다.
그리고 최근 딥 러닝의 발전으로 raw 감각 데이터에서 높은 수준의 기능을 뽑아낼 수 있게 되어 컴퓨터 비전 및 음성 인식 분야에서 획기적인 발전을 이루었으나, 이를 RL에도 적용하고자 하니 몇 가지 문제가 있었다.
1. 딥러닝에는 많은 양의 hand-labelled 훈련 데이터가 필요하다. 반면 RL 알고리즘은 자주 잡음과 지연이 발생하는 scalar reward signal로 학습할 수 있어야 한다. 행동과 결과 보상 사이의 지연은 thousands of timesteps까지도 길어질 수 있어 지도 학습에서의 입력과 목표 사이의 직접적인 연관성과 비교하면 특히 너무 큰 것으로 느껴진다.
2. 대부분의 딥러닝 알고리즘은 데이터 샘플이 독립적일 것이라고 가정하지만 실제 RL에서는 일반적으로 상관 관계가 높은 상태 시퀀스가 발생한다.
3. RL의 데이터 분포는 알고리즘이 새로운 동작을 학습할 때마다 변경된다. 이는 고정 확률 분포(fixed underlying distribution)를 가정하는 딥러닝 방식을 적용할 때 문제가 될 수 있다.
이 논문은 CNN이 이러한 문제를 극복할 수 있음을 보여준다. 신경망은 확률적 경사 하강법(SGD)을 사용한 변형된 Q-learning 알고리즘으로 훈련된다. 또한 상관 관계가 높은 데이터 및 non-stationary 확률 분포의 문제를 완화하기 위해, 이 논문에서는 previous transitions를 무작위로 샘플링하여 많은 이전 행동에 대한 훈련 분포를 매끄럽게 하는 경험 재생 메커니즘(experience replay mechanism)을 사용한다.
이 논문의 목표는 가능한 많은 게임을 성공적으로 학습할 수 있는 단일 신경망 에이전트를 만드는 것이다.
■ Deep Reinforcement Learning
심층 신경망의 가장 성공적인 접근 방법은 SGD를 기반으로 한 경량 업데이트를 사용에 raw 입력으로부터 직접 훈련시키는 것이다. 이러한 심층 신경망에 충분한 데이터를 제공할 경우, 종종 hand-crafted features보다 더 나은 학습 결과를 보여 준다. 이를 통해 강화 학습 알고리즘을 RGB 이미지에서 직접 동작하는 심층 신경망에 연결하고 SGD를 사용해 학습 데이터를 효율적으로 처리하는 발상을 해볼 수 있다.
Tesauro의 TD-Gammon 아키텍처는 이러한 접근 방식의 출발점을 제공한다. 이 아키텍처는 알고리즘의 환경과의 상호 작용에서 도출된 경험의 정책 샘플(on-policy samples of experience)로부터 직접 가치 함수를 추정하는 네트워크의 매개 변수를 업데이트한다. 이 접근 방식이 20년 전에 최고의 인간 backgammon 플레이어를 능가할 수 있었으므로, 현대의 심층 신경망 아키텍처 및 확장 가능한 RL 알고리즘과 함께 20년간의 하드웨어 개선이 상당한 진전을 가져올 수 있을 거라고 예상해 볼 수 있다.
TD-Gammon 및 유사한 온라인 접근 방식과 달리, 이 논문에서는 경험 재생(experience replay)으로 알려진 기술을 활용하는데, 여기서 각 시간 단계에서의 에이전트의 경험,
을 데이터 세트
에 저장하고, 많은 에피소드에 걸쳐 재생 메모리(replay memory)에 풀링한다. 알고리즘의 내부 루프 동안, 저장된 샘플 풀에서 무작위로 추출한 경험 샘플 e~D에 Q-learning 업데이트 또는 미니 배치 업데이트를 적용한다. 경험 재생을 수행한 후 에이전트는 e-greedy policy에 따라 작업을 선택하고 실행합니다. 랜덤한 길이의 기록을 신경망의 입력으로 사용하는 것은 어려울 수 있기 때문에, Q-함수는 대신 함수 φ에 의해 생성된 고정 길이의 기록으로 작동한다. 우리가 deep Q-learning이라고 부르는 전체 알고리즘은 다음과 같다.
이 접근 방식은 표준 온라인 Q-learning과 비교해서 몇 가지 장점이 있다.
1. experience의 각 단계는 잠재적으로 많은 가중치 업데이트에 사용되어 데이터 효율성을 높일 수 있다.
2. 샘플을 무작위로 추출하기 때문에 기존의 샘플 간의 상관 관계가 깨져 non-stationary 확률 분포 문제가 완화된다.
3. on-policy를 학습할 때 현재 매개변수는 매개변수가 학습되는 다음 데이터 샘플을 결정한다. 예를 들어, maximazing action이 왼쪽으로 이동하는 것이라면 훈련 샘플은 left-hand side의 샘플에게 dominate 된다. maximazing action이 오른쪽으로 전환된다면 훈련 분포도 전환된다. 이는 원치 않는 feedback loops, poor local minimum에 갇힌 매개 변수, 혹은 파국적인 발산(diverge catastrophically)을 쉽게 알 수 있게 한다.
경험 재생을 사용하면 행동 분포가 이전 상태들의 많은 부분에 대해 평균화되어 학습을 원활하게 하고, 매개변수의 진동 또는 발산을 방지한다.
■ Experiments
Deep Q-learning으로 7가지 Atari 게임을 플레이한 결과, 심지어 몇몇 게임에서 인간 플레이어를 능가한다는 사실을 확인할 수 있다.
■ Conclusion
본 논문은 강화 학습을 위한 새로운 딥 러닝 모델을 소개하고, raw pixels만 입력으로 사용하여 아타리 2600 컴퓨터 게임의 어려운 제어 정책을 마스터할 수 있는 능력을 보여주었다. 또한 RL을 위한 심층 네트워크의 훈련을 용이하게 하기 위해 확률적 미니 배치 업데이트와 경험 재생 메모리를 결합한 온라인 Q-learning의 변형도 제시했다. 이 논문에서 제시한 접근 방식을 통해 아키텍처나 하이퍼 파라미터의 조정 없이도 7개의 게임 중 6개의 게임에서 최신의(state-of-the-art) 결과를 얻을 수 있었다.
추가: Experience Replay에 대한 설명
https://mangkyu.tistory.com/63
Experience Replay Memory란?
1. Experience Replay Memory란? [ Experience Replay Memory ] 머신러닝에서 학습 데이터가 아래와 같다고 하자. 전체 데이터의 분포를 보면 a가 정답에 가장 근접한 직선이지만, b근처의 데이터만으로 학습을
mangkyu.tistory.com