딥러닝 101_Chapter 3
딥러닝의 기본 개념이 되는 뉴런, 다른 말로 퍼셉트론의 아이디어는 이미 1950년대에 등장한 바가 있다. 이미 지금으로부터 60여년 전에 뉴런을 컴퓨터가 구현할 수 있게 하는 기본적인 알고리즘이 구현되었던 것 이다. 그런데 왜 60여년 전에 구현되었던 이 개념이 그 동안 발전을 하지 못하고, 최근에 이르러서야 딥러닝 이라는 이름으로 각광을 받게 된 것일까?
앤드류 응 교수는 이를 Scale drives deep learning progress 라고 말한다.
우선 딥러닝에 있어서 가장 중요한 것이 데이터라는 점은 여러분들도 어떠한 식으로든 많이 들어본 소리일 것이다. 특히 이 데이터라는 것이 정답지가 매겨진 Labeled 데이터를 의미하는데, 불과 10여년전과 지금만 비교해봐도 생성되는 Labeled 데이터의 양은 비교 불가하다. 최근 10년간 생성된 데이터의 양이 인류 역사 전체에서 생선된 데이터의 약 80%를 차지한다는 글도 어디선가 본 기억이 있으며, 데이터이 양이 늘어나는 속도는 기하급수적인 것에 아무도 이견이 없을 것이다.
위 그래프는 데이터의 양과 딥러닝의 알고리즘의 복잡도와의 관계를 나타낸 것 이다. 불과 십 년 전만 해도 우리가 사용할 수 있는 데이터는 많지 않았다. 하지만 스마트 폰이 등장을 하면서 수집되는 데이터의 양이 기하급수적으로 늘어나게 되었다(여기서 말하는 데이터란 'Labeled Data'를 의미한다). 이렇게 활용할 수 있는 데이터의 양이 많은 경우에 알고리즘 자체의 스케일이 더 커지게 되면 그 성능도 올라가게 된다. 빨간색 선은 상대적으로 단순한 알고리즘, 예를 들어 SVM(Support vector Machine), Linear Regression 등을 말하며, 노란색, 파란색, 녹색선은 각각 Small, Medium, Large Neural Network를 의미한다. Small에서 Large로 갈수록 hidden unit의 수, hidden layer의 수 등이 증가하는, 다시 말해 scale이 커지는 알고리즘이 되는 것이다. 보시다시피 데이터의 양이 많으면 많을수록 알고리즘의 스케일에 따른 성능 차이가 더욱 커지게 된다.
반대로 말하면 데이터의 양이 얼마 되지 않은 상황에서는 알고리즘의 스케일은 크게 중요치 않은 요소가 되며, 오히려 Large NN보다 SVM이 더 좋은 성능을 나타낼 수 도 있는 것이다.
앤드류 응 교수가 강조하는 '스케일' 에 대해서 조금 더 짚고 넘어가면 크게 세 가지가 있다.
1)데이터
2)컴퓨팅 파워
3)알고리즘의 개선
데이터에 대한 것은 앞서 설명하였고, 알고리즘의 경우도 앞서 설명한 복잡도 외에 예를 들면 단순히 활성 함수를 Sigmoid에서 ReLU로 변화시켰는데, 이로 인하여 Gradient descent의 속도가 빨라져서 딥러닝의 발전에 있어서 큰 도움이 되었다.
컴퓨팅 파워의 증가 또한 딥러닝의 발전에 있어서 빠질 수 없는 요소이다. 딥러닝의 프로세스 자체가 아래 그림의 오른쪽에서 보듯이, Idea / Coding / Experiment의 단계를 아무 많이 반복해야 한다. 이 한 사이클이 10분이 될 수 도 있고, 하루가 될 수도 있고, 한 달이 될 수도 있다. 그런데 최근 GPU, CPU, RAM 등의 컴퓨팅 파워가 증가하면서 이러한 사이클의 주기를 혁신적으로 짧게 가져갈 수 있게 되었다.
이러한 세 가지 요소의 스케일이 시대적 상황과 맞물려 증가하게 되면서 인공지능 딥러닝이 다시 봄을 맞이하고 고, 지난 역사의 그 어느 시기보다 폭발적 성장을 앞두고 있는 것이다. 오죽하면 AI가 가져올 미래의 영향력이 전기의 발명에 비유되고는 하니, 앞으로 그 성장과 영향력이 어느 정도일지 가늠조차 하기가 어렵다.
참조 : 강의 원본 출처 (앤드류 응 교수 딥러닝 강의)
Why is deep learning taking off? (C1W1L04)
https://www.youtube.com/watch?v=xflCLdJh0n0&index=4&list=PLkDaE6sCZn6Ec-XTbcX1uRg2_u4xOEky0