Capter 6. 딥하이퍼넷 < 기계학습개론 > 강의서울대학교컴퓨터공학부장병탁 교재 : 장교수의딥러닝, 홍릉과학출판사, 207. Slides Prepared by 장병탁, 김경민, 김준호 Biointelligence Laboratory Scool of Computer Science and Engineering Seoul National University Version 20700
목차 6. 하이퍼넷구조.. 3 6.2 하이퍼넷학습.. 2 6.3 하이퍼넷응용사례... 3 6.4 딥하이퍼넷 (DHN)...... 22 6.5 딥하이퍼넷응용사례... 28 요약.... 40 2
들어가는질문 하이퍼넷의구조적특성을설명하시오. 하이퍼넷의에너지함수와목적함수는무엇인가? 하이퍼넷을볼쯔만머신및베이지안넷과비교하시오. 유사점과차이점은무엇인가? 하이퍼넷의장점은무엇인가? 단점은무엇인가? 하이퍼넷학습은망의구조를최적화하는구조학습과정을포함한다. 구조학습을위해분자프로그래밍으로불리는진화연산기반학습알고리듬을사용한다. 방법과특징을설명하시오. 하이퍼넷을이용하여음악데이터를학습하여작곡을하는방법을설명하시오. 딥하이퍼넷은하이퍼넷을다층구조로만든심층신경망구조의생성모델이다. 딥하이퍼넷을학습하는그래프몬테칼로 (GMC) 방법을설명하시오. 딥하이퍼넷을이용하여만화영화비디오빅데이터를학습하여글로부터그림을생성하고반대로그림으로부터글을생성하는방법을설명하시오. 3
알고리즘 6. 하이퍼넷 : 개념층의구조 (/4) 학습 하이퍼넷 (ypernetworks, 줄여서 ypernet) 은데이터에존재하는고차관계를학습하는확률그래프모델 하이퍼넷은하이퍼그래프 (ypergrap) 구조를이용한트리플로정의 H=(X, E, W) X : 데이터 E : 하이퍼에지 W : 에지가중치 E { E, E,..., E,} 2 E W { w, w,..., w,} 2 E E { x, x,..., x } i i i i 2 k 하이퍼넷의예시 N ( d ) 모델로부터데이터 D x 가생성될확률즉우도는다음과같이표현. N P D W P W ( d ) ( ) ( x ) d d 3
알고리즘 6. 하이퍼넷 : 개념층의구조 (2/4) 학습 통계역학에서매개변수 W 라를가진모델 ( 시스템 ) 이상태 x 에있을확률 은깁스 (Gibbs) 분포로주어짐 E( x W) P( x W ) exp exp E( x W ) Z( W ) kbt Z( W ) E(x W): 에너지, k B : 볼쯔만상수, T: 절대온도 Z(W) 는분배함수라고하며상태합을나타내고정규화상수역할을한다. E( x' W) ZW ( ) exp ' kt x B 머신러닝관점에서모델 W로부터특정데이터 x (d) 가관측될확률은다음으로주어진다 ( d ) ( d) exp[ E( x ; W)] P( x W) x exp[ E( x; W)] 4
6. 하이퍼넷구조 (3/4) 하이퍼넷은에너지를다음과같이표현 x2 x x5 x3 x4 확률분포식에에너지함수를대입 x4 x5 x3 x2 x6 x x7 x8 x9 x0 정규화항 Z(W) 는다음과같음 5
6. 하이퍼넷구조 (4/4) 특성고차연관관계표현구조학습군집기반부호화조합성 (compositionality) 자가감독학습동적조정가능체계 설명 특징의조합을명시적으로표현 일반적인그래프구조만을허용하는베이지안망과비교할때빠른학습을기대 학습과정에서구조의진화과정을적용 의미있는모듈발견을기대 하이퍼엣지와그조합으로구성된모듈로데이터의정보가표현됨. 점진적학습가능 베이지안망의조건확률표기반정보표현과대비 학습과정에서선택, 생성된하이퍼엣지와모듈의조합으로새로운모듈생성 추상화및추상화수준을높인기호기반계산 레이블이없는데이터로도학습가능 학습과정에서레이블탐색 동적자기조직방식의학습과추론 상시추론가능 6
알고리즘 6.2 하이퍼넷 : 개념층의학습 (/5) 학습 학습은최대우도값을갖는가중치벡터를찾는문제와같음 w * argmax P ( x ) argmaxlog P ( x ) w w w 가중치연결 w ij 하나에대해서다시표현하면, 확률변화에대한가중치의기울기가 0이되는것을찾는문제로볼수있음 w log P w( x ) w ij 0 가중치변경식은다음과같이유도됨 ( 식의유도는다음페이지참조 ) log P ( ) w w x x x... x x x... x ij x w ij i i2 ik Data i i2 ik P( W ) <> Data : 관측데이터의분포 <> P : 모델로부터생성한데이터분포 이를대조분산학습 (contrastive divergence learning) 방법이라함 7
알고리즘 6.2 하이퍼넷 : 개념층의학습 (2/5) 학습 학습은우도함수또는다음의로그우도함수를최대화하는하이퍼넷모델을찾는과정 N N ln ( ) ln ( n P D W P x W ) N d K, k n n n wi i2... i x... ln k i x i x 2 i Z W k Ck ( ) 2 k d k i, i,..., i 로그우도함수를가중치 ( 모델파라미터 ) 에대해서미분하면 k w i, i,..., i 2 k N d ln P( x W) d N K k d d d 2...... ln ( ) k wi i i x k i x i x 2 i Z W k Ck ( ) wi, i2,..., i d k i, i2,..., i k k N K k d d d 2...... k wi i i x k i x i x 2 ik Ck ( ) w k i, i2,..., i k i, i2,..., i k k w 2 d i, i,..., i N d d d d xi x...... i x 2 i x x x k 2 i i i N xi x......, i x 2 i x k i x i x 2 i Data k Px W k P x W ln ZW k x i x i2...x ik x i x i2...x ik N å n P D W P x W n 학습은이두분포가수렴하는지점에서일어남 = ( d) ( d) d é ( ) x xi2...xik ù Data N ë i d= û P ( x W ) = å é x x i i2...x ik P(x W) ù. ë û x 8
알고리즘 6.2 하이퍼넷 : 개념층의학습 (3/5) 학습 학습알고리듬 (a.k.a. 분자프로그래밍 ). 데이터벡터 x 를입력층에할당한다. 2. 입력노드에연결된은닉층뉴런들을활성화한다. 활성화된은닉벡터를 라하자. P ( x, W ) 3. 활성화된은닉뉴런들로부터입력층의재생성이미지 x' 를생성한다. P (x, W ) 4. x 와 x' 의차이를줄여주는방향으로하이퍼넷의구조와매개변수 W 를조정한다. H H {} e i w w w i i i 9
알고리즘 6.2 하이퍼넷 : 개념층의학습 (4/5) 학습 하이퍼넷구조와파라미터조정. 새로운하이퍼에지의추가 : if xi xi 0, ten x 들로만구성된하이퍼에지 e i k 를새로만들어H 에추가한다. 2. 하이퍼에지가중치값의변경 : if xi xi 0, ten w i w i for e k containing x i if xi 0 xi, ten w w for ek containing xi 3. 하이퍼에지의제거 : w w 인하이퍼에지를제거한다. k min i i 0
6.2 하이퍼넷학습 (5/5) 하이퍼에지구성과정및이를통한하이퍼넷업데이트과정 감독학습을위한데이터의경우레이블 (y) 은하나의벡터에서나온모든하이퍼에지에공통으로추가됨 A Data Sample x 0 =0 Hyperedges x 0 =0 x =0 y= Hypernetwork x2 x x 0 x =0 x 3 x 4 x 2 = x =0 x 5 = x 6 = y= x 3 = x 4 x 3 x 4 =0 x 0 =0 x 3 = y= x 5 = x 5 x 2 x 6 = x 7 =0 x 2 =0 x 4 =0 x 7 =0 y= x 6 x y= x 0 =0 x 2 = x 7 =0 y= x 7 x 8 x 9 x 0 2
6.3 하이퍼넷알고리즘응용사례 : : 개념층의비디오학습및생성 (/9) 다중모달리티를갖는정보간의연관관계를학습하여교차로생성하는 다중모달 학습및교차모달생성문제에응용됨 드라마이미지 (image) 와대사 (text) 간연관성을학습하는 Videome 프로젝트 (Zang, 2008) (a) 이미지를질문으로한대사연상 (I2T) (b) 대사를질문으로한이미지연상작업을수행 (T2I) 2
6.3 하이퍼넷알고리즘응용사례 : 개념층의 : 분자머신러닝학습 (2/9) 암진단을위해두형태의유전자발현패턴을하이퍼넷을이용하여종합분석하고, 암의유전적특징발견에기여 ( 하이퍼넷의조합적모듈발굴능력을활용 ) 그림 / 텍스트 / 음악생성, 필기체숫자 (Kim & Zang, 2007), 질병예측 (Kim, Ha, & Zang, 204) 분자하이퍼넷모델은하이퍼넷의초병렬성을살려 DNA 컴퓨팅, 분자컴퓨팅환경에서머신러닝알고리듬으로구현될수있음 (Lim et al., 200)(Lee et al., 204). 3
6.3 하이퍼넷응용사례 : 음악학습및생성 (3/9) 하이퍼넷을사용하여음악을학습및생성 CORPUS of MIDI A library of yperedges Set te order range. Usually 2 to L max Generate every possible fragments of contiguous notes wit te order range 4
6.3 하이퍼넷응용사례 : 음악학습및생성 (4/9) Generate music based on given cue Compare generated notes to original notes & update weigts of yperedges Hyperedge.3.4.0.5.6. Select te igest weigt Replace yperedges.4.5.2.3.0 0.7 A ypernetwork model consists of yperedges of variable orders 6 5
6.3 하이퍼넷응용사례 : 음악학습및생성 (5/9) 6
6.3 하이퍼넷응용사례 : 음악학습및생성 (6/9) 멜로디를생성하도록학습 (pitc 와 duration 의순열 ) 모델은가중치를적용한부분적멜로디의집합으로표현됨 특정큐가주어졌을때다양한곡들의일부멜로디를회상할수있도록학습됨 HyperMuse? u u' u'' v Variable-order context is used to predict v v v P v P v f HN u ( ) u ( ) ( ; w ) : yperedges w : weigts of yperedges Te next symbol w after some context u can be determined based on weigts of te pool of yperedges tat matces te context 7
0.55 0 0 20 30 40 50 60 70 80 90 00 epoc Song 30 0.2 2 4 6 8 0 2 4 6 8 20 (a) Learning curve (~00 epoc) (b) Max order (3~20) vs. it ratio (c) Evolution of te structure of te model it ratio 6.3 하이퍼넷응용사례 : 음악학습및생성 (7/9) Setting former/latter alf as te training/test set Training set Test set Carts Song Song 2 Generation Results All My Loving (good prediction) Eleanor Rigby (good prediction) Dear Prudence (transit to anoter song) Yellow Submarine (transit to anoter song) Yesterday (fall in a large loop) Hey Jude (fall in a monotonic pattern) Original / Generated (a) (b) (c) it ratio it ratio #yperedges per order 0.95 0.9 0.9 0.85 0.8 0.8 0.7 0.75 0.6 0.7 0.5 0.65 0.4 0.6 0.3 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 2 4 6 8 0 2 4 6 8 20 maximum order 200 000 800 600 400 200 0 0 20 40 60 80 00 epoc maximum order 8 9 training test training test order = 2 order = 3 order = 4 order = 5 order = 6 order = 7 order = 8 order = 9 order = 0
it ratio 6.3 하이퍼넷응용사례 : 음악학습및생성 (8/9) Setting former/latter alf as te training/test set Carts Training set Test set Song Song 2 Song 30 (a) Learning curve (~00 epoc) (b) Max order (3~20) vs. it ratio (c) Evolution of te structure of te model (a) (b) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 training test 0.2 2 4 6 8 0 2 4 6 8 20 Max n vs. recal rate (ABBA30 set) maximum order recall rate 0.9 0.8 0.7 0.6 0.5 training test Generation Results Original / Generated Anoter Town, Anoter Train (good prediction) Nina, Pretty Ballerina (good prediction) Hasta Manana (transit to anoter song) My Mama Said (fall in a large loop) (c) Mamma Mia (fall in a monotonic pattern) 0.4 0.3 0.2 2 4 6 8 0 2 4 6 8 20 maximum n 9
6.3 하이퍼넷응용사례 : 음악학습및생성 (9/9) 유명한미국 folk song Swanee River 로부터 HyperMuse 가생성한 4 개의곡 (A) 는미국식곡을학습한 HyperMuse 로부터, (B) 는스코틀랜드식곡을학습한 HyperMuse 로부터, (C) 는김건모곡을학습한 HyperMuse 로부터, (D) 는신승훈곡을학습한 HyperMuse 로부터생성됨 [H.-W. Kim and B.-H. Kim] 20
알고리즘 6.4 딥하이퍼넷 : 개념층의(/6) 학습 딥하이퍼넷 (deep ypernetwork, DHN) 은하이퍼넷을빌딩블록으로하여다층으로쌓은딥러닝구조 생성적딥러닝모델 P( x) P( x ) P( ) 핵심아이디어 : 은닉층 을모두탐색하는대신, 또다른하나의은닉층을 상위층에쌓음. P( x) P( x ) P( ) 2 2 P( x ) P( ) P( ) 2 2 P( x ) P( ) P( ) 2 2 층위에 2 층을하나더쌓을때확장된식 w w w w w r r r r e e e e e e e e e x 2 3 2 x e e e e e e e e e w w w w w r r r r 2
타모델과의특성비교 딥하이퍼넷 6.4 딥하이퍼넷 vs. 기존(2/6) 모델 기준 Topic Models Deep Networks Deep HNs 모델구조고정고정유연 관측노드고정고정유연 의미적표현력중간낮음높음 은닉노드의해석용이성 점진적학습에대한적합성 낮음낮음높음 낮음중간높음 모델복잡도중간높음낮음 지식표현력낮음낮음높음 문장생성 x (RNN) 이미지생성 x 구조학습에대한오버헤드 낮음낮음 Hig 23 22
알고리즘 6.4 딥하이퍼넷 : 개념층의(3/6) 학습 구조를명시적으로 W 로표시한뒤, n 개의은닉층을사용하여계층적은닉표현 구조를확장 P( x W )... P( x ) P( ) P( ) P( ) n 2 n n n P( x W )... P( ) P( ) P( x) P( x) n n n 2 P( s ) 는에너지함수 E( s ) 와소프트맥스 (softmax) 를사용하여다음과같이정의 P( ) s exp( E( )) E( ) ( s( )) j j exp( E( )) j s j P( ), s( ) w w... w... s ( j) ( j) ( j) ( j) ( j) ( j) ( j) ( j) j i i ii 2 i i2 i... ik i ik i i, i2 i, i2,..., ik s exp( E( s, s )) exp( E( )) s 23
알고리즘 6.4 딥하이퍼넷 : 개념층의(4/6) 학습 딥하이퍼넷의구조와학습 딥하이퍼넷모델의우도식 위의우도를최대화하도록딥하이퍼넷의하이퍼에지구조와연결가중치의값들 W 을 포함하는다음식을조정하는것이목표 각층에있는하이퍼에지의종류와개수및가중치를진화적탐색을통해서변형하면 서더욱좋은해가나오면받아들이고그렇지않으면버리는방식을취함 ( 다음페이지 GMC 방법 ) P( x W )... P( x ) P( ) P( ) P( ) n 2 n n n s( ) w w... ( j) ( j) ( j) ( j) ( j) j i i ii 2 i i2 i i, i2 24
알고리즘 6.4 딥하이퍼넷 : 개념층의(5/6) 학습 그래프몬테칼로기반의딥하이퍼넷학습알고리듬. 새로운학습예 x 를가져온다. 입력층에관측변수값들을할당한다. 2. 이로부터상위층으로확률값을계산하고변수값을순차적으로할당하며 P( 2 ) 를계산하면이를반복하여최상위은닉변수값을 P( n n ) 로부터할당한다. P( n ) 3. 최상위의확률분포로부터은닉변수값을항당하고이를거꾸로하위층으로전파하면서확률값 P( n n) 을계산하고은닉변수값들을순차적으로할당하며최하위층의확률분포 P(x) 를추정하고이로부터변수값즉관측변수값 x' 을할당한다. 4. 관측변수벡터와생성한관측변수벡터를비교하여그차이를줄여주는방향으로중간은닉층들에있는하이퍼에지의구성과그가중치를변경한다. w 위의 4 의과정을 M 번반복한다. P( x) ln P x W N x x... x x x... x k 2 k Data 2 k P x W i, i,..., i 2 k N n ( n) W i i i i i i 25
알고리즘 6.4 딥하이퍼넷 : 개념층의(6/6) 학습 위의알고리듬스텝 2 와 3 에서상향, 하향추론에의해서구현될수있음을 보이기위해서다음식을변형 베이즈규칙을사용하여원래의딥하이퍼넷의우도식은다음과같이다시 P( x) 쓸수있음 n n n P( x)... P( x ) P( ) P( ) P( )... P( x ) P( ) P( ) P( ) n 2 n n n P( x) P( x) P( ) P( ) 2 n n n 2 n n n... P( n) P( ) P( 2) P( n)... P( x) P( x) P( ) P( ) 2 n n n 2 P( ) P( ) P( x ) P( x) P( x) P( ) P( 2 ) = P( 2 )P( ) P( 2 ) P( n n ) P( n ) P( n n) P( )... P( ) P( ) P( x) P( x) 베이즈규칙 n n n 26
6.5 딥하이퍼넷응용사례 : 비디오로부터개념망생성새로운개념의 (/2) 학습 ( 비디오 ) 27
6.5 딥하이퍼넷 응용 사례: 비디오로부터 개념망 생성 개념신경망의 (2/2) 진화 4000 0000 2500 400 450 500 550 600 650 700 750 800 850 900 950 000 050 00 50 200 250 300 400 500 600 700 800 900 2000 7000 300 350 Image 개수 : 3000 700 900 000 0 40 70 20 240 270 300 330 360 390 420 450 480 50 540 570 600 630 660 690 720 750 780 80 830 850 800 50 80 Word 개수 : 600 Episode 개수 : 20 35 40 45 50 55 60 65 70 75 80 00 50 83 5 0 5 25 30 207, 장교수의 딥러닝, SNU CSE Biointelligence Lab., ttp://bi.snu.ac.kr 28
6.5 딥하이퍼넷응용사례 : 비디오로부터개념망생성딥개념신경망 (3/2) ( 딥하이퍼넷 ) P r w c c P r w c c P c c 2 2 2 (,, ) (,,, ) (, ) c 2 c 2 c Growing and srinking e e2 e3 e4 e5 c x r r r r r w w w w w Growing start crong plane sky robot playful it (a) Example of deep concept ierarcy learned from Pororo videos (b) Hypergrap representation of (a) 29
6.5 딥하이퍼넷응용사례 : 문장으로부터이미지생성대사로부터(4/2) 장면의생성 질의문장으로부터생성된이미지결과들 질의문장에피소드 ~52 ( 개시즌 ) 에피소드 ~04 (2 개시즌 ) 에피소드 ~83 ( 전시즌 ) Tongtong, please cange tis book using magic. Kurikuri, Kurikuritongtong! I like cookies. It looks delicious Tank you, loopy 30
6.5 딥하이퍼넷응용사례 : 문장으로부터이미지생성대사로부터(5/2) 장면의생성 질의문장 : Hi Pororo Let s Let s Pororo Hi Play 3
6.5 딥하이퍼넷응용사례 : 문장으로부터이미지생성대사로부터(6/2) 장면의생성 질의문장 : Hi PororoLet s Play! Let s Pororo H i Play 32
장면으로부터대사의생성 6.5 딥하이퍼넷응용사례 : 이미지로부터문장생성 (7/2) 질의 = {i, try} 정답자막 : clock, I ave made anoter potion come and try it 생성된자막 as i don't ave te rigt magic potion come and try it was nice a, finised i finally made anoter potion come and try it we'll all alone? 질의 = {tanks, drink} 정답자막 : O, tanks Make im drink tis 생성된자막 o, tanks make im drink tis bread o, tanks make im drink tis forest 질의 = {e, take} 정답자막 : Tong. Tong Let. Me. Take. It. To. Clock 생성된자막 take your magic to know wat is e doing? take your magic to avoid te ouse to know wat is e keeps going in circles like tis will turn you back to normal 질의 = {sip, pulled} 정답자막 : Te sip is being pulled 생성된자막 wow looks as if tat's te sip is being pulled te sip is being pulled 33
장면으로부터대사의생성 6.5 딥하이퍼넷응용사례 : 이미지로부터문장생성 (8/2) 질의이미지 magic food i am sorry making iam making magic sorry iam making food 34
6.5 딥하이퍼넷응용사례 : 시각적스토리텔링 (9/2) 시각적스토리텔링 35
6.5 딥하이퍼넷응용사례 : 시각적스토리텔링 (0/2) 시각적스토리텔링 에피소드 4 25 3 : 통통뽀뽀와에디가뽀로로와상어등장삐삐로디를크롱의등장만듦갈등 뽀뽀뽀로로에디통통개념상어 & 삐삐로디 & 크롱개념발달개념발달발달 개념신경망 에피소드에따른주요등장인물분석 36
6.5 딥하이퍼넷응용사례 : 구축된개념망분석결과구축된개념망 (/2) 분석결과 뚜렷한특징을갖는개념노드들 (PCA 사용 ) Tongtong Eddy Pororo 300 200 00 Pororo Eddy pororo eddy 0 (a) Microcodes -00-400 -200 0 200 (b) Centroids of c -nodes 등장인물들의성격이개념노드에반영됨 (Petty and Loopy) 80 60 40 (a) Episode Loopy Crong Petty Loopy Crong Petty 500 400 300 20 200 0-20 00-40 0-60 -50 0 50 00-00 Petty Loopy Crong -00 0 00 200 (b) Episodes ~52 Loopy Crong Petty Loopy: - A female beaver - Girlis and sy - Likes cooking Petty: - A female penguin - Boyis and active - Likes sports 37
6.5 딥하이퍼넷응용사례 : Pororobot Demo Video Pororobot (2/2) Demo Video ttps://youtu.be/otkeklpjs3s 38
하이퍼넷 요약 하이퍼넷은데이터에존재하는고차관계를학습하는확률그래프모델이며, 하이퍼그래프구조를이용한트리플로정의 H=(X, E, W). X 는노드, E 는하이퍼에지, W 는가중치를나타냄 하이퍼넷의학습 학습은최대우도값을갖는가중치벡터를찾는문제로써분자프로그래밍 ( 진화연산알고리듬 ) 기반대조분산학습등을활용하여계산할수있음 딥하이퍼넷 딥하이퍼넷 (deep ypernetwork, DHN) 은하이퍼넷을빌딩블록으로하여다층으로쌓은딥러닝구조로써생성적딥러닝모델임 딥하이퍼넷의학습 그래프몬테칼로기반의딥하이퍼넷학습알고리듬 하이퍼넷과딥하이퍼넷의응용 다중모달리티정보의학습및교차모달리티생성 ( 예 : 비디오개념학습, 상상력기계 ) 조합적구조학습능력을이용한서열생성 ( 예 : 음악작곡, 필기체숫자인식및생성 ) DNA 컴퓨팅, 분자컴퓨팅을이용한초병렬적분자머신러닝모델구현 40