-
-
처음 배우는 딥러닝 수학 - 그림으로 이해하고 엑셀로 확인하는 딥러닝 수학 기본
와쿠이 요시유키.와쿠이 사다미 지음, 박광수 옮김 / 한빛미디어 / 2018년 2월
평점 :
요즘 아주 핫한 IT 분야를 말하라고 한다면, 나는 단연 인공지능을 꼽을 것이다. 한동안 그 발전이 지지부진했던 이 분야가 얼마 전 알파고와 인간과의 바둑 대결을 통해 알 수 있었듯이, 이제는 모두가 놀랄 만큼 쑤욱 성장했다. 특히 인공지능의 한 부분인 기계학습, 딥러닝은 산업현장뿐만 아니라, 각종 인터넷 서비스, 자율주행차, 마케팅, 금융, IoT 등 다양한 분야에서 폭넓게 사용되고 발전하고 있는 상황이다. 이젠 더 이상 사람이 명령하고 입력한 그대로만 실행하는 것이 아니다. 기계 스스로 학습을 하며, 어떤 게 좋을지 스스로 판단을 하는 상황이 되었다.
그러고 보니 재미있게도, 이젠 기계도 사람처럼 공부하며 배우는 세상이 된 것이다. 그런데 기계는 어떻게 배울까? 기억이란 기능은 공책에 글을 쓰는 거와같이, 기억 장치에 글을 저장하면 되는데, 기계는 어떻게 학습이 가능한 것인지 쉽게 떠오르지 않는다. 과연 어떤 원리로 컴퓨터가 사람처럼 학습하는 걸까?
그 궁금증을 '처음 배우는 딥러닝 수학'이 해결해준다. 이 책은 딥러닝의 기초를 상세히 알려주는 책으로 특히 딥러닝을 제대로 이해하기 위해서 꼭 필요한 도구인 수학을 중점 해서 다루었다.
사실 인공지능 쪽은 수학이 거의 모든 것이라 할 수 있다. 보통, 프로그래밍을 배우면서, 알게 되는 각종 알고리즘에 적용되는 간단한 수학이 아니다. 더욱이 딥러닝에 빅데이터까지 적용되면, 수준 높은 통계학도 알아야 한다. 그만큼 수학적 능력이 딥러닝을 이해하는데 필수라 할 수 있다. 그래서 딥러닝을 깊이 있게 아는데 수학이 큰 장벽이라고 하는 것이고, 이로 인해 많은 이들이 딥러닝 배우기를 포기한다. 특히 이공계통을 전공한 사람이 아니라면, 더욱더 부담이 될 것이다.

하지만 그렇다고 아예 겁먹을 필요는 없다. 이 책에서는 딥러닝을 제대로 이해할 수 있게, 아예 2장에 고등학교 때 배운, 수열, 시그마, 미분, 벡터, 행렬과 같은 것을 다시 설명하고 있다. 그리고 이를 토대로 좀 더 확장하여, 편미분, 다변수 함수, 경사하강법, 회귀분석과 같은 이 책에 꼭 필요한 수학을 배우게 된다. 책을 보면 알겠지만, 각종 수학 기호로 인해 어려워 보이지만, 실제로는 그리 어렵지는 않다. 다만 이해를 위해 차분히 읽어가는 인내심은 좀 필요하다.

이 책은 딥러닝의 가장 기초라 할 수 있는 신경망에 대한 자세한 설명으로 시작된다. 그리고 신경망의 구조를 쉽게 알 수 있도록 그 과정 하나하나 그림으로 나타내어, 누구나 좀 더 쉽게 이해할 수 있게 하였다. 이런 도해식 설명은 1장뿐만 아니라, 책 전반에 적용되어 있어서 내용 이해를 크게 돕고 있다.

아울러 책 속 딥러닝 적용 사례들은 그 알고리즘을 엑셀로 작성하여, 복잡한 프로그래밍과 같은 불필요한 과정 없이 시각적으로 단계별 계산 과정을 바로 확인할 수 있다. 필요에 따라서는 엑셀로 된 것을 프로그램으로 변환하여 얼마든지 활용할 수 있을 것이다.

'처음 배우는 딥러닝 수학'은 신경망의 기초 설명으로 시작해서 오차전파법, 합성곱 신경망까지 다루는데, 읽다 보면, 기계가 어떻게 학습하는지 점점 윤곽이 드러난다. 학습이라는 기능을 단순화하면, 결국 무언가를 구분하는 기능이라 할 수 있다. 딥러닝은 결국 패턴 비교를 통한 필터링으로 그 차이를 찾아내는 것이라 생각한다. 사람의 뇌에서도 이렇게 작용하는지는 잘 모르겠으나, 컴퓨터가 0, 1을 인식해 가는 과정을 보면, 뇌도 크게 다르지 않을 거 같다는 생각을 해본다.
'처음 배우는 딥러닝 수학'을 보고, 다른 딥러닝 책을 보니, 전과 달리 쉽게 느껴진다. 이 책이 그만큼 딥러닝의 기본적인 주제를 다루고 있고, 딥러닝을 이해하기 위한 기초적인 수학적 토대를 다져 줘서 그런 거 같다는 생각을 한다. 그만큼 큰 도움이 되는 책인 것이다. 물론 딥러닝을 활용하는 데 있어서, 여러 수학 공식을 써가며 이렇게까지 딥러닝을 깊이 있게 알지 않아도 된다. 기존의 각종 툴이나 라이브러리를 사용해도 얼마든지 딥러닝 기능을 활용할 수 있다. 하지만, 경험 많은 개발자라면 최종적으로 그 깊이의 차이가 얼마나 큰지 잘 알고 있을 것이다. 실제 딥러닝 활용에 있어서도 좀 더 명확한 기준이 생길 것이다. 그러므로 딥러닝에 관심이 있는 사람이라면, 적어도 한 번쯤은 기초부터 튼튼히 파고 들어가 볼, 충분한 가치가 있다 생각한다.