이 블로그는 애드센스 수익으로 운영되고 있습니다.
광고차단앱을 해제해주시면 블로그 운영에 큰 도움이 됩니다.
Please disable Adblock?
본문 바로가기
후기 모음/책 & 논문 후기

CONTINUOUS CONTROL WITH DEEP REINFORCEMENT LEARNING리뷰

by 킨쨩 2020. 8. 1.
반응형

CONTINUOUS CONTROL WITH DEEP REINFORCEMENT LEARNING

논문 저자: Timothy P. Lillicrap, Jonathan J. Hunt, Alexander Pritzel, Nicolas Heess, Tom Erez, Yuval Tassa, David Silver, Daan Wierstra
논문 링크: arxiv.org/abs/1509.02971

 

Continuous control with deep reinforcement learning

We adapt the ideas underlying the success of Deep Q-Learning to the continuous action domain. We present an actor-critic, model-free algorithm based on the deterministic policy gradient that can operate over continuous action spaces. Using the same learnin

arxiv.org

Published as a conference paper at ICLR 2016


논문 설명, 한국어(韓国語) 버전. (일본어 버전은 이 쪽으로, 日本語版はこちらへ)

이 논문은 Deep Q-Learning의 성공으로부터 영감을 받아서 연속적 Action Domain을 다루는 방식(DDPG)에 대해서 제안한다.

도입

 Deep Q Network(DQN)가 atari의 비디오 게임에서 사람 수준의 퍼포먼스를 보여주는 데 성공했다. 고차원 관찰 공간(observation spaces)(전 처리되지 않은 픽셀을 인풋으로 받음)에서 문제를 해결하지만, 저 차원 행동 공간(action spaces)밖에 다루지 못한다(화살표 방향 이동과 점프 등등 행동이 몇 가지 없음). 하지만, 많은 작업들, 그중 특히 대부분의 물리 제어 작업들은 연속적이고 높은 차원의 행동 공간을 가지기 때문에 DQN을 적용할 수 없었다.
 이에, DQN과 같은 딥 강화 학습 방식을 연속 domain에 도입하기 위해서는, action domain을 나누는  어프로치를 취해왔다. 하지만, 이 방식은 자유도에 따른 기하급수적인 행동의 수의 증가와 같은, 차원의 숫자와 관련된 제한을 가지고 있다. 예를 들어, 7 자유도 로봇의 각 관절이 -방향, 정지, + 방향으로 이동한다고 가정했을 때, 취할 수 있는 행동의 숫자는 3의 7승 가지가 된다. 게다가 딱딱한 움직임이 아닌, 부드러운(fine) 제어를 요구할 경우에는 차원의 숫자는 더욱 증가하게 되어 제어가 불가능하게 된다.
 그렇기에 이 연구에서는 고차원의, 연속된 행동 공간에서의 정책을 배우기 위한 model-free, off-policy, actor-critic 알고리즘을 제안한다.

 기본적으로 이산 시간 스텝으로 환경과 상호작용을 한다. 또한 지금까지의 환경은 모두 관측되었다고 가정한다.

알고리즘

 deterministic policy gradient (DPG)에 뉴럴 네트워크를 적용(Deep DPG, DDPG)시킬 것이다.

 연속적인 행동 공간에서의 학습에서 가장 큰 어려운 점은 탐색이다. DDPG와 같은 off-policy 알고리즘은 탐색 문제를 학습 알고리즘과 무관계하게 다룰 수 있게 해 준다. 

 보통 뉴럴 네트워크를 강화 학습에 이용할 때에, 대부분의 최적화 알고리즘은 샘플이 독립적이고 동등하게 분배되었다고 가정한다. 하지만, 샘플이 순차적인 환경의 탐색으로부터 생성될 경우에는 유효하지 않다. 또한, 하드웨어 최적화를 위해서 online이 아닌 미니 배치를 이용한 학습이 필수이다.
DQN의 경우 replay buffer를 통해 위의 문제에 대처하고 있다. 
DDPG의 경우, off-policy 알고리즘이기 때문에, replay buffer를 크게 가질 수 있기에 replay buffer에 minibatch 샘플링을 이용하여 actor critic의 타임 스텝별 갱신한다.

 Q learning의 방식을 직접 적용하면 불안정하기에 Soft target update를 이용해서 적용한다. Actor(상태로부터 행동 결정) critic(상태의 가치 평가) 네트워크의 복사본을 만들어, 각각 target value를 계산하는 데 사용한다. 각 목표 네트워크의 무게 값은 학습된 네트워크를 따라 천천히 업데이트된다. 목푯값이 천천히 변경됨으로써 안정성 증가하게 된다. 하지만 타깃 네트워크의 추가로 인한, 값 평가의 전파가 지연된다.

 낮은 차원 수의 기능 백터 관찰에서, 서로 다른 요소들의 관찰은 다른 물리적 단위를 가질 수 있고, 환경에 따라서 범위가 달라질 수 있다. 이것은 네트워크가 효과적으로 서로 다른 상태와 스케일의 값으로 이루어진 환경을 통틀어 일반화하는 하이퍼 파라매타를 찾는 것을 어렵게 만든다. 

 이에, Batch normalization을 통해서 미니 배치가 일정한 평균과 분산을 가지도록 샘플을 정규화한다. 

실제 구체적인 알고리즘

결과

(영상은 문제시 삭제)

 low-dimensional state description과 high-dimensional renderings of the environment (픽셀 인식)의 두 가지 방법 사용했다. 후자의 경우 인식률 향상을 위해서 각 채널별 한 스텝당 3번의 반복된 렌더링 이용한다. 구체적으로 프레임은 64 x 64로 다운 샘플 된 이후, 8-bit RGB 값을 [0,1]로 변환한다.

 DDPG의 경우 몇몇 비슷한 task에서는 픽셀을 통한 학습이 low-demenstional과 동등한 수준의 퍼포먼스를 보여준다. DPG와 기타 알고리즘의 경우, 몇몇 테스트에서는 낮은 퍼포먼스를 보여준다.

각 알고리즘의 평가: original DPG algorithm (minibatch NFQCA) with batch normalization (light grey), with target network (dark grey), with target networks and batch normalization (green), with target networks from pixel-only inputs (blue).

결론

 딥러닝과 강화 학습의 이점을 따와서 다양한 도메인 하의 연속 행동 공간을 다룰 수 있는 알고리즘을 만드는 데에 성공했다. 환경이 바뀌어도 별다른 수정을 가하지 않아도 안정적인 학습이 행해지고 있음을 실험적 결과로 얻었다.
대부분의 model-free 강화 접근방식처럼 DDPG는 솔루션을 찾기 위해서 많은 숫자의 학습 에피소드를 필요로 하지만, 이후의 시스템에서 이러한 제한을 해결하기 위해서는 model-free 접근 방식은 중요한 역할을 할 것이다.


이 논문이 중요한 이유

기술적 요점

  • 이전까지 다루지 못했던, 고차원 행동 공간을 다룰 수 있는 알고리즘을 제안하였다.
  • 별다른 모델, 정책 없이 학습을 진행하므로, 다양한 환경에서 이용할 수 있다.
  • 행동할 수 있는 방법이 매우 다양하더라도, 매끄러운 제어를 행할 수 있다.

위와 같은 장점들을 활용하면, 더 많은 작업들, 특히 물리적 제어가 필요한 작업들의 제어에 강화 학습을 적용하는 것이 가능할 것이다.

심사를 통과한 이유(추측)

  • DPG, DQN과 minibatch, batch normalization 등등으로부터 model-free, off-policy, actor-critic의 성질을 가지는 알고리즘을 새로이 제안하였다.
  • 별다른 수정 없이 다양한 환경에서의 안정적인 학습이 행해지는 것을 실험적 결과로 얻었다.
  • AI의 주요 목적 중 하나인, 다차원적인, 전처리를 거치지 않은 인풋을 통한 복잡한 테스트의 제어에의 가능성을 보여주었다.

후기

 나는 동경대의 S1, S2학기 동안 "Visual Media (映像メディア学), Graduate Level(大学院生)"의 수업을 수강하였다. 이 수업의 성적기준은 특이하게도, 출석이나 시험, 일반적인 리포트의 제출이 아닌, 많은 사람들이 볼 수 있는 공개된 블로그 페이지에 리포트를 작성하고 URL을 제출하는 형식이었다.
 두 가지 선택이 있었는데, 첫 번째는 컴공과를 위한 옵션으로, 딥러닝과 관련 있는 논문을 읽고 직접 코드를 짜서 github에 공개하고, 해당 논문의 중요성과 어느부분을 실제로 코드로 짰는 지를 설명하는 게시글을 작성하는 것과, 두번째는 컴공과가 아닌 사람들을 위한 옵션으로, 딥러닝과 관련 있는 논문 2편을 읽고 왜 이 논문이 중요한지(기술적 요점이 무엇인지, 왜 이 논문이 통과되었는지)에 관해 설명하는 게시글을 두개 작성하는 것이었다.
 덤으로 선택할 수 있는 논문에 제한이 있었는데, 2016~2020년에 발표된 full/long 사이즈의 논문중 아래에 해당하는 곳에서 발표된 논문만 가능하였다.

  • Journal: TPAMI/TMM/TIP/TCSVT/TOG/TOMM
  • Conf: CVPR/ICCV/ECCV/SIGGRAPH/ACMMM/NeurIPS/ICML/ICLR

 아무래도 첫번째 옵션은 시간도 많이 걸리고 힘들 것 같아서 나는 비교적 쉬워 보이는 후자를 골랐기에, 이번 게시글들을 작성하게 되었다. 즉 하나 더 올라올 예정이다.

밑에 공감 버튼 한 번씩 클릭 부탁드립니다! 
내용에 관한 질문이나 의견이 있다면 댓글로 남겨주세요.
Copyright 2020 KIN All rights reserved. 
KIN

반응형

댓글