본문 바로가기

관리자

(박재성 님의 페북 글 링크)

박재성

입문한지 1 년 반 조금 넘어가는 초보입니다.
머신러닝 개론의 중요성에 대해서 요즘 느끼는게 있어서 짤막한 글을 하나 써 봅니다.

저는 머신러닝을 모 회사에서 4 개월동안 공개로 진행한 워크샵을 통해서 입문했습니다. 입문한 내용은 많은 분들께서 입문하실 때 선택들 하시는 CS231N 이었습니다. 그리고 나서 주변분들이나 웹사이트에 향후 진로를 여쭈었더니 최대한 많은 논문들을 보고 구현해보는 것이 중요하다고 말씀해주시는 분들이 많았습니다. 그래서 워크샵이 끝나자마자 최대한 많은 논문들을 찾아보고 구현하려고 노력했습니다.

그리고 솔직히 말씀드리지면 대부분의 논문 구현에 실패를 경험했습니다. 논문에 쓰이는 수식, 용어들 그리고 그 논문이 베이스로 가정하고 있는 여러 이론들을 모르니 단어들이 둥둥 떠다니는 느낌이었고, 구현에 대한 아이디어는 고사하고 인터넷에 존재하는 이미 구현된 코드를 따라치기에 바빴습니다. 그리고 어느순간 느낌이 오더라구요. 아 이렇게 공부하는 거 아니구나.

그리고 기본으로 돌아갔습니다.

학부에서 시험을 위해서 공부했던 선형대수를 다시 처음부터 보기 시작했습니다.

그리고 나서 기초 통계학 과정을 공부한 다음, 수리통계학을 공부했습니다. 특히 추정량에 관한 내용을 보고 EM 에 관한 내용을 보니 최적화가 어떤식으로 이루어지는지 그림이 잡히더라구요.

선형대수를 완독할 때쯤 볼록 최적화를 배우기 시작했습니다. 그 중에서도 최적화 논문을 볼 때 어떤 틀에서 보아야 하는지를 듀얼리티와 라그랑지언을 배우면서 깨달았습니다.

그리고 나서 공부했던 것이 PRML 이었습니다. PRML 중에서도 그래피컬 모델 부분을 보면서 설명이 부족하다고 느껴서 요즘 추가적으로 그래피컬 모델에 대한 책을 하나 따로 구해서 보는 중입니다. RL이나 RNN을 논하기 전에 그래프의 representation 부터 확실히 공부하고 관련 논문을 보는 것이 저는 맞다고 생각을 해서 그렇게 공부를 했습니다.

그렇게 1 년 2 개월 동안 여타 다른 공부를 포함해서 기초 공부를 했습니다. 그리고 요즘 예전에 제가 구현실패한 논문들을 다시 보기 시작했습니다. 확실히 예전보다 논문을 보면서 오는 뻑뻑함이 많이 사라진 느낌입니다. 로스펑션을 오브젝티브 펑션과 constraint 의 결합으로 보는 눈이 생겼고, HMM 을 쓰는 모델들의 경우 Clique 와 Factor graph 로 보는 눈이 생겼습니다. 구현을 어떤식으로 해야겠다는 아이디어도 예전에는 깜깜했었다면 요즘은 할 수 있겠다는 생각이 드는 논문들이 많아졌습니다.

요즘 생각해 보면 "진짜 선형대수도 제대로 모르고 어떻게 논문 구현을 하려고 달려들었을까" 라는 생각이 드는 순간이 한 두번이 아닙니다. 정말 부끄러운 실력이었습니다.

요즘 딥러닝 입문하시는 분들이 많이 계신 것으로 알고 있습니다. 사람마다 제각기 능력이 다른 관계로 논문을 읽고 구현하는데 별 어려움이 없는 우수한 분들도 많이 계실 거라 생각합니다. 그러나 개중에 논문의 글자가 저처럼 굴러다니는 느낌이 드시는 분들이 계시다면 일개 개인의 경험에 불과하지만, 기초부터 탄탄히 하는 것을 얼마간 해보시는 건 어떨까 해서 글을 올려봅니다.

이상 겨우 논문볼 수 있게된 미생이었습니다.