티스토리 뷰
1. 순환 신경망(Recurrent Neural Network, RNN)
- CNN?
- 컴퓨터 비전 문제에 주로 사용되는 인공신경망 구조
- Try to find local features from a sequence
- RNN?
- 시계열 데이터 등의 맥락을 고려해 학습할 수 있으므로 음성 같은 파형 데이터나 자연어 등의 학습에 이용
- 순환신경망의 학습은 확률적 경사 하강법을 이용하여 실시간 순환 학습(Real-Time Recurrent Learning, RTRL)이나 시간 기반 오차 역전파(BackPropagation Through Time,BPIT)로 가중치를 업데이트
- RNN은 시계열 데이터를 다루기에 최적화된 인공 신경망
- 시계열 데이터란 시간 축을 중심으로 현재 시간의 데이터가 앞, 뒤 시간의 데이터와 연관 관계를 가지고 있는 데이터를 의미
- RNN은 이전 상태의 대한 정보를 일종의 메모리 형태로 저장할 수 있음. 정보가 다음에 얻은 데이터와 연관 관계를 가지는 시계열 데이터를 다룰 때 매우 강력한 효과를 발휘
1.1 Recurrent Neural Networks: Process Sequences
- RNN은 입력과 출력의 길이를 다르게 설계할 수 있으므로 다양한용도로 사용할 수 있음
1.1.1 one to one
1.1.2 one to many
- Image captioning(하나의 이미지 입력에 대해서 사진의 제목을 출력하는 이미지)
- Image -> sequence of words
1.1.3 many to one
- 입력 문서가 긍정적인지 부정적인지 판별하는 sentiment classification
- 메일이 정상메일인지 스팸메일인지 판별하는 스팸 메일 분류(spam detection)
1.1.4 many to many
- Machine Translation
- sentence -> sentence , 입력 문장으로부터 대답 문장을 출력하는 챗봇과 입력 문장으로부터 번역된 문장을 출력하는 번역기
1.1.5 many to many
- Stock Price Prediction
- Prediction of next word
1.2 Recurrent Neural Networks
- $x^2$ : Input at time t
- $h_t$ : hidden state at time t
- $f$ : is an activation function
- $U,V,W$ : network parameters
- $g$ : activation function for the output layer
2. LSTM(Long Short-Term Memory)
- Vanishing gradient problem(기울기 소실 문제)
- Vanilla RNN? 순환 신경망은 거슬러 올라가는 단계 수가 많아지면 기울기 소실 문제 때문에 제대로 학습할 수 없다.
- 이로인해 RNN은 장기 기억력을 가지지 못함
- 이 문제를 개선한 것이 Long Short-Term Memory이다.
- 망각게이트(forget gate) $f$- Whether to erase cell
- Input gate와 똑같은 형태로 단지 곱해지는 가중치가 포겟 게이트로 이어지는 가중치로 바뀜
- 이전 시간에 있던 인풋 데이터의 영향력을 반영할지 혹은 반영하지 않을지 결정함
- 입력게이트(Input gate) $i$- whether to write to cell
- 현재 시간 t의 입력 데이터에 Input gate로 이어지는 가중치 w를 곱해서 더한 값과 이전 시간 t-1의 메모리 블럭 출력값과 셀 출력 값에 인풋 게이트로 이어지는 가중치를 곱한 값을 더해서 인풋 게이트의 출력값을 계산하게 됨
- 현재 시간 t에서 받은 Input data의 영향력을 반영하지 않을지 결정
- Gate gate $g$ - How much to write to cell
- Output gate $o$ - How much to reveal cell
- $c_t$, $h_t$ 출력값
3. GRU
- LSTM의 간략화된 버전으로 LSTM 게이트 3개를 2개로 축소
- Reset Gate $r$과 Update Gate $z$를 가지고 있음
- 출력값을 계산할 때 추가적인 비선형 함수를 적용하지 않는다.
<출처>
1. 스탠포드 강의자료
'인공지능 > 딥러닝' 카테고리의 다른 글
딥러닝(Deep Learning) - 활성화 함수 (0) | 2019.10.27 |
---|---|
딥러닝(Deep Learning) - seq2seq, Attention Mechanism (0) | 2019.10.26 |
딥러닝(Deep Learning) - GAN (0) | 2019.10.18 |
딥러닝(Deep Learning) - Variational Autoencoder (0) | 2019.10.18 |
딥러닝(Deep Learning) - CNN 기본개념 (0) | 2019.10.18 |
댓글