How to study Machine Learning

 

데이터과학, 머신러닝, 딥러닝, 강화학습, 데이터마이닝 등 인공지능(AI) 분야에 처음 발을 들였을 때 무엇부터 공부해야하는지 참 막막했던 기억이 있다.
인터넷이나 책을 통해서 정보를 얻을 수도 있지만 가장 빠르고 좋은 방법은 주변에 있는 (준)전문가에게 찾아가 조언을 구하는 것이다. 대학생의 경우 관련 분야의 연구실에서 석/박사 과정에 있는 대학원생에게 묻는 것이 가장 현실적이다.

나 역시 대학원 선배가 알려준 기초과목부터 공부를 시작하여 대학원을 다니며 여기저기 학습자료들과 방법들을 찾아 다니고 있지만 정말 공부할 게 끝이 없다.. 그렇지만 그 중에서도 가장 필요하다고 생각되는 몇 가지만 선정해보았다. 여기에 기록된 것들만 제대로 공부한다면 어디가서 ML 허투루 배웠다고 욕먹지는 않을 것이다.


1. ICE BREAK

본격적으로 machine learning 공부를 시작하기 전, 짧게 어떤 학문/기술인지 살펴보는 시간을 가지는 것이 좋다.

  1. 모두를 위한 딥러닝(시즌 2)
    한국어로 된 딥러닝 강의의 시초인 홍콩과기대 김성훈 교수님의 강의에 이어 개설된 시즌 2 강의.
  2. 모두를 위한 RL
    알파고의 알고리즘으로 유명한 강화학습을 심플하게 학습해볼 수 있다.

2. 수학/통계

Machine learning은 통계학을 기반으로 하는 알고리즘으로 기본적인 수학적 토대 없이 기술만 공부하게 되면 결국 다시 돌아올 수 밖에 없다. 다행히도(?) 필수적으로 공부해야할 과목이 많지는 않다. 물론, 고등학교 수준의 수학은 기본.

대학생인 경우, 강의를 못한다고 온 동네 소문이 난 교수님이 아니라면 직접 강의를 수강하는 것이 가장 좋은 방법이다. 모르는 것이 생기면 바로 물어볼 수 있기 때문.

2.1 선형대수학

  1. 한양대학교 이상화 교수님의 강의
    온라인에서 무료로 들을 수 있는 가장 유명한 선형대수학 강의.
  2. 프로그래머를 위한 선형대수 (필수)
    선형대수의 이론과 실제를 연결해주는 최고의 서적.
  3. Essence of linear algebra (필수)
    시각화 원탑 3Blue1Brown에서 선형대수의 개념들을 시각화한 강의.

2.2 통계학

  1. Harvard Statistics 110
    온라인에서 가장 유명한 하버드의 확률론 강의.
  2. 부산대학교 김충락 교수님의 강의
    Machine learning의 기반이 되는 수리통계학 과목으로 2학기로 나누어져 있다.
  3. 프로그래머를 위한 확률과 통계 (필수)
    선형대수와 마찬가지로 이론과 실제를 연결해주는 최고의 서적.

3. Machine Learning

하루가 다르게 새로운 기술이 나오는 분야이기 때문에 classic하고 기본적인 것들만 책과 강의를 통해 공부하고, 실질적으론 논문들을 많이 찾아 읽고 구현하면서 학습해야 한다.

3.1 Machine Learning 일반

  1. Stanford Andrew Ng 교수님의 강의
    말이 필요없는 machine learning 최고의 입문 강의.
  2. 핸즈온 머신러닝 (필수)
    수많은 머신러닝 관련 서적들 중에서도 단연 최고의 교과서.
    선택지가 여러 개 있다면 역자인 박해선님이 담당하신 책 위주로 선택하는 것도 좋다.
  3. Introduction to Statistical Learning(ISLR)
    ESLR과 함께 machine learning의 근본책. ESLR은 사전지식이 많이 필요하고 내용이 과해서 비추천.
    번역서가 출판되기도 했지만 원서로 보는 것을 추천.

3.2 Deep Learning

  1. Stanford CS231n (필수)
    세계에서 가장 유명한 강의가 아닐까 생각될 정도로 전설적인 강의.
  2. 밑바닥부터 시작하는 딥러닝 (필수)
    Deep learning 근본책으로, high level API를 사용하지 않고 직접 딥러닝을 구현할 수 있다.
    밑바닥부터 시작하는 딥러닝2,3은 이후 필요에 따라 선택.
  3. Oxford Nando 교수님의 강의
    수학적으로 탄탄한 내공을 기를 수 있는 강의.
  4. Neural networks
    3Blue1Brown의 영상들로 1시간 내외로 볼 수 있다.
  5. Deep Learning
    Deep learning 근본책으로, deep learning의 기반이 되는 기술들은 이 책 하나로 정리할 수 있다해도 과언이 아니다.

3.3 Reinforcement Learning

최근 강화학습 알고리즘들은 기본적으로 deep learning model을 기반으로 하기 때문에 어느정도 machine learning 일반 및 deep learning에 대한 이해가 뒷받침된 다음 공부하는 것이 편하다.

  1. DeepMind & UCL 강의
    알파고로 이름을 알린 강화학습의 근본 DeepMind의 강의.
  2. Reinforcement Learning: An Introduction
    강화학습의 근본책으로 주로 sutton책이라 불리는데 Introduction 답지 않은 난이도를 자랑한다.
    위의 책(Deep Learning)과 마찬가지로 강화학습의 기반이 되는 모든 것을 담고 있다해도 과언이 아니다.