딥러닝튜토리얼 Deep Learning Tutorial - 신경망과딥러닝의이해 Understanding Neural Network & Deep Learning

Similar documents
Introduction to Deep learning

딥러닝 첫걸음

<4D F736F F D20B1E2C8B9BDC3B8AEC1EE2DC0E5C7F5>

Ch 1 머신러닝 개요.pptx

1-1-basic-43p

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

( 분류및특징 ) 학습방법에따라 1 지도학습 (Supervised 2 비지도 학습 (Unsupervised 3 강화학습 (Reinforcement 으로구분 3) < 머신러닝의학습방법 > 구분 지도학습 (Supervised 비지도학습 (Unsupervised 강화학습 (

신경망 (Neural Networks) < 인공지능입문 > 강의 허민오 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제

실험 5

Microsoft PowerPoint - 실습소개와 AI_ML_DL_배포용.pptx

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

<4D F736F F D20C3D6BDC C0CCBDB4202D20BAB9BBE7BABB>

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

<C0CCBCF8BFE42DB1B3C1A4BFCFB7E12DB1E8B9CCBCB12DC0DBBCBAC0DAB0CBC1F5BFCFB7E12DB8D3B8AEB8BBB3BBBACEC0DAB0CBC1F52E687770>

OCW_C언어 기초

Delving Deeper into Convolutional Networks for Learning Video Representations - Nicolas Ballas, Li Yao, Chris Pal, Aaron Courville arXiv:

02본문

<B3EDB4DC28B1E8BCAEC7F6292E687770>

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할


Microsoft PowerPoint - 26.pptx

저작자표시 - 비영리 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

00-1표지

Microsoft PowerPoint - e pptx

= ``...(2011), , (.)''

행정학석사학위논문 공공기관기관장의전문성이 조직의성과에미치는영향 년 월 서울대학교행정대학원 행정학과행정학전공 유진아

Microsoft PowerPoint - Java7.pptx

슬라이드 1

PowerPoint 프레젠테이션

때문이다. 물론가장큰이유는, 다음절에서살펴보겠지만최근들어딥러닝구조를학습하는데필요한여러가지테크닉들이개발되었기때문이다 [6,7]. 딥러닝이산업현장에서선호되는데는몇가지이유가있다. 일단은어려운문제를잘해결한다는것이다. 예를들어서, 물체인식과음성인식등전통적인패턴인식의문제에서딥러닝

제 3강 역함수의 미분과 로피탈의 정리

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

융합WEEKTIP data_up

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

슬라이드 1

C# Programming Guide - Types

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

2 : (Seungsoo Lee et al.: Generating a Reflectance Image from a Low-Light Image Using Convolutional Neural Network) (Regular Paper) 24 4, (JBE

제4차 산업혁명과 인공지능 차 례 제4차 산업혁명과 인공지능 2 제46회 다보스포럼이 2016년 1월 21일~24일 4차 산업혁명의 이해 라는 주제로 개최 되었습니다. 4차 산업혁명은 인공지능에 의해 자동화와 연결성이 극대화되는 단계 로서 오늘날 우리 곁에 모습을 드러

PowerPoint Presentation

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

시장분석통계Ⅰ. 서론부록인공신경망의시초라할수있는퍼셉트론 (perceptron) 은 1957 년 Frank Rosenblatt 가발명했고딥러닝의 학습알고리즘인오차역전파법 (back-propagation) 은 1986년 LeCun에의해발명됐다. 이미딥러닝의핵심이론은 198

INDUS-8.HWP

CONTENTS.HWP


제 12강 함수수열의 평등수렴

adfasdfasfdasfasfadf

Microsoft PowerPoint - ch07 - 포인터 pm0415

법학박사학위논문 실손의료보험연구 2018 년 8 월 서울대학교대학원 법과대학보험법전공 박성민

제1강 인공지능 개념과 역사

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

5월전체 :7 PM 페이지14 NO.3 Acrobat PDFWriter 제 40회 발명의날 기념식 격려사 존경하는 발명인 여러분! 연구개발의 효율성을 높이고 중복투자도 방지할 것입니다. 우리는 지금 거센 도전에 직면해 있습니다. 뿐만 아니라 전국 26

(Microsoft PowerPoint - Ch21_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

PowerPoint 프레젠테이션

<4D F736F F D20C3D6BDC C0CCBDB4202D20BAB9BBE7BABB>

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jul.; 29(7),

Artificial Intelligence: Assignment 5 Seung-Hoon Na December 15, Numpy: Tutorial 다음 자료를 참조하여 numpy기본을 공부하시오.

PowerPoint Presentation

소성해석

PowerPoint 프레젠테이션

Chap 6: Graphs

2007

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

PowerPoint 프레젠테이션

01 AI Definition 02 Deep Learning Theory - Linear Regression - Cost Function - Gradient Descendent - Logistic Regression - Activation Function - Conce

chap 5: Trees

모바일동향

김기남_ATDC2016_160620_[키노트].key

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

chap 5: Trees

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

RVC Robot Vaccum Cleaner

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint 프레젠테이션

<4D F736F F D20B1E2C8B9BDC3B8AEC1EE2DB0FBB3EBC1D8>

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

Microsoft PowerPoint - 27.pptx

Sequences with Low Correlation

<C1A4C3A5BFACB1B D3420C1A4BDC5C1FAC8AFC0DAC0C720C6EDB0DFC7D8BCD220B9D720C0CEBDC4B0B3BCB1C0BB20C0A7C7D120B4EBBBF3BAB020C0CEB1C720B1B3C0B020C7C1B7CEB1D7B7A520B0B3B9DF20BAB8B0EDBCAD28C7A5C1F6C0AF292E687770>

04 Çмú_±â¼ú±â»ç

(JBE Vol. 24, No. 2, March 2019) (Special Paper) 24 2, (JBE Vol. 24, No. 2, March 2019) ISSN

우루과이 내지-1

금오공대 컴퓨터공학전공 강의자료

보고싶었던 Deep Learning과 OpenCV를이용한이미지처리과정에대해공부를해볼수있으며더나아가 Deep Learning기술을이용하여논문을작성하는데많은도움을받을수있으며아직배우는단계에있는저에게는기존의연구를따라해보는것만으로도큰발전이있다고생각했습니다. 그래서이번 DSP스마

Microsoft PowerPoint Relations.pptx

i

ch3.hwp

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

세계 비지니스 정보

ICT À¶ÇÕÃÖÁ¾

목 차 Ⅰ. 사업개요 5 1. 사업배경및목적 5 2. 사업내용 8 Ⅱ. 국내목재산업트렌드분석및미래시장예측 9 1. 국내외산업동향 9 2. 국내목재산업트렌드분석및미래시장예측 목재제품의종류 국내목재산업현황 목재산업트렌드분석및미래시

Transcription:

딥러닝튜토리얼 Deep Learning Tutorial - 신경망과딥러닝의이해 Understanding Neural Network & Deep Learning

집필기관및참여인원 : 소프트웨어정책연구소 안성원 추형석 전남대학교 김수형

목 차 제 1 장서론 2 제2장단일퍼셉트론 2 제1절구조 2 제2절기능 3 제3절학습원리 5 제4절단층퍼셉트론 8 제3장다층퍼셉트론 (MLP) 9 제1절구조 9 제2절기능 10 제3절학습원리 14 제4절깊은신경망 26 제4장컨볼루션신경망 (CNN) 29 제1절구조 29 제2절기능 33 제3절학습원리 34 제 5 장순환신경망 (RNN) 40

제1절구조 40 제2절기능 41 제3절학습원리 42 제4절 LSTM 신경망 46 제6장인공지능산업기술동향 49 제1절개요 49 제2절해외현황 49 제3절국내현황 52 제4절딥러닝공개소프트웨어 55 제5절시사점 56 참고문헌 57 - ii -

Contents Part 1. Introduction 2 Part 2. Single Perceptron 2 1. Architecture 2 2. Functionality 3 3. Learning principal 5 4. Single-layer perceptron 8 Part 3. Multi-Layer Perceptron (MLP) 9 1. Architecture 9 2. Functionality 10 3. Learning principal 14 4. Deep neural network 26 Part 4. Convolutional Neural Network (CNN) 29 1. Architecture 29 2. Functionality 33 3. Learning principal 34 Part 5. Recurrent Neural Network (RNN) 40

1. Architecture 40 2. Functionality 41 3. Learning principal 42 4. LSTM network 46 Part 6. A trend of AI for industries 49 1. Introduction 49 2. Global trends 49 3. Domestic trends 52 4. Deep Learning Open Source Software 55 5. Implications 56 References 57 - ii -

< 표 2-1> 훈련샘플이정분류와오분류되는경우 8 < 표 2-2> 단일퍼셉트론학습알고리즘 ( 배치모드 ) 10 < 표 6-1> 인공지능기술을선도하고있는미국내글로벌기업현황 61 < 표 6-2> 일본의인공지능대표기업현황 62 < 표 6-3> 중국의인공지능대표기업현황 64 < 표 6-4> 인공지능분야국가별특허출원건수 ( 출처 : 팻스냅, 2015) 65 < 표 6-5> 미래부인공지능 R&D 추진현황 ( 인공지능실태조사, IITP, 2015) 66 < 표 6-6> 국내인공지능기업현황 66 < 표 6-7> 딥러닝공개소프트웨어현황 68 - iii -

<Table 2-1> A case of classifying training samples 8 <Table 2-2> Learning algorithm of single perceptron (batch mode) 10 <Table 6-1> AI leading companies in U.S. 61 <Table 6-2> Representative AI companies in Japan 62 <Table 6-3> Representative AI companies in China 64 <Table 6-4> AI patents by nation (Patsnap, 2015) 65 <Table 6-5> MSIP AI R&D (A survey for AI, IITP, 2015) 66 <Table 6-6> AI companies in Korea 66 <Table 6-7> Deep Learning OSS 68 - iv -

[ 그림 2-1] 생물학적뉴런의구조 3 [ 그림 2-2] 인공뉴런의구조 (a) 와생물학적뉴런과의대응관계 (b) 4 [ 그림 2-3] 신경망에주로사용되는활성화함수 4 [ 그림 2-4] 2차원공간에서의뉴런의예 (a) 와인공뉴런해당되는직선식 (b) 5 [ 그림 2-5] 3차원공간에서의뉴런의예 (a) 와인공뉴런에해당되는선형식 (b) 6 [ 그림 2-6] logical-or 함수에해당하는단일퍼셉트론 6 [ 그림 2-7] 단일퍼셉트론학습의예 : 주어진자료집단 (a), 두집단을양분하는단일퍼셉트론 (b), 단일퍼셉트론으로표현하기힘든예 (c) 7 [ 그림 2-8] 기울기강하법에의한가중치갱신 9 [ 그림 2-9] 단층퍼셉트론의예 10 [ 그림 3-1] 다층신경망의예 12 [ 그림 3-2] logical-xor 함수 14 [ 그림 3-3] 단일퍼셉트론 : (a) (x), (b) (x), (c) logical-and 14 [ 그림 3-4] logical-xor에해당하는다중퍼셉트론신경망 15 [ 그림 3-5] 2차원공간의가우시안함수 15 [ 그림 3-6] 2차원공간의가우시안함수를위한 MLP 구조 16 [ 그림 3-7] 33개가중치의훈련결과 (a) 및미지의좌표에서의출력값 (b) 17 [ 그림 3-8] MLP의패턴분류결정경계선표현 18 [ 그림 3-9] 크기의다층퍼셉트론신경망의구조 18 [ 그림 3-10] 각출력뉴런에서의출력값과참값 20 [ 그림 3-11] 와관련된인접값 21 - v -

[ 그림 3-12] 와관련된인접값 22 [ 그림 3-13] delta 값들의 back-propagation 24 [ 그림 3-14] MLP 학습의예 : 전향계산 24 [ 그림 3-15] MLP 학습의예 : 오류역전파 25 [ 그림 3-16] MLP 학습예제 : 3층신경망 (a), 한노드의동작원리 (b) 26 [ 그림 3-17] 노드 1, 2, 3의계산 26 [ 그림 3-18] 노드 4, 5의계산 27 [ 그림 3-19] 노드 6의계산 27 [ 그림 3-20] 오류역전파과정 ( 노드 6의 delta항계산과가중치갱신 ) 28 [ 그림 3-21] 노드 4, 5의 delta 항계산과가중치갱신 29 [ 그림 3-22] 노드 1, 2, 3의 delta 항계산 30 [ 그림 3-23] 노드 1, 2, 3의가중치갱신 31 [ 그림 3-24] Deep MLP의예 32 [ 그림 4-1] 컨볼루션신경망의예 36 [ 그림 4-2] CNN을이용한영상분류의예 37 [ 그림 4-3] CNN을이용한문자패턴의인식과정 38 [ 그림 4-4] 5 5 필터를사용한특징맵생성의예 39 [ 그림 4-5] 컨볼루션연산 40 [ 그림 4-6] 컨볼루션연산의입력과출력 40 [ 그림 4-7] 컨볼루션적용의예 41 [ 그림 4-8] Max pooling의예 42 [ 그림 4-9] 풀링연산의입력과출력 42 [ 그림 4-10] ImageNet challenge에서 CNN 기법들의성능비교 43 - vi -

[ 그림 4-11] 딥러닝기반의음성인식성능개선 44 [ 그림 4-12] Forward/Backward 방식에의한 CNN 학습 44 [ 그림 4-13] 단계 1: FC 층에서의전향계산 45 [ 그림 4-14] FC 층에서의오류역전파 46 [ 그림 4-15] 풀링층의학습과정 47 [ 그림 4-16] 컨볼루션층의학습과정 48 [ 그림 4-17] 2차원마스크반전의예 49 [ 그림 4-18] 컨볼루션층에서의가중치갱신 49 [ 그림 5-1] 순환신경망의전개 50 [ 그림 5-2] 시간적종속성 : 짧은종속성, 긴종속성 51 [ 그림 5-3] RNN을이용한언어모델의예 52 [ 그림 5-4] 다양한형태의 RNN 활용 53 [ 그림 5-5] RNN 노드의내부구조 53 [ 그림 5-6] RNN 신경망에해당되는전향신경망 54 [ 그림 5-7] RNN 학습을위한 delta항역전파 55 [ 그림 5-8] RNN 학습을위한가중치갱신 56 [ 그림 5-9] RNN에서의 vanishing gradient problem 57 [ 그림 5-10] 전형적인 RNN의구조 57 [ 그림 5-11] LSTM 모델구조 58 [ 그림 6-1] 국내인공지능시장동향, 출처 : 미래창조과학부, 2014년 64 [ 그림 6-2] 국내인공지능행보대표사례 65 - vii -

[Figure 2-1] Architecture of biological neuron 3 [Figure 2-2] Architecture of artificial neuron (a) and its relations with neuron (b) 4 [Figure 2-3] Activation functions 4 [Figure 2-4] Examples of 2-dimensional neuron (a) Classification (b) 5 [Figure 2-5] Examples of 3-dimensional neuron (a) Classification (b) 6 [Figure 2-6] logical-or function for single perceptron 6 [Figure 2-7] Learning example: given data(a), Single perceptron classifier (b), Examples of drawbasck of single perceptron (c) 7 [Figure 2-8] Weights update based on gradient descent 9 [Figure 2-9] Examples of single perceptron 10 [Figure 3-1] Examples of multi-layer perceprtron 12 [Figure 3-2] logical-xor function 14 [Figure 3-3] Single perceptron: (a) (x), (b) (x), (c) logical-and 14 [Figure 3-4] logical-xor function for multi-layer perceptron 15 [Figure 3-5] 2-dimensional gaussian function 15 [Figure 3-6] MLP architecture for 2-dimensional gaussian function 16 [Figure 3-7] Trainng reuslts for 33 weights (a) Outputs (b) 17 [Figure 3-8] Pattern recognition of MLP 18 [Figure 3-9] Multi-layer perceptron architecture ( ) 18 [Figure 3-10] Output and real value of output neurons 20 [Figure 3-11] Parameters related with 21 - viii -

[Figure 3-12] Parameters related with 22 [Figure 3-13] delta value for back-propagation 24 [Figure 3-14] MLP training: feed foward 24 [Figure 3-15] MLP training: error backpropagation 25 [Figure 3-16] MLP training: 3-layer network (a), working principal for node (b) 26 [Figure 3-17] Computation of node 1, 2, and 3 26 [Figure 3-18] Computation of node 4 and 5 27 [Figure 3-19] Computation of node 6 27 [Figure 3-20] Back-propagation process 28 [Figure 3-21] Computation of delta parameter for node 4 and 5 29 [Figure 3-22] Computation of delta parameter for node 1, 2, and 3 30 [Figure 3-23] Computation of weight update for node 1, 2, and 3 31 [Figure 3-24] Deep MLP 32 [Figure 4-1] Example of convolutional nueral network 36 [Figure 4-2] CNN: Scene classifier 37 [Figure 4-3] CNN: hand writing recognition 38 [Figure 4-4] Feature map for 5 5 filter 39 [Figure 4-5] Convolution 40 [Figure 4-6] Input and output of convolution 40 [Figure 4-7] Examples of image convolution 41 [Figure 4-8] Max pooling 42 [Figure 4-9] Input and output of pooling 42 [Figure 4-10] ImageNet challenge: CNN architecture 43 - ix -

[Figure 4-11] Speech recognition of deep learning 44 [Figure 4-12] CNN training: Forward/Backward propagation CNN 44 [Figure 4-13] Phase 1: feed forward for FC layer 45 [Figure 4-14] Back-propagation of FC layer 46 [Figure 4-15] Training of pooling layer 47 [Figure 4-16] Training of convoluational layer 48 [Figure 4-17] Examples of 2-dimensional mask 49 [Figure 4-18] Weight update of convolutional layer 49 [Figure 5-1] Expansion of recurrent neural network 50 [Figure 5-2] Time dependencies: short and long 51 [Figure 5-3] Language model of RNN 52 [Figure 5-4] Various architecture of RNN 53 [Figure 5-5] Arichitecture of RNN 53 [Figure 5-6] Feed forward of RNN 54 [Figure 5-7] Training delta parameter in RNN 55 [Figure 5-8] Weight update for RNN 56 [Figure 5-9] Vanishing gradient problem in RNN 57 [Figure 5-10] Typical RNN architecture 57 [Figure 5-11] LSTM model 58 [Figure 6-1] AI market trends in Korea 64 [Figure 6-2] Representative AI works in Korea 65 - x -

요약문 1. 제목 딥러닝튜토리얼 신경망딥러닝의이해 2. 보고서의목적최근딥러닝 (Deep Learning) 에의한기계학습방법이다양한분야의인공지능시스템개발에적용되고있다. 이보고서는딥러닝에기반한신경망학습기법의원리를체계적으로정리된내용을제공하기위한목적으로작성되었다. 3. 보고서의구성및내용이보고서는인공지능신경망인단일퍼셉트론, 다층퍼셉트론 (MLP), 컨볼루션신경망 (CNN) 및순환신경망 (RNN) 등각각에대한구조, 기능, 학습알고리즘등을체계적으로이해할수있도록구성되어있다. 아울러, 딥러닝을포함한각종기계학습기법에관한최근의공개소프트웨어에관해서도그개요를소개한다. 이보고서는다음과같이구성되어있으며, 4시간내외의강연이나한학기동안의딥러닝강의를위한기본자료로도활용이가능하다. - 단일퍼셉트론 (Single Perceptron) 의구조, 기능, 학습원리 - 다층퍼셉트론 (MLP) 의구조, 기능, 학습원리 - 컨볼루션신경망 (CNN) 의구조, 기능, 학습원리 - 순환신경망 (RNN) 의구조, 기능, 학습원리 - 딥러닝산업기술동향및시사점 4. 활용이보고서가신경망이론을접해본컴퓨터과학전공학부생, 인공지능분야를심도있게전공하고자하는대학원신입생, 딥러닝의우수성및응용가능성을이해하고자하는산업체연구원, 딥러닝공개소프트웨어를활용하고자하는연구원등다양한분야의독자들에게참고자료가되길바란다. - xi -

Summary 1. Title Deep learning tutorial understanding deep artificial neural network 2. Purpose Recently, deep learning is widely applied to various fields of AI system. This report covers a systematic explanation about principals of deep learning based on neural network methodologies. 3. Contents and Details This report deals with perceptron, multi-layer perceptron, convolutional neural network (CNN), and recurrent neural network (RNN). Main contents are of architectures, functionalities, and learning algorithms for each method. In addition, deep-learning open source software trends will be introduced. This report is composed of as follows, and can be used for a basic material for four-hour lecture or one-semester course. - Architecture, functionality, and learning principal of single perceptron - Architecture, functionality, and learning principal of multi-layer perceptron - Architecture, functionality, and learning principal of CNN - Architecture, functionality, and learning principal of RNN - A trend and implication of deep learning for industries 4. Application This material gives a tutorial for understanding deep learning to undergraduates, graduates, and research staffs in industries. - xii -

제 1 장서론 지난수십년간지속되어온정보화사회에서한가지주목할점은개인용컴퓨터 (PC), 사물인터넷 (IoT), 스마트폰등과같은수많은디지털장비를통해엄청난양의데이터 (BigData) 가축적되고있다는사실이다. 여기에컴퓨팅파워의향상, 기계학습 ( 딥러닝 ) 기법의발전등이더해지면서인공지능 (AI) 기술은헬스케어, 지식서비스, 로봇, 금융, 교육, 엔터테인먼트등의분야에서기존산업의와해적, 혁신적기술발전을견인하는돌파구이자고부가가치화를주도하는모멘텀으로등장하였다. 최근에는지능정보기술즉, ICBM( 사물인터넷 (IoT), 클라우드 (Cloud), 빅데이터 (BigData), 모바일 (Mobile) 과같은정보기술에인공지능을접목하여신산업혁신을도모하고자하는키워드가등장하였으며, 이는 4차산업혁명으로간주되는 지식노동의자동화 를통해지능정보사회로진입하기위한핵심기술로부각되고있다. 2016년 3월에있었던구글의알파고 (AlphaGo) 와이세돌의바둑대결이벤트는우리나라국민들을포함하여정부, 기업, 연구소, 대학등에인공지능및기계학습기술에대한폭발적인관심을이끌어냈다. 알파고에서도사용된알고리즘인딥러닝 (Deep Learning) 에의한기계학습방법은최근다양한분야의인공지능시스템개발에적용되고있다. 딥러닝은 1950년대에고안된기존의인공신경망 (Artificial Nneural Network) 의응용성및확장성을대폭개선한기계학습기법으로서 2010년을전후하여영상이해및음성인식등의분야에서획기적인성능을보이기시작하였다. 딥러닝의원리를이해하기위해서는먼저 1950년대에등장한인공뉴런 (Single Perceptron) 의동작원리를이해하고, 이를바탕으로 1980년대에등장한다층퍼셉트론 (Multi-Layer Perceptron, MLP) 의학습방법을이해해야한다. 이는 2장에서살펴보도록한다. 또한, 3장과 4장에서는다층퍼셉트론에적용되는오류역전파학습알고리즘에기반하며, 알파고등에적용되어획기적인성능향상을보인컨볼루션신경망 (Convolutional Neural Network, CNN) 에대하여살펴보도록한다. - 1 -

또한, 기계번역, 음성인식등의분야에효과적으로적용되는순환신경망 (Recurrent Neural Network, RNN) 의학습역시오류역전파학습알고리즘의원리가그대로적용되고있다. 이는 5장에서살펴보도록한다. 이보고서는앞에서언급한일련의신경망, 즉단일퍼셉트론, 다층퍼셉트론 (MLP), 컨볼루션신경망 (CNN) 및순환신경망 (RNN) 등각각에대한구조 (architecture), 기능 (capability), 학습 (learning) 알고리즘등을일관적이고체계적으로이해할수있도록구성되어있다. 아울러, 6장에서는인공지능의산업동향과딥러닝을포함한각종기계학습기법에관한최근의공개소프트웨어에관해서도그개요를소개한다. - 2 -

제 2 장단일퍼셉트론 제1절구조 1950년대에처음으로제안된인공신경망의기본적인구성단위인인공뉴런 (artificial neuron) 은사람의생물학적뉴런 (biological neuron) 의기능을모방하여제안되었다. 생물학적뉴런은아래 [ 그림 2-1] 에예시된바와같이세포핵 (nucleus), 축색돌기 (axon), 수상돌기 (dendrite) 등으로구성되어있는데, 수상돌기를통해인접한뉴런의정보를수집하고, 세포핵은이를바탕으로해당세포의고유값을만들어내며, 축색돌기를통해다른세포들에게그값을제공하는방식으로동작한다. 특히축색돌기말단 (axon terminal) 과이웃한뉴런의수상돌기가연결되는지점을시냅스 (synapse) 라고하는데, 인간두뇌에서의대부분의지적인기능은이들시냅스에저장된정보가지배한다고알려져있다. 이미지출처 : Clipart-Finder, Neuron Clipart. 2014. [ 그림 2-1] 생물학적뉴런의구조 이와같은생물학적뉴런의기능을모방하기위해고안된인공뉴런의구조는 다음 [ 그림 2-2] 와같다. [ 그림 2-2] 의 (a) 에서와같이하나의인공뉴런에는 이웃한여러뉴런으로부터입력되는값 ( ) 을시냅스에저장되어있는 가중치 ( ) 와곱하여집계 ( ) 한후, 해당뉴런의고유값을 계산 ( ) 한다. 이렇게계산된고유값은이뉴런에인접한다른 뉴런에전달된다. - 3 -

(a) 인공뉴런구조 (b) 대응관계 [ 그림 2-2] 인공뉴런의구조 (a) 와생물학적뉴런과의대응관계 (b) 여기서뉴런의입력값을집계하는과정에사용된값은 [ 그림 2-2] 의 (b) 에서나타난 와같다. 를바이어스 (bias) 라고하며, 뉴런의고유값 ( 또는출력값 ) 을계산하는데사용된함수인 를활성화함수 (activation function) 하고한다. 바이어스와활성화함수는인공뉴런의다양한기능을가능하게하는중요한요소이다. 인공뉴런에주로사용되는활성화함수는다음과같다. [ 그림 2-3] 신경망에주로사용되는활성화함수 - 4 -

제2절기능신경망은앞서설명한인공뉴런여러개가연결된하나의연결망 (network) 으로정의할수있다. 이러한신경망중가장간단한형태는하나의인공뉴런으로만구성된신경망이라할수있는데, 이를단일퍼셉트론 (Single Perceptron) 이라고부른다. 이번절에서는단일퍼셉트론의수학적기능에대해설명한다. [ 그림 2-3] 에서예시한사인함수 (sign function) 를활성화함수로사용하는단일퍼셉트론은하나의선형함수를표현하는데사용할수있다. 예를들어 2차원공간상의임의의좌표 ( ) 가아래 [ 그림 2-4] 의 (a) 에서와같은뉴런에입력으로주어졌을때, 이뉴런에서수집되는입력값은 이고, 활성화함수를통해최종적으로 +1 또는 1의값을출력값으로생성하게된다. 즉, 주어진입력좌표가 [ 그림 2-4] 의 (b) 에서와같이 으로표현되는직선의위쪽에위치한좌표이면 +1의값이출력되고, 입력좌표가해당직선의아래쪽에위치한좌표이면 1값이출력된다. 결론적으로아래그림에서와같이주어진단일퍼셉트론은 2차원공간을 +1의영역과 1의영역으로이등분하는선형방정식을표현하고있다고간주할수있다. (a) 2 차원공간의뉴런 (b) 직선식 [ 그림 2-4] 2 차원공간에서의뉴런의예 (a) 와인공뉴런해당되는직선식 (b) 마찬가지로, sign 함수를활성화함수로사용하는 3차원공간에서의단일퍼셉트론의경우에도 3차원공간에서의선형방정식 ( 이경우에는평면식 ) 을표현할수있다 ([ 그림 2-5]). 이때선형방정식의모양을결정하는변수 (parameter) 는 와같은가중치 (weights) 와바이어스 이다. 이들값을다양하게조절함으로서 3차원공간의어떠한평면도표현가능하다. - 5 -

만약바이어스 를사용하지않을경우이뉴런이표현할수있는선형방정식은 형태이며, 이는항상원점을지나는평면식에해당된다. 즉, 바이어스 는원점을지나지않는선형방정식도표현하기위해사용되는매우중요한변수임을알수있다. (a) 3 차원공간의뉴런 (b) 선형식 [ 그림 2-5] 3 차원공간에서의뉴런의예 (a) 와인공뉴런에해당되는선형식 (b) 지금까지살펴본단일퍼셉트론의수학적기능을바탕으로이진함수인 logical-or 함수를표현하는단일퍼셉트론을설계한다고가정하자. 두이진변수 과 의 logical-or의경우 [ 그림 2-6] 에서와같은 4가지상황 a, b, c, d에대한고려가필요하고, a의경우와나머지 b, c, d의경우가각각 False(-1) 와 True(+1) 로구분되어야한다. 2차원공간을 True(+1) 와 False(-1) 로구분하기위한결정경계는여러가지가가능하겠지만, 아래오른쪽그림에서와같이, 즉 에해당하는직선도이러한목적으로사용이가능하다. 결론적으로, sign 함수를활성화함수로사용하고, 의값을갖는 2차원공간상의단일퍼셉트론은 logical-or 함수를표현한다고할수있다. [ 그림 2-6] logical-or 함수에해당하는단일퍼셉트론 - 6 -

제3절학습원리임의의자료집단이표현하고있는선형방정식에해당하는단일퍼셉트론의변수값들을주어진자료를이용하여구하는알고리즘을단일퍼셉트론학습알고리즘이라고한다. [ 그림 2-7] 은단일퍼셉트론학습알고리즘의예시이다. 앞서살펴본바와같이 차원공간상에서의임의의선형식은 개의입력을갖는단일퍼셉트론으로표현가능하다. 단, 개의가중치 과 1개의바이어스의 값을적절하게부여해야한다. 그런데, 일반적인경우이들변수 ( 가중치와바이어스 ) 의값을결정하는것은쉽지않다. 예를들어 [ 그림 2-7] 의 (a) 와같이 2차원공간상에두종류의자료집단 ( 빨간색좌표점 ( 그래프좌하단 ) 과파란색동그라미좌표점 ( 그래프우상단 )) 이주어져있다고가정할때, 주어진자료로부터이들두집단을정확하게양분하는선형방정식 의 값은단순한계산이나직관에의해계산하기가사실상거의불가능하다. 왜냐하면, 두종류의집단의분포도가그림의 (a) 의예시와같이나누기좋지않게되어있을경우가있을수있다. 그림의 (c) 와같이자료집단이섞여있는예의경우단일퍼셉트론에의한선형방정식으로두집단을양분할수없다. (a) 자료집단 (b) 단일퍼셉트론 (c) 자료집단 ( 반대예시 ) [ 그림 2-7] 단일퍼셉트론학습의예 : 주어진자료집단 (a), 두집단을양분하는 단일퍼셉트론 (b), 단일퍼셉트론으로표현하기힘든예 (c) 단일퍼셉트론학습 문제는다음과같이정의 (problem definition) 할수있다. - 7 -

단일퍼셉트론학습알고리즘은다음과같이동작한다. 먼저변수 (w와 ) 의값을임의의값으로초기화한후, 최적화 (optimization) 기법을적용하여주어진문제를해결하는값이되도록반복적으로수정한다. 최적화기법을적용하기위해서는최적화하고자하는함수를미리정의해야하는데, 신경망학습의경우오류함수 (error function) 를최적화대상함수로정의하고, 이를최소화하는 값을구한다. 여기서는아래와같은오류함수를최적화대상함수로정의한다. 여기서 w, 는오분류된훈련샘플의집합을의미한다. < 표 2-1> 훈련샘플이정분류 (correct) 및오분류 (error) 되는경우 임의의 값들로구성된단일퍼셉트론과훈련샘플집합을바탕으로위의오류함수의값을계산한다고가정하자. 우선 인샘플의경우, w T x 이면퍼셉트론의출력은 이되어제대로분류되는반면, w T x 이면 이되어오분류된다. 이와같이오분류되는경우 w T x 의값은양의실수값을갖는다. 한편, 인샘플의경우, w T x 이면퍼셉트론의출력은 이되는반면, w T x 이면 이되어오분류된다. 이때에도오분류되는샘플에대해서는 w T x 는양의실수값을갖는다. 결론적으로오분류되는훈련샘플이많을수록오류함수 wt x 의값은더커질것이고, 이는변수 (w와 ) 의값이잘못 - 8 -

설정되어있기때문이며, 이렇듯잘못설정된 값은오류함수 의값을줄일 수있는값으로변경되어야한다. 오류함수의최소화를위해류의원인을제공하는변수의값을수정하는 방법으로기울기강하법 (gradient descent method) 을사용한다. 기울기 강하법에서는변수 의값을다음과같은방식으로수정한다. 여기서 는학습률, 는기울기 (gradient) 라한다. 기울기 는 아래그림에서와같이오류함수 의값이최대화되는벡터를의미한다. 우리의목적은오류함수 의값을최소화하는것이므로기울기벡터의 반대방향, 즉 만큼보정하되, 훈련샘플하나하나의영향력이골고루 반영되도록적당한크기의학습률 ( ) 을곱하여보정한다. 즉, 위의수식에 기반하여이전의변수값 를새로운변수값 로변경할경우오류함수 의 값은조금씩줄어들게되며, 이러한방식의변수값보정이여러샘플들을 사용하여반복적으로적용되면 값은오류함수 의값을최소화시키는 값으로수렴하게된다. [ 그림 2-8] 기울기강하법에의한가중치갱신 지금까지설명한단일퍼셉트론학습알고리즘의의사코드 (pseudocode) 는다음 < 표 3-2> 와같다. [ 오일석, 2008]. - 9 -

< 표 2-2> 단일퍼셉트론학습알고리즘 ( 배치모드 ) 제4절단층퍼셉트론여러개의단일퍼셉트론을하나의층 (layer) 으로모아놓은구조의신경망을단층퍼셉트론 (Single Layer Perceptron) 이라한다. [ 그림 2-9] 는단층퍼셉트론의예를나타낸다. [ 그림 2-9] 의 (a) 에서각각의뉴런하나하나는 차원공간에서의선형방정식을표현하므로, 하나의단층퍼셉트론은여러개의선형함수들의집합으로간주할수있다. (a) (b) [ 그림 2-9] 단층퍼셉트론의예 - 10 -

또한 [ 그림 2-9] 의 (b) 와같이 차원의입력과 차원의출력을갖는임의의함수를표현하기위해사용할수도있다. [ 그림 2-9] 의 (a) 에는입력층 (input layer) 과출력층 (output layer) 이구분되어있어마치두개의층이있는것으로오해할수있지만, 출력층만이인공뉴런 ( 또는퍼셉트론 ) 들로구성된층이고, 입력층은단순히값을저장하는 buffer들로구성되었다는점을구분해야한다, - 11 -

제 3 장다층퍼셉트론 제1절구조다층퍼셉트론 (Multi-Layer Perceptron, MLP) 은뉴런들로구성된층 (layer) 을두개이상포함하는신경망이다. [ 그림 3-1] 은다층신경망의예를나타낸다. 각각의예에서동일한층내의뉴런들간에는연결선 (connection) 이없고, 왼쪽편층에있는뉴런들로부터오른편층의뉴런들로만연결선이존재하는구조를갖는다. 이와같이값의전달이왼쪽에서오른쪽으로인접한뉴런에게만값이전달되는구조를전향 (feed-forward) 신경망이라고한다. (a) 3 3 1 MLP 의예 (b) 3 3 2 2 MLP 의예 [ 그림 3-1] 다층신경망의예 다층신경망에는입력층과출력층외에도은닉층 (hidden layer) 이있다. [ 그림 3-1] 의 (a) 의경우 L1이입력층, L2가은닉층, L3가출력층에해당되며, (b) 의경우 L1이입력층, L2와 L3가은닉층, L4가출력층에해당된다. 입력층은신경망의외부로부터입력을받아들이는층이고, 출력층은신경망의외부에측정값을출력하는역할을담당한다. 은닉층은외부에서보이지않고 (hidden) 신경망내부에서값의전달되는방식에영향을주는역할을한다. 여기서한가지유의할사항은입력층은뉴런들로구성된층이아니고, 단순히입력값을잠시보관하는 buffer들로구성되어있다는점이다. 따라서다층퍼셉트론에서층의개수를산정할때, - 12 -

입력층은제외한다. 즉, [ 그림 3-1] 에서 (a) 의경우 2개의층으로구성되어있으며, (b) 의경우 3개의층으로구성되어있다. 앞서언급한바와같이바이어스는연결선 (connection) 에할당된가중치의하나로서신경망이표현하는함수의범위를확장하는데중요한역할을담당한다. 입력층과은닉층에는항상 1의값을입력하는노드가존재하는데이를바이어스노드라고부른다. 출력층에는바이어스노드가필요없다. MLP의크기를표시할때에는각층에존재하는뉴런의개수들사이에 기호를삽입하는방식을사용한다. 즉, [ 그림 3-1] 의 (a) 는 3 3 1 크기, (b) 의경우는 3 3 2 2 크기로표시한다. 입력층은뉴런층은아니지만, MLP의크기를표시할때에는입력층노드 (buffer) 의개수도표시해준다. 또한바이어스노드는위크기표현을위한노드개수에는반영되지않는다. 다층퍼셉트론은인접한층사이의노드들간에모든연결선이존재한다고가정한다. 즉, MLP는퍼셉트론이라고부르는노드들이층 (layer) 단위로분할되어있으며, 인접한층사이의노들들간에는완전연결 (fullyconnected) 되어있고, 값의전달이한쪽방향으로만진행되는전향 (feed-forward) 신경망이다. 일반적으로다층퍼셉트론은단일퍼셉트론이표현하지못하는비선형함수를표현할수있으며, 표현능력의융통성을위해각뉴런에서의활성화함수로 sigmoid 1) 함수를많이사용한다. 제 2 절기능 1950년대에고안된단일퍼셉트론은컴퓨터를구성하는 2진논리함수를완벽하게표현할수있다는측면에서획기적이었으며, 차세대컴퓨터개념으로채택되어많은투자와연구가이뤄졌다. 1970년대중반에 단일퍼셉트론은 n차원공간에서의선형함수밖에표현할수없다 는사실이입증되면서신경망에대한연구가시들해졌지만, 비선형함수도표현할수있는다층퍼셉트론모델이등장하고 1980년대중반에다층퍼셉트론을학습할수있는오류역전파 (Back-propagation) 학습알고리즘이제안되면서신경망연구의붐이 1) 시그모이드함수 (Sigmoid function) : 알파벳 S 자와같은형태 (Sigmoid curve) 를가진함수로주로 학습곡선등을나타냄. - 13 -

다시조성되었다. 1. logical-xor 함수의표현앞절에서단일퍼셉트론으로 logical-or, logical-and 등과같은이진논리함수를표현할수있음을보였다. 그러나논리함수중 logical-xor 함수는단일퍼셉트론으로는표현할수없다. 아래 [ 그림 3-2] 의예에서와같이 XOR 함수는선형함수가아니기때문이다. 즉, XOR 함수와같은상황에서는어떤직선으로도 2차원공간상을 True(+1) 와 False(-1) 의영역으로양분할수없다. [ 그림 3-2] logical-xor 함수 그러나다층퍼셉트론을사용하면다음과같은시나리오에의해 logical-xor 함수를표현하는신경망을설계할수있다. [ 그림 3-3] 과 [ 그림 3-4] 는이시나리오를표현한다. 즉, [ 그림 3-2] 에서의선형함수 (x) 를표현하는퍼셉트론 1([ 그림 3-3] 의 (a)) 을만들고, 또다른선형함수 (x) 를표현하는퍼셉트론 2([ 그림 3-3] 의 (b)) 를만든후, 이들퍼셉트론의출력을결합하는즉, (x) 의윗부분와 (x) 의아랫부분의교집합 (logical-and) 을도출하는퍼셉트론 3([ 그림 3-3] 의 (c)) 을만들어이들세개의퍼셉트론을 [ 그림 3-4] 와같이두개의층으로연결하면된다. (a) (b) (c) [ 그림 3-3] 단일퍼셉트론 : (a) (x), (b) (x), (c) logical-and - 14 -

[ 그림 3-4] logical-xor 에해당하는다중퍼셉트론신경망 2. 2차원가우시안함수의표현다층퍼셉트론은가우시안일반적인비선형함수를효과적으로표현하는수학적모델이다. MLP로 2차원의가우시안함수를표현하는과정은다음과같다. 다음의수식은 2차원공간상에서원점을중심으로하는단위 (unit) 가우시안함수를나타낸다. 이함수를그래프형태로표현하면 [ 그림 3-5] 와같이나타낼수있다. [ 그림 3-5] 2 차원공간의가우시안함수예 이와같은가우시안함수를위한 MLP 를다음과같이설계할수있다. 이때 유의할점은여기서제시된 MLP 구조는이차원가우시안함수를표현하는 - 15 -

유일한것은아니라는점이다. [ 그림 3-6] 은 2차원공간의가우시안함수를위한 MLP 구조를나타낸다. 이예에서 MLP는 2 8 1 크기를가지며, 은닉층 8개뉴런과출력층의 1개뉴런모두 sigmoid 함수를활성화함수로사용한다. [ 그림 3-6] 2 차원공간의가우시안함수를위한 MLP 구조 [ 그림 3-6] 의예에서, 이 MLP에는모두 33개의가중치가존재한다. 입력층과은닉층사이에는모두 24(3 8) 개의가중치가있다. 이것은입력층에바이어스노드를포함한 3개의노드와은닉층의 8개의노드에서나올수있는경우의수이다. 여기에서은닉층에있는바이어스노드는입력층과은닉층사이의가중치를계산하는것에는포함되지않는다. 마찬가지로, 은닉층과출력층사이에는 9개 (9 1) 의가중치가있다. 은닉층에있는바이어스노드를포함한 9개의노드와출력층의 1개의노드에서나올수있는경우의수이다. 이들가중치의값을알아내기위한예는 [ 그림 3-7] 과같다. [ 그림 3-7] 의 (a) 에서는임의로 160개좌표에서의가우시안함수의값을측정하고, 이를훈련샘플로사용하여뒤에서설명할오류역전파학습알고리즘을바탕으로 33개가중치의값을학습하는훈련결과를볼수있다. [ 그림 3-7] 의 (b) 는학습이끝나고난후, 임의의 2차원좌표를선택하여 MLP에입력하면해당위치에서의가우시안함수의값을근사치로출력하는것을나타낸다. - 16 -

(a) 33 개가중치의훈련결과 (b) 미지의좌표에서의출력값 [ 그림 3-7] 33 개가중치의훈련결과 (a) 및미지의좌표에서의출력값 (b) 3. 패턴분류결정경계선의표현 MLP가가장많이활용되는분야는패턴인식분야이다. [ 그림 3-8] 은 MLP의패턴분류결정경계선표현의예를보여주고있다. [ 그림 3-8] 의 (a) 는 2차원공간상에복잡하게배치된 2개의부류 (class 1과 class 2) 를나타낸다. 이두부류사이의결정경계선에해당하는비선형함수를표현하는데 MLP가효과적으로활용될수있다. 여기에주어진예의경우, 2 4 1 크기의 MLP를사용하고, 각노드에서의활성화함수로 sigmoid 함수를사용하며, 학습을위해 0.01의학습률을사용하고, 9,000번정도의 epoch 2) 를수행하고난후의결과를보여주고있다. [ 그림 3-8] 의 (b) 는 MLP의최종출력값을나타낸다. class 1로분류될수있는입력좌표점에는붉은색영역으로, class 2로분류될수있는입력좌표점에는파란색영역으로표시한결과를보여주고있다. 이를달리해석한다면, class 1과 class 2 사이의복잡한결정경계선함수를주어진 2 4 1 크기의 MLP가효과적으로표현하고있다고할수있다. 물론, 몇몇의일부좌표점은분류되지못하였으나, MLP는적당한규모의학습패턴을통해거의대부분의두부류에속하는좌표점을두영역으로각각분류하였다. 2) 퍼셉트론에서학습계산을수행하는단위사이클을의미, 학습횟수. - 17 -

(a) (b) [ 그림 3-8] MLP 의패턴분류결정경계선표현 제3절학습원리 MLP 학습과정을이해하기위해아래 [ 그림 3-9] 와같은 크기의다층퍼셉트론신경망구조의예를들어볼수있다. 이수식에서신경망의입력은 차원벡터이며, 신경망의출력은 차원벡터이고, 은닉층의노드개수는 개를의미한다. [ 그림 3-9] 크기의다층퍼셉트론신경망의구조 - 18 -

입력층노드는 1번부터 번까지순서대로인덱싱되어있으며, 입력층의맨첫번째노드는바이어스노드이고인덱스는 0으로할당되어있다. 입력층과은닉층사이의가중치는 로표기하는데, 이는입력층의 번째노드와은닉층의 번째노드를연결하는연결선의가중치를의미한다. 의값은 0부터 까지, 의값은 1부터 까지이다. 은닉층노드는 1번부터 번까지순서대로인덱싱되어있으며, 은닉층의경우에도첫번째노드는바이어스노드이고인덱스는 0으로할당되어있다. 은닉층과출력층사이의가중치는 로표기하는데, 이는은닉층의 번째노드와출력층의 번째노드를연결하는연결선의가중치를의미한다. 의값은 0부터 까지, 의값은 1부터 까지이다. 다층퍼셉트론학습 문제는다음과같이정의 (problem definition) 할수있다. 다층퍼셉트론학습알고리즘은주어진훈련샘플을기반으로가중치 u와 v값을알아내는것이며, 여기서 u와 v는각각 { } 와 { } 에해당하는집합이고이들두가지를합하여모수 (parameter) 집합 라고한다. 즉, ={u, v} 이다. 다층퍼셉트론학습알고리즘도단일퍼셉트론학습과마찬가지로최적화기법에기반하여만들수있는데, 최적화대상함수를다음과같은오류함수로정의할수있다. 훈련하고자하는변수 { } 와 { } 에는랜덤하게초기값을부여한후, 훈련샘플들을바탕으로반복적으로갱신하게된다. 임의의훈련샘플 (x, t), x=< >, t=< > 가주어졌을때, { } 와 { } 를갱신하는과정은다음과같이세단계로구성되어있다. - 19 -

제 1 단계는전향계산 (forward calculation) 단계로서은닉층, 출력층의모든 노드에서의출력을계산한다. 먼저 번째은닉노드에서의출력은다음과같이 계산된다. 은닉층모든노드에서의출력이결정되고나면, 출력층노드에서의출력값을 계산할수있는데, 번째출력노드에서의출력은다음과같이계산된다. 제 2 단계는주어진훈련샘플로부터관측되는오류를측정하는단계이다. 전체 오류는다음과같이각출력노드에서의오류들의합으로정의된다. [ 그림 3-10] 각출력뉴런에서의출력값과참값 - 20 -

제 3 단계는앞서표기한오류함수를줄일수있도록가중치 { } 와 { } 를 갱신하는단계이다. 여기서는경사강하법에의해가중치를갱신하는방식을 쓰는데, 수식으로표현하면다음과같다. 여기서 는학습률, 는각각오류함수 의 에대한기울기 (gradient) 와 에대한기울기라한다. 오류역전파알고리즘에서는은닉층과출력층사이에있는가중치 를먼저갱신하고, 입력층과은닉층사이의가중치 를나중에갱신한다. 를갱신하기위해필요한오류함수 의 에대한기울기 는다음과같이구할수있다. [ 그림 3-11] 은 와관련된인접값들을별도로보여주고있다. [ 그림 3-11] 와관련된인접값 또한, 아래의수식은오류함수 를 에관한함수로표현하기위한것이다. 이렇게정의된오류함수 를 에관해편미분하는과정은다음과같다. - 21 -

위의수식에의하면 의갱신을위해필요한기울기 의값은 과 두 가지에의해계산할수있음을알수있다. 여기서 의위첨자 (2) 의의미는두번째층 (layer 2) 임을의미하는인덱스이다. 한편, 를갱신하기위해필요한오류함수 의 에대한기울기 는다음과같이구할수있다. [ 그림 3-12] 는 와관련된인접값들을별도로보여주고있다. [ 그림 3-12] 와관련된인접값 다음수식은오류함수 를 에관한함수로표현하기위한것이다. - 22 -

이렇게정의된오류함수 를 에관해편미분하는과정은다음과같다. 여기서도 의갱신을위해필요한기울기 의값은 과 두가지에 의해계산할수있음을알수있다. 여기서 의위첨자 (1) 의의미는첫번째 층 (layer 1) 임을의미하는인덱스이다. 여기서중요한사항은 의계산을 위해서다음과같이 를활용한다는점이다 ([ 그림2-13] 참조 ). 여기서 는은닉노드 에서의활성화함수의미분값이다. - 23 -

[ 그림 3-13] delta 값들의 back-propagation 1. 예제 1 지금까지의설명한오류역전파학습알고리즘을잘이해할수있는예제가네이쳐지의논문 [ Deep Learning, LeCun, Bengio, Hinton, Nature 14539, 2015] 에제시되어있다. [ 그림 3-14] 에서는 1개의입력층, 2개의은닉층, 1개의출력층으로구성된다층퍼셉트론신경망에서전향계산이적용되는방식을보여주고있다. 입력벡터 xi 를바탕으로첫번째은닉층 H1에서의 j번째노드의출력값 yj 의값을계산하고, 이를바탕으로두번째은닉층 H2에서의 k번째노드의출력값 yk 의값을계산한후, 마지막으로출력층에서의 번째노드의출력값 y 의값을계산한다. [ 그림 3-14] MLP 학습의예 : 전향계산 - 24 -

앞서설명한전향계산과정에서계산된출력층노드에서의값 y 은정답 (ground truth) t 과의비교를통해오류의정도를측정하는데참조된다. 오류역전파학습알고리즘의과정은 [ 그림 3-15] 와같다. 출력층에있는각노드별로해당노드에서관측된오류와그노드에서의활성화함수의미분값을바탕으로해당노드의오류항인 delta 값을계산할수있다. 이렇게계산된출력층에서의 delta 값들은두번째은닉층노드에서의 delta 값을계산하는데참조되고, 다시두번째은닉층에서의 delta 값들은첫번째은닉층노드에서의 delta 값을계산하는데참조된다. 각노드에서의 delta 값은해당노드로입력되는연결선의가중치를갱신하는데사용된다. [ 그림 3-15] MLP 학습의예 : 오류역전파 2. 예제 2 오류역전파알고리즘을이해하기위한또다른예는 [ 그림 3-16] 와같다. 여기에제시된예는 http://galaxy.agh.edu.pl/~vlsi/ai/backp_t_en/backprop.html 에서인용되었는데, 원래인용된예의잘못된부분을수정하고, 표기방식을일부수정보완한것이다. 예시된 MLP는 2 3 2 1 크기의 3층신경망이고, 모두 6개의노드로구성되어있으며, 각뉴런에서의활성화함수는 sigmoid 함수이다. - 25 -

(a) 3 층신경망의예 (b) 한노드의동작원리 [ 그림 3-16] MLP 학습예제 : 3 층신경망 (a), 한노드의동작원리 (b) 우선임의의 2 차원벡터 (x x ) 가입력되었을때, 노드 1 에서의출력값 은 다음 [ 그림 3-17 (a)] 와같이계산된다. 여기서활성화함수 은 sigmoid 함수이다. (a) 노드 1 의계산 (b) 노드 2 의계산 (c) 노드 3 의계산 [ 그림 3-17] 노드 1, 2, 3 의계산 - 26 -

마찬가지로, 노드 2와 3에서의출력값 은다음과같이계산된다. 여기서도활성화함수 는모두 sigmoid 함수이다. ([ 그림 3-17 (b),(c)] 참조 ) 이렇게하여첫번째은닉층노드의출력값이모두결정되고나면, 두번째은닉층에있는노드 4와노드 5에서의출력값 는다음과같이계산할수있다. ([ 그림 3-18] 참조 ) (a) 노드 4 의계산 (b) 노드 5 의계산 [ 그림 3-18] 노드 4, 5 의계산 이렇게하여두번째은닉층노드의출력값도모두결정되고나면, 마지막 층인출력층에서의노드 6 의출력값 y 는 [ 그림 3-19] 과같이계산할수있다. [ 그림 3-19] 노드 6 의계산 이렇게하여전향계산 (forward calculation) 이완료되고나면, 후향전파에 - 27 -

의한오류역전파 (error back-propagation) 과정이시작된다. 우선출력층에서의오류값, 즉현재의출력값 (y) 과정답 (z) 과의차이에기반하여출력층노드 6에서의 delta 항의값 을 [ 그림 3-20 (a)] 와같이계산할수있다. 여기서 의값은노드 6으로입력되는모든값들의합이며, 는노드 6에서사용된 sigmoid 함수의미분값이다. 참고로, sigmoid 함수 의미분값은 이다. 따라서, 노드 6에서의 의값은 가된다. 노드 6의 delta 값 을기준으로이노드에입력되는연결선의가중치 의값은 [ 그림 3-20 (b)] 과같이갱신할수있다. (a) delta 항의계산 (b) 가중치갱신 [ 그림 3-20] 오류역전파과정 ( 노드 6 의 delta 항계산과가중치갱신 ) 다음으로두번째은닉층에있는노드 4와노드 5에서의 delta 항의값 은출력층노드 6에서의 delta 항의값 을기준으로 [ 그림 3-21] 과같이계산될수있다. [ 그림 3-21] 에서 (a) 와 (b) 는각각노드 4의 delta 항계산과가중치갱신을나타내며, (c) 와 (d) 는노드 5의 delta 항계산과가중치갱신을나타낸다. 여기서도 와 는각각노드 4와노드 5에서사용된 sigmoid 함수의미분값이다. 여기서계산된 는다음과같이노드 4와노드 5로입력되는연결선의가중치의값을갱신하는데각각사용된다. - 28 -

(a) 노드 4 의 delta 항 계산 (b) 노드 4 의가중치 갱신 (c) 노드 5 의 delta 항 계산 (d) 노드 5 의가중치 갱신 [ 그림 3-21] 노드 4, 5 의 delta 항계산과가중치갱신 두번째은닉층의가중치갱신이완료되고나면, 첫번째은닉층에있는노드 1, 2, 3에서의 delta 항의값 을인접한은닉층에서의 delta 항의값 를기준으로 [ 그림 3-22] 와같이계산할수있다. 그림에서 (a),(b),(c) 는각각노드 1, 2, 3의 delta항계산을나타낸다. 여기서도,, 는각각노드 1, 2, 3에서사용된 sigmoid 함수의미분값이다. - 29 -

(a) 노드 1 의 delta 항계산 (b) 노드 2 의 delta 항계산 (c) 노드 3 의 delta 항계산 [ 그림 3-22] 노드 1, 2, 3 의 delta 항계산 여기서계산된 은 [ 그림 3-23] 과같이노드 1, 2, 3 으로입력되는 연결선의가중치를갱신하는데각각사용된다. - 30 -

(a) 노드 1 의가중치갱신 (b) 노드 2 의가중치갱신 (c) 노드 3 의가중치갱신 [ 그림 3-23] 노드 1, 2, 3 의가중치갱신 - 31 -

제4절깊은신경망깊은 (deep) 신경망이란층 (layer) 의개수가많은신경망을일컫는다. 아래의그림에예시된 MLP의경우층의개수가 10개가넘는전형적인깊은신경망이다. 이러한깊은신경망의경우에도오류역전파학습알고리즘은동일한방식으로동작한다. [ 그림 3-24] Deep MLP 의예 위의 MLP 에서첫번째층 (layer 1) 은입력층이고, 맨마지막층 (layer ) 은 출력층이다. 두번째층부터 번째층은은닉층에해당한다. 여기서신경망 외부로부터의입력값 를입력층의 -번째입력값이라고하고, 는 -번째 층의 - 번째노드에서 - 번째층의 - 번째노드로의연결선에할당된 가중치라고하자. 또한 와 는각각출력층의 - 번째노드에서의출력값과 참값 (desired output) 이라고하자. 앞서살펴본 MLP 의학습에서와마찬가지로, 깊은신경망의학습을위한첫 번째단계는전향계산단계이다. 즉, 주어진훈련샘플 (x, t), x=< >, t=< > 을기반으로모든은닉층과마지막출력층에서의관측값을다음과 같이계산한다. - 32 -

제 2 단계는주어진훈련샘플로부터관측되는오류를측정하는단계이다. 전체 오류는다음과같이각출력노드에서의오류들의합으로정의된다. 가중치 의갱신을위해서는기울기 (gradient) 를계산할수있어야 하고, 기울기계산을위해서는각노드에서의 delta 값 을구해야한다. 오류 역전파방식에의한 delta 항계산식은다음과같다. 이렇게구한 delta 값을기반으로다음과같이가중치를갱신한다. 이때유의할 사항은가중치갱신은전향계산과반대방향으로진행된다는것이다. 즉, - 33 -

출력층 (layer ) 과 번째층사이의가중치 을먼저갱신하고난후, 번째층과 번째층사이의가중치 를갱신한다. 맨마지막에는 입력층 (layer 1) 과첫번째은닉층 (layer 2) 사이의가중치 이갱신된다. 다층신경망의학습은학습하는조건에따라그결과가항상다를수있다. 가중치를초기화하는방식, 은닉노드의개수나은닉층의개수, 훈련샘플을보여주는순서등에따라학습결과가달라질수있다. 따라서, 서로다른조건으로여러번학습해보고그중에가장좋은결과를채택하는것이일반적이다. 다층신경망에서층의개수를증가시킬수록함수표현능력이높아지는반면, 오류역전파학습이잘안되는현상이발생한다. 이는오류역전파방식에의해 delta 항을재귀적 (recursive) 으로계산할때참조하는 sigmoid 함수의미분값때문이며, 층이거듭될수록 delta 항의값이빠른속도로 0에가까워지고, 따라서입력층방향으로진행될수록가중치갱신의효과가현저하게저하된다. 이를 vanishing gradient problem 이라고한다. 딥러닝연구의선두주자중한사람인 G. Hinton 교수는깊은신경망에서의학습이잘되지않는현상을극복하기위해다음과같은 4가지의개선책이필요하다고지적한바있다. 활성화함수로사용되는 sigmoid 함수때문에학습이어려우며, 따라서 ReLU 등과같은새로운활성화함수를사용해야한다. 신경망의가중치를임의로 (random) 초기화하지않고 pre-train 등의절차를거쳐의미있는초기값을설정한후학습을시작해야한다. 깊은신경망의학습을위해서는지금까지사용했던것보다수천배많은양의훈련데이터를사용할수있어야한다. 깊은신경망의학습을위해서는지금까지사용했던것보다수백만배 - 34 -

빠른컴퓨터를사용해야한다. 이러한지적에근거를두고제안된깊은신경망에는컨볼루션신경망 (CNN), 순환신경망 (RNN) 등이있으며, 이들새로운구조의깊은신경망이기존의 신경망보다훨씬우수한성능을보이고있다. - 35 -

제 4 장컨볼루션신경망 제1절구조컨볼루션신경망 (Convolutional Neural Network, CNN) 은 [ 그림 4-1] 과같은구조를갖는다층신경망이다. 입력층과출력층이각각맨첫번째와맨마지막층에해당한다. 입력층에인접해서는컨볼루션층 (convolution layer) 과풀링층 (pooling layer) 을쌍 (pair) 의형태로여러개둘수있고, 그뒤에는몇개의 FC 층 (fully- connected layer) 으로구성된 MLP를둔다. 이미지출처 : wildml.com [ 그림 4-1] 컨볼루션신경망의예 컨볼루션신경망은인공신경망중에서도이미지분석에특화된방법론이다. 최근범국민적반향을일으켰던구글의 AlphaGo를비롯하여, Facebook의얼굴인식알고리즘또한모두컨볼루션신경망을이용하는대표적사례이다. [ 그림 4-1] 에서의컨볼루션층은이전층 ( 입력층또는이전풀링층 ) 에서근접해있는노드들이다음층의노드와연결되는구조인데, 임의의이미지에서국소적인특정영역의특징들을추출하는역할을한다. 풀링층은이전컨볼루션층노드의특정영역부분의추상화했던값들을통합하는역할을한다. [ 그림 4-2] 는 CNN으로영상을분류 (image classification) 하는예를보여주고있다. 입력칼라영상의 RGB 성분각각에대해 convolution과 pooling을 3차례적용한후, 마지막으로 FC 층을거쳐최종분류결과를출력한다. 최종출력을보면 Samoyed라는부류에가장높은가능성 (likelihood) 이부여되어있음을알수있다. - 36 -

이미지출처 : Yann LeCun et al., Deep learning, Nature, 2015. [ 그림 4-2] CNN 을이용한영상분류의예 CNN에영상을직접입력하기위해서는입력층을 2차원배열형태로구성해야한다. 이렇게하면해상도가높은영상의경우인접한은닉층과의연결선및가중치의개수가지나치게많아질수있지만, 컨볼루션층은적은개수의가중치를중복적으로사용함으로서학습해야할가중치의개수를획기적으로줄일수있다. 입력영상을그대로입력층에제공함으로서얻을수있는장점은별도의특징추출과정이필요하지않다는사실이다. 영상패턴분류를위한기존의방법에서는주어진영상으로부터분류에필요한특징을사전에추출한후, 이특징을입력으로하여분류기를학습하였다. 그러나이러한특징추출과정이컨볼루션층에의해자연스럽게수행되며, 아울러컨볼루션층의학습을통해해당영상의분류를위해가장효과적인특징을스스로학습할수있다는점이 CNN의가장큰특징이자장점이라고할수있다. - 37 -

(a) CNN 을이용한문자패턴의인식과정 (b) CNN에서의특징맵 이미지출처 : Y. LeCun, et al., Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE, 1998. [ 그림 4-3] CNN 을이용한문자패턴인식 [ 그림 4-3] 의 (a) 는 CNN을이용하여문자패턴을인식하는과정을보이고있다. 특정영상이 CNN의입력으로주어졌을때, 각층에서생성되는중간결과들의재구성과정을보여준다. 이러한중간결과들을특징맵 (feature map) 이라고한다. 특징맵으로부터입력영상에서저수준 (low-level) 특징, 중수준 (mid-level) 특징, 고수준 (high-level) 특징등이단계적으로추출됨을관측할수있다. [ 그림 4-3] 의 (b) 와같은특징맵을만드는과정에사용되는가중치들을필터 (filter) 라고하는데, 컨볼루션층에서사용되는마스크 (mask), 풀링층에서사용되는 2 2 윈도우 (window), FC 층에서사용되는가중치들의모음등을모두필터라고할수있다. - 38 -

이미지출처 : Jarrett. K, et al., What is the best multi-stage architecture for object recognition?, Computer Vision IEEE, 2009. [ 그림 4-4] 5 5 필터를사용한특징맵생성의예 [ 그림 4-4] 는 32 32 영상에 5 5 크기의마스크를컨볼루션하여 28 28 영상이얻어지는과정을보여주고있는데, 여기에사용된 5 5 크기의마스크가필터이다. CNN의학습은바로이들 filter의값들을주어진훈련데이터로부터스스로알아내는과정이라고할수있다. 1. 컨볼루션층컨볼루션 (convolution) 이란영상처리에서자주사용되는연산중하나이다. 입력영상을, 마스크에해당하는영상을 라고했을때, 아래와같은연산 을컨볼루션이라고하며, [ 그림 4-5] 와같다. - 39 -

이미지출처 : ios Developer Library - vimage Programming Guide ( 재편집 ) [ 그림 4-5] 컨볼루션연산 이러한이미지컨볼루션의과정은 [ 그림 4-5] 의예에서 3 3 행렬로표현된컨볼루션필터가이미지를이동하며각픽셀값을곱해서합하는연산으로진행된다. 컨볼루션연산에서입력영상 의크기를 이라하고, 컨볼루션의결과 에해당하는영상의크기를 이라했을때, 이들두영상의관계는 [ 그림 4-6] 과같다. 여기서 등을 hyper parameter 라고하며, 이것은 CNN 사용자가응용분야에맞게적절히선택해야하는값이다. 이미지출처 : Stanford CS class CS231n - Convolutional Neural Networks for Visual Recognition [ 그림 4-6] 컨볼루션연산의입력과출력 - 40 -

[ 그림 4-7] 은 5 5 3 영상에컨볼루션을적용하여 3 3 2 영상을구하는예를보이고있다. 여기에는 3 3 크기의필터 2개가사용되었다. 그림의 Input Volume 의파란색영역이컨볼루션대상영역이고, Filter는가중치계산을위한필터를, Output Volume 은출력값을나타낸다. 파란색대상영역을입력으로하여필터는좌측열부터위쪽에서아래로한칸씩스캔하며필터값을행렬곱연산하고바이어스값을반영하여다음층으로값을넘겨주면, 같은작업을다음층에서반복하여최종결과값을산출한다. 이미지출처 : Stanford CS class CS231n - Convolutional Neural Networks for Visual Recognition ( 재편집 ) [ 그림 4-7] 컨볼루션적용의예 2. 풀링층풀링층은 down-sampling 방식에의해영상의크기를줄이는역할을담당한다. 풀링층구성을위해가장많이사용되는방법은 2 2 크기의윈도우를사용한 average pooling( 평균풀링 ) 과 max pooling( 맥스풀링 ) 이있다. 풀링층은중요한 - 41 -

정보만을남겨차원을축소시키는데, 2 2 사이즈로샘플링된값들중특정값을 1개추출하여다시금 2 2의결과값으로변환한다. 이과정에서평균값을구하면평균풀링, 최대값을구하면맥스풀링이다. 맥스풀링의경우에는이미지가평행으로이동하더라도변하지않는값을줄수있는장점이있다. [ 그림 4-8] 은 2 2 크기의윈도우를사용한 max pooling의예를보이고있는데, 풀링에의해영상의폭 (width) 과높이 (height) 가각각반 (half) 으로줄어듦을알수있다. 이미지출처 : Stanford CS class CS231n - Convolutional Neural Networks for Visual Recognition [ 그림 4-8] Max pooling 의예 풀링연산에서입력영상 의크기를 이라하고, 풀링의결과에 해당하는영상의크기를 이라했을때, 이들두영상의관계는다음 [ 그림 4-9] 와같다. [ 그림 4-9] 풀링연산의입력과출력 - 42 -

제2절기능 CNN의기본개념은 1990년대에 LeCun 등에의해제안되었으나, 2010년이후에비로소많은분야에서우수한성능이입증되기시작하였다. 영상분류를목적으로해마다진행되어오던 ImageNet challenge에 2012년에 CNN을기반으로하는시스템이등장하면서부터영상분류성능이획기적으로개선되기시작하였다. [ 그림 4-10] 에서와같이 2012년의 AlexNet, 2014년의 GoogleNet, 2015년의 ResNet 등이모두 CNN에기반하여 ImageNet challenge에서 1위를차지하였다. 1위를차지한시스템외에도 CNN을채택한방법들이 CNN을채택하지않은방법들보다월등히우수함이입증되었다. [ 그림 4-10] ImageNet challenge 에서 CNN 기법들의성능비교 영상분류분야뿐아니라음성인식분야에서도 CNN이활용되면서, 획기적인성능개선이있었다. [ 그림 4-11] 에서보는바와같이 2010년을기준으로딥러닝기반음성인식방법의오류가대폭감소하고있으며, 현재는상용이가능한수준의음성인식기술이다수등장하고있다. 2016년에있었던세기의이벤트에출현한 AlphaGo 역시정책망 (policy network) 과가치망 (value network) 을 CNN으로구현함으로서인공지능프로그램이인간을능가할수있음을다시한번입증하였다. - 43 -

[ 그림 4-11] 딥러닝기반의음성인식성능개선 제3절학습원리 CNN 학습도기본적으로는 forward/backward 방식의오류역전파학습알고리즘과동일하게이뤄진다. 즉, 주어진훈련패턴으로현재의 CNN을통해최종출력값을계산하고, 참값 (desired output) 과의차이를기반으로 CNN 내부의가중치를갱신하는과정을반복적으로수행하는방식으로학습한다. [ 그림 4-12] 는 C1부터 C5까지 5개의컨볼루션층과 F6부터 F8까지 3개의 FC 층으로구성된 CNN에존재하는 8가지종류의가중치 ( 또는필터 ) w1~w8을학습하는과정을보여주고있다. [ 그림 4-12] Forward/Backward 방식에의한 CNN 학습 - 44 -

오류역전파방식에의해 w8의갱신을가장먼저수행하며, 이때에사용되는기울기는 error w 이다. 동일한과정이반복되어 w1의갱신을가장마지막에수행하게되는데, 이때에사용되는기울기는 error w 이다. 여기서도오류역전파학습에서와마찬가지로 error w 은 error w 로부터순서대로 back-propagate 하면서구할수있다. 1. FC 층의학습 CNN의구조상 FC 층은가장마지막에위치한다. 따라서, 학습시가중치갱신은가장먼저수행된다. FC 층의전향계산은 [ 그림 4-13] 에서와같이각노드에서의총입력값을구하는과정과활성화함수를통한출력값계산의과정으로구성되어있다. [ 그림 4-13] 단계 1: FC 층에서의전향계산 FC 층에서 delta 항값의재귀적계산을위한오류역전파는다음과같이 수행된다. 물론, 출력층에서의 delta 항값은해당노드에서관측된오차를 기반으로별도로계산된다. - 45 -

마지막으로 FC 층에존재하는가중치의갱신은다음수식과같으며, FC 층에서의오류역전파는 [ 그림 4-14] 와같다. [ 그림 4-14] FC 층에서의오류역전파 2. 풀링층의학습풀링층을구성하는연결선에는가중치가할당되어있지않다, 따라서풀링층에서의학습은 FC 층의학습과달리전향계산과오류역전파의두단계로만구성되며, 가중치갱신과정은불필요하다. 풀링층에서의전향계산식은다음 [ 그림 4-15] 의 (a) 와같다. 풀링층에서의 down-sampling( 또는 sub-sampling) 을위해사용되는함수 는평균을계산하는 mean 함수또는최대치를선택하는 max 함수둘중의하나를선택해서사용할수있다. 풀링층에서의오류역전파에는전향과정에서사용된함수 의미분함수 를이용하여 [ 그림 4-15] 의 (b) 와같이오류를역방향으로전파한다. 의정의에서알수있듯이평균풀링의경우오류를균등배분하는방식으로전파하지만, 맥스풀링의경우에는최대값에해당하는노드로모든오류를전파함을알수있다. - 46 -

(a) 풀링층에서의전향계산과수식 (b) 풀링층에서의오류역전파과정과수식 [ 그림 4-15] 풀링층의학습과정 3. 컨볼루션층의학습컨볼루션층의학습은 FC 층과마찬가지로전향계산, 오류역전파, 가중치갱신등의 3단계로구성된다. 먼저컨볼루션층에서의전향계산은 [ 그림 4-16] 의 (a) 와같이컨볼루션연산에의해수행된다. 컨볼루션층에서의오류전파의과정은 [ 그림 4-16] 의 (b) 와같이진행된다. 왼쪽편에존재하는 (x)-층노드의값으로부터오른쪽 (y)-층의값을계산하기위해사용한마스크는 w이다. 오류를전파하기위해서오른편에존재하는 (y)-층의 delta 항의값으로부터왼쪽편 (x)-층의 delta 값을계산하게되는데, 이때오른편 (y)-층의 delta 값들을대상으로반전된마스크 flip(w) 를사용하여컨볼루션연산을적용하면왼쪽편 (x)-층의 delta 값들이얻어짐을알수있다. - 47 -

여기서한가지유의할사항은 CNN 에서는노드들의활성화함수로 ReLU 함수를사용하므로그미분함수는항상 1 이되고, 따라서 delta 항의전파시에 활성화함수는영향을주지않는다는사실이다. (a) 컨볼루션층에서의전향계산 (b) 컨볼루션층에서의오류역전파 [ 그림 4-16] 컨볼루션층의학습과정 - 48 -

[ 그림 4-17] 은마스크반전의예를보여주고있다. 즉, 왼쪽에있는마스크를 w 라하면, 오른쪽의마스크는 w 가반전된 flip(w) 이다. [ 그림 4-17] 2 차원마스크반전의예 컨볼루션층에서의가중치갱신은다음 [ 그림 4-18] 과같이수행된다. FC 층과마찬가지로가중치를갱신할때에는 delta 항의값을참조하는데, 컨볼루션층에서는같은가중치가여러곳에중복적으로존재하기때문에특정가중치를갱신할때에는관련된모든 delta 항들을고려하여갱신해야한다. 이과정을수학적으로정리하면오른편 (y)-층의 delta 항의값들을대상으로입력영상 x로컨볼루션연산을적용하는것과동일함을알수있다. 앞서언급한바와같이이렇게학습된컨볼루션층의가중치들은추후입력영상을컨볼루션 (convolution) 하기위한필터를구성하게된다. [ 그림 4-18] 컨볼루션층에서의가중치갱신 - 49 -

제 5 장순환신경망 제 1 절구조 순환신경망 (Recurrent Neural Network, RNN) 은아래 [ 그림 5-1] 에서와같이특정노드의출력이해당노드에다시입력되는구조를갖는신경망이다. 즉, 현재들어온입력데이터와과거에입력받았던데이터를동시에고려하여결과값을도출하는형태이다. [ 그림 5-1] 순환신경망의전개 위의순환신경망을구성하는변수들은다음과같다. 시간 에서뉴런의상태 와해당뉴런의출력값 를계산하기위해가중치 U, V, W 를참조하며, 여기서사용되는가중치집합 U, V, W 에의해순환신경망의기능이결정된다. 순환신경망의학습은이들세종류의가중치값을주어진훈련샘플로부터스스로알아내는과정이다. - 50 -

순환신경망은시계열패턴의수학적모델링에적합하다. MLP나 CNN은특정입력에해당하는최적의출력을찾아주는성능은뛰어나지만, 현재의출력이과거의입력에영향을받는시간적종속성 (temporal dependency) 은표현하지못한다. RNN은이와같은시간적종속성을표현하는능력을갖고있다. 시간적종속성은 [ 그림 5-2] 에서와같이짧은 (short-term) 종속성과긴 (long-term) 종속성두가지가있다. 이미지출처 : colah s blog, Understanding LSTM Networks, 2015. [ 그림 5-2] 시간적종속성 : 짧은종속성, 긴종속성 제2절기능시계열패턴의전형적인예로는언어모델 (language model) 이있다. [ 그림 5-3] 은 RNN으로 hello 라는단어에대한언어모델을표현할수있음을보여주고있다. 시간 에서입력 와출력 모두 4차원벡터로표현되어있는데, 각각의 4차원벡터는 h, e, l, o 등 4가지문자중하나를나타내고있다. 은닉층에는 3차원의상태벡터가생성되는데, 이들상태벡터는다음번입력을처리하는데활용될뿐아니라, 현시점의출력 를계산하는데도사용된다. 이신경망은 h 문자가입력되면다음에는 e 문자가출현할가능성이가장높고, he 가출현한후에는 l 이다음문자로출현할확률이가장높아지도록학습되어야한다. - 51 -

[ 그림 5-3] RNN 을이용한언어모델의예 [ 그림 5-3] 의 RNN 신경망에서시간 에서의출력벡터 는시간 까지의입력 를근거로가장출현가능성이높은다음문자를알려주고있다. 이예는시계열데이터 를입력으로하여또다른시계열데이터인 를출력하는 many-to-many의예이다. 그외에도 [ 그림 5-4] 에서와같이다양한시나리오의응용이가능하다. [ 그림 5-4] 의 (a) 는 MLP나 CNN과같이하나의입력에대해하나의출력을생성하는구조이며, 본절에서설명하는순환신경망 (RNN) 에해당되지않는다. (b) 의 one-to-many 구조는 image captioning 에서와같이하나의입력영상 x로부터시계열패턴 를만들어내는데적합한구조이다. (c) 의 many-to-one 구조는 sentiment classification 에서와같이시계열데이터 를입력으로하여하나의부류 (class) 정보 를결정하는데적합한구조이다. (d) 의 many-to-many 구조는 machine translation 에서와같이시계열데이터 를입력으로하여또다른시계열데이터인 를출력하되, 일정한시간차 (, ) 를두고출력이생성되는문제에적합한구조이다. (e) 의 many-to-many 구조는앞서살펴본언어모델에적합한구조이다. - 52 -

(a) (b) (c) (d) (e) [ 그림 5-4] 다양한형태의 RNN 활용 제3절학습원리순환신경망도시간전개에따라신경망의구조를펼쳐놓으면전향신경망 (feed-forward network) 과같은구조를갖게된다. [ 그림 5-5] 에서 (a) 의 RNN 내에있는하나의노드는 (b) 의전향신경망과동일한방식으로동작한다. (a) (b) [ 그림 5-5] RNN 노드의내부구조 이러한개념을확장하면 [ 그림 5-6] 에서 (a) 의 RNN 은 (b) 의전향신경망과같은 구조로해석할수있으며, 따라서앞서살펴본오류역전파학습알고리즘을 RNN 학습에도그대로적용할수있다. - 53 -

(a) (b) [ 그림 5-6] RNN 신경망에해당되는전향신경망 실제로 RNN의학습에오류역전파학습알고리즘을수정한 BPTT (Back-propagation Through Time) 알고리즘을사용한다. RNN 학습문제는다음과같이주어진훈련샘플을기반으로가중치 U, V, W 값을알아내는문제로정의 (problem definition) 할수있다. BPTT 알고리즘도오류역전파학습알고리즘과마찬가지로전향계산, 오류역전파, 가중치갱신등과같은 3단계로구성된다. 먼저전향계산은다음과같은수식에의해모든노드에서의출력을계산한다. 여기서도가중치 U, V, W 값은임의로 (random) 초기화되어있다고가정한다. - 54 -

출력층에서의오류는다음과같다. 이렇게주어진오류함수가최적화 ( 최소화 ) 최적화대상함수이다. 각노드에서의 delta 항의값을역방향으로전파하기위한과정은다음과같고, 그림으로는 [ 그림 5-7] 과같이나타낼수있다. [ 그림 5-7] RNN 학습을위한 delta 항역전파 마지막으로가중치갱신은이렇게계산된 delta 항들을기반으로다음과같은 방식으로수행된다. [ 그림 5-8 참조.] - 55 -

[ 그림 5-8] RNN 학습을위한가중치갱신 지금까지설명한 BPTT 알고리즘과기존의 BP( 오류역전파 ) 알고리즘의가장큰차이점은 모두신경망내의여러곳에중복적으로존재하기때문에가중치갱신시중복된위치에서의모든오류항 (delta) 을고려하여계산해야한다는점이다. 가중치갱신하는수식에서 delta 항의값들을모두합하는항이있는것은바로이런이유때문이다. RNN의학습도깊은신경망의학습에서와같은 vanishing gradient problem이존재한다. 이것은 [ 그림 5-9] 에서와같이순환의깊이가깊어질수록상태변수계산시사용되는활성화함수 tanh의미분값들이여러차례곱해지게되고, 따라서이값에의존하는 gradient 값들이 0으로수렴함으로서가중치갱신의효과가없어지는단점을의미한다. - 56 -

[ 그림 5-9] RNN 에서의 vanishing gradient problem 제4절 LSTM 신경망앞절에서언급한 RNN의 vanishing gradient problem에대한해결방안으로서 1997년에 LSTM(Long Short-Term Memory) 신경망이제안되었다. [ 그림 5-10] 는지금까지설명한전형적인 RNN 구조를보여주고있다. 모든 RNN은신경망의연쇄구조형태를갖는다. 즉, 지금까지살펴본전형적인 RNN은특정시간 에서의입력 xt와이전시점에서의상태변수를입력으로하는하나의 tanh 층 (layer) 으로구성되어있었다. 이미지출처 : colah s blog, Understanding LSTM Networks, 2015. [ 그림 5-10] 전형적인 RNN 의구조 LSTM 신경망은연쇄구조를갖는다는점은 RNN과동일하지만 [ 그림 5-11] 과같이좀더복잡한구조를갖도록설계되어있다. 반복되는모듈이특별한상호작용을하는 4개의층을갖는다. 이신경망의세부구조는 [ 그림 5-11] 의 (c),(d),(e),(f) 와같이 4가지요소로구분하여살펴볼수있다. - 57 -

(a) LTSM 구조 (b) 사용된기호 (c) 망각게이트 (forget gate) 의구조 (d) 입력게이트 (input gate) 와 tanh 층의 구조 (e) 상태변수의갱신 (f) 출력게이트 (output gate) 의구조 이미지출처 : colah s blog, Understanding LSTM Networks, 2015. [ 그림 5-11] LSTM 모델구조 - 58 -

[ 그림 5-11] 의 (a) 에서중간층은입력값을출력으로내보낼때정보를추가하거나삭제한다. 입력값에대하여아무런변화없이그대로출력으로내보내는것을셀상태 (cell state) 라고한다. 셀상태는마치컨베이어벨트와같이약간의선형상호작용을하기도한다. LSTM 신경망은셀상태에정보를추가하거나삭제할수있는게이트 (gate) 구조를갖는다. 게이트는정보결정에있어선택을할수있으며, sigmoid 신경망층과벡터의요소간곱연산으로구성되어있다. 그림 (c) 의망각게이트는어떤정보를버릴것인지결정하는게이트이다. 셀의상태에따라 0과 1을출력하는데 0은삭제, 1은보존을의미한다. (d) 의입력게이트는어떤새로운정보를저장할것인가를결정한다. 첫번째부분은입력게이트층으로 sigmoid 층을의미하고, 두번째부분은셀상태에저장할새값을생성하는 tahn 층이다. 이두부분이결합하여다음단계의셀상태를결정한다. 다음으로 (e) 는상태변수를갱신하는단계로이전의셀상태에값을곱하여갱신한다. 마지막으로 (f) 는출력단계로어떠한정보를최종적으로출력할것인지를결정하는단계이다. 이단계에서는셀상태값을 tanh 함수에통과시켜 -1과 1 사이의값으로변환하고, sigmoid 게이트와곱하여원하는부분만출력한다. 이렇게설계된 LSTM 신경망은시계열데이터내에내포된긴 (long-term) 시간적종속성 (temporal dependency) 을효과적으로모델링할수있고, 따라서기존 RNN의 vanishing gradient problem을해결할수있음이입증되었다. 지난 10여년동안시계열데이터를다루는응용에서는 LSTM 신경망이주로사용되어왔는데, 2014년에이모델의복잡한구조를좀더단순화하되 LSTM 신경망의장점은유지할수있는새로운모델로 GRU(Gated Recurrent Unit) 신경망이제안되면서최근많은주목을받고있다. - 59 -

제 6 장인공지능산업기술의동향과시사점 제1절개요인공지능기술은구글, IBM, 애플, 페이스북등미국중심의글로벌기업이주도하고있으며, 미국외에도유럽, 일본, 중국등에서는인공지능기술확보를국가적아젠다로채택하여국가적역량을집중하고있다. 반면, 국내에서는단기간에가시화할수있고수요가많은분야위주로연구가수행되고있다. 장기간연구수행이필요한분야는연구진행이더딘것으로파악되고있지만, 최근 AI연구소설립등을포함한국가차원의인공지능기술육성에대한투자는선진국에비해늦었지만향후국내산업혁신에긍정적인요소로작용할것으로사료된다. 제 2 절해외현황 1. 미국세계인공지능관련기술을주도하고있는미국에서는구글, IBM, 애플, 페이스북등글로벌기업이무서운속도로성장하고있을뿐아니라, 스타트업도튼튼한성장기반을이루고있다. 이들글로벌기업은이미지능정보기술개발에경쟁적으로투자를확대하고가시적인성과를도출하고있다. 구글은영국소재자회사인딥마인드가개발한인공지능바둑프로그램인 ' 알파고 ' 로 2016년우리나라를포함한전세계에큰이목을이끌었다. 이밖에도방대한데이터를분석해미래를예측하는기술인머신러닝프로그램 텐서플로우 (TensorFlow) 를공개했으며, 현재자율주행자동차개발을완료하고일반도로에서시범운행중에있다. IBM은인공지능컴퓨터 ' 왓슨 ' 을중심으로눈에띄는움직임을이어가고있다. 왓슨은 2011년미국퀴즈쇼에서인간을상대로압도적우승을거둔인지컴퓨팅시스템으로서인간의자연어처리는물론대규모데이터분석과학습이가능하도록구축되어있다. 페이스북은사람얼굴사진을보고누구인지알아보는 ' 딥페이스 ', 페이스북 - 60 -

메신저에서사용할수있는가상비서서비스 'M' 을출시하는등인공지능 기술을접목한서비스를지속적으로출시하고있다. 애플도 2011 년개인비서 시리즈인 ' 시리 ' 를출시하며인공지능개발흐름에동참하고있다. < 표 6-1> 인공지능기술을선도하고있는미국내글로벌기업현황 회사명주요결과물주요현황 구글 IBM 애플 마이크로소프트 페이스북 o AI 기업딥마인드를약 5 억 82 백만불에인수 ( 14.5) o 바둑프로그램알파고개발및이세돌 9 단과대국 ( 16.3) o AI 기계학습엔진텐서플로우의오픈소스공개 ( 15.11) o 검색엔진기반자연언어처리기술 Now 개발 o 사용자의사용패턴을인지하고명령전정보를제공 o 로봇, 의료, 헬스케어, 금융, 법률등응용생태계조성중 ( 36개국, 17개산업 270여개국도입 ) o 소프트뱅크와협력을통한로봇용 AI SDK 공개예정 o 인지컴퓨팅을기반으로세상에없는요리법을만들어주는 AI 요리앱 셰프왓슨 공개 ( 15.7) o 뉴욕암센터, MD앤더슨암센터와협업하여진단및치료법제안, 보험사웰포인트는치료적절성에왓슨권장 o 음성인식기반개인비서서비스 시리 를통한자연어대화기술을스마트폰에최초탑재 o 스웰, 톱시, 보컬IQ, 퍼셉티코, 이모션트등다수의 AI 스타트업기업인수 o 음성인식기반가상비서 코타나 개발 o 코타나를통해컴퓨터, 스마트폰등에작업지시, 길검색, 음식주문등도가능, 키보드, 마우스, 화면터치없이음성만으로점차가능하도록확장할예정 o 기계학습기반서비스지원이가능한 AI 비서 M을통해온라인쇼핑, 레스토랑예약등작업가능 o 메신저연계대화가능한 AI 채팅봇 챗봇 공개 o 모노이딕스, 지비딕등다수의 AI 기업인수 또한, 미국은정부차원에서인공지능원천기술확보및군사분야접목을통한상용화추진을위해 2013년부터브레인이니셔티브 (BRAIN Initiative) 사업을추진하고있다. 여기에는 7개정부기관과연구소, 대학등 25개민간기관이참여하며, 향후 10년간 30억달러를투자한다. 또한, 미국의국방고등연구계획국 (DARPA) 은인간개입을최소화한무인드론프로젝트 (CODE - 61 -

프로젝트 ) 및인간의뇌구조와유사한데이터처리칩셋개발 (SyNAPS 프로그램 ) 을 2008년부터진행하고있다. 한편, 스탠포드, MIT 등에서는대학내 AI 연구소를통한무인자율주행차, 지능형로봇등의분야에다양한 AI 연구가진행되고있다. 2. 일본지능정보산업에서일본기업이글로벌주도권을잡을가능성은매우낮을것으로예상된다. 대다수일본의 AI 활용기업및로봇기업들은여전히 AI 기술로구글, IBM 등이개발한솔루션을채택하고있는실정이다. 그동안활용가능한수준의자체 AI 기술개발이없었기때문이다. < 표 6-2> 는일본의인공지능대표기업의현황을나타낸다. 소프트뱅크의휴머노이드로봇페퍼 (Pepper) 가 AI 기술로 IBM의 Watson을채택했고, AI를활용해마케팅및경영효율화사업을수행하는다수의중견기업들도구글의딥러닝기술을쓰고있다. 다만, 일본의인공지능산업에서눈여겨봐야할것은실제산업분야에서 AI 솔루션을활용하려는요구가빠르게증가하고있다는점이다. 또한, 미국기업주도의기술방식과는달리자체기술을개발해사업을영위하려는기업들이최근부각되고있다. ( 출처 : 4차산업혁명 AI 기업분석, 한국투자증권, 2016. 4월 ) < 표 6-2> 일본의인공지능대표기업현황 회사명 주요서비스 주요현황 소프트뱅크 o 개인, 전문영역에서활용가능한 AI 로봇 페퍼 출시 o IBM Watson기반자연어대화및맞춤형서비스진행 o MS 빅데이터분석시스템 Azure를통한소매점서비스, 관광안내, 노인돌봄, 의료, 교육등 AI 서비스강화 o IBM 왓슨기반의나오를개발하였고, 미국힐튼호텔에서투숙객안내, 주변관광명소추천등시범서비스 도요타 o AI을총괄하는 Toyota Research Institute 설립, 5년간약 10억달러 ( 약 1.2조원 ) 투자하며, 로봇및자동차용 AI 연구 히타치 o 생산성강화및로봇실용화를위해센서및 AI 연구개발분야에약 2,000명투입하여물류용 AI 프로그램, 양팔로봇기술등을공개 - 62 -

일본정부에서는미래경쟁력강화를위해로봇과인공지능분야를집중육성하고있다. 일본재흥전략, 로봇신전략 (Japan's Robot Strategy) 등을발표하며로봇혁명핵심요소에인공지능을포함하였다. 이를위해 2015년 5월에경제산업성산하에 AI 기술개발및실용화를위한 AI 연구센터를설립하였으며, 2016년 3월에는총리직속의 인공지능미래사회경제전략본부 를발족하였다. 또한, 경제산업성, 문부과학성, 총무성은 2016년부터 5개산하기관에 10년간 1,000억엔을투입해 AI 역량을강화하고로봇개발등에활용할예정이다. 3. 중국중국에서는중국을대표하는 IT 기업인바이두가인공지능연구와서비스적용에박차를가하고있다. 바이두는 2014년머신러닝전문가인앤드류응스탠퍼드대교수를영입하면서단숨에인공지능강자로떠올랐으며, 중국최대검색엔진을보유한강점을살려빅데이터를기반으로다양한시도를진행하고있다. 바이두가인공지능기술활용을위해노력을기울이는대표적인분야는무인자율주행자동차다. 이를위해 BMW와협력하고있으며, 2015년 12월베이징고속도로와시내에서자율주행시범운행을진행한바있다. 또한, 중국의대표적인전자상거래개발업체인알리바바는금융결제, 전자상거래에의한데이터를기반으로인공지능연구개발을추진하고있다. 인터넷서비스및게임서비스전문기업인텐센트역시인공지능기사작성로봇인 드림라이터 를개발하는등지능정보기술분야에서중국기업들의글로벌성장세가빠르게진행되고있다. 중국의인공지능대표기업의현황은 < 표 6-3> 과같다. 중국정부에서도 AI 육성기반조성및전략적투자활성화를위해노력하고있다. 중국의제13차 5개년계획 (2016~2020) 에인간과로봇의상호작용및 AI 관련연구계획을포함하였고, 중국발전개혁위는 인터넷 +AI 행동실시방안 편성을위한 TF 팀을구성하고 AI 연구프로젝트인 차이나브레인 등국가차원의실천방안및로드맵을수립하여연내에발표할예정이다. 또한, 100대국가전략사업중 뇌과학과두뇌관련연구 를우선적으로추진할예정이다. - 63 -

< 표 6-3> 중국의인공지능대표기업현황 회사명 주요제품 주요현황 바이두 o 실리콘밸리에딥러닝을연구하는연구기관 IDL (Institute of Deep Learning) 을설립 (2013) o 구글브레인프로젝트개발자 Andrew Ng 영입 (2014) 비서로봇두미 o AI기반가상비서로봇 두미 ( 度秘 ) 를공개 ( 딥러닝융합이미지, 음성인식기술 ) o 중국과학기술부와양자컴퓨터전문실험실을공동 알리바바 설립, 구글알파고와유사한 AI 개발진행, 중국최초 AI 플랫폼 DT PAI 를공개 (2015) 텐센트 드림라이터 연구에주력, 자체개발한 AI를탑재한기사작성로봇 드림라이터 출시 (2015. 9월 ) o 스마트컴퓨팅검색실험실 (TICS LAB) 을설립하여 AI 제3절국내현황국내의인공지능시장규모는 2013년기준으로약 3.6조원정도 (240조원규모로추정되는세계시장의 1.5%) 에불과하지만, 2017년에는약 6.4조원규모로매년 15% 이상성장할것으로예상되고있다 ( 미래창조과학부, 2014년 ). 출처 : 미래창조과학부, 2014 년. 재편집 [ 그림 6-1] 국내인공지능시장동향, - 64 -

그러나국내의인공지능기술수준은선진국대비약 2.4년 (2015년도 ICT기술수준조사보고서, IITP, `16.2월 ) 내지 4.4년 (AI 기술과산업의가능성, ETRI, `15.10월 ) 정도의기술격차가있는것으로파악되고있다. 2015년도를기준으로인공지능분야국가별누적특허출원건수또한미국뿐아니라중국이나일본에도뒤쳐져있다. < 표 6-4> 인공지능분야국가별특허출원건수 ( 출처 : 팻스냅, 2015) 국가미국중국일본한국 건수 9,867 6,900 4,208 2,638 국내에서도지난 2010년부터인공지능기술의글로벌경쟁력제고를위한노력이일부대기업과정부주도로진행되고있다.([ 그림 6-2] 참조 ) 그러나언어인지나시각인지등과같이단기간에가시화할수있고수요가많은분야위주로연구가수행되고있다 ( 국내인공지능실태조사, IITP, `15.10월 ). * 출처 : 한국의인공지능산업, SW 정책연구소, 2016 년 [ 그림 6-2] 국내인공지능행보대표사례 정부차원에서는 2013 년부터미래창조과학부를중심으로인공지능기술 R&D 가 본격적으로추진되고있다. 2015 년에는미래부의 SW R&D 전체예산 2,017 억중 - 65 -

380 억원 (18.8%) 이인공지능관련분야에투입된바있다. 그러나미래부의 R&D 역시언어지능 ( 엑소브레인프로젝트 ), 시각지능 ( 딥뷰프로젝트 ), 기계학습 (SW 연구센터 ) 등을집중지원하고있다 ( 표 5-5 참조 ). < 표 6-5> 미래부인공지능 R&D 추진현황 ( 인공지능실태조사, IITP, 2015) 한편, 2016년 3월에발표된미래부의 지능정보산업발전전략 에의해지능정보기술연구소설립등을포함하여지능정보산업분야에 1조원을투자하고, 민간에서도 2조 5천억원이상의추가투자가발생할수있도록유도할계획이다. < 표 6-6> 국내인공지능기업현황 구분 주요기업 자연어처리서비스솔트룩스 ( 아담 ), 다이퀘스트 ( 마리너 4), 코난테크놀로지등 헬스케어금융게임대기업기타 루닛, 뷰노, 네오팩트, 디오텍, 스탠다임, 제노플랜등위버플 ( 스넥 ), 솔리드웨어, 씽크풀등 NC소프트 ( 블레이드앤소울 ), 넷마블 ( 콜럼버스 ), 넥슨 ( 서든어택2) 등삼성전자, 네이버, 다음카카오등스캐터랩 ( 감성분석 ), 코노랩스 ( 개인비서 ), 유비파이 ( 드론 ) 등 - 66 -

< 표 6-6> 은국내인공지능기업현황을나타낸다. 2015년기준으로국내인공지능관련기업은약 60여개로추정되고있다 (IITP 보고서, 2015). 삼성전자, 네이버, 다음카카오등의 IT 업체에서는글로벌 AI 기업에투자하거나자체기술확보를위한노력을시작하였고, 다수의 IT 중소 벤처기업에서도기존의제품에인공지능기술을접목하여자연어처리서비스, 헬스케어, 금융, 게임등의분야에서산업혁신을위한노력을기울이고있다. 제4절딥러닝공개소프트웨어인공지능은이제대부분의산업부문에서핵심요소기술로인식되고있다. 이러한현상은 2010년경딥러닝 (Deep Learning) 으로대표되는기계학습기술의획기적인발전에기인하고있으며, 이는그동안꾸준히축적되어온빅데이터와 GPU 등과같은자료처리장치의발전이없었다면불가능한것이었다. 기계학습기술의발전은인간의대표적인지능인시각지능과언어지능, 그리고지식획득지능의획기적인개선을가능하게하였고, 이를통해영상인식, 음성인식, 대용량자료분석등이인간의수준에필적하거나인간의수준을능가하게되었다. 미국내글로벌 IT기업들이주도하고있는인공지능기술개발의주요특징중하나는개발된기술을경쟁적으로공개하고있다는점이다. 2015년 11월에구글은리눅스기반의딥러닝라이브러리 TensorFlow를공개하였고, 마이크로소프트도비슷한시점에 Windows 환경에서의분산기계학습툴킷 DMTK와다계층신경망학습툴킷 CNTK를공개하였다. 페이스북또한 2015년 1월에자사의딥러닝라이브러리인 Torch를공개한바있고, 야후는 2016년 2월에 C-언어기반의 CaffeOnSpark을공개하였다. 이들미국기업들외에도중국의바이두는 2016년 1월에음성인식기능위주의라이브러리인 Warp-CTC를공개하였고, 한국의삼성전자도 2015년 11월에자사의분산딥러능플랫폼 Veles를공개하였다. 이와같이최근에공개된오픈소스라이브러리외에도지난 10여년간 40여가지의기계학습오픈소스가공개된바있다. < 표 6-7> 은딥러닝공개소프트웨어의현황을나타낸다. - 67 -

< 표 6-7> 딥러닝공개소프트웨어현황 딥러닝공개SW 개발업체 공개시점 TensorFlow Google 2015년 11월 DMTK (CNTK) Microsoft 2015년 11월 (2016년 1월 ) Torch Facebook 2015년 1월 CaffeOnSpark Yahoo 2016년 2월 Warp-CTC Baidu 2016년 1월 Veles 삼성전자 2015년 11월 DIGITS NVIDIA 2015년 3월 DL4j Skymind 2014년 6월 인공지능기술을선도하고있는글로벌기업들이개발된기술을경쟁적으로공개하는이유는기술주도권을선점하여시장영향력을확대하고, 다양한응용을발굴하며, User 확장을통해우수한인재를확보하고, 외부연구자들의도움에의한기술개선효과를도모하는등의장점이있기때문이다. 아울러개발된기술의공유를통해누구나쉽고빠르게인공지능기술을접할수있도록함으로써개발과정의시행착오를최소화하고, 집단지성에의한협력개발로인공지능분야기술발전에공헌할뿐아니라, 인공지능기술의잘못된사용을사전에방지할수있는등공익적측면의장점도있다. 제 5 절시사점 2016년 3월에있었던알파고와이세돌의바둑대결이벤트는우리나라국민들을포함하여정부, 기업, 연구소, 대학등에인공지능및기계학습기술에대한폭발적인관심을이끌어냈다. 그러나국내의인공지능기술은글로벌수준에비해미약하고, 전문인력또한턱없이부족한것이현실이다. 그동안정부와민간의투자가거의없었기때문이다. 이제부터라도산 학 연 관이합심하여지능정보기술의기반을다지고, 이를 - 68 -

바탕으로우리나라미래신산업의혁신을추구해야한다. 다행히정부에서는지능정보기술연구소설립등을포함하여지능정보산업분야에향후 5년간 1조원을투자한다고하였고, 미래부, 교육부, 산자부등의정부부처에서는다수의인공지능관련 R&D 사업및인력양성사업을준비하고있다. 민간기업들에서도인공지능관련기술및인력확보를위한투자를서두르고있고, 기술력을바탕으로하는다수의스타트업도등장할것으로예상된다. 지금까지글로벌기업들을중심으로발전된인공지능및기계학습기술은대부분공개되어있다. 상대적으로뒤처진국내연구자들에게는유리한여건임이분명하다. 이들공개소프트웨어를기반으로독자기술을개발하고, 산업전반에지능정보기술을접목하는움직임이여기저기서많이시도되기를기대한다. - 69 -

참고문헌 1. Deep Learning, Y. LeCun, Y. Bengio, G. Hinton, Nature 14539, May 2015 2. Introduction to Pattern Recognition: A Matlab approach, S. Theodoridis et al., Academic Press, 2010 3. 패턴인식, 오일석, 교보문고, 2008 4. Neural Networks and Deep Learning, M. Nielsen, 2016, http://neuralnetworksanddeeplearning.com/ 5. 머신러닝에서딥러닝까지, 곽동민외, DeepCumen, 2015, http://deepcumen.com/ 6. HUB-AI 커뮤니티, 2014, http://hub-ai.com/annhmmcrt/17009 7. 모두를위한머신러닝 / 딥러닝강의, 김성훈, http://hunkim.github.io/ml/ 8. CS231n: CNN for Visual Recognition, Stanford Univ., A. Karpathy, et al., 2016, http://cs231n.github.io/convolutional-networks/ 9. https://en.wikipedia.org/wiki/convolutional_neural_network 10. UFLDL Tutorial, Andrew Ng, et al., http://deeplearning.stanford.edu/tutorial/ 11. Principles of Backpropagation, M. Bernacki, et al., 2004, http://galaxy.agh.edu.pl/~vlsi/ai/backp_t_en/backprop.html 12. Convolutional Neural Networks, A. Gibiansky, 2014, http://andrew.gibiansky.com/blog/machine-learning/convolutional-neural-networks / 13. VGG Convolutional Neural Networks Practical, A. Vedaldi and A. Zisserman, 2015, http://www.robots.ox.ac.uk/~vgg/practicals/cnn/ 14. Mastering the game of Go with deep neural networks and tree search, D. Silver, et al., Nature 16961, Jan. 2016 15. Analysis of CNN for speech recognition, J. Huang, et al., Microsoft, 2014 16. 기계학습의발전동향, 산업화사례및활성화정책방향 딥러닝기술을중심으로, SPRI 이슈리포트 [2015-017], 김인중 17. 다시주목받는인공지능, 그리고구글텐서플로우공개가시사하는점, SPRI 월간SW중심사회 2015년 12월호, 안성원 18. 기계학습의원리, 능력과한계, 기계학습과알파고세미나 (2016. 3. 4), 김진형 19. 모두를위한머신러닝 / 딥러닝강의, 김성훈 ( 홍콩과기대 ), http://hunkim.github.io/ml 20. 인공지능 (AI), 오픈소스경쟁시작됐다, 미디어잇, 유진상, http://www.it.co.kr/news/article.html?no=2816278 21. 페이스북인공지능 머신러닝 딥러닝 의현재와미래, IT뉴스, 차원용, http://www.itnews.or.kr/?p=16848 22. Deep Learning Software links, http://deeplearning.net/software_links/ 23. Wikipedia, http://www.wikipedia.org - 70 -

24. RNN 튜토리얼, Team AI Korea, http://aikorea.org/blog/rnn-tutorial-1/ (WILDML 웹사이트번역 ) 25. RNN Tutorial, WILDML(2015), http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introdu ction-to-rnns/ 26. BPTT algorithm(2013), http://ir.hit.edu.cn/~jguo/docs/notes/bptt.pdf 27. A tutorial on training recurrent neural networks(2013), http://minds.jacobs-university.de/sites/default/files/uploads/papers/esntutorialre v.pdf 28. The Unreasonable Effectiveness of Recurrent Neural Networks (2015), http://karpathy.github.io/2015/05/21/rnn-effectiveness/ 29. Understanding LSTM Networks (2015), http://colah.github.io/posts/2015-08-understanding-lstms 30. A Beginner s Guide to Recurrent Networks and LSTMs (2016), http://deeplearning4j.org/lstm.html 31. SPRI 보고서 ( 김인중 ), https://spri.kr/post/16757 32. RNN Tutorial( 김성훈 ), http://hunkim.github.io/ml 33. Recurrent Neural Networks(Stanford cs231, Lecture 10, 2016), http://cs231n.stanford.edu/slides/winter1516_lecture10.pdf 34. How to implement a recurrent neural network, http://peterroelants.github.io/posts/rnn_implementation_part01/ 35. Recurrent Neural Networks (Andrew Gibiansky, 2014), http://andrew.gibiansky.com/blog/machine-learning/recurrent-neural-networks/ 36. https://www.youtube.com/watch?v=yecgyzfyfbq 37. https://www.youtube.com/watch?v=4jghzgxbngy - 71 -

연구보고서 2016-007 딥러닝튜토리얼 - 신경망과딥러닝의이해 2017 년 05 월인쇄 2017 년 04 월발행 Homepage: www.spri.kr ISBN : 978-89-6108-368-3

주의 1. 이보고서는소프트웨어정책연구소에서수행한연구보고서입니다. 2. 이보고서의내용을발표할때에는반드시소프트웨어정책연구소에서수행한 연구결과임을밝혀야합니다. ISBN : 978-89-6108-368-3 [ 소프트웨어정책연구소 ] 에의해작성된 [SPRI 보고서 ] 는공공저작물자유이용허락표시기준제 4 유형 ( 출처표시 - 상업적이용금지 - 변경금지 ) 에따라이용할수있습니다. ( 출처를밝히면자유로운이용이가능하지만, 영리목적으로이용할수없고, 변경없이그대로이용해야합니다.)