shurain

Harmless stuff is for the weak.

혼자서 공부하기

Jan 12, 15

기계학습을 꽤 진지하게 공부한 지 몇 년이 흘렀다. 내 직접적인 전공 분야도 아닌 분야를 왜 이렇게 공부하였는지 솔직히 잘 알지는 못한다. 그저 나에게 무척 큰 지적 자극을 가져다주는 분야이기에 그 자체로 공부할 가치가 크게 느껴졌다는 점이 중요한 것 같다.

학교에서 기계학습 수업을 들은 것은 큰 재미가 없었다. 나 스스로 속도를 조절할 수 없는 공부 방식은 나에게 잘 맞지 않는 것 같다. 다행히도 온라인에 무척 다양한 강의가 공개되어 있어 이를 활용했다. 제일 마음에 들었던 강의는 Mathematical monk의 유튜브 강의였다. 그 밖에 Coursera의 Andrew Ng의 강의Geoffrey Hinton의 강의도 들었고, Stanford CS229 수업도 들었다. 영상이 공개된 개론 수업도 많지만 개별적인 주제를 다루는 영상도 Videolectures에서 꽤 여럿 들었다. 그밖에 수업은 아니지만 다양한 주제를 소개하는 튜토리얼 세션도 영상이 공개된 것이 여럿 있다.

강의만으로는 깊은 지식을 얻기 힘들기에 책도 몇 권 읽었다. 처음엔 가벼운 마음으로 Programming Collective Intelligence를 읽었다.1 이어서 Machine Learning in Action도 봤고 Kevin Murphy의 Machine Learning: a Probabilistic Perspective를 읽었다. 위의 책은 모두 기계학습 스터디를 진행하면서 본 책이고, 이와 별개로 개인적으로 읽은 책도 더 있다. 가령 Probabilistic Programming & Bayesian Methods for Hackers라든지, Pattern Recognition and Machine Learning이라든지, 등등 십수 권은 될 것이다.

논문도 꽤 읽었는데, 기계학습 관련 논문이라면 기백 편은 읽었을 것이다. 처음에는 시간이 무척 오래 걸렸던 것 같은데, 기본이 쌓인 뒤로는 읽는 것이 훨씬 수월해졌다. 제대로 된 논문 읽기를 위해서는 해당 분야의 기초를 충분히 닦을 필요가 있음을 느꼈다. 사용하는 용어도 굉장히 압축적이고, 여러모로 배경이 없이 읽기는 쉽지 않았다.

손에서 터져 나오지 않는 지식을 쌓고 싶지는 않았기에 대회도 몇 차례 참가했다. Kaggle에서 열린 대회에 서너 차례 참가해서 괜찮은 결과도 얻어봤다. 그 외에 장난감 문제로 한국어 띄어쓰기 프로그램을 만들어본다든지 실습을 해보려고 노력하였다.

이렇게 써놓고 보니 꽤 많은 노력을 기울인 것 같다. 이런 과정을 거치면서 깨달은 것이 있다면 투지Grit가 중요하다는 점이다. 무슨 말이냐면, 결국 어느 정도 경지에 오르기 위해서는 꾸준히 계속할 수 있어야 하는데, 한술 밥에 배부르지 않다는 사실을 인정해야 한다는 것이다. 개인적으로는 해당 분야에 대한 진실한 관심과 애정이 이런 투지로 이어지지 않나 싶다.


  1. 개인적으로 무척 비추하는 책이다. 거짓말을 너무 많이 써놨다. 번역서는 거기에 한 술 더 떠서 오역도 꽤 있다.