이번에 한빛미디어 "나는 리뷰어다" 로 읽어 본 책은 한빛미디어의 딥러닝과 바둑 입니다.
2016년 알파고가 이세돌 9단과의 경기에서 4승 1패로 승리를 하게 되면서 인공지능의 무서움을 알게 되었는데요.
경우의 수가 19 * 19 = 361 에서 각각의 경우를 계산 해야 되기 때문에 361! 의 수가 나오고 이 수는 우주의 모래알 갯수 만큼이나 많은 경우의 수라는 것을 깨닫고 현존하는 기보를 암기해서 거기에 맞춰 게임을 할 수는 없다는 것을 알고 정말 스스로 생각했다는 것이 정말 놀라웠거든요.
책의 구성을 보면 위와 같이 1부 기초에서는 머신러닝의 기초를 배우고 첫번째 바둑봇을 만들어 보게 됩니다.
1부에서 만들어 본 봇으로 사람이 black(X) 봇이 white(0) 게임을 하는 모습입니다.
봇은 거의 랜덤하게 놓고 있지만 그래도 바둑의 규칙을 적용한 모습이네요.
아직은 미완성된 작품이지만 기본적으로 바둑의 규칙이 적용되어 사람과 봇의 대결하는 모습을 볼 수가 있습니다.
이러한 봇이 머신러닝과 결합하면서 점점 더 강해지는 것을 본다면 너무 멋질 것 같다는 생각을 해 보게 되네요.
2부에서는 신경망을 공부하고 신경망과 바둑을 접목하는 과정을 하나 하나 따라 해 볼수가 있습니다.
먼저 오늘날 딥러닝의 중심에 있는 알고리즘인 인공신경망(ANN)의 핵심을 알아보고 이러한 신경망을 바둑 데이터용에 어떤 식으로 적용할지 신경망을 설계해 보게 됩니다. 딥러닝 라이브러리 중 케라스를 이용해서 바둑의 수를 예측하고 어떤 수에 놓는 것이 가장 좋을지를 예측하고 분석하게 됩니다.
위의 그림예제를 보면 신경망을 이용하여 바둑돌의 다음 수를 예측하는데 필요한 정보를 뽑아 낼 수 있다는 것은 상당히 흥미로운 일이네요.
이러한 모델을 응용하여 KGS의 바둑대국 기록을 다운로드 해서 훈련을 시켜 보고 이러한 바둑봇을 인간의 대국기록을 통해 딥러닝 모델을 훈련시키는 부분은 인공지능이 어떻게 동작을 하는지 궁금해 하시는 분들에게 무척이나 도움이 될것 같네요.
또한 강화학습은 누가 이것이 올바른 길이라는 것을 알려 주는 것이 아니고 체험을 해 보고 이 길이 아닌가 보네 그러면 다른 길을 가보면 어떨까 하면서 모든 길을 다 가 보면서 점점 더 좋은 것을 경험을 통해 알아 가는 것처럼 이러한 봇을 지속적으로 훈련을 통해 약한 바둑봇이 강한 바둑봇을 만들어 가는 과정을 볼 수가 있는데요.
이러한 원리가 알파고의 원리라는 것이 참으로 신기 할 수 밖에 없었습니다.
이 책을 읽으면서 이 책에서 제공해 주는 모든 것을 다 깨닫지는 못했지만 정말 바둑이라는 무한한 경우의 수를 사람이 생각하는 것과 비슷한 방법으로 알고리즘을 추출해 나가는 것들을 바라보며 앞으로 배우고 나아가야 할 일이 정말 너무 많은 것을 느끼게 되었네요.
이 책은 500페이지 분량이지만 내용은 정말 무량대수 만큼이나 많은 내용을 담고 있는 느낌을 받았네요.
하지만 기회가 될때 한땀 한땀 코딩을 하면서 그 원리를 익히고 이 책에서 주고자 하는 원리를 깨닫는다면 바둑봇이 아닌 또 다른 인공지능 봇도 만들어 내지 않을까 하는 생각이 들었네요.
이 책은알파고의 탄생이 궁금하신 분들에게 정말 많은 도움이 될것같아요.
이 책의 목차나 상세 내용은 다음의 링크에서 확인 해 보실 수 있습니다.
https://www.hanbit.co.kr/store/books/look.php?p_code=B7283790591
시작은 미미할지라도 결과는 창대할것이다. 라는 성경 말씀이 귓가에 맴도는 느낌을 받았네요.
우리 학생들이 어떤 벽에 부딪혔을때 포기 하지 않고 그 벽을 뚫기 위해 노력한다면 그 철벽 같은 벽이 종이장 보다도 얇았다는 사실을 깨닫게 될것입니다.
어떤 벽이 있을때 그 벽을 여러각도에서 바라 보고 이쪽도 두드려 보고 저쪽도 두드려 보다 보면 반드시 그 벽은 뚫리게 될것이라는 사실~
벽에 막힌다고 좌절하고 포기 하지 말고 꾸준히 도전해서 승리하는 인생 되시길 응원합니다.
이 책은 한빛미디어 "나는 리뷰어다" 에서 제공받았습니다.
인천 서구 원당컴퓨터학원
'기타 > 도서리뷰' 카테고리의 다른 글
이것이 취업을 위한 코딩테스트다 (5) | 2020.09.17 |
---|---|
유닉스의 탄생 (6) | 2020.08.12 |
학교에서 알려주지 않는 17가지 실무 개발 기술 (156) | 2020.05.21 |
한빛 미디어 처음배우는 플러터 (310) | 2020.04.27 |
키트 없이 만드는 아두이노 (298) | 2020.04.23 |