|
우선 제이펍 서평단 이벤트에 응모해서 작성한 리뷰임을 밝힙니다. 책을 무상으로 보내주셨고 서평작성과 SNS 포스팅 이외의 다른 의무사항은 없었습니다.
이 책은 강화학습이라는 인공지능 중 기계학습(머신러닝)의 한 분야에 대한 책입니다. 인공지능의 여러분야 중에 이미지 식별이나 언어처리 기계학습과 달리 강화학습은 주어진 환경에서 최적의 행동을 학습으로 찾아가는 지능을 주요 주제로 하고 있습니다. 강화학습이 생소하시다면 알파고나 자율주행차를 생각하시면 되겠습니다. |
|
내년부터 강화학습으로 제어를 하는 연구실에 진학할 예정인 학생입니다! 좋은 책의 서평이벤트에 참여할수 있게 되어 영광입니다. 작년부터 강화학습을 약 10개월긴 공부를 했습니다. 작년까지만 해도 강화학습에 관련된 책이나 자료가 부족했지만 올해 질과 양에서 퀄리티 있는 책들이 출간되고 있습니다. 단단한 강화학습 및 unity를 활용한 강화학습을 가볍게 읽어봤지만 이번 책은 앞의 책과 다르게 이론과 프로그래밍 구현을 모두 잡은 책입니다. 강화학습을 처음 배운다면 두말할 필요없이 좋은 책이라 생각되며 이미 강화학습을 배운 분들도 리마인드 하기 좋은 책으로 여겨집니다. 강화학습의 핵심 알고리즘들을 폭넓게 다룬것이 좋았습니다. 이 책을 읽는다면 여타 다른 여러책보디 실질적으로 큰 도움을 줄 책이라 확신합니다. |
|
머신러닝이 인기 트렌드를 끌고 오랜시간이 되고 있다. 국내는 물론 전세계적으로 인공지능 관련 기술을 연구 및 개발하는 기업/연구소/학교가 많으며, 특히 글로벌 거대기업들인 구글/마이크로소프트/삼성 등에서 가장 선두적으로 연구/개발이 진행되고 있다. 머신러닝의 인기에 힘입어 많은 인공지능 관련 책들이 출간 되었다. 대체로 인공지능의 기술은 크게 3가지(Supervised Learning, Unsupervised Learning, Reinforcement Learning)로 나누어 설명하는 경우가 많았다. 인공지능에 대한걸 처음 공부했을때, 다른 기술보다 Reinforcement Learning(강화학습)의 개념이 가장 이해하기 쉬웠고, 사람이 경험을 통해 배움을 얻는 것과 비슷하다고 생각했다. 또, 바둑의 알파고, 알파제로와 스타2의 알파스타의 경기를 실시간으로 지켜보면서 강화학습에 대한 공부를 해보고 싶었다. 머신러닝 기술이 발전하면서 머신러닝의 입문을 쉽게 할 수 있는 다양한 툴과 프레임워크가 개발되었고, 이에 따라 많은 개발자와 입문자들이 머신러닝에 대해서 이해하고 공부할 수 있게되었다. 하지만, 강화학습은 개념은 다른 기술에 비해 어렵지 않지만, 좀더 깊게 공부하기 시작하면 입문이 어려운 기술임을 알 수 있다. 강화학습을 구현하기 위해서는 미적분과 확률이 난무하는 높은 수학적인 허들과 학습/경험을 위한 "환경(Environment") 구현이 존재한다. "심층 강화학습 인 액션" 은 강화학습 자체에 대한 것은 물론 좀더 다양한 활용을 위한 심층 강화학습 기술을 위한 이론/실전서 이다. 이 책의 가장 큰 장점은 쉬운 해설과 실전코딩이라고 볼 수 있다. 수학적인 내용을 최대한 줄이고 강화학습을 쉽게하려는 저자의 노력이 옅보인다. 또한 머신러닝 프레임워크 중 가장 간편한 파이토치 기반으로 하기 때문에 입문자들에게 가장 좋은 책이라고 생각한다. 동일한 출판사에서 출판한 "단단한 강화학습"은 강화학습을 위한 이론을 중심으로 단단한 밑바탕을 위한 책이라면, 이 책은 최대한 수학적인 내용을 줄여 입문자들이 쉽게 진입할 수 있고, 파이토치 기반의 강화학습 실전 코딩을 통해서 단단한 입문 및 실전을 할 수 있는 책이다. 강화학습은 지금도 계속 연구 및 개발이 진행되고 있는 매력적인 기술이다. 또한 높은 활용도를 가지고 있고 사람들이 흔히 생각하는 "인공지능" 기술에 가장 부합하는 기술이라고 생각한다. 이 책은 강화학습을 입문하고 싶은 많은 사람들에게 좋은 길라잡이 역할을 할 것으로 생각한다. |
|
한국에 Deep Reinforcement Learning 공부책이 부족한데 그 몇 없는 책들 중 아주 이해하기 쉽게 잘 설명을 해주었습니다. Reinforcement Learning에서 Deep Neural Network가 어떻게 도입돼고 활용되는지를 Pytorch 기반으로 깔끔하게 설명이 돼 있습니다. 수학적으로 또한 설명을 잘 해놓았습니다. |
|
강화학습은 배울 것이 너무 많고 하나하나 난이도 끝판왕급의 지식들로 이루어져 있기에 배우기 어렵다. 수학과 기본 지식을 어느정도 통달하지 않고서는 원서나 논문 중심으로 지식을 학습한다는 것은 불가능에 가깝다. 결국 한글로 쓰여진 책들의 도움이 간절한데 안타깝게도 한글로 강화학습을 다루는 책은 매우 드물다. 강화학습을 익혀 나만의 알파고를 구현하고자 시중의 서적을 모두 구매하여 보유하고 있었는데 일부 훌륭한 책도 있으나 조금씩 아쉬운 부분도 있었다. 그런데 최근에 들어 반갑게 본 도서를 만날 수 있었다. 이 책의 큰 장점 중 하나로 국내 서적 중 유일하게 강화학습의 기본에 충실하기도 급급한 처지이지만 개인적으로 한단계 뛰어넘는 최신 성과들을 접해보기라도 하고 싶었는데 이 책이 가려운 구석을 긁어주어 얼마나 시원했는지 모른다. 아직 모든 것을 정확히 이해한다고 자신할 수는 없지만 유전 알고리즘을 구현하는데 크게 어렵지 않았기에 절반의 성과는 거둔셈이라 스스로 위안을 삼고 있다. 보다 새로운 기법에의 접근을 가능하게 해준 이 책에 매우 고마움을 느낀다. 수학을 열심히 공부했고 좋아하지만 고수라고 감히 말할 수는 없는 입장에서 그나마 최신기술의 맛을 볼 수 있었던 이유는 이 책 덕분인데 책에 어떤 특징이 있어 가능했는지 설명하는 것이 이 책을 읽을 독자분들께 도움이 될 것이라 생각하여 간단히 정리해 본다. 우선 이 책은 제목에서 알 수 있듯 유명한 “in Action” 시리즈 중 하나이다. 인 액션 시리즈는 IT, AI 영역을 가리지 않고 대부분 양서들로써 이런 특징때문에 독자 각자의 처지에 따라 책의 호불호가 갈릴 수는 있겠지만 기본적으로 이 책을 읽어본 독자라면 양서에 가깝다는 판단에는 대부분 동의할 것으로 생각한다. 만약 새로운 것을 창조해야 하는 연구자라면 이 책은 조금 부족할 것이다. 연구자가 아니라 잘은 모르겠지만 이 책에는 수식이 많이 등장하지만 여타 전공 서적에 비하면 수식이 적은 편이다. 대신 연구보다는 구현을 목적으로 하는 엔지니어라면, 또 빠른 시간내에 구현을 필요로 한다면 이 책은 가뭄의 단비보다 소중한 책이다. 지금 내 처지가 그렇다. 언제까지 강화학습의 기본 지식만 학습하거나 처음부터 수식을 들여다보기에는 너무 많은 시간이 필요하다. 개인적인 목표는 스스로 알파고를 구현하는데 있기에 필요 이상의 기초 지식을 원하지는 않는다. 이 책은 인 액션 시리즈 답게 하나씩 따라하다보면 구현을 통해 내부 메커니즘을 이해할 수 있는 구조로 되어 있어 구현 실력을 끌어올리는데 큰 도움이 되었다. 그렇다고 수학없이 코드로만 구성된 책도 아니다. 코드는 수학과 메커니즘을 이해하기 위한 의사소통 수단으로 쓰였을 뿐 그 자체가 목적이 되지는 않는다. 책에서도 언급하기를 수학 없이 강화학습을 익히는 것은 마치 부실공사에 가까운 기초가 허약한 상태에서 예제 코드를 흉내내는 이상의 의미를 부여하기 어렵다는 식으로 무의미함을 밝힌다. 개인적으로도 수학을 배제한 책이 얼마나 훌륭할까라는 생각이 들어 언젠가 부터는 수식이 등장하지 않으면 즐겨보지 않게 되었다. 그렇다면 이 책은 수식이 존재하는데 어떻게 수식을 이해시키고 구현 능력을 향상시켜 주는 것일까? 저자의 전달력도 한 몫 했겠지만 무엇보다도 큰 도움이 되었던 몇가지 독특한 방식이 있었기에 구체적으로 소개해보려 한다.
위와 같이 본 도서에는 학습 능률을 높혀주는 다양한 장치들이 소개되어 있다. 더불어 관련 논문을 집대성 한 후 개인적으로 바둑을 즐겨했고 그 안에 숨은 미묘한 감이 정량적으로 계산될 수 있다는 희망을 갖고 있었기에 이를 확인하고자 나만의 알파고를 만들기 위해 꾸준히 노력해 왔다. 여담으로 알파고를 만드는 일에 관심이 있다면 아래 리뷰들을 참고하면 된다. 이 책들 또한 알파고 뿐만 아니라 강화학습을 실전적으로 배우는 데 많은 도움이 되는 양서들이다. 이 책 덕분에 나만의 알파고 구현에 한 걸음 더 가까이 다가갈 수 있게 되었다. 더불어 번역의 질도 우수하다. 역자가 번역의 매끄러움을 위해 곳곳에 노력한 티가 보인다. 다만 일반적으로 흔히 쓰이지 않는 단어로 번역된 경우도 보인다. 예를 들면 learning rate는 보통 학습율로 번역이 되곤 하는데 본 도서에는 학습 속도라는 명칭으로 번역을 했다. 이런 부분들 때문에 때로는 생소한 느낌이 들긴 하지만 어차피 원어가 아닌 이상 보다 명확한 해석이 가능하다면 잠시 다른 시각으로 바라봄으로써 되려 전달력이 향상될 수 있는 장점도 있다. 다중 슬롯 머신을 굳이 여러 팔 강도라는 표현으로 번역한 것도 재미있는데 이런 큰 차이가 있는 부분은 역주로 따로 번역의 주를 달아놓았기에 전체적으로 이해하는데 무리는 없었다. 일반적인 서술 문구는 번역의 품질이 훌륭했다고 본다. 정리하자면 본 도서는 |
|
전체적으로 코드가 오래되어서 작동하지 않는 코드가 많습니다. 가장 먼저 gym 라이브러리가 바뀌어서 작동하지 않아 새로 짜는데 시간이 오래 걸렸습니다. 게다가 번역이 좀 어색하게 느껴졌습니다. 어텐션(attention) 모델을 주의 모형으로, self-attention은 자가주의로 번역한 게 좀 어색했습니다. 코드가 오래된 점 + 어색한 번역만 고쳐지면 좋을 것 같습니다. |