30
Chapter 12. 잔차학습 모델 <기계학습 개론> 강의 서울대학교 컴퓨터공학부 장병탁 교재: 장교수의 딥러닝, 홍릉과학출판사, 2017. Slides Prepared by 장병탁, 김진화, 김기범 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Version 20171128

Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델 강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

Chapter 12. 잔차학습모델

<기계학습개론> 강의

서울대학교컴퓨터공학부

장병탁

교재: 장교수의딥러닝, 홍릉과학출판사, 2017.

Slides Prepared by

장병탁, 김진화, 김기범

Biointelligence Laboratory

School of Computer Science and Engineering

Seoul National University

Version 20171128

Page 2: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

목차

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 2

12.1 딥잔차넷(DRN) ……………………………………. 4

12.2 암묵적앙상블잔차넷 .……………………………. 11

12.3 멀티모달잔차넷(MRN) …..……………………… 17

12.4 응용사례: 시각대화챗봇 ………………………… 25

참고: RoboCup@Home ………………….……………. 29

요약 ……………………………….....………………….. 30

Page 3: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

들어가는질문

잔차학습모델을이용하여초고층의심층신경망을구축하는방법을설명하시오.

딥잔차넷이초고층임에도불구하고과다학습현상이나타나지않는이유는무엇

인가? 딥잔차넷의작동원리는무엇인가?

딥잔차넷은암묵적인앙상블모델로볼수있다. 이를뒷바침하는실험결과들을

예시하고설명하시오.

잔차넷모델을다중모달정보를학스하는방법을설명하시오. 이때가장고려하

여야하는점은무엇인가?

다중모달잔차넷에서정보선택을시각화하는 Attention 방법을설명하시오.

다중모델잔차넷을이용하여시각대화챗봇을만드는방법을설명하시오. 시각

대화챗봇은어떤응용에활용될수있는가?

RoboCup@Home 대회에출전하는홈서비스인공지능로봇을개발하고자한다.

딥러닝/머신러닝기술을적용하는활용사례를세가지이상제안하시오.

3© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

Page 4: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

기존의분류문제해결방법

이미지정보에대한경계선탐지, 히스토그램, K평균클러스터링혹은희소코딩등의전문지

식활용

이러한전문지식을활용하여요소들을추가할수록분류기전단계의깊이가깊어진다.

문제점

전문가지식이필요하다.

각문제마다수작업으로만들어야하는요소가있다.

우수한성능을위한깊은층의네트워크구성

기존의깊은네트워크학습방법

많은데이터사용

ReLU함수도입

학습파라미터들의초기화전략

배치정규화 (Batch normalization)

위방법들로 10층이상의네트워크를학습하는데크게기여하였다.

12.1 딥잔차넷(DRN) (1/7)

4© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

Page 5: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

깊이가깊어지면서문제발생

5

12.1 딥잔차넷(DRN) (2/7)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

20층과 56층의넷으로 CIFAR-10 데이터셋에대한학습에러(왼쪽)와 테스트에러(오른쪽) 곡

선. 깊이가어느정도깊어지게되면학습에러가커지고, 따라서, 테스트에러도증가한다.

Page 6: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

딥잔차넷으로아주깊은네트워크를구축함으로써높은성능을기록

마이크로소프트리서치의 Kaiming He 등이제안함

2015년이미지넷분류, 탐지, 탐색및 COCO 대화의탐지와분리분야우승

6

12.1 딥잔차넷(DRN) (3/7)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

Page 7: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

아주깊은네트워크를구축하는방법

기존의얕은층의네트워크의층들을복사한후사이에새로운층을추가

단, 새롭게추가한층은입력값과같은값을내보낼수있도록파라미터초기화

7

12.1 딥잔차넷(DRN) (4/7)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

딥잔차넷의잔차학습단위에대한도식

Page 8: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

딥잔차넷모델

8

12.1 딥잔차넷(DRN) (5/7)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

( ) : ( )F x H x x

( ) : ( )H x F x x

학습하고자하는매핑이 H(x) 라고한다면,

임의로비선형함수로표현할수있는네트워크수식은다음과같다.

그수식을아래와같은형태로네트워크를만들 H(x)를학습하도록한다.

따라서새롭게추가된네트워크 F(x)가기존의학습된네트워크의성능을최대한

유지시키면서잔차값을학습함으로써더좋은성능을낼수있도록만들어준다.

Page 9: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

지름연결선을이용한깊은넷으로층수를늘릴때의문제를해결

지름연결선을이용한깊은넷은얕은넷보다상대적으로높은성능을가진다.

9

12.1 딥잔차넷(DRN) (6/7)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

얇은선은학습에러곡선, 굵은선은검증에러곡선이다.

왼쪽그림에서깊이가깊은 34층넷은에러가 18층넷보다큰반면,

오른쪽그림의잔차넷에서는 18층넷보다 34층넷에서보다나은성능을보였다.

Page 10: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

딥잔차넷구조

10

12.1 딥잔차넷(DRN) (7/7)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

아래쪽넷은 19층의 VGG-19 모델이며, 가운데의넷은 34층의깊은넷을도식화한다. 사이사이

에새로운층이추가되었다. 위쪽넷은가운데넷에서지름연결선들이추가된것을보여준다.

Page 11: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

딥잔차넷의작동원리

좋은성능의원인은깊이가아니라는해석제기됨

지름연결선들이정보가전달되는길을기하급수적으로늘렸고

여러네트워크들을덧셈형태로암묵적인앙상블모델로해석할수있다.

딥잔차넷의해석

n개의잔차층들을입력과출력을연결하는 O(2n) 개의암묵적인연결선들로해석할수있다.

11

12.2 암묵적앙상블잔차넷 (1/6)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

(a) 전형적인 3층의잔차넷을나타낸다.

(b) 지름연결선이유발하는정보흐름의경우들을도식화하였다.

Page 12: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

비선형함수를합성함수의합으로표현될수있다는해석을위한실험

실험 1: 일부층을제거하여성능변화를관찰

12

12.2 암묵적앙상블잔차넷 (2/6)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

x축에표시된인덱스의넷층을삭제하였을때성능의변화를관찰하였다.

VGG 넷에서는어느위치에서든지심각한성능손상을가져왔지만, 잔차넷의경우거의동일한성능을유지하였다. 단, 특징벡터의차원이변경되는구간에서소폭의성능감소가관찰된다.

파란선은 110층의잔차넷,

주황색선은 VGG 넷을나타낸다.

Page 13: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

실험 2: 잔차넷의층변화에대한앙상블모델과의유사한특성비교

13

12.2 암묵적앙상블잔차넷 (3/6)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

(a) 잔차넷에서제거된층수에따라에러가점차적으로변화하는것을관찰할수있다.

(b) 잔차넷의층들을무작위로뒤섞을때의에러변화를관찰하였다. 재정렬된정도(Kendall Tau correlation)가증가함에따라에러가점차적으로변한다. 이러한결과는앙상블모델에서쉽게관측될수있는모습이다.

Page 14: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

실험 3: 얇은층의넷들의앙상블모델로여겨질수있는가에대한실험

14

12.2 암묵적앙상블잔차넷 (4/6)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

(a) 잔차넷에서표현가능한경로길이의분포는이항분포로표현될수있다.

(b) 첫번째층에서다른길이의경로를지나면서에러경사가나타나는지살펴보았다.

경로에놓여있는모듈수에따라대략적으로지수적으로감소함을관찰하였다. (y축은로그척도)

Page 15: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

실험 3 (계속)

15

12.2 암묵적앙상블잔차넷 (5/6)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

(c) 앞의두함수를곱하여특정길이의경로에서얼만큼의에러경사가기여하는지관찰하였다. 20층이상의경로는에러경사가충분히기여하지못하였다.

따라서, 잔차넷은상대적으로얇은층의여러넷으로이루어진암묵적인앙상블모델로볼수있다.

Page 16: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

암묵적앙상블후속연구

Dropout 정규화방법과보다큰차원의은닉층으로구성된잔차넷

잔차연결선을재귀적으로연결하여성능향상

기존의잔차넷을다중모달로확장하여시각적질의응답을위한멀티모달잔차학습방법

16

12.2 암묵적앙상블잔차넷 (6/6)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

도식화된잔차넷모듈

Page 17: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

둘이상의모달리티입력이주어지는다중모달학습으로확장한연구

딥잔차넷을다중모달로확장할때고려사항

잔차학습을위한비선형다중모달결합함수의정의

지름연결선의선택

17

12.3 멀티모달잔차넷(MRN) (1/8)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

다중모달학습의예시, 시각질의응답

Page 18: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

비선형멀티모달결합함수정의

18

12.3 멀티모달잔차넷(MRN) (2/8)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

각입력을선형사영후하이퍼볼릭탄젠트활성함수를적용한다.

원소곱을이용하여두모달리티의정보가결합된표현을얻는다.

다중모달잔차넷에서사용된비선형다중모달결합함수.

기호⊙는같은크기의두벡터간의원소곱을나타낸다.

( , ) tanh( ) tanh( )x yf x y W x W y

Page 19: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

지름연결선의선택

여러선행연구들에서지름연결선으로해석할수있는구조가질의벡터에대

하여연결된것을관찰할수있다.

이러한연구결과와일관되게다중모달잔차넷에서도적용되었고다음의식으

로표현될수있다.

19

12.3 멀티모달잔차넷(MRN) (3/8)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

( , ) tanh( ) tanh( )Q V S

S

S

f Q V W Q W V Q

W Q

W

W

지름 연결선

출력 값의 차원 크기를 일치시키기 위한 선형 사영

Page 20: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

멀티모달잔차넷모델

지름연결선으로인하여깊은층에서반복적으로나타나는비선형다중모달

결합함수들은덧셈형태가된다.

지름연결선으로질의벡터는선형사영후다시더해진다.

20

12.3 멀티모달잔차넷(MRN) (4/8)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

( )

( )

1

1

( , ) ( , )l

Ll

L q lFl

H q v W q W F H v

L개의 층을 가진 다중모달 잔차넷의 수식표현

0 H 질의벡터로정의

( )( )

v .

ll F번째층의비선형다중모달결합함수 는이전층의출력과

시각정보 를입력으로갖는다

Page 21: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

학습단위모델

Q 는자연어텍스트문장을벡터로

임베딩

RNN 모델의마지막은닉벡터를

이용해서값을얻을수있다.

GRU를사용

V는시각정보를벡터로임베딩

CNN 모델의마지막컨볼루션층

의출력벡터를이용해서얻을수

있다.

ResNet-152 모델사용

21

12.3 멀티모달잔차넷(MRN) (5/8)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

다중모달 잔차넷에서 사용된 학습 단위모델.

기호 ⊕ 는 같은 크기의 두 벡터 간 의 덧 셈을 나타낸다.

Page 22: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

전체구조

학습단위모델을 3개층으로쌓음

각단위모델의결과물은다음단위

모델의입력값을위한새로운질의

벡터로입력

시각정보는각층에동일한값을다

시입력

특징

CNN 모델의파라미터재조정

추가적인선형사영과비선형활

성함수를적용함으로써시각정

보에대한학습효율을향상시킴

22

12.3 멀티모달잔차넷(MRN) (6/8)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

멀티모달잔차넷의전체구조

Page 23: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

멀티모달잔차넷의정보선택시각화

경사도를이용한오차역전파방법을응용

시각정보 V는질의정보 Q와의원소곱에의해중간정보 F를출력한다. 시각

정보와중간정보의차값은질의정보에의해변화된양을나타내며아래의식

을이용해변화된양을입력이미지 J로역전파할수있다.

23

12.3 멀티모달잔차넷(MRN) (7/8)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

효과적인 시각화를 위해 F를 고정된 상수 취급하여 계산하고, 도함수의 연쇄 법칙을

이용해서 역전파된 경사도의 절대값을 시각화한다.

21

2attV FL ( )attL V

V FJ J

Page 24: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

멀티모달잔차넷의정보선택시각화

24

12.3 멀티모달잔차넷(MRN) (8/8)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

좌로부터순서대로입력이미지, 첫번째원소곱, 두번째원소곱, 세번째원소곱에의한시각화

이다. ‘What sport is this?’ 라는질문에 ‘surfing’이라는답을얻었다.

각원소곱에의한시각화과정을보면정보선택을위해 Attention 되는부분을볼수있다.

원소곱이나아갈수록질의에더욱적절한 attention이이루어지고 있음을확인할수있다.

입력영상원본 첫번째원소곱 두번째원소곱 세번째원소곱

Page 25: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

캠봇(Cambot)

다중모달잔차넷을응용한시각대화챗봇

카메라를이용한상황인지와음성으로

질문한내용에답할수있다.

로봇, 웹서버, 추론서버로구성된다.

캠봇의구성요소 - 로봇

필수요소: 마이크와카메라, 스피커장치가구성된로봇

위의필수요소가탑재된 PC 혹은노트북으로로봇대체가능

사용자가질문을하면구글음성인식서비스를통해질의를텍스트로변환하고질

문하는순간카메라로사진을찍어질의텍스트와함께웹서버로전송

웹서버에서반환받은값을 Text To Speech 기술로대화하듯응답한다.

25

12.4 응용사례: 시각대화챗봇 (1/4)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

Page 26: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

캠봇의구성요소 - 웹서버

로봇과추론서버를이어주는역할을하며, 다양한플랫폼에서도활용가능

로봇에서한국어질의와사진데이터를받으면영어로번역하여사진과함께추론

서버로전송

추론서버에서받은영어답변을한국어로번역후로봇으로전송

캠봇의구성요소 - 추론서버

다중모달잔차넷으로 VQA 데이터셋및 MS-COCO 데이터셋으로학습

입력된영어질의와사진을통해응답을추론하여웹서버로전송

26

12.4 응용사례: 시각대화챗봇 (2/4)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

캠봇구성도

Page 27: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

캠봇의개념도

27

12.4 응용사례: 시각대화챗봇 (3/4)

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

음성으로주어진질의는구글의 Speech-To-Text API를이용하여텍스트로변환되

고로봇에장착된카메라를이용하여주어진상황을이미지로입력받는다.

활용분야

시각이불편한사람들을돕거나근처장애물식별가능

질의와함께사진의정보태깅가능

대용량의감시카메라영상검색시질의어를사용하여효율적으로탐색가능

Page 28: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

28

12.4 응용사례: 시각대화챗봇 (4/4)

Page 29: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

SNU AUPAIR Robot (Lee et al., 2017) won

RoboCup@Home Social Standard Platform

league in RoboCup2017.

The VQA module (Kim et al., ICLR 2017)

was used in Open Challenge of Stage 2

and Final Demonstration (the score of

final demo is not shown below).

https://www.robocup2017.org/eng/results.html

29© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr

RoboCup@Home

Page 30: Chapter 12. 잔차학습모델 · 2017-11-27 · Chapter 12. 잔차학습모델  강의 서울대학교컴퓨터공학부 장병탁 교재: 장교수의딥러닝,

딥잔차넷(DRN)

깊은네트워크를쌓는데있어서문제발생

지름연결선을이용하여기하급수적으로깊은네트워크를구축

2015년이미지넷분류대회등우승

암묵적앙상블잔차넷

딥잔차넷의작동원리를암묵적앙상블모델로해석

암묵적앙상블모델로여겨질수있는가에대한실험

다중모달잔차넷(MRN)

두종류이상의입력이주어지는다중모달학습으로확장

비선형다중모달결합함수정의및지름연결선의선택

자연어정보및시각정보를활용한시각적질의응답

응용사례

시각대화챗봇, 캠봇

로봇, 웹서버, 추론서버로구성

30

요약

© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr