1. RNN(Recurrent Neural Network, RNN) 이론
입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델
번역기의 경우를 예로 들면 번역을 원하는 문장이 입력 값이고 Sequence로 이루어져 있다.
출력하는 값 또한 번역된 값으로 Sequence로 이루어져 있다.
RNN은 이러한 Sequence로 된 값들을 처리하기에 적합하며, 입력층에서 은닉층을 지나 출력층으로 향하는 FeedFoward Neural Network와는 다르게 은닉층을 지난 출력값을 다시 출력층 방향과 다음 은닉층 노드로 보내는 특성을 갖고 있다.
위 RNN 모델은 위와 같은 형태로 나타낼 수 있는데, 초록색 노드를 Cell이라고한다.
Cell은 이전 값들을 기억하는 일종의 메모리 역할을 하기 때문에 Memory Cell 혹은 RNN Cell이라한다.
Meomory Cell은 t시점에서 t-1 시점의 은닉층을 지난 값을 입력으로 사용하는 재귀적인 특징을 보이고 있다. 이때 받는 값을 은닉 상태(Hidden State)라고 한다.
즉, t시점의 Memory Cell은 t-1시점의 Hidden State를 받아서 t시점의 Hidden State를 계산하여, t+1 시점으로 출력하는 것이다.
2. RNN(Recurrent Neural Network, RNN) 수식
- 은닉층: \(h_t = tanh(W_xx_t+W_hh_{t-1}+b)\) \(tanh\)는 하이퍼볼릭탄젠트 함수
- 출력층: \(y_t = f(W_yh_t+b)\) 단, \(f\)는 비선형 활성함수 중 하나
- 출력층의 활성화 함수는 경우에 따라 다른데, 이진분류일 경우는 시그모이드 함수가 될 수 도 있고, 다양한 카테고리 분류라면 소프트맥스 함수가 될 수도 있다.
3. Deep Recurrent Neural Network
앞서 살펴본 RNN은 Memory Cell이 1개인 경우였다. 하지만, Memory Cell이 1개가 아니라 여러 개인 경우가 있을 수 있는데, 이를 Deep RNN이라고 한다.
'DL Study' 카테고리의 다른 글
#1 Autoencoder의 모든 것 - 2가지 관점으로 DNN Loss 함수 이해하기 (0) | 2022.09.14 |
---|---|
LSTM(Long Short-Term Memory) (0) | 2022.09.13 |
Convolution Neural Network (0) | 2022.09.08 |
기울기 소실과 폭주 (0) | 2022.09.07 |
과적합 줄이기 (0) | 2022.09.06 |