한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Dreamer 소개: 현실 세계 모델을 사용하는 확장 가능한 강화 학습
2020년 4월 8일 수요일
작성자: Danijar Hafner, Google Research 학생 연구원
원문은
이 곳
에서 확인 가능하며 번역 리뷰는 강재욱(ML GDE) 님이 참여해 주셨습니다.
강화 학습
(RL)덕분에
인공 에이전트
의 목표 달성을 위한 행위 선택 방법에 대한 연구가 매우 급속도로 진전을 보이고 있습니다.
모델 프리(Model-free)
접근 방식으로 RL을 구현해 시행착오를 통해 성공적인 행위를 예측하도록 학습함으로써, DeepMind의
DQN
이 Atari 게임을 하고
AlphaStar
가 Starcraft II에서 세계 챔피언을 꺾을 수 있었습니다. 대량의 환경 상호 작용이 필요한 관계로
현실 세계 시나리오
에서의 유용성이 제한되는 문제가 있었습니다.
반면에,
모델 기반
RL 접근 방식에서는 단순화된 환경 모델을 추가로 학습합니다. 이런
현실 세계 모델
을 통해 에이전트는 잠재적 행위 시퀀스의 결과를 예측함으로써, 가상의 시나리오를 진행하면서 새로운 상황에서 정보를 바탕으로 의사결정을 하고 이에 따라 목표 달성에 필요한 시행착오를 줄일 수 있습니다. 과거에는 정확한 현실 세계 모델을 학습하고, 이런 모델을 활용해 성공적인 동작을 학습하기란 까다로운 문제였습니다. 우리가 연구 중인
Deep Planning Network
(PlaNet)와 같은 최근의 연구에서는 이미지로부터 정확한 현실 세계 모델을 학습함으로써 이런 한계 영역을 더욱 확장해왔지만, 이조차 효과적이지 못하거나 계산 비용이 많이 드는 계획 메커니즘으로 인해 모델 기반 접근 방식은 여전히 어려운 과제를 해결하는 능력이 제한적입니다.
DeepMind
와 협력해온 우리는 오늘 이미지로부터 현실 세계 모델을 학습하고 이를 사용해 원시안적 동작을 학습하는 RL 에이전트인
Dreamer
를 발표합니다. Dreamer는 현실 세계 모델을 활용하여 모델 예측을 통한
역전파
를 통해 동작을 효율적으로 학습합니다. 이 에이전트는 원시 이미지로부터
콤팩트 모델 상태
를 계산하는 방법을 학습함으로써 단 한 개의 GPU만 사용해 병렬 방식으로 수천 개의 예측 시퀀스로부터 효율적으로 학습할 수 있습니다. Dreamer는 원시 이미지가 입력되는 20개의 연속 제어 작업으로 구성된 벤치마크에서 성능, 데이터 효율성 및 계산 시간에 있어 새로운 최첨단 기술을 선보입니다. RL의 발전에 더욱 박차를 가하기 위해, 우리는 연구 커뮤니티에
소스 코드
를 발표할 것입니다.
Dreamer는 어떻게 작동할까요?
Dreamer는 모델 기반 방법에
일반적인
세 가지 프로세스, 즉 현실 세계 모델 학습, 현실 세계 모델을 통한 예측으로부터 동작 학습, 새로운 경험을 수집하기 위해 환경에서 학습된 동작 실행으로 구성됩니다. 동작을 학습하기 위해, Dreamer는 가치 네트워크를 사용해 계획 기간을 넘어 그 이상의 미래까지도 계정 보상을 고려하고 행위자 네트워크를 사용해 행위를 효율적으로 계산합니다. 병렬로 실행할 수 있는 세 프로세스는 에이전트가 다음과 같은 목표를 달성할 때까지 반복됩니다.
Dreamer 에이전트의 세 프로세스. 현실 세계 모델은 과거의 경험으로부터 학습됩니다. 그러면 에이전트가 이 모델의 예측에서 미래의 보상을 예측하기 위한 가치 네트워크와 행위를 선택하기 위한 행위자 네트워크를 학습합니다. 행위자 네트워크는 환경과 상호 작용하는 데 사용됩니다.
현실 세계 모델 학습
Dreamer는
PlaNet
현실 세계 모델을 활용하는데, 이 모델은 한 이미지에서 다음 이미지로 바로 예측하는 대신에 입력 이미지에서 계산되는
콤팩트 모델 상태
의 시퀀스를 기반으로 결과를 예측합니다. Dreamer는 객체 유형, 객체의 위치, 객체와 객체 주변의 상호 작용과 같이, 미래의 결과를 예측하는 데 유용한 개념을 나타내는 모델 상태를 생성하는 방법을 자동으로 학습합니다. Dreamer는 에이전트의 과거 경험 데이터세트에서 이미지, 행위 및 보상의 시퀀스를 고려해 아래 그림과 같이 현실 세계 모델을 학습합니다.
Dreamer는 경험으로부터 현실 세계 모델을 학습합니다. Dreamer는 과거 이미지(o
1
–o
3
)와 행위(a
1
–a
2
)를 사용해 이미지(ô
1
–ô
3
)를 다시 구성하고 보상(r̂
1
–r̂
3
)을 예측하는 콤팩트 모델 상태(녹색 원)의 시퀀스를 계산합니다.
PlaNet 현실 세계 모델을 사용하는 한 가지 이점은 이미지 대신 콤팩트 모델 상태를 사용하여 예측하면 계산 효율이 크게 향상된다는 점입니다. 따라서 이 모델은 단일 GPU에서 수천 개의 시퀀스를 병렬로 예측할 수 있습니다. 이 접근 방식은 일반화도 촉진할 수 있어, 정확한 장기적 동영상 예측으로 이어집니다. 모델의 작동 방식을 이해하기 위해,
DeepMind Control Suite
의 작업과
DeepMind Lab
환경의 작업에 대해 아래 그림처럼 콤팩트 모델 상태를 이미지로 다시 디코딩하여 예측된 시퀀스를 시각화할 수 있습니다.
콤팩트 모델 상태를 사용해 예측하면 복잡한 환경에서 장기적인 예측이 가능합니다. 여기에는 에이전트가 이전에 처리한 적 없는 2개의 시퀀스가 있습니다. 5개의 입력 이미지를 고려할 때, 이 모델은 이들 이미지를 다시 구성하여 최대 시간 단계 50까지 향후 이미지를 예측합니다.
효율적인 동작 학습
이전에 개발된 모델 기반 에이전트는 일반적으로 많은 모델 예측을 통해 계획하거나 시뮬레이터 대신 현실 세계 모델을 사용해 기존의 모델 프리 기술을 재사용함으로써 행위를 선택합니다. 두 디자인은 모두 계산이 많이 필요하고 학습된 현실 세계 모델을 완전히 활용하지 않습니다. 게다가, 강력한 현실 세계 모델도 얼마나 미리 정확하게 예측할 수 있는지에 있어 제한이 따르므로, 이전의 많은 모델 기반 에이전트는 근시안적이었습니다. Dreamer는 현실 세계 모델을 예측함으로써 역전파를 통해 가치 네트워크와 행위자 네트워크를 학습하여 이러한 제한 사항을 극복합니다.
Dreamer는 행위자 네트워크를 효율적으로 학습해 모델 프리 접근 방식에서는 불가능한 예측 상태 시퀀스를 통해 보상의 변화도를 역으로 전파함으로써 성공적인 행위를 예측합니다. 이는 행위의 작은 변화가 미래에 예측되는 보상에 어떤 영향을 미치는지 Dreamer에 알려주므로, Dreamer가 보상을 가장 많은 늘려주는 방향으로 행위자 네트워크를 상세검색할 수 있게 해줍니다. 예측 범위를 넘는 보상을 고려하기 위해, 가치 네트워크는 각 모델 상태에 대한 미래 보상의 합을 추정합니다. 그런 다음 아래와 같이 보상과 가치는 역전파되어 개선된 행위를 선택하도록 행위자 네트워크를 상세검색합니다.
Dreamer는 모델 상태의 예측 시퀀스에서 원시안적 동작을 학습합니다. Dreamer는 먼저 각 상태의 장기적 값(v̂
2
–v̂
3
)을 학습한 다음, 상태 시퀀스를 통해 행위자 네트워크로 행위를 역전파함으로써 높은 보상과 값으로 이어지는 행위(â
1
–â
2
)를 예측합니다.
Dreamer는 여러 가지 점에서 PlaNet과는 다릅니다. PlaNet은 환경에서 주어진 상황을 고려해 다양한 행위 시퀀스에 대해 많은 예측 사이에서 최선의 행위를 검색합니다. 반면에, Dreamer는 계획과 행위를 분리하여 이 값비싼 검색을 피합니다. 행위자 네트워크가 예측 시퀀스를 기반으로 훈련된 후, Dreamer는 추가 검색 없이 환경과 상호 작용하기 위해 행위를 계산합니다. 또한 Dreamer는 값 함수를 사용해 계획 기간을 넘어 미래까지의 보상도 고려하고 효율적인 계획을 위해 역전파를 활용합니다.
제어 작업에 대한 성능
우리는 연속 행위 및 이미지 입력으로 20개의 다양한 작업으로 구성된 표준 벤치마크에서 Dreamer를 평가했습니다. 이 작업에는 객체 밸런싱 및 캐칭뿐 아니라, 시뮬레이션된 다양한 로봇의 운동도 포함됩니다. 이 작업은 다음과 같이 충돌, 희소한 보상, 혼돈 상태의 동적 관계, 작지만 관련된 객체, 높은 자유도, 3D 관점을 비롯하여, RL 에이전트에 다양한 도전을 제기하도록 디자인되었습니다.
Dreamer는 이미지 입력으로 20개의 도전적인 연속 제어 작업을 해결하는 방법을 학습하는데, 그중 5개가 여기에 표시되어 있습니다. 시각화를 통해 에이전트가 환경에서 받는 동일한 64x64 이미지를 보여줍니다.
우리는 Dreamer의 성능을 과거 최상의 모델 기반 에이전트
PlaNet
, 인기 있는 모델 프리 에이전트
A3C
뿐 아니라, 모델 프리 RL의 여러 가지 장점을 결합해 이 벤치마크에서 현재 최상의 모델 프리 에이전트인
D4PG
의 성능과 비교합니다. 모델 기반 에이전트는 5백만 개 미만의 프레임에서 효율적으로 학습하며, 시뮬레이션 내에서 28시간의 학습에 해당합니다. 모델 프리 에이전트는 더 느리게 학습하며 1억 개의 프레임이 필요한데, 이는 시뮬레이션 내에서 23일의 학습에 해당합니다.
20개의 작업으로 구성된 벤치마크에서, Dreamer는 20회 더 적은 환경 상호 작용에서 학습하는 동안의 786점에 비해 높은 평균 823점을 얻은 최상의 모델 프리 에이전트(D4PG)를 능가합니다. 게다가, Dreamer는 거의 모든 작업에 대해 이전에 최고로 손꼽혔던 모델 기반 에이전트(PlaNet)의 최종 성능도 넘어섭니다. Dreamer를 훈련하기 위한 16시간의 계산 시간은 다른 방법에 필요한 24시간보다 짧습니다. 네 에이전트의 최종 성능은 아래에 표시되어 있습니다.
Dreamer는 최종 성능, 데이터 효율, 계산 시간의 관점에서, 20개의 작업으로 구성된 벤치마크에서 과거 최상의 모델 프리 방법(
D4PG
)과 모델 기반 방법(
PlaNet
)을 능가합니다.
연속 제어 작업에 대한 주요 실험 외에도, 불연속적인 개별 행위로 작업에 적용함으로써 Dreamer의 일반성을 보여줍니다. 이를 위해, 우리는 반응적 동작과 원시안적 동작, 공간 인식, 시각적으로 더욱 다양한 장면의 이해가 모두 필요한 Atari 게임과 DeepMind Lab 레벨을 선택합니다. 결과적인 동작이 아래에 시각화되어 있는데, Dreamer가 이처럼 더욱 까다로운 작업을 해결하는 방법도 효율적으로 학습한다는 점을 보여줍니다.
Dreamer는 Atari 게임과 DeepMind Lab 레벨에서 성공적인 동작을 학습하는데, 별개의 행위와 여러 객체가 있는 3D 환경을 포함해 시각적으로 더욱 다양한 장면이 특징입니다.
결론
우리가 수행한 작업은 현실 세계 모델에 의해 예측되는 시퀀스로부터 동작을 학습하는 것만으로도 이미지 입력으로부터 까다로운 시각적 제어 작업을 해결할 수 있어, 이전의 모델 프리 접근 방식의 성능을 능가한다는 점을 입증해줍니다. 게다가, Dreamer는 콤팩트 모델 상태의 예측 시퀀스를 통해 값 기울기를 역전파함으로써 동작을 학습하는 것이 성공적이고 강력한 방법으로, 다양한 연속 제어 작업과 불연속 제어 작업을 해결해준다는 점을 보여줍니다. 우리는 Dreamer가 더 나은 표현 학습, 불확실성 추정으로 지시되는 탐색, 임시 추상화, 멀티태스크 학습을 포함하여, 강화 학습의 지평을 더욱 넓히기 위한 강력한 토대를 제공한다고 생각합니다.
감사의 말
이 프로젝트는 Timothy Lillicrap, Jimmy Ba, Mohammad Norouzi와의 협업으로 진행되었습니다. Brain Team의 모든 분과 논문 초고에 대한 논평을 해주시고 프로젝트 진행 도중에 수시로 의견을 주신 모든 분께도 감사드립니다.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed