이 책 표지를 보고 누구나 같은 생각을 하고 계실꺼에요.
앗! 이세돌과 알파고, AI...
혹시 이 책을 읽으면 나도 알파고 같은 바둑 봇을 만들 수 있지 않을까?
다운 받은 소스 코드를 그대로 실행시키면 바둑 봇이 잘 돌아갑니다.
우리가 그럴려고 이 책을 선택하려고 하는 것은 아니잖아요.
제가 생각할 때는 파이썬 중급, 강화 학습 중급자가 아니면, 다소 어려울 수 있습니다.
이 책에서 이제 처음 딥러닝을 하시는 분들을 위해 하나하나 설명하지 않습니다.
적절한 이미지와 설명이 들어간 것을 볼 수 있습니다.
이 책이 처음부터 바둑과 강화학습이라는 주제에 대해서 차근차근 설명하는 것은 맞습니다.
그런데, 그 구현체인 파이썬에 대한 설명이 대략적으로 나와 있습니다.
그래서, 파이썬의 초급 이상은 되어야 소스 코드 하나하나 뜯어서 이해할 수 있습니다.
케라스도 텐서플로 공식문서를 따라, 하나 하나 따라하고 익히셔야, 각 함수의 인수를 이해하실 수 있습니다. 간략하게 설명해주셨지만, 선수학습으로 케라스 책도 먼저 공부하시는 것을 추천드립니다.
문제는 강화학습인데, 바둑에 맞추어서 처음부터 잘 설명해주십니다. 강화학습의 여러 핵심 주제들이 바둑이라는 예제에 맞추어서 적절한 타이밍에 잘 들어가 있습니다.
그런데, 강화학습에 대한 일반 기초 이론적인 것들이 군데 군데 실습 때 등장하므로, 이론적으로 명확하게 공부해도 이해하기 어려운 기초 개념들이 사례에 그냥 녹아 있어 어~ 어~ 하면서 읽다가 보면, 왜 그 개념이 필요한지 놓칠 수 있습니다.
그래서, 강화학습 이론 책을 여러번 정독하신 후에, 이 책을 읽으면 아 내가 이해하기 어려웠던 이론적인 것들이 실제 이렇게 적용할 수 있구나 하는 해소감을 느낄수 있을 것 같습니다.
이런 기초적인 학습이 다 끝난 후에 딥러닝과 바둑을 보시면,
케라스 딥러닝 프레임워크로 바둑이란 것을 어떻게 컴퓨터에게 학습 시킬 수 있는 제대로 된 공부를 시작할 수 있을 것 같습니다.
저도 파이썬 공부가 약함을 느끼고, 다시 처음부터 소스 코드 하나하나 주석 달면서 코딩으로 강화학습을 배워보려고 합니다. 그러면 이 책이 주는 효용성이 매우 클 것 같습니다.
그리고 강화학습을 눈으로만 배우는 것이 아니라, 이 책의 실습 부록을 통해 클라우드를 통해 배포하면서, 실제 돌아가는 바둑 프로그램을 통해 배울 수 있습니다.
누군가에는 다소 어려운 책이 될 수도 있지만,
누군가에는 재미있는 도전이 될 수 있는 책 일 것 같습니다.
딥러닝, 강화학습을 배우시고, 어디에 어떻게 사용할지 고민하신다면, 이 책이 많은 도움이 될 것 같습니다. 바둑이지만, 하나부터 열까지 모두 들어 있는 느낌입니다.