원문 링크


A beginner’s guide to the math that powers machine learning

 

역자의 말


  • 머신러닝 초심자, 혹은 머신러닝 및 딥러닝에는 어느 정도 익숙하지만 머신러닝 수학에는 익숙지 않은 사람들을 위해 머신러닝 수학에 입문하기 좋은 온라인 강의, 책 등을 추천하는 글 입니다.
  • 몇몇 수학 용어나 머신러닝과 관련된 최신 용어들은 우리말로 번역되지 않는 것들이 있어 일부 용어는 원문 그대로 제공됩니다.
  • 본 기사에서 소개한 추천 학습 리소스 목록을 문서 제일 하단에 정리하였으니 참고 바랍니다.

 

번역 글


머신러닝과 딥러닝에는 수학적 지식이 얼마나 필요할까? 혹자는 그다지 많이 필요하지는 않다고 말한다. 또 다른 사람들은 많이 필요하다고 말한다. 사실 양쪽 다 정답인 데, 이는 당신이 어떤 것을 이루고자 하는지에 따라 달려있다.

세상엔 여러분이 머신러닝을 자신의 애플리케이션에 도입하는데 도움을 줄 수 있는 정말 많은 프로그래밍 라이브러리, 코드 스니펫, 그리고 사전 훈련된 모델들이 존재한다.

하지만 머신러닝의 수학적 기초를 배제할 수는 없다. 여러분이 인공지능을 탐구하고 통달해나가는 과정 중에서, 언젠가 AI 논문과 머신러닝 학습서를 장식하는 길고 복잡한 수식을 이해해야 할 날이 올 것이다.

이번 글에서는, 내가 가장 좋아하는 머신러닝 수학 관련 학습 교재들을 소개하겠다. 예상컨대 머신러닝 수학에 대해 재미있다고 느끼지 못할 것이며, 다만 필자는 이 여정을 조금이라도 더 즐겁게 하기 위한 가이드라인을 제공하는데 최선을 다하고자 한다.

기초로 시작하기

수많은 머신러닝 책에서, -이 책은 선형대수학에 대한 실무 지식을 갖추고 있다-라는 이야기를 찾을 수 있다. 필자의 생각으로는 그보다도 훨씬 더 많은 지식이 필요하다. 선형대수학에 관한 광범위한 경험은 가히 필수적이다 — 머신러닝 알고리즘이 곧 벡터 공간과 행렬 수학 사이사이의 마지막 한 조각까지 쥐어 짜내기 때문이다.

또한 통계학과 확률에 대해서도 잘 알아야하며, 미분학과 적분학도 마찬가지다. 특히나 딥러닝에 더욱 몸담고 싶다면 말이다.

세간에는 이와 관련된 주제로 좋은 교과서, 온라인 교육 과정, 블로그가 제법 많다. 하지만 내 개인적인 추천은 칸 아카데미(Khan Academy)의 수학 교육 과정이다. 살만 칸(Salman Khan)은 서로 다른 수학적 주제에 대해 설명해주는 영상들을 종합적으로 잘 모아뒀다는 훌륭한 업적을 이뤄냈다. 거기다가 무료라는 점에서 더욱 더 좋은 교육 과정이라 할 수 있다.

비록 각각의 영상들(YouTube에서 시청 가능)이 별도의 주제를 다루지만, 이 과정을 처음부터 끝까지 소화해낸다면 더욱 더 풍부한 경험을 선사할 것이다.

필자는 특히 선형대수학(Linear algebra) 과정을 추천한다. 이 과정을 통해 당신에게 필요한 벡터 공간, 선형변환, 행렬 변환, 좌표계에 관련된 모든 것을 찾을 수 있다. 해당 교육 과정은 머신러닝 맞춤형 과정은 아니며, 대부분의 예제들이 2D 및 3D 그래픽 시스템에 관련된 예제들로 구성되어 있어 다차원 공간에서의 머신러닝 문제들을 시각화하기가 훨씬 수월해진다. 그렇지만 이런 예제들은 당신이 머신러닝 책과 논문들에서 마주칠 개념들과 동일한 개념들을 다룬다. 이 교육 과정에는 최소제곱법과 고유벡터 등 마치 숨겨진 보석과 같이 머신러닝에서 중요한 개념들이 있다.

미적분학(Calculus) 과정은 약간 더 세분화되어 있긴 하지만, 이미 탄탄한 기초를 갖췄으며 기술을 연마하고 싶은 사람들에게는 오히려 좋은 특징일 수 있다. 칸 아카데미에는 기초를 아우를 수 있는 사전 미적분학, 미분학, 적분학 교육 과정이 포함되어 있다. 다변수 미적분학(Multivariable calculus) 과정은 경사 하강법과 편미분과 같이 딥러닝에서 핵심적인 일부 주제를 다룬다.

칸 아카데미의 교육 플랫폼에는 통계학 과정도 여러 개 있는데, 이들 사이에서도 겹치는 부분이 여럿 있다. 여기 모두에서 확률 변수, 분포, 신뢰 구간, 그리고 연속적인 데이터와 범주형 데이터 간 차이점 등등, 데이터 사이언스 및 머신러닝에 필요한 일부 핵심 개념들을 다룬다. 필자는 베이즈 정리와 같이 머신러닝과 연관된 추가 자료를 갖춘 대학 통계 과정(College statistics course)을 추천한다.

한 가지 분명히 짚고 넘어가자면, 칸 아카데미의 교육 과정들은 수학 교과서와 학교 교육의 대체재가 아니다. 사실 이 교육 과정들은 실습 면에서 그다지 풍부하지는 않다. 그러나 예제는 아주 풍부하며, 대수학 기억이 가물가물한 사람들이 감 잡기에는 더할 나위 없이 좋다. 교육 영상에서 살만 칸은 아주 천천히 말하는데, 아마 영어 원어민이 아닌 보다 다양한 청중들에게 유용한 영상이 될 수 있도록 만들었기 때문일 것이다. 필자는 1.5배 속도로 영상을 재생하면서도 이해하는데 문제가 없었으니 영상 길이에 발끈하지 마시라.

머신러닝 수학에 특화된 책과 교육 과정들

기초 대수학과 미적분학은 머신러닝 세계의 수학을 수월하게 만들어 주기엔 충분하지 않다. 머신러닝 개념인 손실함수, 학습률, 활성화 함수, 차원 축소 등은 보통의 수학책에선 다루지 않는다. 여기에 대해서는 좀 더 특화된 교재들이 있다.

필자가 가장 좋아하는 것은 <머신러닝을 위한 수학(Mathematics for Machine Learning)>이라는 책이다. 세 명의 AI 연구자들이 집필한 이 책은, 여러분에게 머신러닝 알고리즘 속 서로 다른 구성 요소들의 작용을 탐구할 수 있도록 강력한 기초를 선사한다.

이 책은 두 파트로 나뉜다. 첫 번째 파트는 수학적 기초를 다루는데, 기본적으로는 선형 대수와 미적분학의 핵심 개념에 대한 복습이다. 저자들은 약 200 페이지 이상의 상당히 많은 자료를 다루기 때문에, 이 중 대부분은 1개 또는 2개의 예제로만 훑어보게 된다. 만약 여러분이 기초가 탄탄하다면, 첫 번째 파트는 읽기 수월할 것이다. 만약 여기서 이해하기 어렵다면, 어려운 챕터들에 대해 칸 아카데미 유튜브 채널에서 골라낸 영상과 함께 해 볼 수 있다. 훨씬 쉬워질 것이다.

책의 두 번째 파트는 머신러닝 수학에 집중한다. 회귀, 차원 축소, 서포트 벡터 머신(Support Vector Machines, SVM)과 같은 주제로 돌입한다. 인공 신경망이나 딥러닝 개념에 대한 설명은 없지만, 기초에 집중한다는 점이 곧 이 책을 아주 우수한 머신러닝 수학 입문서로 만들어 준다.

저자들은 웹 사이트에 다음과 같이 써 놨다 : “이 책에는 머신러닝 심화 기술을 다룰 의도가 없습니다. 이미 그런 책들은 많거든요. 대신에, 우리는 그런 책들을 읽는 데 필수적인 수학적 능력을 제공하는데 초점을 맞췄습니다.”

딥러닝에 대한 더욱 심화된 학습을 원한다면, 필자는 <딥러닝을 위한 수학 실습(Hands-on Mathematics for Deep Learning)>을 추천한다. 이 책 또한 선형 대수, 미적분학, 확률 및 통계에 대한 소개가 포함되어 있다. 또한 마찬가지로, 해당 파트는 그저 스스로의 기억을 다시 건드리고픈 사람들을 위한 것으로, 이 책은 기초 입문서는 아니다.

이 책의 진가는 두 번째 파트에 있는데, 이곳에서 다층 퍼셉트론, 합성곱 신경망(CNN), 순환 신경망(RNN)에 대한 수학에 진입하게 된다. 거기다가 이 책은 또 다른 중대한 개념들인 정규화(L1 및 L2 노름), 드롭 아웃 레이어 등등의 논리를 파고든다.

이러한 개념들은 여러분이 수많은 머신러닝 및 딥러닝 책에서 마주하게 될 개념들이다. 하지만 수학적 기초를 아는 것은 여러분의 머신러닝 모델의 성능 향상에 하이퍼파라미터(hyperparameter)가 어떤 역할을 하는지 더 잘 이해하는데 도움이 될 것이다.

보너스 파트에서는, 트랜스포머(Transformer)를 매우 효율적이고 인기 있게 만들어준 어텐션 메커니즘(attention mechanism), 오토인코더(autoencoders) 및 GAN(generative adversarial networks)과 같은 생성 모델, 그리고 전이 학습(transfer learning)의 수학적 개념 등등, 보다 심화된 딥러닝 개념을 파고든다.

머신러닝 수학은 언제 배워야 하는가?

물론 수학이 머신러닝에 대한 배움을 시작하는 데 가장 재미있는 길이 아니라는데 동의한다. 특히나 독학을 하고 있다면 말이다. 다행스러운 건 필자가 이 기사의 도입부에서 말했듯이, 여러분은 이중 적분, 편미분, 그리고 페이지 너비를 꽉꽉 채우는 수식에 모든 걸 쏟아 부어 가면서 머신러닝 학습을 시작할 필요가 없다는 것이다.

대신 데이터 사이언스 및 머신러닝에 대한 좀 더 실전적인 교재부터 시작해볼 수 있다. 좋은 입문서로는 <데이터 과학자가 되는 핵심 기술(Principles of Data Science)>이 있는데, 데이터 사이언스 및 머신러닝 기초에 대한 훌륭한 개요와 함께 파이썬 및 간단한 수학에 대한 실습 코딩 예제를 제공한다. 조금 더 심화된 또 다른 책으로는 <핸즈온 머신러닝(Hands-on Machine Learning)>과 <파이썬 머신러닝(Python Machine Learning)>이 있는데, 이 책들 또한 수학적 개념에 대해 좀 더 깊이 있게 다룬다. 유데미(Udemy)의 머신러닝 A-Z는 매우 직관적인 방식으로 코딩과 시각화를 엮어주는 온라인 강의다.

필자는 위에서 언급된 책과 교육 과정 중 한 두 개를 골라 시작하는 걸 추천하고 싶다. 이렇게 하면 머신러닝 및 딥러닝에 대한 실무 지식의 기초를 얻을 것이고 여러분이 수학적 기초를 마주할 준비를 하게 된다. 서로 다른 머신러닝 알고리즘들에 대해 확고하게 이해하게 되는 순간, 수학적 기초를 배우는 건 훨씬 더 즐거운 일이 될 것이다.

여러분이 머신러닝의 수학에 통달할 때쯤이면, 여러분의 모델을 보다 좋은 성능을 내기 위해 최적화하거나 변화시키는 새로운 방법을 찾는 게 수월해 졌다는 걸 깨닫게 될 것이다. 또한 딥러닝의 가장 최신 결과와 기술을 다루는 최첨단의 논문을 읽을 수 있게 되며, 이를 여러분의 애플리케이션에 도입할 수 있게 될 것이다. 필자의 경험에 따르면, 머신러닝의 수학이란 꾸준한 학습 경험이다. 늘 여러분의 실력을 연마할 새로운 방법들을 찾길 바란다.

이 기사의 출처는 벤 딕슨(Ben Dickson)이 발간한 TechTalks로, 기술 동향을 조사하고, 기술이 우리의 삶과 비즈니스에 어떤 영향을 미치는 지, 기술이 어떻게 문제들을 다루는 지를 다루는 간행물입니다. 그러나 저희는 또한 기술의 악영향, 신기술 활용의 더욱 어두운 면, 그리고 주의해야 할 것에 대해서도 다룹니다. 원본 기사는 여기에서 읽을 수 있습니다.


참고 자료) 추천 학습 리소스 목록

리소스(링크)종류구분
Khan Academy수학 교육 과정 전체온라인 강의수학 기초
선형대수학(Linear algebra)온라인 강의수학 기초
다변수 미적분학(Multivariable calculus)온라인 강의수학 기초
대학 통계 과정(College statistics)온라인 강의수학 기초
머신러닝을 위한 수학(Mathematics for Machine Learning)머신러닝 수학 기초
딥러닝을 위한 수학 실습(Hands-on Mathematics for Deep Learning)머신러닝 수학 심화
* 데이터 과학자가 되는 핵심 기술(Principles of Data Science)머신러닝 기초
* 핸즈온 머신러닝(Hands-on Machine Learning)머신러닝 심화
파이썬 머신러닝(Python Machine Learning)머신러닝 심화
Udemy머신러닝 A-Z온라인 강의머신러닝 기초

 

* 국내판 발간 있음

인쇄하기
이전
다음
1+

소요 사이트를 방문해주셔서 고맙습니다. 액수에 관계없이 여러분의 관심과 후원이 소요 사이트를 유지하는 데 큰 힘이 됩니다. 후원금은 협동조합 소요 국민은행 037601-04-047794 계좌(아래 페이팔을 통한 신용카드결제로도 가능)로 후원하실 수 있습니다.