[책 & 강의] 직접 보고 추천하는 머신러닝 & 딥러닝 & 관련 수학 총.정.리. (2021)


* 제가 직접 30% 이상 읽거나 수강한 (혹은 상세히 살펴본 뒤 읽으려고 구입했거나 킵 해놓은) 책과 강의에서 추천할 만한 것들만 정리한 목록입니다. 잘못된 내용이나 건의할 부분이 있다면 댓글로 남겨주시면 반영하겠으며, 시간이 지나 변경되거나 제가 새로 본 책이나 강의에 대한 내용은 주기적으로 업데이트하겠습니다.
2020.10 - 첫 게시
2021.03 - 입문(3), 중급(4) 추가 및 기존 자료 수정

 



1. 머신러닝 & 딥러닝 입문


[책] 밑바닥부터 시작하는 딥러닝 : 국내 이 분야 베스트셀러. 제목에서 알 수 있듯, 밑바닥에서부터 numpy만 활용해 기초적인 딥러닝 알고리즘들을 구현하면서 이해해볼 수 있다. 쉽게 잘 설명되어 있어 이름값을 한다. 파이썬에 조금 익숙해진 상태에서 보는 게 수월하다.

[튜토리얼] 파이토치로 딥러닝하기: 60분만에 끝장내기 : 딥러닝의 과정을 코드를 따라치면서 간단하게 맛볼 수 있는 소스 중에 이만한 것이 없다고 생각한다. 입문자라면 물론 제목에서 주장하는 60분보다 3~4배 정도 시간이 걸릴 수 있다. PyTorch 소개, 자동 미분, 신경망, CNN 모델 4개의 짧은 코스로 구성되어 있다. 파이토치 공식 튜토리얼(영어 버전)을 번역한 자료인데, 번역도 매끄럽게 되어 있다. 같은 홈페이지에서 다양한 종류의 다른 튜토리얼도 찾아볼 수 있다.

[강의] 모두를 위한 딥러닝2 : 한국어로 된 강의 중에 가장 유명한 강의가 아닐까 싶다. 짧은 시간 안에 전체적인 그림을 파악하기에 좋다. 시즌 1도 너무 좋지만, 실습 부분이 파이썬과 텐서플로우 모두 구 버전 기준으로 되어 있기 때문에 최소한 실습 파트는 시즌 2를 추천한다.

[강의] 코세라 Machine Learning (Andrew Ng) : 무료지만 수강확인증을 받으려면 돈을 내야 한다. 코세라에서 가장 유명한 강의 중 하나. 앤드류 응 교수의 친절한 설명을 따라 차근차근 가다 보면 정말 많은 것을 배울 수 있다. 내용과 설명이 간단명료하기 때문에, 용어들만 체크하면서 들으면 영어가 조금 부족해도 들을 만할 것이다.

[책] 파이썬 라이브러리를 활용한 머신러닝 : 사이킷런으로 머신러닝의 처음부터 끝까지 한 번 체험할 수 있는 가볍고 좋은 가이드 같은 입문서.

[강의] Neural Networks(3b1b) : 믿고 보는 3b1b의 신경망(뉴럴 네트워크) 강의. 시각화가 잘 되어있고 설명이 친절하다. 한국어 자막도 있다.

[책] 핸즈온 머신러닝 : 책 시작부터 머신러닝 프로젝트를 한바퀴 맛본 뒤, 주요 개념들을 하나씩 차근차근 소개하는 독특한 책. 베스트셀러다. 1판만 사놓고 조금 봤는데, 2판은 내용이 많이 추가되어서 나왔다고 한다. (가격도 많이 추가됨...)

[책] 케라스 창시자에게 배우는 딥러닝 : 하도 유명해서 도서관에서 빌려서 훑어봤는데, 확실히 케라스를 만든 분이 직접 쓴 거라 책의 구성과 코드 설명이 적재적소에 있는 것 같았다. 생각만큼 가벼운 책은 아니며, 딥러닝의 전반적인 개념 설명도 좋다고 들었다.

[블로그 연재] 비전공자를 위한 딥러닝 : 내가 입문할 때 그랬듯 "모두를 위한 딥러닝"도 어려운 비전공자분들에게 직관적인 설명을 드리고자 직접 연재했다. 그림으로 설명하며, 간단한 퀴즈를 풀면서 딥러닝의 큰 그림을 이해할 수 있다. 연재 중 출판사에서 제안이 와서 수락했고, 곧 책으로도 출판 예정이다.





2. 머신러닝 & 딥러닝 중급


[강의] 스탠퍼드 CS 231n : 가장 유명한 강의가 아닐까? <밑바닥부터 시작하는 딥러닝>의 저자도 책에서 이 강의를 가장 많이 참고했다고 한다. 명쾌하고 핵심적인 설명이 인상적이지만 스탠퍼드 고학년생을 대상으로 하는 강의인 만큼 쉽지는 않다. 역전파 수식을 설명하는 부분이 매우 명쾌해서 인상적이었다. 시간이 없다면 강의 노트만 봐도 도움이 많이 된다. 강의 노트 [한글] [영어]

[책] 단단한 머신러닝 : 한국에서는 잘 알려지지 않았지만, 세계적으로 떠오르는 AI 강대국 중국의 베스트셀러 <단단한 머신러닝>. 코딩보다는 수학적으로 엄밀하게 머신러닝 전반을 개괄하는 책이다. 쉬운 책은 절대 아니지만, 수식을 중심으로 차근차근 진행되는 설명을 따라가다 보면 많은 것을 얻을 수 있다. 정리 노트 보기

[책] 파이썬 날코딩으로 알고 짜는 딥러닝 : <밑바닥부터 시작하는 딥러닝>과 <파이토치 튜토리얼>을 좋게 봤다면 추천할 만한 책. 단층 퍼셉트론(Single layer perceptron)부터 시작해 로우레벨로 차근 차근 코딩해나가는데, 수식 설명도 잘 되어있고 코드에 대한 설명도 괜찮았다. 파이썬 (특히 객체지향 프로그래밍)이 아직 익숙한 분이 아니라면, 막히는 부분이 많을 것이라 판단해 "중급"에 추가했다.

[강의] 논문으로 짚어보는 딥러닝의 맥 (최성준) : 논문을 한 줄 한 줄 읽어주는 강의는 아니고, 주요 논문들에 나오는 개념들을 중심으로 풀어가는 강의다. 초중반부까지 빠르게 봤었는데, 그려가며 자세히 설명해주는 CNN 부분이 인상적이었다.

[오픈소스] Dive into Deep Learning : 온라인에 공개된 원서를 번역한 자료인데, 아직 모든 챕터가 번역되진 않았다. IST 대학원의 모 교수님이 강력 추천하신 자료라 저장했지만 아직 읽어보진 않았다. 딥러닝의 대표 알고리즘과 주요 논문의 수식들을 코드로 구현해보며 학습하는 책으로 보인다. 저자 직강이 존재한다. Deep Learning UC Berkley STAT-157

[책] 패턴 인식과 머신러닝 : 그 유명한 PRML(Pattern Recognition and Machine Learning)의 번역서. 원서는 온라인으로 공개되어 있다. 확률과 통계, 그리고 수학에 익숙하지 않은 분들은 고통받다가 수학 공부나 더 해야겠다는 결론을 내릴 수도 있다. (바로 내 얘기) 머피의 머신러닝과 함께 어딜 가도 항상 언급되는 머신러닝 계의 양대산맥 고전.

[책] 심층 학습(Deep learning) : GAN을 만든 이안 굿펠로 (패널 토론 리뷰), 딥러닝 거장 요슈아 벤지오 외 1명이 저술한 책으로, 비교적 최근(2016)에 나와 최근 이론들까지 어느정도 다루고 있다. 원서는 온라인으로 공개되어 있다. 제목에서 알 수 있듯이 전문 용어들을 한국어로 옮기려고 노력했는데, 호불호가 갈릴 수 있다. 1부가 관련 수학, 확률론, 머신러닝 기초로 구성되어 있고 2부가 본격적인 딥러닝인데, 2부로 넘어가기도 전에 어려운 수식들이 많아 킵해둔 책.

[유료 강의] 코세라 Probabilistic Graphical Models (Daphne Koller) : 확률 그래픽 모델들을 깊이 다루는 강의. 강사인 다프네 콜러는 앤드류 응 교수와 함께 코세라를 창립한 분이며, 이 강의 역시 앤드류 응의 ML 강의와 함께 코세라에서 가장 많은 학생들이 수강한 강좌 중 하나라고 들었다. 난이도도 높고, 딥러닝에서 대중적인 분야는 아니어서 관심 있는 분들에게만 추천한다.





3. 머신러닝 수학


[선형대수학 강의] Essence of linear algebra (3b1b) : 시각적으로 잘 이해되는 직관적 설명. 명불허전 3b1b의 선형대수학 큰 그림 파악에 좋은 가이드 강의.

[선형대수학 강의] 선형대수학 (이상엽) : 수학과에서만 배울 수 있을 법한 정말 수학적인 강의. 입문 강의지만 정말 의외로 깊고 도움이 많이 된다.

[선형대수학 책] 만화로 쉽게 배우는 선형대수 : 만화로 쉽게 설명하지만 그래도 전체적인 그림을 파악하기에 좋은 책. 나름 수식도 정리되어 있다. 정리 노트 보기

[선형대수학 책] 프리드버그 선형대수학 : 일반적으로 공대에서 사용하는 교재보다 수학적 깊이가 있는 전공서. 한국어로 된 강의도 존재한다. 선형대수학 - Friedberg (김영길)

[선형대수학 책] 딥러닝을 위한 선형대수학 : 유명한 길버트 스트랭 교수의 최신작. 선형대수학 기본서 한 권을 마친 학생들을 위한 딥러닝 수학을 다룬다. 원서 제목은 Linear Algebra and Learning from Data이며, 선형대수학을 빠르게 총정리하는 챕터 1 외에도 응용 선형대수, 최적화 이론, 확률론 등 다양한 수학이 다뤄진다. 저자 직강이 존재한다. MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning

[통계학 강의] 확률 및 통계 (한양대 이상화) : 확률과 통계를 제대로 가르쳐주는 강의. 수리통계학 범위에 해당하는 부분까지 어느 정도 깊이 들어간다.

[통계학 책] 프로그래머를 위한 확률과 통계 : 쉽게 설명하는 확률과 통계 입문서. 저자의 쉽게 설명하려는 방식이 조금 독특해 더 헷갈린다는 리뷰가 있었으니 더 찾아보고 판단하는 걸 추천한다. 개인적으로는 (확률과 통계 배경지식이 조금 있어서 그런지) 쉽게 잘 와 닿아서 좋았다.

[통계학 책] 통계학 (류근관) : 서울대 경제학과 교수님이 쓴 쉽게 읽히는 통계 입문 전공서. K-MOOC에서 무료로 강의도 볼 수 있다. K-MOOC 경제통계학 1부

[통계학 Youtube 채널] StatQuest: 통계학, 머신러닝 관련 짧고 시각적으로 직관적인 강좌들 많음

[미적분 강의] Essence of calculus (3b1b) : 개인적으로 가장 인상적이었던 3b1b의 강의. 미적분의 핵심이 되는 개념들을 시각적으로 직관적으로 이해할 수 있다.

[미적분 책] 프로그래머를 위한 기초 해석학 : 아직 초반부를 읽고 있지만 벌써부터 생각보다 깊이 있게 들어간다. 머신러닝, 딥러닝 논문을 읽고 싶은데 수학적 베이스가 약하다면 (사실 나를 두고 하는 말...), 이 책을 통해 수식을 제대로 읽는 법부터 차근차근 보는 것도 좋을 것이다.

[미적분 강의] 칸아카데미 Multivariable Calculus : 다변수 미적분을 쉽게 설명해주는 강의.

[미적분 책] 해석학 (이슬비) : 현재 무료로 배포된 유명한 교재. 심도 있는 책으로 보여, 프로그래머를 위한 기초 해석학을 다 읽은 후에 보려고 킵 해둔 상태다.


댓글 쓰기

12 댓글

  1. 명괘하네요, 수고 했습니다~~~~~~~

    답글삭제
  2. 좋은 정리 감사드립니다!

    답글삭제
    답글
    1. 도움이 된 것 같아 기쁘네요 :)

      삭제
  3. 머신러닝 & 딥러닝 입문에서 저 번호순서대로 다 학습해야할까요? 아님 1~2개만 하면 될까요?

    답글삭제
    답글
    1. 순서와 무관하게 그냥 제가 좋은 자료라고 생각하는 것들을 추려놓은 것입니다. (물론 제 블로그 글도 포함되어 있는데 이건 좀 뻔뻔하긴 하네요 하하;)
      간단히 둘러보시고, 우선은 말씀하신 것처럼 끌리는 거 1~2개 골라서 해보시는 걸 추천합니다. 수학이나 통계학 등의 베이스가 탄탄하신 분들은 늦게 시작했는데도 어느새 저만큼 앞서 나가는 걸 보면, 사람마다 적절한 학습 자료나 방법이 많이 다르더군요.

      삭제
  4. 좋은 자료 감사합니다!

    답글삭제
  5. 정리 감사합니다~

    답글삭제