aul020***
2020-07-05

2016년 세상을 공포와 충격에 빠트린 알파고는 알파고 제로에 완패를 당해 쓸슬히 퇴역했다. 이런 알파고의 드라마틱한 역정을 지켜본 개발자라면 한 번쯤 인공지능 바둑봇을 만들고 싶다는 막연한 생각을 해봤을 것이다.
한빛미디어에서 나는 리뷰어다 활동을 통해 제공받은 책으로 작성되었습니다.
드디어 딥러닝과 바둑에 관한 책
몇 년 전에 뉴스에서 알파고 알파고 딥러닝 딥러닝 하길래 딥러닝에 관심을 갖게 되었다.
컴퓨터가 생각을 해서 바둑을 두고, 자신이 둔 경험을 바탕으로스스로 학습한다는 점만 해도 충분히 매력적이고 흥미로운 분야였다.
중학교 때 부터 딥러닝과 머신러닝에 관련된 책들을 찾아보며 언젠가 생각하는 컴퓨터와 바둑을 둘 날을 꿈꾸고있었는데 그때부터 출간되는 책들은 텐서플로로 머신러닝 하기 이런 책들이 대부분이었고, 대다수가 중학생머리로는 이해하기가 어려웠다.
그 후 신경망 첫걸음 책이 나오고 나서 나는 인공신경망을 조금씩 이해하기 시작했고, 혼자서 벡터, 미분에 관련된 책들을 찾아보며 공부하고 있었다.
이때쯤 인공지능 관련 수학책들이 나오기 등장했고, 그후 영어그대로 쓰는 자연어 처리 책이 나오더니 한국어 자연어 처리 책이 등장하고, GAN관련 책들이 나오기시작했다.
그렇게 요즘 딥러닝의 다양한 분야에 관한 책들이 나오기 시작하더니 드디어 바둑에 관한 책이 나왔다!
초등학교 저학년 때 바둑을 잠시 배우긴 했지만, 바둑이 쉽진않은 게임인 건 알고 있었다.
하지만 원래 어려운거 시키라고 컴퓨터 같은걸 만든거니까..
저자:
막스 펌팔라
인공지능 관련 회사 skymind.ai의 데이터 과학자 겸 딥러닝전문 엔지이너라고 한다.
동시에 딥러닝 플랫폼 aetros.com 공동 창업자.
케빈 퍼거슨
분산시스템, 데이터 과학 분야18년 경력자..
현재는 아너의 데이터 과학자고, 구글, 미보등에서 일하셨다고 한다.
두분다 오픈소스 바둑봇 베타고 개발자라고 나와있다.
나중에 베타고에 대해 더 찾아봐야할 듯
딥러닝 관련 도서인 만큼 책 초반에선 딥러닝과 머신러닝에 관한 내용도 설명한다.
예전 책들은 "딥러닝이 뭔진 알고 딥러닝에 관한 책을읽겠지?" 형식이라 딥러닝과 머신러닝의 정의에 대해 생략하거나 딥러닝의 쓰임새, 혹은 머신러닝의 기법들만 설명하는 책들이 많았는데 요즘들어 딥러닝은 머신러닝의 한 종류이고, 머신러닝의 종류에는 무엇무엇이 있다.. 이렇게 자세하게 설명하는책들이 많아지는 것 같아 좋은 것 같다.
자소서 같은거에 '딥러닝과 머신러닝에 흥미를 갖고' 라고 적으면 항상 "딥러닝이 뭔가요?" 라는 질문이 자주 나오는데 이럴 때 정확한 답을 하지 못할 뻔 한적이 있었다.
예전엔 관련 분야 종사자 대상인 경우가 많아서 자세한 정의나 설명이 생략된 경우가 많았는데 요즘엔 일반인들도많이 관심을 갖는 분야라 그런지 정의나 자세한 설명이 많아지는 게 느껴진다.
그리고 부록에선 수학과 역전파 알고리즘에 관한 설명이 포함되어 있다.
이미 공부했다고 해도 수학이란게 언제든지 햇갈릴 수 있는거다.
이책의 수학 관련 부록에선 수학만 설명하는 게 아니라 수학을 바로 파이썬으로 나타내서 설명한다. 복잡한 수식으로 나타낸 것 보다 보기 좋고, 바로 응용하기도 좋을것 같다는 생각이 들었다.
딥러닝에만 관한 책이 아니다보니 기본적인 역전파 알고리즘에 책의 초반에 많은 페이지를 할애하기엔 어려운점이 있다.
이미 딥러닝 관련 도서를 많이 읽어봤다면 자주 접했을 알고리즘이기도 하니까..
대신 바둑의 기본적인 룰과 바둑의 규칙을 파이썬으로 어떻게 나타낼지에 관해 설명한다.
대국 과정에서 일어나는 다양한 상황을 파이썬으로 나타내는거를 막상 해보려니까 너무 복잡해지는 것 같은 기분이들었다.
책에서 모든 기법을 나타낸 건 아닌 것 같은데 꽤 흥미로운 파트였다.
바둑돌의 위치나 현재 상황을 기록하고, 판단하는 프로그램만 만들어도다양한 분야의 게임 제작에 도움이 될 것 같다.
바둑의 경우엔 여기서 더 복잡한 이론이 추가되야 하지만, 이미격자 무늬 판에 돌을 두는 프로그램을 만들면 이거를 응용해 오목 같은 건 조금만 머리를 굴리면 가능할 것 같기도 하다.
그리고 결론적으로 이책은 딥러닝과 바둑에 관한 책이다.
나머지 중간 부분은 흔하게 볼 수 있는 mnist를 통한 학습에대해 공부하는데 이 책만의 독특한 점이라고 하면, 딥러닝에 관한 내용이 하나 나오고 나면 바로 바둑에연관지어 조금씩 프로그램을 완성해 나간다.
그렇게 어떻게 알파고 같은 바둑 프로그램을 만드는지에 대해 배우고 나서 부록의 마지막 부분을 통해 아마존 AWS로 바둑봇을 호스팅 하고 온라인 바둑 서버에 직접 만든 바둑봇을 배포하는 과정도 나와있다.
시험기간과 겹치는 바람에 이책에 나온 모든 예제를 따라해 볼 수는 없었지만, 알파고 비슷한 무언가를 만들어 보는 것을 배우는건 상당히 재미있는 일 같다.
나중에 시간내서 끝까지 따라해 봐야겠다.
++표지가 왕년에바둑 좀 둔 중국인인 줄 알았는데 그냥 화려한 옷 입은 일본인이라고 한다.
별로 마음에 안든다.
원서 표지부터 이랬는지도 모르겠는데 한국에서 출판할 때는 개로왕과 도림스님을 표지모델로 쓰는것도 괜찮을것 같은데..
https://blog.naver.com/aul-_-/222021762031