Recurrent Neural Networks (RNN)
자연어 처리를 할 때, 시퀀스 데이터를 처리하기 위해 설계된 초기의 신경망 -> 현재는 많이 쓰이지는 않음
시계열 데이터, 텍스트, 오디오와 같은 연속된 데이터를 다루는 데 적합함.
일반적인 신경망과 달리 RNN은 내부에 순환 구조가 있어서 이전 입력에 대한 정보를 네트워크 내에서 기억하고 유지할 수 있다.
RNN의 구조
1) 두개의 input
- x_t (현재 시점의 데이터) : 현재 시점에 해당하는 실제 입력 데이터, 이 상태가 각 시점마다 다음 계산에 전달되어 연속적인 입력 간의 종속성을 학습
- h_
ex) 텍스트 처리 - 현재 단어, 시계열 데이터에서->특정 시점의 데이터 값
(이전 시점의 숨겨진 상태) : 이전 시점까지의 정보가 포함된 벡터
2) 두개의 가중치
- : 입력과 숨겨진 상태를 연결하는 가중치 행렬.
- W_: 이전 숨겨진 상태와 현재 숨겨진 상태 간의 가중치 행렬.
3) RNN의 실제 출력
- 값 y_t 는 숨겨진 상태값 h_t 에 가중치 W_hy를 곱하여 얻어진다.
- : 숨겨진 상태에서 출력값으로 연결되는 가중치 행렬
RNN의 주요 응용 분야
'Dev > 언어지능 딥러닝' 카테고리의 다른 글
[언어지능 딥러닝] [PyTorch] 강화 학습 (0) | 2024.11.07 |
---|