Sequential 데이터
- input이 가변길이로 주어진다면?
- Sequential 데이터 : 가변길이
ex) 순차적 데이터, 음성, 주식, test, 화학식
- 데이터 특징이 순서에 크게 의존
- 입력과 출력 모두 순차적 데이터의 형태로 나타날 수 있음
- 각 sequential task에 적합한 모델링 필요
1) one to many (이미지 캡셔닝)
2) many to one (뉴스 분류 / 감성분류)
3) many to many (번역)
Recurrent Neural Networks
- sequential 데이터를 다루기 위한 뉴럴 네트워크
- feed forward neural net work (사이클 x)
- Folded form vs unfolded form
- parameter sharing
- 히든레이어가 이전 히든레이어에 영향을 받기도!
- Loss function : 모든 time step에서 loss들의 합
Output Recurrence
- 다음 time step의 hidden state 가 이전 state의 output과 연관
- teacher forcing : training은 답을 알고 있으니 전 타임 output을 입력값으로 해 hidden layer에!
- hidden layer의 전타임 값이랑 동시에 고려하기도 함
Rnn with Fixed Length Input
- one to many model (모든 timestamp 마다 같은 input!)
Bidirectional Rnn
- 순방향, 역방향 정보도모두 고려
ex) 문장 중간 단어가 뻥 뚤리면 양방향 습득 해야함
Encoder-Decoder Architecture
- many to mant
- sequence to sequence
- context
Deep RNN
1) input to hidden
2) hiden to hidden
3) hidden to out put
Vashing Gradients
- backpropagation -> gradient 값 중ㅇ첩ㅂ되어 반복, 될때
- 절댓값이 1보다 작은 겨우 수렴 ,, 큰 경우 발산
- parameter sharing -> 같은 값 반복해서 곱해짐
- 멀리 있는 것드를 찾을때 (long-term dependency)
해결법 1 : LSTM
- 3개의 gate (0~1)
- 일반 rnn대비 4개의 파라미터 학습 필요
해결법 2: GRU
- 2개의 gate
- 일반 rnn대비 3개의 파라미터 학습
응용 : RNN을 이용한 언어모델
- 다음 단어 예측, 문장생성, 비지도학습
- SQuAD
- 번역 !
: attention mechanism
- CNN+RNN