각종 산업에서 AI 인공지능에 대한 인기는 날이 갈수록 치솟고 있다. 소위 떡상하는 IT분야로 많은 나라들이 미래의 먹거리 산업으로 집중 육성 기술로 다루고 있다. 그런데 AI에는 아주 큰 장벽이 하나 있다. 바로 수학이다. 간단히 인공지능 응용 툴을 사용한다면, 수학이 그렇게 많이 필요한가 이해되지 않을 수 있는데, 조금만 깊게 들어가거나, 응용 툴을 더욱 제대로 활용하려면, 인공지능에 관련된 수학 이해는 필수 사항이다.
프로그램 능력도 일정 수준 이상 올라가려면 많은 시간과 노력이 필요한데, 수학적 능력까지 요구하니, 각 나라마다 인공지능 인재 육성을 위해 다양한 정책을 펴고 있지만, 일반 프로그래머 양성과는 차원이 다른 어려움을 가지고 있다. 특히 이공 계통을 전공하지 않은 사람들은 더욱 어려울 수밖에 없다.
나도 개발자로 일하고 있어 전부터 인공지능, 신경망, 딥러닝에 대한 관심도 많았고, 현장에서도 인공지능 적용에 대한 이야기들이 많아지고 있어서, 틈틈이 이 분야 책을 보고 있는데, 나에게 수학 능력이 가장 약점임을 느끼고 있다. 수학을 전공했지만, 워낙 오래된 일이고, 인공지능은 통계와 함께 공업수학 같은 것이 더 도움이 되므로 따로 익힐 필요가 있었다.
이런 내 입장에서 '친절한 딥러닝 수학'은 신경망 관련 수학을 제대로 맛보게 해준 책이었다. 전에도 인공지능 수학 관련 책을 봤지만, 이 책은 결이 다르다. 보통 인공지능 수학 책을 보면, 다양한 주제를 대상으로 간단 간단하게 수학을 풀어나가는데, '친절한 딥러닝 수학'은 주제 하나하나를 아주 바닥까지 파보는 스타일의 책이다. 그런 만큼 신경망 수학이 어떤 것인지 제대로 맛볼 수 있다.
일단 '친절한 딥러닝 수학'은 이야기 전개 방식이 색다르다. 윤서, 지우, 도현이라는 3명의 등장인물이 나누는 대화를 통해, 신경망 이론을 배우게 된다. 만화로 된 인물 캐릭터가 각각의 대화 앞에 등장하다 보니, 만화를 보는 느낌이 강하다. 물론 아예 만화로 그려진 수학책 같은 것도 있기는 하지만, 책 속 내용을 다 만화로 구현했다면, 책 부피가 많이 두꺼워질 수밖에 없었을 것이다. 부피도 줄이고, 만화적 요소를 접목하기 위해 이런 방식을 선택한 것으로 보인다. 실제, 읽다 보면, 만화의 장면 같은 것이 자연스럽게 머릿속에 그려진다. 그리고 이렇게 만화적인 느낌을 주다 보니, 수학이라면 무조건 생기는 거부감이나 부담감 같은 것을 줄일 수 있다는 점이 강점인 책이기도 하다.
하지만 '친절한 딥러닝 수학'이 만화처럼 아주 쉬운 내용만을 담고 있는 책은 아니다. 분명 부담감을 덜어주고는 있지만, 시그마, 행렬, 벡터, 미분, 편미분, 지수, 로그 같은 것들을 사용하고 있으므로 수학 지식을 충분히 가지고 있어야 한다. 그래서 개인적으로는 책 뒤에 있는 부록편은 먼저 살펴 보기를 추천한다. 챕터 1을 조금 보다가 수학에서 뭔가 막히면, 부록에 나온 수학 설명을 보는 것이 좋다. 이것도 이해가 안 된다면, 별도로 관련 파트의 수학 책을 먼저 봐야 한다. 일반적으론 책 내용을 하나하나 따라가면서 보면, 충분히 이해할 수 있는 수준이다. 다만, 신경망의 입력층, 출력층, 은닉층과 같이 많은 요소들이 나와서 이걸 행렬에 긴 식을 시그마를 동원해서 계산을 하다 보니, 이래저래 복잡해지고, 그 과정 중에 수식의 길을 잃을 수 있다.
그래서 여기서 또 한가지 방법을 추천하고 싶다. 노트와 연필을 준비해서 책과 함께 같이 일일이 계산해보라고 말하고 싶다. 수학 공부하는 스타일이 저마다 다르겠지만, 내 경우는 이렇게 하나하나 해보는 것이 머리에도 오래 남고, 어떤 부분을 모르는지 확실히 찾아낼 수 있어 좋다. 학창시절 수학은 눈이 아니라 손으로 공부하는 거라고 선생님에게 들었는데, 나도 그런 경우라서, 눈으로 보면, 다 이해 한 거 같지만, 다시 풀어 보려면 대부분 안 되곤 한다. 아울러 '친절한 딥러닝 수학'에 나오는 용어나 개념을 노트에 정리해서, 지속적으로 인공지능 관련 내용을 쌓아 두면, 유용할 거라 생각한다. 나도 그렇게 하려고 정리하고 있다.
'친절한 딥러닝 수학'에서 다루는 주제는 기본적인 신경망 이해, 순전파, 퍼셉트론, 편향, 다층 퍼셉트론, 가중치 처리 방법, 활성화 함수, 역전파, 목적함수, 기울기 소실, 합성곱 필터, 교차 엔트로피와 같은 것들이다. 어찌 보면, 그리 많은 내용을 다루고 있는 것은 아니다. 그러나 이 책은 대충 언급하고 넘어가거나, 그림만 잔뜩 그려 놓고, 개념만 설명하고 끝나는 그런 책이 아니다. 한 주제, 한 주제, 아주 꼼꼼히 파고 들어간다. 수식을 어떻게 전개하고, 왜 이런 것을 하는지, 시그모이드 함수를 쓰는 이유나, 값을 왜 이렇게 잡아서 넣었는지, 이렇게 값을 주면 안 되는 이유, 어떤 문제가 있고, 어떻게 개선을 하는 것이 좋은지 등등을 아주 구체적으로 담고 있다. 다른 책에서 봤던 내용들도 있었는데, 그때는 그냥 그러려니 하며, 지나친 것들을 여기선 일일이 건드리고 있었다. 신경망 이론에 대한 수학적 이해를 좀 더 깊게 할 수 있는 책인 것이다.
이렇게 각종 그림과 수학 식을 통해 인공지능 신경망 이론을 깊게 이해하고, 마지막 단계로 파이썬과 넘파이를 이용한 프로그래밍을 하게 된다. 이 파트도 나에겐 좀 남다른 느낌을 받았다. 왜냐하면, 보통 접하는 프로그래밍 파트들은 그냥 수식을 바로 코드로 바꿔 보여주는 정도인데, '친절한 딥러닝 수학'에서는 다시 한번 앞에 것을 복습해가면서, 그 수식을 어떻게 파이썬 코드로 바꿀 수 있는지, 이렇게 해보고, 저렇게 해보는 과정이 마치 내가 실제 프로그래밍하는 것과 같은 느낌을 주었기 때문이다. 그러면서 이렇게 코딩하면 어려운 인공지능 이론도 직접 코딩으로 구현할 수 있겠다는 근거 없는 자신감도 느꼈다.
우리나라를 IT 강국으로 말하지만, 인공지능에 관해서는 현재 미국과 중국이 최강국이다. 활용 면이나 이론적으로 우리가 아직 많이 부족하다고 한다. 이런 격차를 줄이기 위해 인공지능 관련 수학적 기초를 확고히 다지는 것이 중요하다고 본다. 이런 거창한 국가적 의미를 떠나, 개인 프로그래머 입장에서도 인공지능, 신경망, 딥러닝을 제대로 활용하고, 프로그래밍 실력을 올리는데도 수학이 많은 도움이 될 것이다
그만큼 '친절한 딥러닝 수학'이 그 기초를 쌓는데 도움이 되어 줄 거라 생각한다. 제대로 된 신경망 이론 수학을 경험하고 구체적인 깊은 맛을 보고 싶다면, 이 책을 꼭 한번 보길 바란다. 아울러 '친절한 딥러닝 수학'과 함께 노트와 연필도 잊지 마시길.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."