lec12. NN의 꽃 RNN 이야기

시퀀스 데이터

  • 음성인식, 자연어 같은 걸 보면 하나의 데이터가 아니라 시퀀스로 되어 있다.
  • 하나의 단어만 이해한다고 될 게 아니라 이전에 했던 말들, 단어들을 다 이해해야 전체를 이해할 수 있다.
  • 이런게 시퀀스 데이터이다.
  • 기존 형태( X -> ㅁ -> Y) 보다 더 복잡한 데이터

어떤 시점에서 뭔가 계산할 때 이전에 계산한 데이터에 영향을 받는 것!

이전의 RNN에서 계산한 결과값 ht-1 과 x 를 가지고 새로운 값 ht를 계산한다.
위의 function인 ht는 모든 연산 단계에 있어서 동일하기 때문에 오른쪽 그림처럼 하나로 표시하기도 한다.전체 셀의 Weight는 똑같은 값으로 학습한다.

h를 넣으면 e, e를 넣으면 l 이런식으로 hello라는 글자를 추천해주는 것처럼 해주는 것이다.

Hot one encoding으로 구현할 수도 있다.

h, e, l, o 를 multi label인 것처럼 hot one encoding을 해서 처리할 수 있다.위의 이미지처럼 처음 값이 (0.3, -0.1, 0.9) 로 주어졌다고 가정하면(임의의 값이므로 달라질 수 있음), input layer를 계속 거치면서 hidden layer의 값은 이전 레이어의 결과에 영향을 받으면서 이어진다.(덧셈 연산)

벡타가 몇 개 될지는 w의 값에 따라 결정된다.(위의 경우 Vocabulary) 그리고 W_hy를 곱한 값으로 연산하면 된다.
위 이미지에서 처음엔 e 가 제대로 예측되었지만 두번째 값을 보면 실제 값이 아니라 그 아래 값으로 되었다. 이 오차는 cost 함수로 학습시키면 된다.
언어 처리, 스피치, 번역,
대화형 모델, 문답형 모델, 이미지나 비디오 캡션

왼쪽 첫번째의 기존 모델과 달리 RNN은 다양한 형태로 사용될 수 있다.

왼쪽 두번째의 경우 점점 학습하면서 이미지 캡션을 달 수 있다.(ex. 나는 모자를 쓰고있다.
세번째의 경우 Sentiment Classification : 문자열 입력받아서 하나의 출력. 이 문장은 슬픈데, 기쁜데 이런거
네번째는 Mathine Translation : 어떤 값을 입력 받고 문자열로 출력
다섯 번 째는 Video Classification on frame level : 비디오 입력받아서 설명하는 경우

RNN에서는 깊고 넓게 학습할 수 있다. 그래서 이런 경우 많이 복잡해질 수 있는데 이걸 극복하기 위해서 Long Short Term Memory(LSTM)을 많이
사용한다. 또는 GRU라는 걸 많이 쓴다.

results for ""

    No results matching ""