최근 여러 국가에서 오마주하고 있는 교육 프로그램 에꼴 42의 수료생인 Emil Wallner라는 ML 리서쳐가 자신이 어떻게 인터넷 자료들만 가지고 ML 리서쳐가 될 수 있었는지에 대해 그 학습 방법을 공유한 글이 있습니다.

Coursera 수료증 같은 것이 아니라 실질적으로 어떠한 Output을 내야 Internet-educated들이 ML/DL 분야에서 직업을 얻을 수 있을지에 대한 현실적인 조언과 함께 유용한 정보가 많이 담긴 글이기에 공유를 드립니다 !
+) Emil Wallner는 현재 Google Arts에서 레지던시 프로그램을 지니고 있습니다.

2020년 ML/DL 분야의 공부를 새로이 시작하시려는 분들께 좋은 이정표가 되리라 믿습니다 🙂

P.S 글을 잘 읽으셨다면 번역이 아닌 원 글(https://github.com/emilwallner/How-to-learn-Deep-Learning)에 스타를 눌러주시면 좋을 것 같습니다 !

 

 

https://github.com/Huffon/How-to-learn-Deep-Learning/blob/master/README_kr.md?fbclid=IwAR0COIWxF6BIGUg6abyCcErL-BK8B4ghDpycBNHkR7BSApSD8wz-BJrJnR0

 

접근법

Deep Learning에 중점을 두고, High-level 프레임 워크부터 학습하는 실용적인 Top-down식 접근법을 취합니다.

시작 [2 개월]

Deep Learning 학습에 박차를 가하기 위해서는 다음 3개의 주 목적을 달성해야 합니다:

  1. 앞으로 사용할 도구들에 익숙해져야 합니다. (e.g. 파이썬, CLI, 주피터 노트북 등)
  2. 데이터 수집부터 훈련 모델 배포까지 워크 플로우의 모든 과정에 익숙해져야 합니다.
  3. Deep Learning 사고 방식을 지녀야 합니다: 어떻게 Deep Learning 모델들이 동작하고, 어떻게 해당 모델들을 개선시킬지와 같은 직감을 길러야 합니다.
  • 한 주간 codecademy.com에서 시간을 보내며 파이썬 기본 문법, CLI 그리고 git을 학습합니다. 만약 여러분이 프로그래밍 경험이 없이 시작하셨다면, 어떻게 프로그램을 작성하는지 학습하기 위해 몇 개월을 본 스텝에 투자하는 것이 좋습니다. 그렇지 않으면 여러분은 이후 과정에서 쉽게 좌절하게 될 것입니다.
  • Pandas, Scikit-learn 그리고 Jupyter Notebook 을 이용해 Kaggle 문제를 푸는데 1-2주의 시간을 할애합니다. 이때, Titanic, House prices, Iris 문제가 좋은 출발점이 될 수 있습니다. 본 과정을 통해 여러분은 Machine Learning에 대한 사고 방식과 워크 플로우를 익힐 수 있습니다.
  • 클라우드 GPU에서 모델을 구현하는데 한 달을 할애합니다. 이 때, FastAI 코스로 본 스텝을 시작하는 것을 추천드립니다. FastAI 커뮤니티는 Deep Learning 기술들을 적용하고 최신 기술과 관련된 정보를 공유하기 좋은 장소입니다.

여러분이 위 과정을 모두 완수하셨다면, 이제 어떻게 머신러닝에 가치를 부여할지에 대해 알게된 것입니다.

포트폴리오 [3 - 12 개월]

포트폴리오는 새로운 기회를 위한 일종의 창구입니다. 그렇기 때문에 여러분이 관심 있는 주제로 포트폴리오를 제작하는 것이 중요합니다. 포트폴리오는 또한 Machine Learning의 여러 다양한 분야를 경험할 수 있는 좋은 기회이기도 합니다. 만약 여러분이 ML 중 어느 분야로 프로젝트를 시작할지 고민 되신다면 '컴퓨터 비전' 혹은 '자연어 처리' 프로젝트로 시작할 것을 추천드립니다. 다음은 포트폴리오와 관련해 작성한 제 트위터 스레드입니다: 포트폴리오 아이디어 내는 법, 포트폴리오 작성하는 법.

사람들이 가장 많이 실수하는 부분은 프로젝트 경험 대신 온라인 코스 수료증을 따는데 불필요한 시간을 투자하는 것입니다. 실무자들은 대개 온라인 코스 수료증을 신뢰하지 않습니다. 대신 저와 같이 인터넷을 통해 Deep Learning을 학습한 사람들은 다음과 같은 이력들로 자신의 지식을 증명할 수 있어야 합니다:

  • 좋은 컨퍼런스에 논문 투고
  • ML 관련 경진대회에서 수상
  • 유명한 오픈 소스 프로젝트에 PR을 통해 기여
  • ML 관련된 글로 5-10만 뷰 달성
  • 매주 100명 이상이 사용하는 ML 툴 제작
  • ML 관련 직업
  • ML 아트

만약 아직도 좋은 첫 프로젝트에 대한 감이 잡히지 않는다면, Twitter 내 사람들에게 DM을 날려보세요. 여러분들께 영감을 주는 작업을 하는 사람들을 Twitter에서 찾아 당신이 지금까지 해온 것들과, 무엇을 달성하고 싶은지에 대해 이야기해보세요. 50-100명의 사람들에게 메시지를 보낸 후, 당신은 사람들이 얼마나 다른 사람들에게 도움을 주고 싶어하는지를 보고 놀라게 될 것입니다.

다만 제가 제시한 이전 과정들을 모두 성실하게 수행하고, 낯선 사람들에게 메시지를 보낼 때 지켜야 할 예절 등을 꼭 확인하고 접근하시길 바랍니다.

이론 101 [1 - 3 개월]

논문을 읽는 방법을 배우는 것은 여러분의 프로젝트를 개선하는데 분명 좋은 작용을 합니다. 특히, 여러분이 리서치 분야로 진출하고 싶다면 논문 읽기는 필수 과정이기도 하죠. 논문을 읽는데 어려움이 없으려면 다음 3가지 분야를 핵심적으로 이해하고 있어야 합니다:

  1. 가장 자주 사용되는 알고리즘, 경사 하강법, 선형회귀, 다중 퍼셉트론 등에 대한 이해
  2. 가장 자주 사용되는 50가지 수식에 대한 이해
  3. 선형대수, 미적분, 통계학 그리고 Machine Learning의 기본적인 이해
  • 파이썬 Numpy의 핵심 개념을 손으로 직접 코딩하는데 한 달을 할애합니다. 이때 최소자승법, 경사하강법, 선형회귀 그리고 Vanilla 신경망 등에 대한 코딩도 하셔야 합니다. 제겐 Andrew Trask의  블로그가 해당 연습을 하기 가장 적합한 자료였습니다. 해당 연습은 여러분이 다음 과정을 수행함에 따라 발생하는 인지부하를 줄여줄 것입니다.

  • 저는 Deep Learning 이론 커리큘럼에 있어 최고의 스텝은 Ian Goodfellow, Yoshua Bengio 그리고 Aaron Courville가 집필한 Deep Learning Book을 읽는 것이라 생각합니다. 저는 해당 책을 교재 삼아 책에 담긴 모든 디테일들을 학습하기 위해 노력했습니다. 물론 해당 책을 읽기 전 최소 6개월의 실무 경험이나 수학/통계적 배경을 가지고 시작하는 것이 좋습니다.

  • 책의 도입부에 등장하는 수식을 외우는 것은 여러분의 생각보다 아주 큰 도움이 됩니다. 수식은 아주 잘 짜여진 로직이고, 이를 어떻게 코드로 녹여낼지를 이해하는 것은 여러분이 이론을 보다 친숙하게 느낄 수 있도록 도와줄 것입니다. 만약 한 주라는 여가 시간이 있다면, 3Blue1Brown 채널의 Essence of linear algebra, the Essence of Calculus, StatQuests 채널의 the Basics (of statistics), Machine Learning과 같은 영상을 시청할 것을 추천드립니다. 이후 Anki와 같은 암기 어플리케이션을 활용해 핵심 개념을 외우는 것이 아주 큰 도움이 될 것입니다. 이때, 가능한 많은 그림 자료를 사용하는 것이 암기에 있어 더 큰 도움이 됩니다.

  • 만약 여러분이 공부에 할애할 수 있는 시간이 2-3 개월 더 남았다면, Deep learning book의 파트 1을 읽는데 그 시간을 할애하세요. MachineLearningGod은 동영상을 통해 어떻게 해당 책을 보다 잘 학습할 수 있는지에 대해 설명해주고 있습니다. 각종 개념들을 이해하기 위해 동영상 강의를 적극 활용하시고, Anki와 Khan academy 어플리케이션을 활용해 개념들을 암기 및 이해할 수 있도록 노력하세요.

첫 번째 논문 [6 - 12 개월]

[작업 중]

포럼

본인이 학습했던 과정에 대한 기록

다른 좋은 학습 전략들

글을 읽고 더 나은 의견이나 질문이 있으시다면 이슈 혹은 Twitter를 통해 연락해주세요.

Posted by uniqueone
,