티스토리 뷰

생활/책

[책] 강화학습 첫걸음

Jaeyeon Baek 2018.02.17 18:43

한빛미디어 기계학습 첫걸음 계보에 또 한권의 책이 추가되었다. 보통 기계학습이라고 하면 비지도학습, 지도학습, 강화학습, 이렇게 세 가지로 구분해서 이 야기한다. 이번책은 "강화학습"에 대한 이야기를 풀어내는 강화학습 첫걸음이다. 그간 첫 걸음 시리즈를 무척 유익하게 봐왔었기 때문에 이번책에 대한 기대 또한 상당했는데 역시 만족스러웠다.

강화학습 첫걸음 - 아서줄리아나 지음 송교석 옮김

위에 책 사진만 보면 상당히 얇기 때문에 거부감이 없겠다. 하지만 이 책은 "강화학습"에 대한 첫걸음이지 기계학습에 대한 첫걸음 책이 아니기 때문에 다양한 사전지식을 필요로 한다. 기본적으로 python, TensorFlow, 기계학습, 약간의 수학적 지식에 대한 부분은 어느정도 감이 있는 상태에서 시작하는 것을 권한다. 아래는 이러한 부분을 채워줄 수 있는 한빛미디어에서 발간된 첫걸음 시리즈다.

한빛미디어 첫걸음 시리즈

책의 내용을 살펴보면 멀티암드 밴딧(multi-armed bandit) 문제를 시작으로 마르코프 결정 과정(MDP) 문제를 순서대로 다룬다. 이어서 곧바로 강화학습 문제를 푸는 Q 러닝의 기본에 대해서 다루고 더 진보한 딥 Q 네트워크(DQN) 를 설명한다. 끝으로 강화학습 분야에서 가장 뛰어난 성능을 보이는 비동기적 어드밴티지 액터-크리틱(A3C) 기법에 대해서 설명한다.

책의 모든 예제는 GitHub 에 있기 때문에 쉽게 다운로드 받고 필요시 issue 를 제기할 수 있다. 하지만 언제나 강조 하듯이 백문이 불여일타. 웬만하면 직접 예제를  타이핑하며 공부하는 방식을 추천한다. 그래야 오래 기억에 남고 코드가 눈에 들어온다. (아이러니 하지 않나? 손으로 코드를 타이핑하는데 눈에 들어온다니. 사실 실습코드를 제공하는 대부분의 프로그래밍 책이 그러하다)

강화학습 프레임워크

강화학습의 기본이 되는 프레임워크에 대한 다이어그램이다. 액션(action), 보상(reward), 상태(state), 에이전트(agent), 행위(action) 이 다섯개의 용어는 강화학습 분야에 항상 따라다니는 단어이므로 필수로 익혀두도록 하자. 강화학습 관련된 어떤 자료를 봐도 통일되어 사용 되는 단어다.

책을 읽어내려가다 보면 아래와 같은 수식을 종종 보게 된다. 강화학습을 맛만 보려는 사람은 흘려넘어가도 전체 큰 프레임에는 크게 지장이 없지만 사실 그렇게 해서는 다른 문제를 딥하게 접근하는데 어려움이 따른다. 내 경우에는 그나마 다른 첫걸음 시리즈에서 이미 수학적 이야기를 많이 봤기 때문에 그나마 살짝 이해하며 넘어갈 수 있었다.

수학적 이해가 필요하다

책의 후반부에 가면 추억의 게임인 둠을 강화학습 하는 것에 대한 내용도 다루기 때문에 뭔가 어렵게 읽고나면 보상(reward) 받는 기분이 든다. 사실 기계학습을 전공으로 해도 분야가 다르면 강화학습을 건드릴 일이 없을 수도 있다. 하지만 앞으로 많은 분야에 기계학습이 도입될테고 강화학습에 대한 기대치도 계속 높아지고 있기 때문에 미리 이 책으로 맛보는 것은 훌륭한 선택이겠다. 혹시 이 책이 어렵게 느껴진다면 홍콩과기대 김성훈 교수님의 유튜브를 함께 보도록 하자.  이해를 도울 수 있을 것이다.


"이 책은 신경망과 경사하강법 등 머신러닝 기술에 어느 정도 익숙한 독자를 대상으로 쓰였습니다" 라는 본문의 내용처럼 "첫걸음" 시리즈지만 첫걸음처럼 느껴지지 않는 그런 책이다. 강화학습이라는 것 자체가 기계학습의 한 분야라서 지도학습 등 다른 분야에 어느정도 지식이 없으면 읽을 수 없는 것이 마땅한 이치다. 그렇기 때문에 책의 난이도로 서평을 하기는 어려울 것이다. 적어도 이 책은 강화학습에 대한 전반적인 내용을 충실히 다루고 있으며 예제를 통해 실습을 도와주고 있기 때문에 좋은 귀감을 준다. 다만 아쉬운 점이 있다면 첫걸음 시리즈에 맞게 컬라였다면 어땠을까? 송교석님이 앞서 옮기신 신경망 첫걸음을 보면 컬러책이 주는 버프를 포기하는 것이 쉽지 않다는 것을 알 수 있다.


댓글
  • 프로필사진 지나갑니다. 좋은 글 잘 읽었습니다. ^^
    첫걸음 시리즈 잘 봤었는데 강화학습도 시도해 봐야겠네요.
    참고로, 5가지 용어 설명할 때 액션이 두번 나왔습니다.
    하나는 환경으로 바뀌어야 할 듯 합니다.
    2018.10.23 21:06 신고
  • 프로필사진 BlogIcon Jaeyeon Baek 답변 감사합니다. ^^ 2018.11.06 09:13 신고
댓글쓰기 폼