본문 바로가기
Deep Learning

[DL] RNN , LSTM

by ram_ 2023. 2. 21.

simple RNN. 순환신경망

  • 활성화 신호가 입력에서 출력으로 한 방향으로 흐르는 피드포워드 신경망이다
  • layer들이 서로 정보를 전달하는 구조이다.
  • 순환신경망은 뒤쪽에서 연결하는 순환 연결이 있다.
  • 순서가 있는 데이터를 입력으로 받고, 변화하는 입력에 대한 출력을 얻는다.

 


https://medium.com/humanscape-tech/rnn-recurrent-neural-network-순환신경망-을-이해해보자-1697a5472af2

순환 뉴런의 출력은 이전 시간의 모든 입력에 대한 함수이므로 이를 메모리 형태라고 말할 수 있다.

타임스템에 걸쳐서 어떤 상태를 보존하는 신경망의 구성 요소를 메모리셀이라고 한다.

 

입력 자체가 순서대로 들어올 수 있도록 받고, 받은 입력을 가지고 목적에 맞춰 출력한다.

 

- Sequence-to-sequence형태 : 여러 x가 input으로 들어가고 y가 그 수에 맞게 출력된다.

보통은 주식가격과 같은 시계열데이터 예측에 사용한다.

- Sequence-to-vector형태 : 입력은 여러개가 들어가는데, 출력은 하나가 나온다.

영화 리뷰같이 연속된 단어의 문장을 얘기하면 평점을 예측하는데에 사용한다.

 

https://tc.copernicus.org/preprints/tc-2021-194/tc-2021-194.pdf

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