기계학습개론 / 딥러닝강의노트, 서울대학교컴퓨터공학부장병탁, Copyright 2013-2016 3 장 : 딥러닝모델과모델복잡도이론 3.1 딥러닝개념 3.2 딥러닝의혁신점 3.3 딥러닝아키텍쳐 3.4 모델복잡도이론과정규화 3.5 딥러닝모델의비교 3.1 딥러닝개념 30 년전에는인공지능의기초연구분야에속하던머신러닝이최근구글, 애플, 삼성등글로벌기업들이앞다투어확보하려는핵심산업기술로발전하고있다. 머신러닝연구의기원은 1959 년까지거슬러올라간다. 당시 IBM 연구소의 Arthur Samuel 은체커게임에서기계가경험을통해서스스로성능을향상하는기계학습의개념을사용하였다 [1]. 그리고 1986 년에다층신경망 (Multi-Layer Perceptron, MLP) 학습알고리즘이개발되면서실제적인머신러닝연구가시작되었으며, 당시까지주류였던기호논리기반의인공지능기술의한계를극복하는데기여하였다. 1990 년대부터는인터넷기반산업이발전함에따라정보검색, 데이터마이닝, 전자상거래, 추천서비스등을위해결정트리 (Decision Trees), 베이지안망 (Bayesian Networks), 지지벡터머신 (Support Vector Machines, SVM) 과같은머신러닝알고리즘들이활용되기시작하였다. 2000 년대후반기에들어서머신러닝은 Apple Siri, IBM Watson, Google 무인자동차등에활용되면서인공지능산업을고도화하는데크게기여하였다. 특히최근에는딥러닝 (deep learning) 기술이음성인식, 물체인식, 비디오게임등에서인간의능력을능가하는성능을보이면서세간의주목을받고있다 [2,3]. 이는그동안축적된빅데이터를기반으로고성능컴퓨팅능력을이용하여복잡한구조의딥러닝모델을학습하는것이가능해졌기때문이다. 본고에서는딥러닝이연구뿐아니라실제산업현장에서사용되는이유와그특징을살펴보고, 딥러닝의일종인딥하이퍼넷 (Deep Hypernetwork, DHN) 모델 [4] 의구조와학습방법및응용사례를소개한다. DHN 은기존의 Convolutional Neural Network (CNN) 이나 Deep Belief Network (DBN) 과달리스트림형태의순차적으로관측되는데이터로부터실시간에온라인점진적학습을통해서고차적관계구조의지식을자동으로습득하는평생학습방법으로개발되었다. 딥러닝은신경망기반의복잡도가큰머신러닝모델이다. 기존의신경망모델이한개의은닉층을사용한비교적단순한모델인것에비해서딥러닝모델은아주많은수의은닉층을사용한다. 인간뇌의시각피질에서도 V1, V2, V4 등점차적으로복잡한정보를추출하는일련의신경층들이발견되며딥러닝은이러한구조를모사한머신러닝모델이다. 예를들어, 하위층에서는비교적단순한정보처리 ( 예, 라인탐지 ) 를수행하고, 상위층으로갈수록점차복잡한정보 ( 예, 에지검출과물체인식 ) 를추출하는구조를사용하는것으로알려져있다. 최근구글연구팀은백만장의이미지로구성된 ImageNet 데이터베이스로부터 1000 가지종류의물체들을인식하기위해 22 층의신경망층을가지는딥러닝모델을개발하여사용하였다 [5]. 딥러닝의복잡한학습구조는기존의두층짜리 SVM 이나세층짜리 MLP 신경망구조와는대조적이다. 학습이론적으로볼때딥러닝과같은복잡한모델을사용할경우과다학습 (overfitting) 현상으로인해성능이향상되지않고오히려저하되는것이상식인데, 딥러닝은이러한기존의상식을위배하는기이한현상을보인다. 모델구조가극단적으로복잡해짐에도불구하고딥러닝의성능이좋은이유는무엇일까? 한가지근거는최근들어스마트폰의보급과 Youtube, Google Image 등을통해서데이터가축적되어가용한학습데이터가무한히많아진것에서찾을수있다. 즉아주많은수의학습데이터를사용할경우모델의복잡도가커져도과다학습이일어나지않을수있다는것을실험적으로발견한것이다. 또한학습데이터가많아지고모델의복잡도가커지면학습에소요되는시간이비례하여증가하는데도불구하고학습이가능한것은컴퓨팅파워의비약적인향상이있었기
때문이다. 물론가장큰이유는, 다음절에서살펴보겠지만최근들어딥러닝구조를학습하는데필요한여러가지테크닉들이개발되었기때문이다 [6,7]. 딥러닝이산업현장에서선호되는데는몇가지이유가있다. 일단은어려운문제를잘해결한다는것이다. 예를들어서, 물체인식과음성인식등전통적인패턴인식의문제에서딥러닝기술은신기록을세웠다. 다른이유는현장의문제를과거보다더욱자동화된방법으로쉽게풀수있다는것이다. 데이터와컴퓨팅파워가충분하다면딥러닝이사람이코딩하는것보다더좋은성능을낸다는것이다. 특히딥러닝은인터넷과웹에널려있는무표지데이터 (unlabeled data) 를잘활용할수있는좋은방법이다. 많은딥러닝방법들이무감독학습을사용하여정보를자동으로추출하는기능을포함하기때문에감독학습문제를풀더라도이에무표지데이터를추가로활용함으로써성능을향상시킬수있다. 3.2 딥러닝의혁신점 딥러닝의핵심아이디어는기존에는복잡한문제를풀기위해서특징추출과패턴분류의두단계로분리하여문제를해결하던방식을하나의단계로통합하여해결하는자동화로볼수있다 ( 그림 1). 기존에는먼저데이터전처리및가공을통해서문제해결에적합한특징들을추출한다음, 이를학습데이터로하여패턴분류기를훈련시키는두개의단계로문제를해결하였다. 딥러닝구조는특징추출을위한전처리단계를전체학습프로세스에포함시킴으로써가공되지않은원래데이터를직접학습하도록하는통합된문제해결방식을취한다. 딥러닝구조는특히영상데이터와같이차원수가아주크고복잡한데이터의경우에전처리과정을통해서손실될수도있는정보를기계가자동으로추출해서활용할수있다. 즉기존의전처리방법이나소위 feature engineering 을통해배재되었던해의영역조차도딥러닝은탐색함으로써더욱유용한정보를추출하여활용할수있다. 그림 1. 딥러닝개념 딥러닝과같이다층구조의복잡한신경망이유용할것이라는것은과거에도알고있었다. 뉴런의수를증가하거나층의수를증가시킴으로써보다복잡한패턴분류경계면을생성해낼수있기때문이다 ( 그림 2). 과거에도다층구조의신경망을활용하려는시도가없었던것은아니다 [8]. 그러나실험적으로층의수를늘림으로써학습시간은늘어나는데반해서성능향상은얻지못하였었다. 또한이론적으로한개의은닉층만을사용하여도무한히많은수의뉴런을사용하면임의의복잡한함수도근사할수있다는 Universal Function Approximator 정리가 1989 년에증명되었다 [9,10]. 또한 1990 년대에 SVM 이등장하여아주빠른학습이가능한 shallow network 으로많은문제를해결할수있었다. 그렇다면예전에는성과를내지못하던딥러닝모델이최근들어성능향상을이룩할수있는이유는무엇인가? 한가지이유는컴퓨팅파워가좋아져서예전에할수없었던아주고난도의학습실험을수행할수있기때문이다. 또한가용한학습데이터가무한히많아져서아주많은데이터를학습시킴으로써아무리복잡한모델구조도과다학습을하지않게만들수있기때문이다. 여기에, 무엇보다도대규모데이터로대규모모델을학습시키는효율을향상할수있는여러가지학습구조와학습알고리즘적테크닉들이개발되었다. 이러한
새로운기술들이차원수의저주문제, 과다학습문제, Vanishing Gradient 문제, Nonconvex 최적화문제, 느린학습속도등의이슈를일부해결하였다. 그림 2. 딥구조학습모델의필요성 이문제를해결하는데핵심적으로기여한혁신은크게세가지를들수있다. 첫번째는, 많은수의층으로구성된다층신경망을학습할수있는기술을개발한것이다. 다층망을학습시키는오류역전파알고리즘은층이많이쌓으면학습이잘되지않았다. 출력에가까운층에서는오류의값이커서교정이되지만아래층으로오류가역전파되면서에러의값이줄어들어변경효과가희석되는 vanishing gradient 문제가발생한다. 따라서아주많은수의층을쓰는딥네트워크는오류역전파알고리즘으로학습이어렵다. 최근에서야이문제를극복하는방안으로층별선훈련 (layerwise pre-training) 방법이제안되었다 [11]. 이는상위층을학습하기전에먼저하위층의시냅스를학습시켜둔다 ( 그림 3). 이렇게순차적으로하위층부터학습시킴으로써 Vanishing Gradient 문제로인해서하위층의시냅스학습이잘되지않는문제점을해결한다. 이방법은 DBN 에서사용한다. 그림 3. 층별순차적선트레이닝의개념
두번째는영상과같이차원수가아주높은데이터로부터유용한특징과표현을자동으로추출하기위해컨볼루션커널 (convolution kernels) 을도입한것이다 ( 그림 4). 이를통해서위치가달라도같은파라메터값을갖도록함으로써파라메터의수를줄임으로써학습해야하는차원의수를줄인다. 이방법은 CNN 에서사용하는방법이다. 이방법은과다학습을방지하면서유용한특징을추출할수있는장점이있다. 그림 4. 컨볼루션네트워크 세번째로, 학습방법을변경하는대신새로운뉴런활성화함수를가진유닛을도입한것이다. ReLU 유닛 (rectified linear units), 즉, 정류선형유닛은뉴런이선형적으로활성화되어큰값을가질수있게하여경사도가상수가되도록함으로써오류역전파를해도경사도가사라지지않도록하는효과가있다 [12]. 그림 5 는시그모이드유닛과 ReLU 유닛의특성을비교하고있다. vs. 그림 5. 시그모이드함수와 ReLU 의비교시그모이드유닛은 0 과 1 사이의값으로압축됨으로써 Vanishing Gradient 문제를유발한다. 이에반해서정류선형유닛은포화가되지않고빠르게수렴하는특성이있다.
3.3 딥러닝아키텍쳐 현재가장많이사용되는딥러닝모델은 CNN 과 DBN 이다 [7,11]. 이두가지모델은다수의뉴런층을사용한다는점에서있어서유사하다. 그러나이두모델은여러가지면에서차이가있다. CNN 은기본적으로감독학습문제를풀도록설계되어있는반면, DBN 은무감독학습문제를목표로한다 ( 그림 6, 그림 7). 그러나, CNN 도전단에서는무감독학습으로특징을추출하고, 또한 DBN 도마지막단계에서감독학습을적용할수는있어두모델모두무감독학습과감독학습이결합된형태로해석할수는있다. 또다른차이점은 CNN 은입력데이터를분류하기위한변별적학습에촛점이맞추어져있는반면에 DBN 은입력데이터를재생성하는생성적학습에촛점이있다. 전자의장점은패턴분류성능이좋다는것이고단점은모델로부터샘플을생성해낼수없다는것이다. 후자는반대로패턴분류에적용할경우분류성능은최적은아닐수도있으나모델로부터새로운샘플을생성해낼수있다는장점이있다. 이는일반적으로변별적, 생성적머신러닝방법들이갖는장단점과같다. 다만딥러닝은아주많은수의뉴런층을사용하여아주복잡한특징과표현을스스로구축함으로써아주복잡한문제를풀수있다는것이큰장점이다. 최근의 CNN 기반딥러닝모델의경우 22 층짜리가등장하였다 ( 그림 8). 그림 6. Convolutional Neural Network (CNN) 의구조 그림 7. Deep Belief Network (DBN) 의구조
그림 8. GooLeNet 구조 3.4 모델복잡도이론과정규화 3.4.1 과다학습 3.4.2 모델복잡도 3.4.3 Occam s Razor Principle proposed by William of Ockham in the fourteenth century: Pluralitas non est ponenda sine neccesitate. Of two theories providing similarly good predictions, prefer the simplest one. Shave off unnecessary parameters of your models.
3.4.4 Regularization & Structural Risk Minimization (SRM) 3.4.5 MAP
3.4.6 MDL 3.4.7 Bias-Variance Tradeoff
3.5 딥러닝모델의비교 No Free Lunch Theorem 에의하면학습모델마다잘푸는문제가있으면못푸는문제가있기마련이다. 딥러닝모델도마찬가지이다. 여기서는딥하이퍼넷모델의특성을 DBN, CNN 과비교함으로써딥하이퍼넷이어떤문제에더적합하고어떤문제에덜적합한지를분석한다. 표 1 은다음의 7 가지의비교차원에대해요약정리한것이다. Deep Belief Net (DBN) Convolutional Neural Net (CNN) Deep Hypernet (DHN) 감독 / 무감독 감독 / 무감독 감독 감독 / 무감독 변별 / 생성모델 생성 변별 생성 예측 / 모듈이해 예측 ++/ 모듈- 예측 +++/ 모듈 + 예측 +/ 모듈 +++ 추론가능성 추론 ++ 추론 + 추론 ++++ 연결성 Full/Compact Partial/Convolved Partial/Sparse 깊이 깊이 +++ 깊이 ++++ 깊이 ++ 배치 / 온라인학습 배치 배치 온라인 표 1. 딥러닝모델의특성비교 1) 감독 / 무감독학습 : CNN 은명확히감독학습만을위한모델이다. 이에반해서 DBN 과 DHN 은기본적으로무감독학습을염두에둔모델이며마지막층에감독학습층을추가함으로써감독학습으로활용할수도있다. 감독학습으로사용될경우무감독학습에의해먼저고차특징을추출함으로써라벨이없는데이터를활용하여자동으로표현을학습할수있는특성이있다. 2) 변별 / 생성모델 : 변별모델은입력패턴들의차이를구별하는데집중하며생성모델은입력패턴들의유사성을파악하는데집중한다. CNN 은변별모델이며패턴분류문제에적합하다. 반면에 DBN 과 DHN 은생성모델로서데이터를압축하거나샘플을생성하는데유용하다. 3) 예측 / 모듈이해 : 값을예측하는정확도가중요한문제가있고데이터의숨은구조를찾아내는것이더중요한응용이있을수있다. 이점에서 CNN 은예측에가장적합한모델이며모듈이해는어렵다. 한편 DHN 은모듈이해에중점을두는딥러닝구조로써데이터를재생성하는빌딩블록을찾으려는시도를한다. DBN 은 CNN 과 DHN 의중간정도의모델로볼수있으며차원을축소하며압축을반복하면저차원상에서복잡한데이터의구조를찾을가능성이있다. 다만이구조는빌딩블록이라기보다는전역적인특성에해당한다. 4) 추론가능성 : 생성모델은학습된모델을이용하여추론이가능하다. 즉관측변수값을모델에넣고다른미관측변수값들을예측할수있다. 이점에서 DBN 과 DHN 은추론이가능한모델이며 CNN 은그렇지못하다. DHN 은하이퍼에지의순차적연결에의한구조적인추론을통해서보다복잡한표현을재구성하는추론을수행할수있다. 위에서살펴본바와같이 DHN 은만화영화비디오로부터영상과문장을생성할수있다. DBN 은벡터형태의정형화된표현에대한추론이가능하나 DHN 과같은구조를생성하지는못한다. 5) 연결성 : 가장자유로운연결구조를가지는모델은 DHN 이다. 이에비해서 DBN 은인접층간에항상완전연결구조를가진다. CNN 은국부적인수용영역을갖는컨볼루션에의해정해진정규적인연결구조를반복한다. DHN 학습알고리즘은자유로운연결구조의공간에서가장희소한구조를탐색한다. 만화영화학습예에서개념망은복잡하면서도희소성을갖는이러한구조에속한다.
6) 깊이 : 컴퓨팅파워의증가로딥구조의층의수가증가하고있다. 영상과같이고차원의데이터에서고차패턴을추출하는데는 CNN 과같은선험지식이들어간컨볼루션커널을사용하는다층구조가적합하다. 그러나고차의문법구조를찾는개념망을학습하는문제와같은구조적학습은음성이나영상데이터와는특성이달라너무층수가많을경우해석이불가능할수있다. 따라서적정층의수는문제의특성이나해의특성에따라다를수있다. 현재까지의응용으로볼때일반적으로 DHN, DBN, CNN 의순으로더욱많은뉴런층을사용하는경향이있다. 7) 배치 / 온라인학습 : CNN 과 DBN 은배치학습을기본으로한다. 반면에 DHN 은온라인점진적학습을목적으로설계되었다. 이미많은데이터가수집되어있어순차적인학습을고려할필요가없을때는 CNN, DBN, DHN 방식이모두사용될수있으나데이터가순차적으로관측되는상황에서는 DHN 이더욱적합하다.