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
반응형