[모두의 딥러닝] NN의 꽃 RNN 이야기
📗강의노트/모두의 딥러닝

[모두의 딥러닝] NN의 꽃 RNN 이야기

728x90
반응형

Sung Kim 님의 "모두의 딥러닝" 강의노트입니다

좋은 강의 감사드립니다!

https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5




단편적인 데이터보다는 연속적인 데이터가 많다. 이전에 것들을 알아야 기존의 것을 이해할 수 있는 것을 sequence data 라고 말한다. 

이전의 결과가 영향을 미칠 수 있어야함. 그래야 series가 됨 




현재 state가 다음 state에도 영향을 미친다. ( 계산할 때 이전의 연산들이 영향을 미친다. )

상태를 계산하고, 그것이 자기입력이 되는 것이다.


 
한 step이전의 state가 들어감. 

  • 매 스탭마다 모든 RNN에 대해서 function과  parameters( W값들) 는 같다 



기초적인 vanila 방법.

ht-1,xt에 대해서 각각의 W를 설정해준다. 

Tanh 가 sigmoid와 비슷한 것  

ht는 다음에 넘겨주기 위한 것.

[ language model ]

각각의 x에 h,e,l,o를 입력값으로 줌.
그러면 h 다음에 올 단어(ht)에 e가 뜨게 된다. (그 다음 단어로 올 것을 예상

vector를 one-hot encoding으로 표현

보통 초기값(ht-1)을 0으로 두고 함

기존 결과값에 W를 곱한 것 & 새로 얻은 식 / 이 두 가지로 결과를 도출한다. 이러한 방식으로 계속 진행한다. 

Label이 4개중에 하나로 나오게 됨. 
여기에 softmax를 취하게 되면 가장 큰 label을 꺼낼 수 있게 됨.

cost함수는 softmax에 해당되는 cost함수로 계산한다. 4개를 더해서 평균내면 학습을 시킬 수 있다. 

적용되는 분야가 매우 많다.


 

One-to-many같은 경우의 사례가 image captioning이다.

Image -> sequence of words로 본다.

Many-to-one은 Sentimental Classification에 사용된다. 문장을 보고 기쁜지 슬픈지 파악한다. 

Many-to-many(좌)는 Machine Translation에 적용된다.

Many-to-many(우)는 Video Classification on frame level에 해당한다. 각각의 프레임을 입력받고 출력하는 것을 설명으로 받을 수 있다.


RNN도 Multi-layer로 사용가능하다. 


 RNN을 발전시키고 있다. 이제는 발전된 RNN인 LSTM, GRU를 사용하게 된다. 

 
 




728x90
반응형