메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Long short-term memory

noriwiki
(LSTM에서 넘어옴)


개요

LSTM은 RNN의 일종으로 Lon-term dependency문제를 해결하기 위해 설계된 모델이다. RNNGradient vanishing문제에서 자유롭지 않다. 예를 들어서, "비가 오는 날에는 공연히 집에만 있고 싶어지네요. 그날도 ( )가 왔죠."에서 ( )에는 비가 들어가 되지만, Gradient vanshing으로 인해서 ( )에 들어가는 말을 엉뚱하게 예측할 수도 있는 것이다. 이처럼 Long-term dependency, 즉 장기 의존성 문제도 해결한 모델이 LSTM이다.

LSTM은 Input에서 어떤 정보가 차후에 유용하게 사용할지를 학습힌다. LLM에서 이러한 유용한 정보에는 문법 정보, 문맥 정보와 같은 정보를 포함하기 때문에 LSTM은 단순히 RNN을 사용하는 것에 비해서, 정확한 값을 도출해 낸다.

LSTM의 동작은 기본적으론 RNN과 유사하지만, 내부에 세개의 주요 게이트를 추가하여 정보의 흐름을 제어한다. 이들 각각의 게이트는 Input gate, Forget gate, Output gate로 구성된다. 또한 각 게이트는 Cell state라는 각 Cell의 상태를 다음 Cell에 전달하는 새로운 Output을 추가하였다.

  • Input gate: 현재 입력과 이전 출력에서 유용한 정보를 받아들이는 역활을 한다.
  • Forget gate: 이전 상태에서 기억해야 할 정보를 결정하는 역활을 한다. 이 게이트는 과거의 정보를 얼마나 잊을지를 조절한다.
  • Output gate: 새로운 출력 값을 생성하는 역활을 한다. 이 게이트는 최종 출력이 무어시 될지를 결정한다. Output gate는 Input gate와 Forget gate의 값을 곱하여 결과를 도출한다.
  • Cell state: Cell state는 Forget gate와 Input gate의 곱으로, 다음 State에 현재 State의 상태를 얼마나 전달할 지를 결정한다.

각 게이트는 Sigmoid Activation function을 사용하여 값을 출력하며, 이를 통해서 정보를 얼마나 반영할지를 조절한다.

같이 보기

  1. RNN
  2. GRU