본 게시글은 한빛미디어의 나는 리뷰어다 이벤트로 제공받은 강화학습 첫걸음 책에 대한 리뷰입니다.

1. 책의 구성 및 내용

강화학습 첫걸음 책은 크게 두 파트로 나뉘어져 있는데 앞 부분에서 주요 알고리즘을 간단하게 소개한 뒤 구현을 하는 루틴을 반복하고 뒷 부분에서는 좀 더 심화 주제를 다룬다. 먼저 아주 간단한 멀티암드 밴딧(손잡이가 여러개인 슬롯머신) 문제를 다룬다. 뒤로 갈수록 콘텍스트가 추가된 슬롯머신, 마르코프 결정 과정을 응용한 에이전트로 발전시켜 나가며 정책 기반의 알고리즘을 소개한다. 5장 부터는 Q 러닝을 다루기 시작하며 간단한 테이블 버전부터 시작해 단일 신경망, 다층 신경망으로 발전시켜나가며 벽돌 깨기 게임에서 볼 수 있던 그 딥 Q 러닝에 대해 다룬다. 앞 부분의 마지막으론 비동기적 어드밴티지 액터-크리틱 모델에 대해 다루는데 최근 경향까진 알지 못했던 차에 좋은 정보를 얻을 수 있었다.

2. 좋았던 점

책에서는 각 챕터마다 간단하게 개념에 대해 설명해주고 실습 코드로 들어가는데 이렇게 흥미를 유지시켜주고 바로 결과를 확인할 수 있게끔 유도하는 구성이 매우 마음에 들었다. 무턱대고 수식부터 보여주는 것이 아닌 개념이 등장한 배경과 필요성을 충분히 말해주며 더불어 알고리즘과 수식에 대해 친절하게 풀어서 설명해주는데 그냥 그렇구나 정도로만 넘어갔던 부분에 대해 잘 정제된 지식을 제공받는 느낌이었다.

제일 마음에 들었던 부분은 책이 점진적인 구성을 가지고 있다는 점이다. 처음부터 고급 부분을 다루는 것이 아니라 독자가 머신러닝은 다뤄봤지만 강화학습은 처음인 개발자를 타겟으로 두었는지 아주 간단한 모델부터 차근차근 진행해 나가는 점이 인상적이었다. 그래서인지 콘텍스트가 왜 필요한지, 지연된 보상이 있고 없고 차이가 뭔지를 보다 직관적으로 확인할 수 있었다.

3. 아쉬웠던 점

이건 개인적인 부분이긴 하고 아직 강화 학습에 대해 많은 것을 알지 못하기에 언급하기 조심스러운 면이 있어 간단하게만 다루려 한다.

개인적으로 밑바닥부터 구현하는 과정을 좋아하는 편인데 이 책에서는 보편적인 독자의 흥미를 고려한 탓인지 그 기반 기술에 대한 설명을 넘어가는 경향이 있다. gym 라이브러리를 사용해 환경을 받아오는 과정도 매우 궁금했고 그게 꼭 필요한건지 없으면 어떻게 구현해야 하는건지 궁금했는데 이 부분보다는 gym 라이브러리를 활용해 어떻게 모델을 구현할 수 있는지에 초점이 맞춰져 있어 아쉬웠다.

더불어 각 장에 나오는 코드의 실행 결과가 시각적으로 충분히 다가오지 않는 점도 아쉬웠다. 이는 물론 원 저자의 코드가 이랬기에 어쩔 수 없다고 생각되지만 에이전트가 작동하는 모습을 좀 더 시각적으로 표현할 수 있는 법을 소개하는 부분이 있었으면 더 좋지 않았을까 싶다. 책에서는 단순히 리워드가 얼마나 쌓였고 점수를 얼마나 획득했는지밖에 보이지 않아서 초반 흥미를 이어나가는데 아쉬웠던 점이 있었다.

4. 어떤 사람에게 추천하는가

강화 학습을 들어만 봤지 뭐부터 시작해야하고 개념도 잘 모르는 분들께 추천한다. 책 자체는 강화학습 입문서로 매우 훌륭하다고 생각한다. 이 책을 통해 각종 개념들에 친숙해지고 이리저리 개조해보면서 내가 해결하고 싶은 문제에 접목시키는 교두보로 삼기 충분한 것 같다.