티스토리 뷰

 4차 산업이란 말이 화두가 되면서 기술업에 종사하는 사람들이 최근에 가장 많이 듣는 주제들이 있다. 바로 딥러닝과 인공지능이다. 사실 통계학이나 기계학습에서 파생되어 온 내용이라 오래전부터 다뤄졌던 분야이기도 하지만, 최근에 이 기술을 응용한 서비스나 상품들이 사람들이 기대한 것보다 나은 결과를 보여줘서 더 주목받는 것 같다. 예를 들어 딥마인드의 알파고나 보스턴 다이나믹스의 아틀라스 의 경우만 봐도 정말 동작하는 모습을 옆에서 보면 소름이 끼칠 정도이다. 

 개인적으로 생각하건데 이런 포괄적인 범주에서 바라본 인공지능의 이점은 응용할 수 있는 분야가 참 다양하다는 것이다. 예전에는 단순히 미래의 값을 예측하는 regression 기법에 그쳤던 것이 이제는 의학 분야에서 질병을 진단하고 예측하는데까지 쓰이고 있다. 내가 있는 회사에서도 어떻게 하면 딥러닝 알고리즘을 통신분야에 접목시킬 수 있을까 연구하고 있고, 나오는 논문들도 살펴보면 그런 시도들을 많은 회사에서 다양하게 하고 있는 것 같았다. 

 근데 사실 말이 기계를 학습시켜서 "알아서" 하게끔 한다는 컨셉이지만, 실제로 이를 구현하는데는 수많은 수식 증명과 원리들이 사용된다. 지금까지 봐온 대부분의 기계학습 책들의 첫 주제가 Supervised Learning 중 Simple Linear Regression일텐데, 거진 1차원의 함수가 나오고 거기서부터 시작한다. 가장 간단한 알고리즘도 수식에서 출발하는 것처럼, 딥러닝이나 머신러닝, 인공지능도 수학에서 출발하는 것이 맞다고 생각한다. 물론 현업에서 응용하려면 하루빨리 tensorflow나 keras 같은 tool 사용법을 익히는 것도 중요하지만, 조금 시간적인 여유가 있는 사람한테는 근본적인 주제부터 다뤄야 조금더 응용의 폭을 넓힐 수 있는 발걸음이 되지 않을까 싶다. 아무튼...

 그런 의미에서 이번에 소개할 책은 타이틀부터 "수학"이 딱 들어가 있는 책이다.

이 책은 기존의 딥러닝 책과 접근 방식이 다르다.

 딱 보면 이 책은 제목부터 내가 앞에서 언급한 시대의 트렌드와 근본적인 주제를 담고 있다. 그래서 끌렸다. 나도 머신러닝이나 딥러닝에 관심이 있어서 이것저것 봐오고 있지만, 제일 아쉬운 부분은 내가 과연 이런 걸 할만큼 수학을 하고 있는 거였다. (혹여나 이 글을 보는 대학 초년생이 있다면 꼭! 미분적분학이랑 선형대수학을 열심히 들었으면 좋겠다.) 그런 걸 채워줄 수 있는 책이라 여기고 이 책을 선택했다. 

 내용을 살펴보면 여타 딥러닝을 다루는 책과는 조금 접근 방식이 다르다. 우선 개발책이면 대부분은 흔히 많이 쓰이는 Python의 기본적인 문법을 소개하고, 이를 바탕으로 MNIST와 같이 많이 알려져 있는 예제들을 쭉 다뤄보는 형식으로 되어 있다. 그런데 이 책은 책의 절반이상을 딥러닝을 구현하는데 필요한 기본적인 수학적인 지식들에 대한 설명에 할애되어 있다. 물론 고등학교때 수학을 열심히 들었던 사람이라면 수열이나 점화식같은 개념이 쉬울 수 있겠지만, 딥러닝 학습때 필요한 개념인 gradient에 대한 설명이 잘 되어 있어 수학적으로 참고할 사람에게는 도움이 될 것 같다. 그렇다고 막 엄청난 수식으로 증명하는게 아니라, 그림과 예시로 잘 설명되어 있어 이해하는데 도움이 되었다.

엑셀로 딥러닝을 공부할 수 있을까?

 이 책이 다른 책과 차별성을 가지는 점은 바로 엑셀을 활용해서 딥러닝 수학을 설명하려 했다는 점이다. 대부분의 머신러닝/딥러닝 책들을 살펴보면 거의다 tensorflow와 keras를 활용하는 python, 혹은 예외적인 케이스로 octave나 matlab, R 등을 활용한다. 그런데 이 책은 정말 독특하게 모든 예제와 실습이 엑셀을 활용해서 진행되고 있다. 

심지어는 MNIST(모르는 사람을 위해서 첨언하자면 이 예제는 숫자를 표현한 사람의 필기체를 구분하는 대표적인 예제이다.) 같은 예제도 엑셀 형태로 구현되어 실습되어 있다. 물론 엑셀 자체가 일반 코드처럼 이미지를 dataset으로 받을 수 없기 때문에 각 칸을 픽셀이라 생각하고 진행된 부분은 있지만, 내용 구성이나 진행 방식은 정말 참신했다. 

 사실 아는 사람도 있겠지만 최근에 출시되고 있는 excel은 정말 다양한 기능을 포함하고 있다. 그 중에 이런 딥러닝쪽으로 활용할 수 있는 기능이 바로 solver 기능이다. 원래는 plugin 형식으로 되어있던 것이 최근 2013버전부터는 하나의 기능으로 포함되었다. 간단히 말해서 방정식의 해를 찾아주는 기능인데, 이를 활용해서 dynamic programming 같은 optimization problem을 해결하는데 사용할 수 있다. 책의 내용 중에도 살펴보면 나온다.

이 책을 보고 남는게 있을까?

남는거라... 내 생각에는 책을 읽으면서 남았던 것은 책에서는 신경망을 직접 엑셀로 실습하면서 그 과정을 실제로 익히는 과정이 딱 와닿았던 것 같다. 사실 코드도 어떻게 보면 직관적으로 설명하는 케이스가 되겠지만, 아무래도 이 책의 진행은 엑셀로 진행되다 보니, 그 과정 하나하나가 코드를 구현하는 것처럼 설명이 되고, 그게 엑셀의 하나의 function으로 표현된다. 그래서 function을 딱 보고 조금 복잡해보일 수 있을 수 있으나, 책에 있는 그림과 설명을 놓고 보면 이해하는데 도움이 될거라 생각한다. 다만 책의 전개가 좀 아쉬운 부분이 있다면, 아무래도 엑셀 시트를 놓고 설명하다보니 책의 상당 부분이 엑셀 시트로 채워지게 되고 그러면서 같은 시트가 반복적으로 나오고, 잘못 따라갔다가는 헷갈릴 수도 있을 법한 느낌이 들었다. 

 요약하자면 이 책은 여타 딥러닝 책과는 다르게 수학에 치중하고, 그 진행을 엑셀로 진행한 부분에서 조금 색다른 책이라고 표현할 수 있다. (사실 책의 내용에서 벗어나 엑셀의 다양한 기능에 대해서도 조금 다시 바라보는 계기가 되기도 했다.) 그래서 무작정 code만 따라가는 책만 보다 엑셀로 실습하는 책을 보자니, 뭔가 새롭다는 느낌이 들었다. 물론 기존의 방식에서 너무 어긋난 접근이 사람들의 반감을 자극할 수도 있겠지만, 이 책은 python을 잘 다루지 못하는 사람에게는 오히려 딥러닝의 근본적인 내용에 대해서 조금 더 쉽게 접근할 수 있는 여지를 주지 않을까 생각한다. 책의 소개에도 나와있는 것처럼 고등학교 수학으로 살펴보는 딥러닝 개념이기에 선수로 필요한 지식도 없이 쉽게 읽을 수 있는 책이다. 어쩌면 정말로 딥러닝을 무수한 수학적 공식과 증명을 통해서 공부하고 싶은 사람에게는 이 책에서 설명하는 수학의 지식이 조금 얕을 수 있겠지만, 그래도 개인적으로 생각하기엔 책이 담고 있는 내용 자체는 출판사에서 시리즈로 출판하고 있는 "처음 배우는" 책들의 목적에 부합한다고 본다. 무엇보다 대학교 초때 다뤘던 수학 지식을 지금에서야 다시 볼수 있는 기회가 생겨서 좋았다.

< 해당 포스트에서 다루고 있는 "처음 배우는 딥러닝 수학"은 한빛미디어로부터 지원을 받고 이에 대한 서평을 쓴 것임을 알려드립니다.>

댓글