그림으로 이해하고, 엑셀로 확인하는 딥러닝 수학 기본
처음 배우는 딥러닝 수학
(와쿠이 요시유키, 와쿠이 사다미 지음, 한빛미디어)
제목 : 처음 배우는 딥러닝 수학
저자 : 와쿠이 요시유키, 와쿠이 사다미
역자 : 박광수(아크몬드)
발행 : 초판 4쇄 발행 2019년 11월 19일
펴낸곳 : 한빛미디어
- 한빛미디어에서 주관하는 <나는 리뷰어다> 활동으로 제공받은 책을 통해 작성된 서평입니다.
- 출판사에서는 책 외에 다른 어떤 것도 제공받지 않았습니다.
- 이 책을 읽고 느낀 점들은 서평단 활동과 상관 없이 예전 부터 읽고 싶었던 책을 읽은 저의 주관적인 생각들을 솔직하게 적은 것이며, 3자의 시각에서 객관적으로 작성하려고 노력하였습니다.
이름만 들어도 어려운 딥러닝, 게다가 수학이라니!
딥러닝에 대한 관심을 가지고 여러 책들을 참고하며 공부하고 있습니다. 조금 더 과거로 거슬로 올라가면 딥러닝을 공부하기 위해 파이썬의 기초를 공부했고, 인공지능에 관한 기초 지식을 다룬 책들도 봤습니다. 물론 각각의 책들은 저마다의 장단점이 있었습니다. 책을 쓴 목적에 따라 강조하고 있는 지점들이 다르기 때문이었죠. 어떤 책들은 딥러닝의 원리에 대해 구체적으로 다루었고, 또 어떤 책들은 코드를 구현하는 방법에 대해서 자세히 다루기도 했습니다.
이번에 읽었던 이 책 <처음 배우는 딥러닝 수학>은 조금 더 목적이 확실한 책입니다. 딥러닝의 원리를 이해하는 것! 그 중에서도 수학적인 원리를 이해하는 데 주 목적을 두고 있습니다.
역자의 말처럼 이 책은 "딥러닝의 핵심인 신경망에 주목"하고 있습니다. "신경망의 원리"를 자세히 다루고 있습니다. 다시 말해 신경망을 기술적으로 구현하는 것보다는 신경망이 어떤 원리로 작동되는지에 대해서 깊게 살펴볼 수 있습니다.
그리고 "고등학교 수준의 수학"을 알면 신경망의 기초를 이해할 수 있습니다. 물론 이 부분은 생각이 조금 다르긴 합니다. 지금의 우리나라 고등학교 수학 교육과정에는 들어있지 않는 "편미분", "행렬" 같은 부분이 들어있어서 평범한(?) 고등학생이 보기에는 버거울 수 있습니다. 쉽게 설명하려 애썼다는 정도로 이해하면 좋을 듯 합니다. 쉽게 표현하려고 애썼다는 흔적이 곳곳에서 나타납니다.
보통의 딥러닝 책과는 다르게 파이썬에 대한 언급이 전혀 나오지 않습니다. 대신 기본적인 작동 원리를 엑셀을 활용하여 소개하고 있습니다. 재미있는 시도라고 생각합니다. 아쉬운 점은 엑셀 실습 부분이 많지는 않습니다.
책의 초반부(1장, 2장)에서는 신경망이 어떻게 동작하는지와 신경망을 이해하기 위한 기초적인 수학 이론에 집중해서 설명합니다. 출퇴근하는 차 안에서 천천히 읽어보아도 부담이 없을 정도로 짤막한 절(section)로 나뉘어 있었고, 설명도 친절했습니다.
앞에서 언급한 것처럼 수학적인 이론은 "고등학생 수준"이라는 것을 100% 믿지는 말아야 합니다. 나름 편미분 이후로 가면 상당히 어질어질할 수 있습니다. 그래도 다른 종류의 딥러닝 책들에 비해서는 수식을 쉽게 다루려고 노력을 많이 했습니다.
이후에 후반부(3장, 4장, 5장)에서는 신경망 최적화, 오차역전파법, 합성곱 신경망 등에 대해 다룹니다. 당연히 본격적으로 수식이 복잡해지기 시작합니다. 다른 것 보다 첨자가 많이 등장하면서 헷갈린다는 느낌을 받습니다. 따라서 처음 읽을 때는 의식의 흐름에 맡긴 채(?) 쭉 읽어보고 이후에 꼼꼼하게 분석하며 읽어보니 좋았던 것 같습니다. 그러다보면 어느 새 필기체 인식의 원리를 이해하고 있는 나를 발견하게 됩니다.
딥러닝을 공부하는 방법이나 목적은 사람마다 다르겠지요. 어떤 분들은 당장 실무에서 쓸 수 있는 알고리즘이나 라이브러리 활용법을 학습하는 게 필요할 수 있습니다. 그런 분들에게는 어울리지는 않는 책일 수 있습니다. 파이썬 이야기는 한 줄도 나오지 않거든요.
대신 이 책은 원리를 이해하는 데 중점들 두고 있습니다. 특별히 수학적인 기술로 이해하고 싶은 분들에게 추천하고 싶은 책입니다. 예전에 읽었던 책 중에 <파이썬 날코딩으로 알고 짜는 딥러닝>이란 책이 생각납니다. 딥러닝의 원리에 대해 엄청나게 방대하고 자세하게 다루어서 감동(?)받았던 책입니다. 이 책도 딥러닝에 대한 원리를 중점적으로 다루고 있습니다. 대신 이 책은 딥러닝 알고리즘, 라이브러리를 활용하지 않고 알고리즘이 구현된 원리를 다루고 있습니다. 그러다보니 수학적 이해보다는 코딩 이해를 더 큰 목적으로 하고 있어서 머리를 쥐어짜며 읽었던 기억이 납니다.
이번에 읽은 <처음 배우는 딥리넝 수학>을 통해 수학적 원리를 어느 정도 이해했으니 <파이썬 날코딩으로 알고 짜는 딥러닝> 책을 다시 읽어보면 조금 더 이해의 폭을 넓히며 읽어볼 수 있지 않을까 기대가 됩니다.
딥러닝에 대한 수학적 원리를 쉽게 이해해보고 싶다면, 수학이 두려워서 시작해보지 못한 분들이라면 가벼운 마음으로 읽기 시작해보셔도 좋을 것 같습니다. (물론 뒤로 갈 수록 마음이 무거워지는 건 각오하시며...)
이 서평은 개인 블로그에도 정리되어 있습니다.
https://it4edu.tistory.com/155