이제, 앞서 배운 내용을 전부 잊고 딥 러닝 책을 읽기 시작해라. 리눅스(Linux)에 tensorflow와 pytorch를 적용해보고, 답이 맞을 때까지 연습 문제들을 반복해라. CNN과 RNN, 그리고 NN의 feed forward 과정도 경험해라.
다 했다면arXiv(코넬대학교에서 운영하는 무료 논문 사이트)에서 유용한 최신 자료들을 읽어라. 몇 달 안에 내용이 빠르게 바뀌기 때문에 꾸준히 읽어야 한다.
자, 이제 취업할 준비가 되었다. 이력서를 더 채워야 한다면 캐글(Kaggle) 대회에 참가해라. 디버깅 질문이 있다면 스택오버플로우(StackOverflow)를 사용해라. 수학 질문이 있다면 더 읽어라. 삶에 대한 질문이 있다면, 나도 답을 모른다.
이것만으로는 아직 부족하다. 훈련 데이터(training data)가 없는 새로운 문제를 생각해내고 데이터를 어떻게 수집할지 혼자 고민해 내라.스크레이퍼(scraper)를 만드는 법을 터득하고, 라벨링과 특징값 추출(feature extraction)을 해라. 새로운 데이터가 만들어지면서 모델도 꾸준히 훈련되고 사용될 수 있도록 코드를 짜야 한다.
한 프로그래밍 언어를 선택하고 공부를 시작해라. 보통 Python이나 R일 것이다. 개인적으로 두 언어 중 Python을 더 추천한다. Python과 R 중 어떤 언어가 더 나은지에 대한 주장은 이미 많기 때문에 이유를 전부 나열하지는 않겠지만, 경험상 Python이 더 유용하고 다방면으로 사용이 쉽다고 생각한다. 2–4주 동안 그 언어로 기본적인 것들을 할 수 있을 만큼 배워라. pandas/matplotlib이나 tidyverse/ggplot2와 같이 자주 사용되는 library에 대해 전반적인 이해를 갖춰라.
Andrew NG의 머신 러닝 수업을 들어라. 오래된 수업이지만 기본적인 베이스를 잘 잡아줄 수 있다. 필수는 아니지만 Python이나 R로 수업 문제들을 풀어보면 도움이 될 것이다.
머신러닝에 대한 수업을 더 들어라. R 유저들에게는Analytics Edge를 추천하고, Python 유저들에게는mlcourse.ai를 추천한다. 러시아어를 안다면 Coursera의이 수업도 추천한다. 개인적으로 세 수업 중mlcourse.ai가 제일 좋은 것 같다. 꽤 좋은 이론과 도전적인 과제로 구성되어있을 뿐더러 수강생들에게 캐글(Kaggle) 대회에 참가하고 개인 프로젝트를 하도록 서포트해주기 때문이다. 이런 수업 방식은 실전에 도움이 많이 된다.
SQL을 공부해라. 많은 회사들은 데이터를 관계형 데이터베이스(relational database)에 보관하기 때문에 데이터를 엑세스하기 위해서는 select, group by, CTE, joins 및 다양한 SQL command에 익숙해져야 할 것이다.
로우 데이터(raw data)로 작업하고, 정리되지 않고 지저분한 데이터 세트에서 시작하면 좋은 경험일 것이다.
5번은 필수가 아니지만, 6번은 필수다! 적어도 한두 개의 프로젝트를 스스로 처음부터 끝까지 완성해라. 데이터 세트를 활용해 심층적으로 분석하고 모델링하거나 앱을 만들어보는 것도 좋다. 이 과정을 통해 우리는 아이디어를 떠올리고 구현하는 방법과 데이터를 수집하고 활용하는 방법을 전부 배우며 프로젝트를 완성하는 전체적인 프로세스를 이해하는 것이 중요하다.
댓글