* 이 책에서 다루는 내용
- OpenAI Gym 인터페이스를 이용해 카트폴 게임을 하는 에이전트 개발
- 모델 기반 강화학습 패러다임
- 동적 프로그래밍으로 프로즌레이크 문제 해결
- Q-러닝과 SARAS를 이용해 택시 게임 실행
- 딥 Q-러닝(DQN)을 이용해 아타리 게임 실행
- 액터 크리틱과 REINFORCE를 이용해 폴리시 그래디언트 알고리듬 학습
- PPO와 TRPO를 연속형 로코모션 환경에 사용
- 진화 전략을 사용한 달 착륙 문제 해결
* 이 책의 대상 독자
인공지능 엔지니어나 딥러닝 사용자가 강화학습 기초를 배울 때 적합하다. 또한 강화학습 분야의 일부 고급 기술을 알고 싶은 경우에도 유용하다. 다만 책 내용을 이해하려면 파이썬을 활용할 줄 알아야 한다.
* 이 책의 구성
1장, ‘강화학습의 개요’에서는 강화학습이 필요한 분야와 강화학습 알고리듬을 이미 적용한 분야를 설명한다. 또한 2장의 프로젝트 실행에 필요한 툴, 라이브러리, 설정(setup)을 설명한다.
2장, ‘강화학습 사이클과 OpenAI Gym 구현’에서는 강화학습 알고리듬의 주요 사이클, 알고리듬 개발에 필요한 툴킷, 다양한 환경 유형을 설명한다. 랜덤 액션을 이용해 카트폴(cartpole)을 플레이하기 위해 OpenAI Gym 인터페이스를 이용한 랜덤 에이전트를 개발할 수 있다. 또한 다른 환경을 실행하기 위해 OpenAI Gym 인터페이스를 사용하는 방법을 학습해본다.
3장, ‘동적 프로그래밍으로 문제 해결하기’에서는 핵심 아이디어, 용어, 강화학습의 접근법을 소개한다. 강화학습의 메인 블록을 학습하고 문제 해결을 위해 강화학습 알고리듬을 만드는 방법의 일반적인 아이디어를 개발한다. 또한 모델 기반과 모델 프리 알고리듬의 차이와 강화학습 알고리듬 분류를 학습할 것이다. 동적 프로그래밍은 프로즌레이크(frozen lake) 게임을 해결하는 데 사용해본다.
4장, ‘Q-러닝과 SARSA 애플리케이션’에서는 가치 기반 메소드, 특히 동적 프로그래밍과 다르며 대규모 문제에 확장 적용이 가능한 Q-러닝과 SARSA를 설명한다. 이 알고리듬을 이해하기 위해 프로즌레이크 게임에 강화학습을 적용하고 동적 프로그래밍과의 차이를 알아본다.
5장, ‘DQN’에서는 특별히 Q-러닝에 적용한 신경망과 컨볼루션 신경망 CNN을 설명한다. Q-러닝과 신경망의 결합이 어떻게 뛰어난 결과를 만들고 많은 문제 해결에 사용될 수 있는지 알게 될 것이다. 추가로 DQN을 OpenAI Gym 인터페이스를 이용한 아타리 게임에 사용해본다.
6장, ‘확률적 PG 최적화 학습’에서는 새로운 모델 프리 알고리듬군(폴리시 그래디언트 메소드)을 소개한다. 그리고 폴리시 그래디언트와 가치 기반 메소드의 차이점과 장단점을 학습한다. 다음으로 REINFORCE와 액터 크리틱 알고리듬을 구현해 달 착륙 문제를 해결해 본다.
7장, ‘TRPO와 PPO 구현’에서는 폴리시 개선을 제어하기 위해 신규 메커니즘을 사용한 폴리시 그래디언트 메소드 변경을 제안한다. 이 메커니즘은 폴리시 그래디언트 알고리듬의 안정성과 수렴성을 개선하는 데 사용한다. 특히 TRPO와 PPO 같은 기술을 사용한 2개의 메인 폴리시 그래디언트 메소드를 구현한다. 연속형 액션 공간을 가진 환경인 로보스쿨(RoboSchool)에 구현해본다.
8장, ‘DDPG와 TD3 애플리케이션’에서는 폴리시 그래디언트와 Q-러닝을 모두 결합한 결정적 폴리시 알고리듬이라는 신규 알고리듬을 소개한다. 내부 컨셉을 학습하고 신규 환경에서 2개의 딥 결정적 알고리듬인 DDPG와 TD3를 구현해본다.
9장, ‘모델 기반 강화학습’에서는 미래 액션을 계획하거나 환경 모델을 학습하는 강화학습 알고리듬을 설명한다. 강화학습 알고리듬의 작동 방법, 장점, 많은 상황에서 선호하는 이유를 알게 될 것이다. 모델 기반 강화학습을 마스터하기 위해 로보스쿨에서 모델 기반 알고리듬을 구현해본다.
10장, ‘DAgger 알고리듬으로 이미테이션 학습하기’에서는 이미테이션 학습의 작동 방법과 문제에 적용하고 적합화하는 방법을 설명한다. 가장 잘 알려진 이미테이션 학습 알고리듬인 DAgger를 학습한다. 이 알고리듬을 잘 이해하기 위해 플래피 버드(Flappy Bird)에서 에이전트의 학습과정 속도를 높이는 데 활용해 본다.
11장, ‘블랙박스 최적화 알고리듬 이해하기’에서는 역전파에 의존하지 않는 블랙박스 최적화 알고리듬인 진화 알고리듬을 알아본다. 이 알고리듬은 빠른 훈련과 수백, 수천 개 코어를 이용한 쉬운 병렬화 때문에 관심 받고 있다. 11장은 일종의 진화 알고리듬인 진화 전략 알고리듬에 초점을 둬 이 이론에 대한 이론적 실제 적용 배경을 설명한다.
12장, ‘ESBAS 알고리듬 개발하기’에서는 강화학습에 특화된 중요한 탐색-활용 딜레마를 소개한다. 이 딜레마는 멀티 암트 밴딧 문제를 이용해 데모 시연을 하고 UCB와 UCB1 같은 접근법으로 해결할 것이다. 다음으로 알고리듬 선택 문제를 학습하고 ESBAS 메타 알고리듬을 개발한다. 이 알고리듬은 개별 상황에서 가장 적합한 강화학습 알고리듬을 선택하는 UCB1을 이용한다.
13장, ‘강화학습의 도전적 과제를 해결하기 위한 실제 구현’에서는 이 분야의 주요 도전 과제를 살펴보고 이를 극복하기 위한 몇 가지 사례와 메소드를 설명한다. 강화학습을 실제 현실 문제에 적용하기 위한 몇 가지 도전 과제, 딥 강화학습의 미래 개발, 현실에서의 사회적 임팩트를 학습한다.
* 지은이의 말
강화학습은 변화하는 요구 사항에 근거해 이상적 행동을 자동으로 결정할 수 있는 스마트한 모델과 에이전트를 만드는 인기 있고 유망한 인공지능 분야다. 이 책은 에이전트를 개발할 때 강화학습 알고리듬을 마스터하고 구현하는 것을 이해할 수 있도록 도와준다.
강화학습 환경에서 작업해야 하는 도구, 라이브러리, 셋업 소개를 시작으로 강화학습의 빌딩 블록을 다루고 Q-러닝과 SARSA 알고리듬을 응용하는 (등의) 가치 기반 메소드를 상세하게 알아본다. 복잡한 문제를 해결하기 위해 Q-러닝과 신경망의 조합을 이용하는 방법을 소개한다. DDPG와 TD3 같은 결정적 알고리듬을 학습하기 전에 성능과 안정성을 개선하기 위한 폴리시 그래디언트 메소드, TRPO, PPO를 학습할 것이다. 또한 이미테이션 학습 기술이 작동하는 방법과 DAgger가 에이전트를 훈련시키는 방법을 다룬다. 진화 전략과 블랙박스 최적화 기술을 다룬 다음, UCB와 UCB1 같은 탐색 접근법을 학습하고 ESBAS라는 메타 알고리듬을 개발해본다.
이 책을 마칠 시점에는 현실 문제를 해결하기 위해 강화학습 알고리듬을 활용할 수 있는 역량을 갖추고 강화학습 연구 모임에 참여할 수 있을 것이다