컴퓨터비전을 전공하면서, 딥러닝과 많은 연관이 있어 "님 그럼 딥러닝 엄청 잘하시겠네여ㅋ" 라는 질문을 많이 받았다. 허나 딥러닝에 관하여 일자무식이었기 때문에 느즈막히 딥러닝에 발을 들여 포스팅을 시작한다.


 새로운 마음으로 딥러닝의 정의부터 알아봅시다.



1. 딥러닝 = 블랙박스?


 딥러닝이 뭔지 물어본다면 가장 알기 쉽게 설명할 수 있는 것이 Black Box일 것이다. 안에서 무슨 일이 일어나는지 정확히 알지 못한다는 것이다. 딥러닝 모델(Black Box)의 껍데기만 잘 만들어주고 학습데이터(Training data)를 적절히 넣어주면 최적의 파라미터를 알아서 잘 찾아준다. 그렇게 찾은 파라미터로 테스트 데이터(Input)를 넣어 우리가 원하는 출력(Output)을 기대할 수 있는 것이다.


Slide by Alex Poon at slideshare.net


 

2. 흔히들 말하는 용어인 인공지능과 머신러닝은 무슨 차이가 있을까?


 인공지능(Artificial Intelligent, AI)은 인간이 지닌 지적 능력의 일부 또는 전체를 인공적으로 구현한다는 의미로 가장 큰 개념이다. 

 머신러닝(Machine Learning)은 인공 지능의 한 분야로써 컴퓨터가 학습할 수 있도록 알고리즘을 개발하는 분야를 말한다.

 딥러닝(Deep Learning)은 머신러닝을 위한 하나의 기술적모델에 불과할 뿐이다.


Slide by Byoung-Hee Kim, Jiqiong Qiu at slideshare.net


 

3. 특징(Feature)이란?



 몸으로 말해요 게임을 할 때, 대상을 묘사하기 위해서는 서로가 공통으로 경험한 특징을 엄선하여 또한 특징을 잘 살려 설명해야 한다. 이수근씨는 특징의 선택표현에 있어서 탁월한 능력을 가졌다 볼 수 있다. 

 데이터 과학에서도 특정 데이터를 묘사하기 위해 특징(Feature)을 정의한다. 데이터를 분별하기 위해 각 특징에 가중치가 곱해지는데 곱해지는 값을 파라미터라고 한다. 를 최대한 잘 학습시키는 시도가 머신러닝이다. 머신러닝에서는 사람이 직접 특징을 정해주는데 그 특징을 handcrafted feature라 한다. 당연히 좋은 Feature를 찾기 위해 수많은 연구와 노력이 있었다. 컴퓨터 비전 분야에서는 윤곽(Edge), 꼭지점(Corner) 등 직관적인 Feature를 예로 들 수 있다. 딥러닝에서는 컴퓨터가 스스로 특징을 추출할 수도 있는데 간혹 인간의 경험적 범주를 넘어서 새로운 패러다임을 제시하는 Feature가 되는 경우도 있다. 



2. 딥러닝의 역사


 딥러닝이 처음부터 각광받았던 것은 아니었다. 1940년대에 인공신경망(Artificial Neural Network, ANN)이 나오고 1980년대에 Back Propagation 최적화 방법이 나왔다. 신경망의 층(Layer)이 깊을 수록 데이터를 일반화 하는 것에 유리하다고 알려지자 딥러닝에 관하여 많은 연구가 진행되었다. 하지만 딥러닝 모델을 설계했다 하더라도 방대한 처리량을 따라올 수 없는 하드웨어와 수학적 최적화 이론들이 적립되지 않아 연구의 한계에 이르렀다. 2000년도 중반에서야 Unsupervised pre-training, dropout, ReLU 등.. 이론적 기반이 쌓이고 무엇보다도 하드웨어 스펙이 비약적인 성장을 함에 따라 딥러닝이 각광을 받게 된다. 


2. 알파고


 2016년 3월에 전세계가 주목했던 알파고와 이세돌 구단의 대국이 있었다. 이세돌 구단이 알파고에게 3연패를 하고, 제 4국에서 불계승 하며 우리나라는 "두유노 세돌리?"라는 국뽕에 취하게 된다. 알파고는 인간의 16만개의 기보를 학습하여 기존 상용 바둑 프로그램과 494승 1패를 기록하였다. 이세돌 구단이 16만개의 기보 속에서도 관측되지 않았던 수를 둔 것은 경이로운 일이 아닐 수 없다. 당연 '신의 78수'가 아니더라도 알파고를 이길 수 있는 수는 분명 존재한다.


Image by 연합뉴스


  알파고는 지도학습(Supervised Learning)으로 학습하였는데 간단히 말해 사람들이 두었던 대국을 학습 데이터로 하여 학습을 진행했다는 것이며, 이는 사람들의 습관, 공식, 패러다임 안에서 최적의 해를 찾았을 것이다. 이세돌 경기 이후 알파고는 계속 진화해 갔다. 커제를 꺾었던 "알파고 마스터"가 지도학습으로 학습한 알파고의 최종 진화버젼이라고 하자. 이것 마저도 제껴버리는 놈이 나왔는데 그놈은 바로 "알파고 제로"이다. 알파고 제로는 강화학습(Reinforcement learning)으로 학습되어진 놈인데 인간의 기보를 사용하지 않고 바둑의  이치를 스스로 깨우친 현자이다. 72시간(490만판)의 독학으로 이세돌과 대국을 벌인 알파고와 100전 100승을 기록했고 40일(2900만판)의 독학으로 알파고 마스터를 100전 89승 11패로 발라버렸다.

 기존의 많은 머신러닝 연구자들이 딥러닝에 현자타임을 느낀 것이 이것이 아니었을까 생각한다. 뿌리 깊게 진리라 생각해 왔던것을 고작 40일만에 깨져버린 것이 누군가에게는 도전이 되었을 것이고 누구에게는 상실이 되었을 것이다. 나의 삶 속에서도 알게모르게 전통과 관습이 중대한 결정을 내리는데 기준이 된다. 이것이 나쁘다는 것이 아니라 시선을 좀더 다양하게 볼 수 있으면 더 많은 것을 경험할 수 있지 않을까 생각해본다. 


영상강의: https://youtu.be/Oj4-Wv9yHJo

+ Recent posts