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


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

 



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


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

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

[강의] 모두를 위한 딥러닝 2 : 한국어로 된 강의 중에 가장 유명한 강의가 아닐까 싶다. 전설의 김성훈 교수님의 시즌 1 이론 강좌에, 파트별로 다양한 강사분들의 최신 코드 실습이 덧붙여진 강의다. 짧은 시간 안에 전체적인 그림을 파악하기에 아주 좋다. 물론 시즌 1로 공부하는 것도 아주 좋지만, 실습 부분이 파이썬과 텐서플로우 모두 구 버전 기준으로 되어 있기 때문에 적어도 실습 파트는 시즌 2를 추천한다.

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

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

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

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

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

[책] 비전공자를 위한 딥러닝 : "모두를 위한 딥러닝"도 어렵게 느껴지는 비전공자분들에게 직관적인 설명을 드리고자 직접 쓴 책이다. 국문학과 출신으로 AI 엔지니어가 되기까지 겪은 어려움을 바탕으로, '이런 책이 있으면 참 좋을텐데'라는 생각에서 블로그에 연재하던 중 출판 제의를 받았다. 그림과 이야기로 설명하며, '학습'의 의미부터 합성곱 신경망(CNN)까지 딥러닝의 큰 그림을 이해할 수 있다. 더 자세한 설명은 이 포스팅에 있다.





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 : 다변수 미적분을 쉽게 설명해주는 강의.

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

[선형대수학 책] NO BULLSHIT 선형대수학 가이드 : 비교적 쉽고 직관적으로 설명하면서도 수학적 정의에 충실한 좋은 입문서. 특히 1장 "수학 기초"에서 고등학교 수학을 정리해주기 때문에 문과생이나 비전공자들에게 권하고 싶다. 마지막 두 장에서 확률론과 양자 역학까지 다루고 있어 선형대수학의 기본 개념과 다양한 응용 분야를 맛볼 수 있다.





4. 컴퓨터 비전

[책] 컴퓨터 비전 (오일석) : 한국어로 쓰인 컴퓨터 비전 책 중에 가장 유명하면서 그 이름값을 하는 책. 저자는 <기계 학습>의 저자이자 전북대 교수다. 비전 딥러닝을 연구하거나 현업에서 포지션으로 삼고자한다면, 딥러닝만 주구장창 파는 것보다는 도메인인 컴퓨터 비전도 심도 있게 파보는 것을 추천한다. 딥러닝에 등장하는 수많은 알고리즘의 근본을 이루거나, 직접적으로 아이디어에 영감을 준 내용들이 수두룩하다.

[책] 미술관에 GAN 딥러닝 실전 프로젝트 : 꼭 GAN에 관심이 있는 것이 아니더라도 PART 1의 딥러닝, 오토인코더 부분은 역대급으로 쉽게 설명되어 있기 때문에 추천한다. GAN 파트도 나름의 서사를 가지고 비교적 쉽게 설명되어 있고, PART 2에서 다양한 생성 모델 실습을 따라할 수 있게 구성되어 있다.

[책] OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝 : 목차와 평이 좋고, AI 관련 오픈채팅방에서 강력추천한 책. 비전 이론 부분은 <컴퓨터 비전>보다 쉽게 읽히며, 코드 실습 부분은 OpenCV 내부 함수와 매서드를 낱낱이 파헤치기 때문에 조금 피곤할 수 있지만 유용하다.




댓글 쓰기

39 댓글

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

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

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

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

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

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

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

    답글삭제
  6. 프로그래머를 위한 영어? 이런거 있을까요 ? 영어공부안한게 후회되네요

    답글삭제
    답글
    1. 프로그래머를 위한 영어 공부를 따로 해본 적은 없지만, 일상 생활에서 계속 영어를 꾸준히 접하면서 학습이 되는 환경세팅을 하는 것이 도움 되었습니다.
      예를 들어 인터넷 창에서 더블클릭만으로 단어의 뜻을 팝업으로 보여주는 크롬 확장 프로그램을 사용한다면, 영어 자료에 대한 거부감이 줄어들어 자연스럽게 더 많이 영어를 접하게 되겠죠. 관련 포스팅을 참고해주세요.
      https://www.philgineer.com/2021/05/blog-post.html

      삭제
  7. 머신러닝에 최근에 관심이 생겨 공부 순서를 찾아보고 있었는데 많은 도움 되었습니다 ㅎㅎ 감사합니다!

    답글삭제
    답글
    1. 도움이 되었다니 정말 기쁘네요 :)

      삭제
  8. 큰 도움이 되었습니다. 감사합니다.

    답글삭제
    답글
    1. 큰 힘이 되네요. 감사합니다 :)

      삭제
  9. 비숍의 패턴인식과 머신러닝책을 공부하는데 6장부턴 무슨얘기를 하는지 하나도 모르겟네요.. 책이 저만 어려운건가 싶기도하고.. 작성자님은 쉬우셨나요??

    답글삭제
    답글
    1. "입문", "중급" 외에 "고급" 목차를 따로 만드려다가 몇 개 없을 것 같아 "중급"에 넣은 책입니다. 어려운 게 정상이고, 저도 사서 분철까지 해놓은 게 몇 년 전인데 손이 잘 안 가서 아직 반도 못 봤네요...
      혼자 공부하기 너무 어려운 책은 온라인으로라도 스터디를 구성해서 진행하면 좋더라구요. 화이팅입니다!

      삭제
    2. 선생님 혹시 고급등급 책에는 무엇이 있나요

      삭제
    3. 저마다 특정 세부 분야 연구하시는 분들은 거기에 맞는 도메인 서적도 보실 텐데 그게 딥러닝보다 더 어려울 수 있을 것 같기도 합니다. 딥러닝만 보자면 대부분 CS231n 정도까지 공부하시면 논문 리딩으로 넘어가시는 것 같아요.
      저는 연구원 경험이 없는 주니어 개발자인지라, 이 목차 이상의 책들은 아직 접해보지 못했습니다.

      삭제
    4. 오래된 글에도 답변을 달아주시다니 ㅠㅠ감사합니다

      삭제
    5. 제가 더 감사하죠ㅎㅎ

      삭제
  10. 올려주신 자료 보면서 공부해서 원하는 대학원 합격했습니다. 감사합니다.

    답글삭제
    답글
    1. 진심으로 축하드려요! 도움이 되어 정말 기쁘네요 :)

      삭제
  11. 딥러닝을 위한 선형대수학하고있는데 너무 어렵네요..; 처음 선대책보는데 글쓴이님은 어떠셨나요??

    답글삭제
    답글
    1. 그 책 어려운 책 맞습니다... 저도 보다가 이 책은 학사 수준의 선형대수학을 정복한 후에야 제대로 볼 수 있겠다는 생각이 들어서 'NO BULLSHIT 선형대수학 가이드'로 갈아탔었어요.
      NO BULLSHIT도 좋은 책이지만 입문서 이상의 내용을 원하신다면, 많이 사용하는 공대 선대 교과서 중 하나를 고르시거나 프리드먼 책도 괜찮을 것 같습니다.

      삭제
  12. 고등수학에 대한 개념이 많이 부족한 상태에서 머신러닝 수학 책을 바로 들어가면 따라가기 많이 힘들까요? 프로그래머를 위한 확률과 통계, 이 책은 고등학교 이과 수준의 지식이 있어야 한다는 서평이 있어서 여쭤봅니다..

    답글삭제
    답글
    1. 가장 공부하고 싶은 책부터 시작하고, 그때 그때 필요한 부분들을 보충하면서 진행할 수 있습니다. 위의 목록 순서에서도 수학이 뒤에 나오는 이유는 머신러닝/딥러닝을 공부하며 필요한 수학을 보충하는 방향을 생각했기 때문입니다.
      공부해보고 싶은 책이 있으면 고민하지 말고 시작해보는 걸 추천드립니다. 끝까지 못 읽더라도 언제나 책값 이상의 가치는 할 테니까요 :)

      삭제
  13. 고맙습니다!!

    답글삭제
  14. 공부할 책들을 찾아보고 있었는데, 이렇게 정리해주시니 참고하기 좋네요 ㅎㅎ
    좋은 책 추천 감사합니다~~

    답글삭제
    답글
    1. 도움이 되었다니 기쁘네요 :)

      삭제
  15. 안녕하세요. 독학으로 공부해보려는 중인데 선형대수학의 이해 여부가 큰 영향을 미칠까요? 산업공학과를 졸업하여 통계에 대한 배경지식은 어느정도 있으나 선형대수학은 전무하다고 봐도 무방한 상태입니다.

    답글삭제
    답글
    1. 안녕하세요, 반갑습니다.
      입문하는 단계에서는 반드시 선행할 필요는 생각합니다. 머신러닝/딥러닝 공부하시면서 필요한 부분이 생길 때마다 보충하는 게 흥미를 계속 유지하는 데에도 좋으니까요.
      다만 공부하다보면 언젠가 필요해지는 것도 사실이기 때문에, 부담스럽지 않은 선에서 빠르게 한 번 훑거나 병행하면서 공부하는 것도 좋은 방법이라고 생각합니다. 통계에 어느정도 친숙하시다니 금방 학습해나가실 것 같네요. 화이팅입니다 :)

      삭제
  16. 큰 도움이 되었습니다. 고맙습니다!

    답글삭제
  17. 정말 너무 감사한 포스팅에 댓글을 안 남길 수가 없네요.
    선생님 복 많이 받으시고요 행복하세요
    훌륭한 일해서 이 은혜 갚겠습니다.
    정말 감사합니다.

    답글삭제
    답글
    1. 정말 따뜻하고 고마운 댓글이네요.
      감사합니다!

      삭제
  18. 겉 핥기 식으로 말고 제대로 공부해야겠다는 생각이 들어서 찾고 있었는데
    좋은 글 정말 감사드립니다.

    답글삭제