참고: 메가코드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은 어떻게 훈련될까?? 다들 아시다시피 역전파를 이용한다.
RNN Training = Back-propagation through time (BPTT)
RNN: Problem Types
1) many-to-many : 번역(Seq2seq=many to one + one to many)
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 |