머신러닝 스터디/텍스트마이닝

RNN 작동원리

hozy연 2023. 4. 22. 15:55

참고: 메가코드M https://www.youtube.com/watch?v=Hn3GHHOXKCE 

RNN이란? 시계열 데이터를 처리하기에 좋은 뉴럴 네트워크 종류

 

First Order System

- 현재 시간의 상태가 이전 시간의 상태와 관련이 있다고 가정

- 아래 그림을 보면 외부 입력 없이 자기 혼자 돌아가는 autonomous system(함수)으로 볼 수 있다. 

 

 

- 또한 현재 시간의 상태가 이전시간의 상태 + 현재의 입력에 관계가 있는 경우도 존재한다 (외부 입력이 존재하는 경우) 

 

 

 

 

State-Space Model

1차원 시스템의 모형

 

Q. 그렇다면 시간 t에서 모든 상태(x_t)가 관측 가능한가? 

A. 불가능하다. 예측 불가능한 변수들이 존재할 수 있다. 따라서 x_t의 일부만 관측이 가능하다. 

 

- 따라서 관측 가능한 상태를 모아보자 == output을 정의해주는 것!

뉴럴 네트워크랑 작동방식이 비슷해보인다!

 

즉, f함수는 u-->x로 볼 수 있고 h함수는 x-->y로 볼 수 있을 것이다...

여기서 x_t는 마지막 hidden layer라고 볼 수 있는데 그 이유를 더 자세히 알아보자!

 

 

First-Order Markov Model

우리가 원래 구하고 싶었던 내용은 다음과 같다. 

 

따라서 대신해서 간접적으로 문제를 풀어보기로 했다. 

 

즉, 마지막 hidden layer가 모든 문맥을 압축하게 되며 x_t로 놓을 수 있게 된다. 

여기서! First-Order Markov Model은 바로 앞의 값만을 고려하겠다는 의미가 된다. 

(Ex. Second-Order Markov Model은 앞 2개를 고려하겠다는 의미가 됨)

수식으로 확인해보면..

RNN Basic structure

 

 

그렇다면 RNN은 어떻게 훈련될까?? 다들 아시다시피 역전파를 이용한다.

RNN Training = Back-propagation  through time (BPTT)

RNN: Problem Types

1) many-to-many : 번역(Seq2seq=many to one + one to many)

 

seq2seq

 

 

2) many-to-one : 예측

 

3) one-to-many: 생성

'머신러닝 스터디 > 텍스트마이닝' 카테고리의 다른 글

토픽모델링  (0) 2023.11.05
Word Embedding_Word2Vec  (0) 2023.04.28
자연어 전처리 과정  (0) 2023.04.28
RNN 단점 보완! GRU/LSTM  (0) 2023.04.22
자연어 처리 유사도 분석 정리  (0) 2023.04.22