simple RNN. 순환신경망
- 활성화 신호가 입력에서 출력으로 한 방향으로 흐르는 피드포워드 신경망이다
- layer들이 서로 정보를 전달하는 구조이다.
- 순환신경망은 뒤쪽에서 연결하는 순환 연결이 있다.
- 순서가 있는 데이터를 입력으로 받고, 변화하는 입력에 대한 출력을 얻는다.
순환 뉴런의 출력은 이전 시간의 모든 입력에 대한 함수이므로 이를 메모리 형태라고 말할 수 있다.
타임스템에 걸쳐서 어떤 상태를 보존하는 신경망의 구성 요소를 메모리셀이라고 한다.
입력 자체가 순서대로 들어올 수 있도록 받고, 받은 입력을 가지고 목적에 맞춰 출력한다.
- Sequence-to-sequence형태 : 여러 x가 input으로 들어가고 y가 그 수에 맞게 출력된다.
보통은 주식가격과 같은 시계열데이터 예측에 사용한다.
- Sequence-to-vector형태 : 입력은 여러개가 들어가는데, 출력은 하나가 나온다.
영화 리뷰같이 연속된 단어의 문장을 얘기하면 평점을 예측하는데에 사용한다.
RNN 한 셀의 구조이다.
△ simple RNN의 단점
- 입력데이터가 길어지면 학습 능력이 떨어진다. (Long-Term Dependency 문제)
- 현재의 답을 얻기 위해 과거의 정보에 의존해야 하는 RNN이지만, 과거 시점이 현재와 너무 멀어지면 문제를 풀기 어렵다.
LSTM
- simple RNN의 장기 의존성 문제를 해결하기 위한 알고리즘이다.
- 1997년 Hochreiter & Schmidhuber에 의해 소개되었다.
- time step을 가로지르며 셀 상태가 보존된다.
- 모델을 명시적으로 나열한 개념이다.
상황에 따라 sigma를 껐다 켰다 하면서, 옆 셀에 얼마만큼의 정보를 보낼지 결정하게 된다.
(이전 기억을 얼마나 보존할지, 현재 기억은 얼마나 가져갈지)
x를 일반적으로 gate라고 부르고, sigma를 input gate라고 부른다.
'Deep Learning' 카테고리의 다른 글
[DL] Transformer (0) | 2023.03.03 |
---|---|
[DL] 감성분석 (0) | 2023.02.21 |
[DL] YOLO 사용법 (0) | 2023.02.21 |
[DL] YOLO (0) | 2023.02.19 |
[DL] DeepLearning 이모저모 (0) | 2023.02.19 |