위키득계정 ↗
기술

LSTM

LSTM기술
영문명
Long Short-Term Memory
주요 상태
셀 상태 c와 은닉 상태 h
대표 게이트
입력·망각·출력 게이트
처리 대상
순서가 있는 입력
LSTM은 셀 상태와 은닉 상태를 유지하며 게이트로 정보의 보존과 추가를 조절하는 순환 신경망 구조다. 이름은 Long Short-Term Memory에서 왔다. 단순 순환 신경망과 달리 상태의 흐름을 여러 게이트로 나누어 다룬다.

두 상태와 게이트

대표적인 기본형에서 cₜ=fₜ⊙cₜ₋₁+iₜ⊙gₜ, hₜ=oₜ⊙tanh(cₜ)다. ⊙는 성분별 곱이다. 망각 게이트 f는 이전 셀 상태의 비중을, 입력 게이트 i는 후보 g의 비중을, 출력 게이트 o는 은닉 출력의 비중을 조절한다.

게이트를 만드는 값

보통 i, f, o는 현재 입력과 이전 은닉 상태의 아핀 변환에 시그모이드를 적용해 얻고, 후보 g에는 tanh를 사용한다. 이 기본형에서 게이트 값은 0과 1 사이지만 셀 상태 전체가 같은 범위에 제한되는 것은 아니다. 게이트와 상태를 혼동하지 않아야 한다.

상태 갱신 예

일차원에서 이전 셀 상태가 2, f=i=o=1/2, 후보 g=1/2라고 가정하자. 새 셀 상태는 1.25이고 은닉 상태는 tanh(1.25)/2로 약 0.42414다. 같은 셀 상태여도 출력 게이트가 달라지면 은닉 출력이 달라질 수 있다.

기억을 보장하는 장치는 아니다

후보 기여가 없고 망각 게이트가 계속 1/2이면 기존 셀 상태의 직접 기여는 세 단계 뒤 1/8로 줄어든다. 게이트는 학습되는 값이므로 정보를 영구히 보존하는 보장은 없다. 초기 상태, 마스크와 배치 간 상태 연결도 실제 모델의 동작을 바꾼다.

관련 문서

단순 순환 신경망 / 인공 신경망 / 활성화 함수 / 임베딩 층 / 기울기 클리핑 / 내적 어텐션 / 드롭아웃