87 특집 딥러닝기반방송미디어기술 CNN 과 RNN 의기초및응용연구 이은주 / 계명대학교 Ⅰ. 서론 2016 년 3월, 전세계적으로굉장히이슈가되는사건이있었다. 다름아닌, 구글딥마인드 (Deep Mind) 가개발한인공지능바둑프로그램인알파고 (AlphaGo) 와이세돌 9단의바둑대결에서컴퓨터가 4대 1이라는압승을거둔것이다. 이때, 일반대중들에게바둑에대한관심못지않게오래된패러다임으로생각되었던인공지능에대한관심이폭발적으로증가하게되었다 [1]. 이미컴퓨터에게사람의지능을닮아가게끔하는연구는끊임없이진행되었지만단순하게입력된정보를추론하고검색하는기계에불과했다. 이에반해알파고는다양한경우의수를추론하는것뿐만아니라스스로생각하고더나아가인간이생각할수있는지능의한계를뛰어넘을수있는강력한기술을실현한것이다. 이기술이바로딥러닝이다. 딥러닝은인간의두뇌와유사한사고방식을컴퓨터에적용하여홍수처럼쏟아지는데이터를분석하는인공지능기술을말한다. 많은개발자들이딥러닝기술을추천하는이유는디지털경제의확산으로학습가능한정보가방대해졌으며많은정보를실시간으로처리할수있는 GPU 병렬처리기술이발달되었고무엇보다네트워크구조가간단하면서도우수한성능을낼수있기때문이다. 딥러닝의핵심기술은입력데이터가고차원이고구조가복잡한경우전처리과정에서정보손실이될수있는정보를전체학습과정에포함시키면서입력데이터를직접학습하도록통합하는것이다. 이러한딥러닝기술은컴퓨터비전분야에서는영상인식 (Video Recognition), 객체추적 (Object Tracking), 자율주행자동차 (Self-driving Car) 플랫폼등이미다양한분야에적용되어실효성이입증되었다. 2017 년 1 월 87
88 특집 : 딥러닝기반방송미디어기술 따라서본논문에서는딥러닝을학습하고자하는연구자들을위해실시간영상처리를위한최근의딥러닝기술을소개하고효율적인딥러닝시스템에대한연구방향을제시하고자한다. 본논문의구성은다음과같다. Ⅱ장에서는딥러닝기술을대표하는전통적인 CNN(Convolutional Neural Network) 및 CNN의단점을개선한 RNN(Recurrent Neural Network) 의개념과구조에대해설명한다. Ⅲ장에서는딥러닝모델을이용한응용사례, 마지막으로 Ⅳ장에서는결론으로써향후연구방향을제시한다. Ⅱ. 딥러닝모델의구조 1. CNN의구조 CNN은이미지로부터고수준의추상화된특징을추출하거나질감정보를처리하는최적의방법으로써이미 2012년 ILSVRC(Imagenet Large Scale Visual Recognition Challenge) 에서기존알고리즘들을압도적으로제치고객체인식에대단히뛰어난성능이검증되었다 [2]. CNN은지역적수용필드 (Local Receptive Field), 가중치공유 (Shared Weight), 서브샘플링의세가지아이디어가적용되었다. 지역적수용필드, 공유가중치를반영하는컨벌루션계층과서브샘플링계층은여러층으로적재가가능하며마지막단계에서완전연결계층 (Fully-Connected Layer) 을통해분류수행하는계층모델이다. CNN 은벡터형태의입력데이터대신 2차원구조의입력이가능하므로신경망이영상을잘학습할수있도록최적화시킨알고리즘이다. 다음은 CNN의각 계층에대한설명이다. 첫번째, 컨벌루션계층은객체의위치나크기에영향을받지않고입력정보에서찾아내고자하는객체의에지나코너, 선의끝과같은특징을특징맵 (Feature Map) 에표현하기위한계층이다. 이계층의입력은원본영상이거나이전계층의출력즉특징맵이다. 다계층인공신경망과는달리인접한픽셀끼리의지역 (Local) 적특성을반영하고자 2차원배열형태의입력영상에 N N 크기의필터를슬라이딩윈도우방식으로컨벌루션연산을한다 [3]. 특징맵에서컨벌루션필터의가중치 (Weight) 는공유되어지고역전파 (Backpropagation) 를통해학습된다. 컨벌루션연산은영상내의모든픽셀에대해반복적으로처리하게되는데컨벌루션되는필터의개수가많아지면다양한종류의특징을추출할수도있다. 2차원입력영상에대해서 N N 크기의필터를모든가능한위치에서컨벌루션연산이수행될수있도록이동시키므로출력되는특징맵의크기는 ( 입력영상의크기 - 필터크기 +1) 이된다. < 그림 1> 은 3 3 필터를이용한컨벌루션연산과정을보여준다. (a) 수용필드 (b) 컨벌루션 (c) 출력 < 그림 1> 필터를이용한컨벌루션과정 (a) 지역적수용필드 (b) 컨벌루션 (c) 출력 컨벌루션필터링된값들은수식 (1) 과같이비선형변환함수인 Relu[4] 를이용하여활성화된다. 88 방송과미디어제 22 권 1 호
CNN 과 RNN 의기초및응용연구 89 (1) 이때, x는컨벌루션연산을통해도출된출력값이며뉴런이선형적으로활성화되어큰값을가질수있게함으로써역전파를해도기울기 (Gradient) 가사라지지않도록한다. 두번째, 서브샘플링계층은입력픽셀을 2 2 크기의서브영역으로분할하고각서브영역에서픽셀의최댓값, 최솟값또는평균값을추출하여해당영역의한점으로매핑 (Mapping) 한다. 이것은뉴런이가장큰신호에반응하는것과유사하며노이즈감소및속도향상, 영상의분별력또한증가한다. < 그림 2> 는 2 2 필터를이용한 Max-Pooling 연산과정을보인다. 세번째, 완전연결계층은 CNN의마지막계층으로분류를위한과정을수행한다. 서브샘플링계층에서나온 1차원벡터특징들을이용해서영상을클래스별로분류를할때사용되는데, 일반적인다계층인공신경망의입력처럼각각하나씩매핑한다. < 그림 3> 은전통적인 CNN 구조이다. CNN을기반으로만들어진대표적딥러닝프레임워크 Caffe[6] 는현재가장대중적인딥러닝애플리케이션으로인정받고있으며사람이손으로쓴필기체숫자인성능테스트용데이터 MNIST(Mixed National Institute of Standards and Technology Database) 를학습시키고결과를테스트해볼수있도록리눅스혹은윈도우기반으로설계되었다. Caffe 기반알렉스넷 (AlexNet)[7] 은 ImageNet 에서 (a) 8 6 특징맵 < 그림 2> 2 2 필터를이용한 Max-Pooling 과정 (b) 2 2 max - pooling (c) 결과 < 그림 3> 전통적인 CNN 구조 [5] 2017 년 1 월 89
90 특집 : 딥러닝기반방송미디어기술 < 그림 4> RNN 의기본구조 [8] 정확도 84.7% 을기록하며 10여년동안깨지지않은기록 75% 대의벽을허물었다. 하지만 CNN의학습과정은순서가중요하지않은정보들이공통으로가지는특징들만관심이있기때문에실시간으로들어오는정보들의순서관계를처리할수없는문제점이있다. 이에과거및현재정보를기반으로미래정보를예측하는시계열특성을반영한 RNN[8] 딥러닝모델을소개하고자한다. 2. RNN의구조 RNN은어떤특정부분이반복되는구조를통해순서를학습하기에효과적인딥러닝기법이다.< 그림 4> 는은닉층 (Hidden layer) 에서자기자신으로의 W(Recurrent weight) 를가진기본구조로서 CNN과동일한방법으로데이터에서규칙적인패턴을인식하면서 W를통해과거의정보를통해현재의정보파악에도움을받는구조가될수있다. x t 는현재 time step t에서의입력값, s t 는메모리역할을하는은닉층으로써수식 (2) 와같이 s t-1 ( 이전 time step t) 와 x t 에의해계산된다. (2) 이때, f는비선형함수로서 tanh 나 ReLU 가사용된다. RNN의은닉층은입력된정보를통해계산된결과에대해서저장할수있는기능이있어짧은시퀀스를효과적으로처리할수있다. z t 는 time step t에서의출력값으로수식 (3) 에의해계산되어진다. (3) RNN은각 time step 마다가중치 U, V, W가공유되어지기때문에역전파알고리즘의변형인 Back-propagation Trough Time(BPTT) 을통해학습한다. RNN은각출력부분의기울기는현재 time step 이외에이전 time steps 에매우의존적이다. 많은수의뉴런유닛이나많은수의입력유닛이있는경우과거학습기능을통해반복적으로곱해지는가중치에의해에러값이 1보다클경우누적에러가기하급수적으로증가 (Gradient Exploding) 하거나, 1 보다작을경우누적에러가감소하여빠르게 0으로수렴 (Gradient Vanishing) 하는문제가발생할수 90 방송과미디어제 22 권 1 호
CNN 과 RNN 의기초및응용연구 91 있다. 이러한문제해결을위해서 LSTM(Long Short Term Memory)[9] 가제안되었다. LSTM 모델은 Ⅲ장 RNN의응용사례에서간단히기술한다. Ⅲ. 응용사례 CNN과같은딥러닝기술은대량의데이터를의미있는데이터의형태로표현하고학습하고자하는노력으로영상이나음성인식과같은다양한분야에적용되었다. 하지만이러한최신기술도고차원데이터에대한학습시간이많이소요되며과적합, 기울기감소에대한문제점들이발생한다. 이점을해결하기위하여 Ⅲ장에서는최소한의전처리를하도록설계된다계층퍼셉트론으로 BRF를결합하 여기울기감소문제및시간단축의효과를거둘수있는 RC-CNN[10] 을소개한다. < 그림 5> 는자율주행차량애플리케이션에서보행자의위험행동을인식하기위한경량의 RC-CNN 구조도이다. 보행자를인식하는대부분의방법들은모션 (Motion) 정보를이용한다. 하지만차량의진동, 차량의속도, 보행자의다양한형태로인해보행자의모션정보를정확하게추정하기어려우므로 걷기, 서기, 달리기 와같은정적이미지를보행자의의도를추적하기위한단서로삼는다. RC-CNN 은 1차컨벌루션계층 (C1), 1차서브샘플링계층 (S1), 2차컨벌루션계층 (C2), 2차서브샘플링계층 (S2), 공간피라미드풀링계층 (SPP1), BRF 계층으로구성된다. 전통적인 CNN과의차별화된 3가지를소개한다. < 그림 5> RC-CNN 네트워크구조 [10] 2017 년 1 월 91
92 특집 : 딥러닝기반방송미디어기술 (S2) 특징맵 (SPP1) 공간피라미드풀링게층 < 그림 6> SPP 를이용한출력특징벡터생성 [10] 첫번째, 전통적인 CNN은항상고정된크기가입력되어지는반면 RC-CNN 은지역및전역적공간특성을잘반영하여입력이미지의크기에구애받지않도록공간피라미드풀링 (Spatial Pyramid Pooling)[11] 방식을사용하여세분화된특징을추출한다. 두번째, 역전파학습알고리즘을사용하는대신반복학습과정을줄이고응용시스템에적합한최적의필터를생성하기위하여 GA(Genetic Algorithm) 필터뱅크업데이트를수행한다. 필터는 9개의값으로이루어져있으며 LeCun 등 [3] 이제시한방법과동일한방법인 9개의랜덤값으로부터최적의필터계수추정법을사용하였다. 먼저 0 255의범위를 9개의영역으로나눈다. 9개의영역에서임의의값을추출한후그값의음수와양수값을이용하여하나의필터값 (4쌍) 을구성한다. 같은방법으로 100번의필터생성과정을거쳐만들어진필터들중에서성능이우수한필터를선택한다. 전통적인 CNN의경우 End-to-End 방식의 오류역전파학습인반면제안된필터뱅크방식의학습은입력계층에서 GA 알고리즘으로생성된필터의값은단지마지막계층의부스티드랜덤포레스트를거쳐나온정확률 ( 적합도 ) 만을가지고학습여부를판단하게된다. 추가학습이필요할경우입력계층에서 GA 연산을통해이전에생성된필터값에서진화된필터로다시학습을진행하는작업을반복한다. 세번째, 추출된특징벡터를완전연결방식의멀티레이어퍼셉트론방식대신에랜덤특징을선출하여분류에적용하는 BRF(Boosted Random Forest)[12] 와결합하여처리속도를향상시키고성능을높이는알고리즘을적용하였다. C1 SPP1 의단계를거쳐특징벡터를생성하고각트리에값을입력시켜나온확률값들을 < 그림 7> 과같이누적하여최종분류클래스를결정하도록한다. RC-CNN 은전통적인 CNN에서고정된영상사이즈를입력받아야하는제약을넘어서다양한입력크기에도불구하고처리속도개선뿐만아니라 92 방송과미디어제 22 권 1 호
CNN 과 RNN 의기초및응용연구 93 < 그림 7> 보행자위험행동분류를위한테스트과정 [10] SPP와의융합으로인한견고한인식이가능함을알수있었다. 다음으로소개할응용사례는 Sharma 등 [13] 이제안한행동인식을위한 Recurrent Model 이다. 실제사람은객체를인식할때배경을포함한모든정보를사용하여인식하는것이아니라자신이관심 (Attention) 있는부분을시간흐름에따라포커싱하면서그 sequence 들을종합하여결론내리는것을알수있다. 이논문은 CNN처럼전체이미지를한번에처리하지않고각 time step 마다관심있는영역을감지하여처리한다. < 그림 8> 은시각적관심 (Visual Attention) 을이용한 RNN 구조도이다. < 그림 8>(a) 의결과는수식 (4) 의 soft attention(l t,i ) 과 CNN 메커니즘에의해생성된 X T 큐브 (D개의특징맵 ) 에의해현재 time step t의입력 (X t ) 이된다 ( 수식 (5) 참조 ). Input value Output score per class >> average x t y 1 y 2 y 10 l t # of feature map K l 2 l 3 X t K D soft attention X 1 X 2 X 30 l 2 X l 2 l 1 X 10 2 X 10 (a) Soft attention (b) Recurrent Model < 그림 8> Recurrent 네트워크구조 [13] 2017 년 1 월 93
94 특집 : 딥러닝기반방송미디어기술 (4) (5) 전통적인 RNN과차별화된점은은닉층이 LSTM(Long Short Term Memory) 으로구성되어있다. LSTM 의핵심은셀상태 (Cell State) 에있다. 셀은여러개의게이트 (Gate) 라는요소를활용하여정보를불러오거나정보를기억하거나더이상필요없는기억된정보의제거기능을통하여선택적정보수집및유지가가능하다. 각게이트가갖는가중치는이전모델의은닉층과같은원리로역전파알고리즘을통한학습이이루어진다. < 그림 8>(b) 의마지막 LSTM 을통해나온출력값 l 2 중하나는다음 time step 의입력으로나머지하나는 softmax 를적용하여현재 time step 의클래스별스코어를계산한다. 최종적으로관심행동예측은모든 time step 을거쳐나온확률값의평균을이용하여최종행동예측을하게된다. Ⅳ. 결론 본논문은최근들어인식및예측분야에서많은각광을받고있는딥러닝모델 CNN(Convolutional Neural Network) 과 RNN(Recurrent Neural Network) 알고리즘을자세히살펴보았다. 특히, 무인자동차에서보행자의위험행동을인식하는데 CNN을실시간으로사용할수있도록구현하였으며또한데이터에서규칙적인패턴을인식하면서 Recurrent weight 를통해현재의정보파악에도움을받는구조로써공간적특성뿐만아니라시계열특성을고려하기위한관심 (Attention) 기반 RNN 구조에대해알아보았다. 관심 (Attention) 기반 RNN 모델은아주오랜시간으로부터의장기보존여부및정보메모라이징문제를야기했던전통적인 RNN 의대안으로 LSTM (Long Short Term Memory) 모델을사용하고있다. 현재 Window 버전 Caffe 를활용하여보행자의위험행동을예측하는방법으로기존의 RC-CNN 의공간적특성과 LSTM 의 RNN 화를통한시간적특성을접목하여 time step 마다출력된확률값의결합으로더높은성능향상을위한연구가진행중에있다. 94 방송과미디어제 22 권 1 호
CNN 과 RNN 의기초및응용연구 95 참고문헌 참고문헌 [1] 연합뉴스, < 알파고충격 >1인공지능, 마침내인간을넘어서다, http://www.yonhapnews.co.kr/bulletin/2016/03/14/02000000 00AKR20160314161200017.html, 2016.03.15. [2] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, et al, Imagenet large scale visual recognition challenge, International Journal of Computer Vision, Vol 15, No 3, pp. 211-252, 2015. [3] P. Sermanet, Y. LeCun, Traffic sign recognition with multi-scale convolutional networks, Proc. of The International Joint Conference on Neural Networks, pp. 2809-2813, July, 2011. [4] X. Glorot, A. Bordes, Y. Bengio, Deep sparse rectifier networks, Proc. of the 14th International Conference on Artificial Intelligence and Statistics, Vol. 15, pp. 315-323, 2011. [5] Y. LeCun, et al, Gradient-based learning applied to document recognition, Proc. of the IEEE, 1998. [6] Y. ia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, et al, Caffe: Convolutional architecture for fast feature embedding, Proc. of The International Conference on Multimedia, pp. 675-678, November, 2014. [7] A. Krizhevsky, I. Sutskever, and G. E. Hinton, Imagenet classication with deep convolutional neural networks, In Proc. Neural Information Processing System, 2012. [8] J. Schmidhuber, Deep learning in neural networks: An overview, Neural Networks, Vol 61, pp. 85-117, 2015. [9] M. Baccouche, et al, Sequential deep learning for human action recognition. International Workshop on Human Behavior Understanding. pp. 29-39, 2011. [10] E. J. Lee, B. C. Ko, J. Y. Nam, Recognizing pedestrian s unsafe behaviors in far-infrared imagery at night, Infrared Physics & Technology, Vol 76, pp. 261-270, 2016. [11] K. He, X. Zhang, S. Ren, J. Sun, Spatial pyramid pooling in deep convolutional networks for visual recognition, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 37, No 9, pp. 1904-1916, 2015. [12] Y. Mishina, M. Tsuchiya, H. Fujiyoshi, Boosted Random Fores, Proc. of the International Conference on Computer Vision Theory and Applications, pp. 594-598, January, 2014. [13] S. Sharma, R. Kiros, R. Salakhutdinov, Action recognition using visual attention, arxiv preprint arxiv:1511.04119, 2015. 필자소개 이은주 - 2000 년 : 계명대학교컴퓨터공학과졸업 ( 공학사 ) - 2004 년 : 계명대학교대학원컴퓨터공학과졸업 ( 공학석사 ) - 2016 년 : 계명대학교대학원컴퓨터공학과졸업 ( 공학박사 ) - 2016 년 9 월 ~ 현재 : 계명대학교산업기술연구소연구원 - 주관심분야 : 컴퓨터비전및패턴인식 2017 년 1 월 95