IT/AI\ML

[AI/ML] 딥러닝, 머신러닝 입문자를 위한 커리큘럼, 강좌 정리

개발자 두더지 2020. 4. 19. 23:07
728x90

최종 수정일 : 20.04.23


【커리큘럼】

영어 자료 기준 한글 자료 기준

If you want to read one main resource... the Goodfellow, Bengio, Courville book (available for free from http://www.deeplearningbook.org/) is an extremely comprehensive survey of the field. It contains essentially all the concepts and intuition needed for deep learning engineering (except reinforcement learning).

If you'd like to take courses... Pieter Abbeel and Wojciech Zaremba suggest the following course sequence:

- Linear Algebra — Stephen Boyd’s EE263 (Stanford)

- Neural Networks for Machine Learning — Geoff Hinton (Coursera)

- Neural Nets — Andrej Karpathy’s CS231N (Stanford)

- Advanced Robotics (the MDP / optimal control lectures) — Pieter Abbeel’s CS287 (Berkeley)

- Deep RL — John Schulman’s CS294-112 (Berkeley)

(Pieter also recommends the Cover & Thomas information theory and Nocedal & Wright nonlinear optimization books).

If you'd like to get your hands dirty... Ilya Sutskever recommends implementing simple MNIST classifiers, small convnets, reimplementing char-rnn, and then playing with a big convnet. Personally, I started out by picking Kaggle competitions (especially the "Knowledge" ones) and using those as a source of problems. Implementing agents for OpenAI Gym (or algorithms for the set of research problems we’ll be releasing soon) could also be a good starting place.

https://www.facebook.com/groups/TensorFlowKR/permalink/464930173848046/

1. 처음 시작은 김성훈 교수님 유튜브 강의로 입문하시는게 최고의 선택인 듯 합니다. 쉽게 풀어주시면서 직관적인 이해를 도와주시는 부분이 참 많습니다.

2. 더 진도를 나가려면 기초를 다지는 것이 좋았습니다.

아래 2개 강좌는 반드시 듣는게 매우 중요할 듯 합니다.

(1) 선형대수학 강좌

(2) 확률통계 강좌

http://www.kocw.net/home/search/kemView.do?kemId=1056974

위 2개 강의를 듣고 나면, 신경망에 대한 조금은 본질적인 개념 이해나 차원축소 기법들 이해하는데 도움이 되고 수식 notation이 눈에 많이 들어오는 것 같았습니다.

그리고 카이스트 문일철 교수님 강의도 좋은데, 바로 들어가면 어렵더군요.

위 3개 강좌를 듣고 들어가시는 게 아마도 좋지 않을까 합니다. 그리고 문교수님 강의 듣기 전에 하나 더 선행하면 좋을 듯 합니다.

3. 충북대 이건명 교수님 강의 중에서 ‘탐색과 최적화’ 부분을 듣고 가시는게 좋아 보입니다.

http://www.kocw.net/home/search/kemView.do?kemId=1170523

위 4개 강좌를 듣고 나면, 윤곽이 잡힙니다.

4. 이렇게 해서 KOOC에 있는 카이스트 문일철 교수님 강의는 마지막에 들으면 이제는 많이 다가오는 것 같습니다.

(1) k-means, gmm(gaussian mixture model), em(expectation & maximization) 강의를 들으면 variational inference의 기초가 잡힐 듯 합니다.

(2) hmm(hidden markov model) 강의를 들으면 rnn이 생각나고 또한 bidirectional rnn이 생각날 것으로 보입니다.

(3) 샘플링 쪽을 들으면 mcmc 기초가 잡히고 gibbs sampling을 들으면 RBM과 DBN이 생각날 듯 합니다.

이렇게 하고 TF-KR에서 진행하는 PR12 논문 리뷰 동영상을 보면, 이제는 많이 친숙하게 다가오지 않을까 합니다.

문교수님 강의 들으면서 앤드류 교수님 강의 병행하면 시너지가 많이 날 듯 합니다.

마지막으로, cnn 쪽은 라온피플 블로그가 매우 좋은 듯 합니다. 한번 쭉 다 읽어 보시면(댓글 포함) 도움 많이 되는 듯 합니다.

http://blog.naver.com/laonple/220469250655

https://www.facebook.com/groups/TensorFlowKR/permalink/485458151795248/


【한글 강좌】

남세동 님

https://www.youtube.com/watch?v=yWySw4EfSJc&list=PLefQdA1SdkhsO4yGqIFAWcG6vr211di1j

핸즈온 머신러닝(Hands-On Machin Learning)

https://github.com/ExcelsiorCJH/Hands-On-ML

Terry님- 머신러닝 1시간으로 입문하기

https://goo.gl/FoPe2c

sung kim님- 모두를 위한 딥러닝

https://www.youtube.com/watch?v=BS6O0zOGX4E&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm

sung kim님-모두를 위한 딥러닝 시즌2

https://www.youtube.com/watch?v=7eldOrjQVi0&list=PLQ28Nx3M4Jrguyuwg4xe9d9t2XE639e5C

sung kims님 - 논문 리뷰

https://www.youtube.com/watch?v=auKdde7Anr8&list=PLlMkM4tgfjnJhhd4wn5aj8fVTYJwIpWkS

머신러닝을 위한 Python

https://www.edwith.org/aipython

문일철 교수님 - 데이터 구조 및 분석

https://kaist.edwith.org/datastructure-2019s

문일철 교수님-인공지능 및 기계학습 개론

https://kaist.edwith.org/machinelearning1_17

김창익 교수님-영상이해를 위한 최적화 기법

https://kaist.edwith.org/optimization2017

조경현님 - 자연어 처리 (조경현)

https://goo.gl/h8q6Kw

최성준님 - 딥러닝 논문 리뷰

https://goo.gl/7f2YyN

최성철님 - 머신러닝 & 파이썬 (유료)

https://goo.gl/gy3U2y


【영어 강좌】

UC Berkley 인공지능 강좌

https://www.youtube.com/watch?v=Va8WWRfw7Og&list=PLZSO_6-bSqHQHBCoGaObUljoXAyyqhpFW

DeepLearning.ai (Andrew Ng)

https://goo.gl/mMr4AW

Fast.ai (Fast.ai)

https://goo.gl/aBkesx

Machine Learning Summer School (MPI)

https://goo.gl/5hQtA1

Deep Learning & Reinforcement Learning Summer School

(2017) https://goo.gl/4WthXN

(2018) https://goo.gl/Z7stFe

CS231n

https://www.youtube.com/results?search_query=cs213n

(+) 강좌 자료 번역본

http://aikorea.org/cs231n/neural-networks-3/

Toronto Machine Learning course

https://www.youtube.com/watch?v=FvAibtlARQ8&list=PL-Mfq5QS-s8iS9XqKuApPE1TSlnZblFHF

CS224N(NLP 강좌)

https://www.youtube.com/playlist?list=PLoROMvodv4rOhcuXMZkNm7j3fVwBBY42z

Deep Learning for Natural Language Processing(Oxford, DeepMind)

https://www.youtube.com/watch?v=RP3tZFcC2e8&list=PL613dYIGMXoZBtZhbyiBqb0QtgK6oJbpm

Advanced Deep Learning, Reinforcement Learning(DeepMind)

https://www.youtube.com/watch?v=iOh7QUZGyiU&list=PLqYmG7hTraZDNJre23vqCGIVpfZ_K2RZs&index=1

스텐포드 딥러닝 수업

http://web.stanford.edu/class/cs230/

스텐포드 - 자연 언어 처리 ; Cs 124: 언어에서 정보까지 (언어학자 180, 언어학자 280)

http://web.stanford.edu/class/cs124/

스텐포드 - 자연어 처리 ; Cs 224 n: 딥러닝으로 자연 언어 처리 (언어학자 284)

http://web.stanford.edu/class/cs224n/

스텐포드 - 자연 언어 처리 ; Cs 224 u: 자연 언어 이해 (언어학자 188, 언어학자 288)

http://web.stanford.edu/class/cs224u/

스텐포드 - 자연 언어 처리 ; Cs 276: 정보 검색 및 웹 검색 (언어학자 286)

http://web.stanford.edu/class/cs276

스텐포드 - 컴퓨터 비전; Cs 131: 컴퓨터 비전: 기초 및 응용 프로그램

http://cs131.stanford.edu

스텐포드 - 컴퓨터 비전; Cs 205 l: 머신러닝을 강조하는 지속적인 수학적 방법

http://web.stanford.edu/class/cs205l/

스텐포드 - Cs 229: 머신러닝 (통계 229)

http://cs229.stanford.edu/

스텐포드 - Cs 229 a: 응용 머신러닝

https://cs229a.stanford.edu

스텐포드 - Cs 234: 강화 학습

http://s234.stanford.edu

스텐포드 - Cs 221: 인공지능: 원리와 기술

https://stanford-cs221.github.io/autumn2019/

버클리 - Introduction to Deep Learning (STAT 157)

https://courses.d2l.ai/berkeley-stat-157/syllabus.html

( 한글화된 Dive into Deep Learning(https://ko.d2l.ai/)과 함께 보시면 처음 공부하시는 분들께 많은 도움이 될 듯 합니다.)

스텐포드 - 컴퓨터 비전; Cs 231 n: 시각 인식을 위한 convolutional neural 네트워크

http://cs231n.stanford.edu/

스텐포드 - 컴퓨터 비전; Cs 348 k: 비주얼 컴퓨팅 시스템

http://graphics.stanford.edu/courses/cs348v-18-winter/

스텐포드 - Cs224w: 그래프와 머신러닝 (김용담)

http://web.stanford.edu/class/cs224w/

스텐포드 - Cs 273 b: 유전자 및 바이오의학 딥러닝 (바이오즈 237, 바이오메딘 273 b, 유전자 236)

https://canvas.stanford.edu/courses/51037

스텐포드 - Cs 236: 깊은 생성 모델

https://deepgenerativemodels.github.io/

스텐포드 - Cs 228: 프로바빌리즘 그래픽 모델: 원리와 기술

https://cs228.stanford.edu/

스텐포드 - Cs 337: al-assisted care (의료 277)

http://cs337.stanford.edu/

MIT - Introduction to Deep Learning

http://introtodeeplearning.com/


【수학과목 관련 강좌】

영어 강좌

https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw

과목 리스트 추천

https://www.quora.com/How-do-I-learn-mathematics-for-machine-learning

영어 강좌

https://www.youtube.com/user/mathematicalmonk?app=desktop

한글 강좌

https://www.youtube.com/channel/UCfrr-1XiyqQTh-r3CI2VP2A

확률통계 cookbook

https://github.com/mavam/stat-cookbook/releases/download/0.2.4/stat-cookbook.pdf

머신러닝을 위한 선형대수

https://www.edwith.org/linearalgebra4ai


【공부 자료】

CNN초보자가 만든 초보자 가이드

(자료) https://www.slideshare.net/leeseungeun/cnn-vgg-72164295

(랩탑에서 TF설치기) https://www.slideshare.net/leeseungeun/tensorflow-tensorflow

(랩탑에서 TF tutorial) https://www.slideshare.net/leeseungeun/tensorflow-tutorial-72217416

Numpy로 짜 보는 딥러닝 - 코드

https://github.com/cthorey/CS231

PRML책

(페북 링크1) https://facebook.com/255834461424286_454547954886268

(자료 링크1) http://norman3.github.io/prml/

(페북 링크2) 책 2장 식(2.117)까지 ipython으로 정리 https://facebook.com/255834461424286_556808447993551

(한글 번역본)http://norman3.github.io/prml/

고등학생도 이해하는 딥러닝

(페북 링크) https://www.facebook.com/groups/TensorFlowKR/permalink/443348236006240/

원본자료링크가 깨졌다고 하니 아래링크로 받으세요.

(자료 링크) https://drive.google.com/drive/mobile/folders/0BwwNF6qNzpOLNXA2OGZ4TW9NNEE

케라스와 함께 익히는 딥러닝 개념들 (국문)

https://tykimos.github.io/Keras/lecture/

딥러닝 기본 개념들 쉽게 정리된 자료

(국문) https://www.slideshare.net/yongho/ss-79607172

(국문) https://www.slideshare.net/HeeWonPark11/ss-80653977?from_m_app=ios

(국문)https://facebook.com/555066658167730

딥러닝의 기초부터 큰 획을 그었던 논문들까지 익히기

(국문) http://www.edwith.org/deeplearningchoi/

(자료 링크) https://github.com/sjchoi86/dl_tutorials_10weeks

딥러닝 자료 총 망라한 블로그(1)

https://handong1587.github.io/categories.html

딥러닝 자료 총 망라한 블로그(2)

https://bbongcol.github.io/deep-learning-bookmarks/

딥러닝 기초부터 응용까지 TF로 배워보기

[최성준 님 자료]

(페북 링크) https://facebook.com/255834461424286_465906737083723

(자료 링크) https://github.com/sjchoi86/dl_tutorials_10weeks

(코드 링크) https://github.com/sjchoi86/advanced-tensorflow

[안남혁 님 자료] https://github.com/nmhkahn/deep_learning_tutorial

[김진중 님 자료] https://github.com/golbin/TensorFlow-Tutorials

[이도엽 님 자료] https://github.com/LeeDoYup/Deep-Learning-Tensorflow-Basic

한글판 딥러닝 논문 서베이

2012년-2016년에 발간된 이미지 관련 논문들 약 60개 정리

(페북 링크) https://facebook.com/255834461424286_472432669764463

(자료 링크) https://brunch.co.kr/@kakao-it/65


【E-Book】

(e-book 링크 1) http://neuralnetworksanddeeplearning.com/

(페북 링크) https://facebook.com/255834461424286_451098461897884

(e-book 링크 2) https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/

(pdf 링크) https://www.gitbook.com/book/leonardoaraujosantos/artificial-inteligence/details

(e-book 링크 3) https://github.com/HFTrader/DeepLearningBook

(pdf 링크) https://github.com/HFTrader/DeepLearningBook/raw/master/DeepLearningBook.pdf

"Pattern Recognition and Machine Learning"

https://goo.gl/EMbNKm

"The Element of Statistical Learning"

https://goo.gl/Y8GqqG

"Gaussian Process for Machine Learning"

https://goo.gl/4LU3Df

"Dive into Deep Learning"

https://goo.gl/Bk5wF5

"Deep Learning"

https://goo.gl/4kVPrm


【자주 언급되는 블로그】

(원문) http://colah.github.io/

(번역)) https://brunch.co.kr/@chris-song/

http://www.inference.vc/
http://wiseodd.github.io/techblog/
http://jaejunyoo.blogspot.com/search/label/kr
https://www.facebook.com/deeplearningtalk/
http://bcho.tistory.com/category/빅데이타/머신러닝
https://brunch.co.kr/magazine/kakaoaireport

【Tip】

논문을 효과적으로 읽는 방법

논문을 읽을때 총 세번 다른 방법으로 읽는게 효과적임

1. 첫번째로 읽을때: 대략적인 아이디어 파악

2. 두번째로 읽을때: 디테일을 제외한 내용 파악

3. 세번째로 읽을때: 논문을 깊이 이해

First pass:

- 5-10 분 이내

- 제목, abstract, intro 를 읽음

- section 과 subsection 제목만 읽고 나머지는 과감히 스킵

- 결론을 읽음

- reference를 대충 읽으면서 이미 읽은 논문이 어떤건지 대충 파악

First pass가 끝나면 아래의 질문들에 대해서 답할 수 있어야 함

1. Category: what type of paper is this?

2. Context: What other papers are related? Which theories were used to analyze the problem?

3. Correctness: Are the assumptions valid?

4. Contributions: What are papers’ main contributions?

5. Clarity: Is the paper well written?

Second pass:

- 한 시간 이내

- 좀 더 자세히 읽되 증명 같이 너무 detail 한 것들 스킵

- 중요 내용들을 여백에 정리하면서 저자에게 물어보고 싶은 질문들도 적어놓음

- graphs, figure들을 눈여겨 볼것

Third pass:

- 2시간 이상

- 아예 논문을 머릿속에서 다시 써본다는 생각을 가지고 읽음

- 모든 문장 뒤에 있는 assumption을 확실히 이해하고, 그 assumption이 맞는지 확인해볼것

- 과연 나 같으면 어떤식으로 이 논문에 있는 아이디어를 제시할지 생각해볼것

- 새로운 아이디어들을 여백에 적음

- 읽고 나면 이 논문의 전체 구조를 기억할 수 있어야함

(출처 : https://facebook.com/255834461424286_463498977324499)

 

+) 비슷한 포스팅 중 비슷한 초보자가 겪은 좋은 경험담이 있어서 링크를 추가합니다.

https://jech-jose.tistory.com/49

 

[딥러닝 뉴비의 좌충우돌 일기] 내가 딥러닝을 공부했던 방법과 더 빠른 루트?

** 글을 쓰기 전에 적어두지만, 저는 딥러닝이라는 분야를 알게 되고 공부하려고 시도한 지 1년을 조금 넘긴 공대 학부생입니다. 저도 아직 뉴비지만 그래도 완전 맨 처음 이 분야를 접한 사람들�

jech-jose.tistory.com

+) 잘 정리해놓은 github도 링크 추가합니다.

https://github.com/Team-Neighborhood/I-want-to-study-Data-Science

 

Team-Neighborhood/I-want-to-study-Data-Science

데이터 사이언스를 공부하고 싶은 분들을 위한 글 . Contribute to Team-Neighborhood/I-want-to-study-Data-Science development by creating an account on GitHub.

github.com


참고자료

페이스북 TensorflowKR 그룹

https://www.facebook.com/groups/TensorFlowKR/permalink/490430184631378/

Terry님 유튜브

https://www.youtube.com/watch?v=fEwVeyki5p8&t=3s&index=56&list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq

728x90