Algorithm. Road to Deep Learning
보통 주말이 되기 전에 다음에 적을 주제가 떠오르지만 이번은 딱히 생각이 없어서 3년 전에 그렸던 그림과 예전 포스팅으로 대체하려 한다. 기계학습 — 개별 알고리즘들보다는 — 에서 복잡도 다스리기나 차원 축소, 또는 광고 시스템과 관련된 몇몇 주제가 있지만 정리하고 싶은 의욕이 별로 없어서 그냥 예전 글을 재탕한다.
대학원생이었던 2000년대 초반에 인공신경망 (ANN, Artificial Neural Network)의 개념을 익히 들어 알고 있었지만 잠시 반짝하고 SVM이나 가우시안 프로세스 등에 왕좌를 넘겨줬다. 'ANN은 끝이구나’라고 생각 했는데, 10여 년이 흐른 후에 딥러닝 Deep Learning이란 이름으로 부활할 줄은 전혀 예상 못했다. 처음에는 따로 공부할 생각이 없었는데 갑자기 워낙 많은 얘기들이 쏟아져서 어쩔 수 없이 당시 (5년 정도 전)에 나와있던 여러 서베이 논문과 동영상을 쭉 훑어볼 기회가 있었다. 제주에 혼자 떨어져서 주변의 간섭을 적게 받았던 게 오히려 좋은 기회였다. 학생 때는 몰랐는데 ANN/DL이 일종의 Regression Model의 앙상블 Ensemble이라는 깨닫음을 얻으면서부터 그리고 그 사이에 의도한 바는 아니지만 주변에서 주워 들었던 여러 개념들이 쫙 정리되면서 아래의 그림을 그렸다.
중간에 몇 가지를 추가했지만 2017년의 그림과 글에서 크게 다르지 않아서 부연 설명은 3년 전에 적은 글로 갈음한다. 워낙 빠르게 발전하는 분야라서 중간에 빠진 부분에 대해서는 양해를 구한다. 하지만 기본이 변한 건 아니다. 그리고 개인적인 경험/업무에 편향된 내용이 일부 들어있다.
https://bahnsville.tistory.com/1155
어떤 면에는 나는 운이 좋아서 딥러닝이라는 큰 산이 아니라 회귀분석 Linear Regression이라는 작은 언덕부터 시작했다. 물론 회귀분석이 ANN/DL로 연결된다는 점을 다소 늦게 깨달았지만 그래도 낮은 언덕들을 먼저 익힌 건 운이 좋았다. 요즘도 그렇겠지만 딥러닝이 인기와 명성을 얻은 후로 기초 지식이 없이 무턱대로 딥러닝을 마스트하겠다고 다서는 이들을 보며 우려했다. 게 중에는 성공한 케이스도 있었겠지만 많은 이들이 그냥 좌절했거나 아니면 누군가 만들어둔 라이브러리를 그냥 기계적으로 사용하는 수준에서 끝났을지도 모른다. 혹시 이제 시작하는 단계라면 딥러닝 이전에 간단한 회귀모델이나 또는 주변의 개념들을 먼저 익혔으면 하는 바람이다.