LSTM 논문 리뷰

송정근·3일 전

원 논문: Hochreiter, S. & Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation, 9(8), 1735-1780.

목차

  1. Introduction
  2. Previous Work
  3. Constant Error Backprop
  4. The Concept of Long Short-Term Memory
  5. Experiments
  6. Discussion
  7. Conclusion
  8. Acknowledgments

1. Introduction: 문제의 출발점

RNN(Recurrent Neural Network)은 현재 입력과 이전 상태를 함께 사용하므로, 문장·음성·시계열처럼 순서가 있는 데이터를 처리할 수 있다. 그러나 현재 시점의 오류를 오래전 입력까지 전달해야 할 때 학습이 매우 느려지거나 실패할 수 있다.

논문은 그 원인을 불충분하고 점차 감소하는 오차 역전파(error backflow)에서 찾는다. 먼 과거로 갈수록 학습 신호가 약해져, 과거 정보가 현재 결과에 미치는 영향을 모델이 배우기 어렵다는 뜻이다.

논문이 해결하려는 목표

  • 매우 긴 시간 간격의 입력과 결과를 연결한다.
  • 중간에 잡음이 많아도 중요한 정보를 유지한다.
  • 짧은 시간 간격의 학습 능력을 잃지 않는다.
  • 전체 BPTT보다 실용적인 계산 비용을 유지한다.

장기 의존성의 예시

시점 1: 중요한 정보 X
시점 2~999: 잡음 또는 관련 없는 입력
시점 1000: X를 활용해야 정답을 낼 수 있는 출력

이 상황에서 모델은 X를 오래 기억해야 할 뿐 아니라, 현재 오류가 시점 1의 파라미터까지 전달되도록 학습해야 한다.


2. Previous Work: 기존 접근법의 한계

2절에서 저자들은 당시의 순환 신경망 학습 방법을 검토한다.

접근법기본 아이디어긴 시간 지연에서의 한계
BPTT시간을 펼친 뒤 역전파그래디언트 소실·폭주가 누적됨
RTRL순환 가중치의 영향을 실시간 계산계산 비용이 크고 긴 지연에 취약함
Elman Network이전 은닉 상태를 문맥으로 사용중요한 과거 정보의 학습 신호가 약해짐
고정 시간 상수 기반 구조일정 기간 상태를 유지정보 저장·검색을 상황에 맞게 제어하기 어려움

논문의 핵심 주장은 단순하다. 기존 방법은 짧은 시간 간격에서는 동작할 수 있지만, 최소 시간 간격이 긴 문제에서는 과거 입력까지 충분한 학습 신호를 전달하기 어렵다.


3. Constant Error Backprop: 일정한 오차 흐름의 필요성

3.1 Exponentially Decaying Error

원 논문은 시간 t에서 유닛 j로 역전파되는 지역 오차를 다음처럼 표현한다.

δj(t)=fj′(netj(t))∑kδk(t+1)wkj\delta_j(t)=f'_j(net_j(t))\sum_k \delta_k(t+1)w_{kj}
기호의미
δj(t)\delta_j(t)시간 t에서 유닛 j에 전달되는 오차 신호
netj(t)net_j(t)유닛 j의 순입력
fj′f'_j활성화 함수의 미분값
wkjw_{kj}유닛 j에서 다음 유닛 k로 향하는 가중치
∑k\sum_k다음 시간 단계의 연결에서 돌아오는 오차의 합

시간을 거꾸로 이동할수록 미분값과 가중치가 계속 곱해진다. 이 곱이 평균적으로 1보다 작으면 오차는 지수적으로 감소하고, 1보다 크면 폭주한다.

현재 출력 오류
  → 현재 은닉 상태
  → 이전 은닉 상태
  → 더 이전 은닉 상태
  → 먼 과거의 입력

따라서 긴 시퀀스에서는 “과거 정보가 중요하다”는 사실을 알더라도, 그 정보를 저장해야 하는 가중치까지 학습 신호가 닿지 않을 수 있다.

3.2 Constant Error Flow: 단순한 접근

저자들은 자기 연결을 가진 선형 유닛 j를 생각한다. 시간 t에서 오차 흐름이 일정하려면 다음 조건이 필요하다.

fj′(netj(t))wjj=1.0f'_j(net_j(t))w_{jj}=1.0

가장 단순한 방법은 항등 함수와 자기 연결 가중치 1.0을 사용하는 것이다.

fj(x)=x,wjj=1.0f_j(x)=x, \qquad w_{jj}=1.0

이때 상태는 다음처럼 유지된다.

yj(t+1)=yj(t)y_j(t+1)=y_j(t)

논문은 이 자기 연결 구조를 CEC(Constant Error Carousel)라고 부른다.

단순 CEC만으로는 부족한 이유

문제왜 문제가 되는가필요한 해결책
입력 가중치 충돌중요한 입력은 저장해야 하지만, 이후 잡음은 기존 기억을 덮어쓰지 못하게 해야 함입력을 선택하는 장치
출력 가중치 충돌기억은 필요할 때 사용해야 하지만, 필요 없을 때 다른 유닛을 방해하면 안 됨출력을 선택하는 장치

이 두 문제를 해결하기 위해 4절에서 입력 게이트와 출력 게이트가 등장한다.


4. The Concept of Long Short-Term Memory

4.1 Memory Cells and Gate Units

원 논문의 LSTM 메모리 셀은 다음 요소로 구성된다.

  • 중심 선형 유닛과 고정 자기 연결: CEC
  • 입력 게이트 injin_j
  • 출력 게이트 outjout_j
  • 내부 상태 scj(t)s_{c_j}(t)

게이트 활성화

yinj(t)=finj(netinj(t))y_{in_j}(t)=f_{in_j}(net_{in_j}(t))
youtj(t)=foutj(netoutj(t))y_{out_j}(t)=f_{out_j}(net_{out_j}(t))

게이트의 순입력은 이전 시점 네트워크 유닛의 출력으로부터 계산된다.

netinj(t)=∑uwinj,uyu(t−1)net_{in_j}(t)=\sum_u w_{in_j,u}y_u(t-1)
netoutj(t)=∑uwoutj,uyu(t−1)net_{out_j}(t)=\sum_u w_{out_j,u}y_u(t-1)

여기서 uu는 입력 유닛, 게이트 유닛, 메모리 셀, 일반 은닉 유닛 등이 될 수 있다.

메모리 셀 상태와 출력

원 논문에서 메모리 셀의 내부 상태는 다음처럼 갱신된다.

scj(0)=0s_{c_j}(0)=0
scj(t)=scj(t−1)+yinj(t)g(netcj(t))(t>0)s_{c_j}(t)=s_{c_j}(t-1)+y_{in_j}(t)g(net_{c_j}(t)) \quad (t>0)

메모리 셀의 외부 출력은 다음과 같다.

ycj(t)=youtj(t)h(scj(t))y_{c_j}(t)=y_{out_j}(t)h(s_{c_j}(t))

수식의 직관적 해석

이전 셀 상태 s(t-1)
        +
입력 게이트가 허용한 새 정보
        ↓
현재 셀 상태 s(t)
        ↓
출력 게이트가 허용한 만큼만 외부로 전달
        ↓
셀 출력 y(t)
구성 요소역할
CEC긴 시간 동안 내부 상태와 오차 흐름을 유지하는 통로
입력 게이트새 입력을 기억에 기록할지 결정
출력 게이트저장된 기억을 현재 다른 유닛에 공개할지 결정
gg셀에 들어갈 후보 정보를 압축하는 미분 가능한 함수
hh셀 상태를 외부 출력에 적합한 값으로 조절하는 함수

4.2 왜 게이트 유닛인가?

입력 게이트는 관련 없는 입력이 CEC 내부 기억을 덮어쓰지 못하게 한다. 출력 게이트는 현재 필요하지 않은 기억이 다른 유닛을 교란하지 못하게 한다.

입력 게이트가 닫힘
→ 기존 기억 보호

출력 게이트가 닫힘
→ 기억은 유지하지만 현재 계산에는 노출하지 않음

이로써 LSTM은 다음을 분리한다.

무엇을 기록할지     → 입력 게이트
어떻게 오래 유지할지 → CEC
언제 사용할지       → 출력 게이트

4.3 현대 LSTM과의 차이

1997년 원 논문에는 Forget Gate가 없다. 현대 LSTM은 이후 Forget Gate를 추가해 이전 셀 상태를 얼마나 유지할지 직접 조절한다.

구분1997년 원 논문현대 표준 LSTM
핵심 구조CEC, 입력 게이트, 출력 게이트셀 상태와 입력·망각·출력 게이트
기존 기억 처리CEC를 유지하고 입력 게이트로 덮어쓰기를 억제Forget Gate가 이전 상태 유지 비율을 직접 결정
Forget Gate없음있음

현대 표준 LSTM의 대표적인 셀 상태 수식은 다음과 같다.

ct=ft⊙ct−1+it⊙c~tc_t=f_t \odot c_{t-1}+i_t \odot \tilde{c}_t

이 수식은 현대 구현을 설명할 때 사용해야 하며, 1997년 원 논문의 수식과 혼동하지 않아야 한다.


5. Experiments: LSTM은 어떤 과제를 풀었는가?

논문은 실험 과제를 난도 순으로 배치한다.

실험검증하려는 능력핵심 입력 형태
5.1 Embedded Reber Grammar출력 게이트의 효과, 기존 기법과의 비교이산 기호 문법
5.2 Noise-Free and Noisy Sequences긴 지연과 대량의 방해 기호이산 기호 + 잡음
5.3 Noise and Signal on Same Channel신호와 잡음이 한 채널에 섞인 경우연속값 단일 채널
5.4 Adding Problem긴 시간 동안 연속값 저장·덧셈실수값 + 마커
5.5 Multiplication Problem비적분적 연산실수값 + 마커
5.6 Temporal Order멀리 떨어진 기호의 순서 기억이산 기호 분류
5.7 Summary실험 조건의 종합 비교표 정리

5.1 Experiment 1: Embedded Reber Grammar

과제 목표

Embedded Reber Grammar는 정해진 문법 규칙으로 생성되는 기호열을 한 글자씩 입력받고, 다음 기호를 예측하는 벤치마크다.

입력: B → T → ... → P → ...
목표: 매 시점마다 다음에 올 수 있는 기호 예측

문자열의 마지막 직전 기호를 올바르게 예측하려면 초반의 두 번째 기호 T 또는 P를 기억해야 한다.

왜 이 과제를 사용했는가?

  • 최소 시간 지연이 약 9단계인 경계 사례라서 기존 방식도 완전히 실패하지는 않는다.
  • 기존 RNN 연구에서 널리 사용된 벤치마크라 비교가 가능하다.
  • 출력 게이트가 왜 필요한지 보여 주기에 적합하다.

비교 모델과 대표 결과

원 논문 표 1의 대표 결과를 블로그용으로 다시 정리하면 다음과 같다.

방법가중치 수성공률성공까지 필요한 시퀀스 수
RTRL약 170일부 성공173,000
Elman Network약 4350%200,000 초과
Recurrent Cascade-Correlation약 119-19850%182,000
LSTM, 학습률 0.1264100%39,740
LSTM, 학습률 0.5276100%8,440

해석

LSTM은 단순히 문법을 외우는 것이 아니라, 필요한 초기 기호는 저장하되 그 기억이 이후의 쉬운 문법 전이 계산을 방해하지 않게 해야 한다. 이때 출력 게이트가 기억의 공개 시점을 조절한다.

5.2 Experiment 2: Noise-Free and Noisy Sequences

Task 2a: 잡음 없는 긴 시간 지연

입력은 다음 두 시퀀스 중 하나다.

(x,a1,a2,…,ap−1,x)(x,a_1,a_2,\ldots,a_{p-1},x)
(y,a1,a2,…,ap−1,y)(y,a_1,a_2,\ldots,a_{p-1},y)

모델은 매 시점 다음 기호를 예측한다. 마지막 기호 x 또는 y를 맞히려면 맨 처음의 x 또는 y를 p 단계 동안 기억해야 한다.

Task 2b: 규칙성이 약한 잡음 시퀀스

중간 기호가 규칙적으로 정렬되지 않고, x 또는 y와 무관한 기호가 무작위로 등장한다. 마지막의 예측 가능한 x 또는 y를 맞히기 위해, 모델은 초반의 핵심 기호를 유지해야 한다.

Task 2c: 매우 긴 지연과 다수의 방해 기호

가장 어려운 과제다. 시퀀스는 시작 표식 b, 핵심 기호 x 또는 y, 다수의 무작위 방해 기호, 트리거 e, 최종 답 x 또는 y로 구성된다.

b → x 또는 y → 방해 기호 다수 → e(트리거) → x 또는 y

모델은 트리거 e가 등장했을 때 초반의 핵심 기호가 무엇이었는지 출력해야 한다. 방해 기호는 임의 위치에 들어가며, 긴 경우 최소 시간 지연이 1,000단계에 이른다.

원 논문 표 3: Task 2c 대표 결과

시간 지연 q+1방해 기호 종류 p방해 기호당 기대 등장 횟수 q/p가중치 수성공까지 시퀀스 수
5150136430,000
101100166431,000
20120011,26433,000
50150013,06438,000
1,0011,00016,06449,000
1,00110010664135,000
1,0015020364203,000

해석

시간 지연이 길어지는 것 자체보다, 같은 종류의 방해 기호가 자주 반복되어 기억을 흔드는 상황에서 학습 시간이 더 증가한다. 그럼에도 논문은 최소 시간 지연 1,000단계 설정을 해결했다고 보고한다.

5.3 Experiment 3: Noise and Signal on Same Channel

Task 3a: Two-Sequence Problem

하나의 실수 입력 채널만 사용한다. 두 클래스 중 하나가 동일 확률로 선택되며, 첫 N개 값이 클래스 정보를 갖는다.

클래스 1: 처음 N개 값 = +1.0
클래스 2: 처음 N개 값 = -1.0
이후 값: 평균 0, 분산 0.2의 가우시안 잡음

시퀀스 마지막에서 클래스 1은 1.0, 클래스 2는 0.0을 출력해야 한다.

Task 3b: 중요한 신호도 잡음에 오염

3a와 달리 클래스 정보를 담은 첫 N개 값에도 잡음이 섞인다. 즉, 모델은 명확한 +1과 -1을 읽는 것이 아니라, 잡음이 섞인 값에서 클래스 신호를 추출해야 한다.

Task 3c: 잡음이 있는 실수 목표값의 조건부 기대값 학습

3c는 단순 추측으로 풀기 어려운 형태로 수정된다.

클래스 1의 잡음 없는 목표값: 0.2
클래스 2의 잡음 없는 목표값: 0.8
실제 학습 목표: 목표값에 가우시안 잡음을 더한 값

모델은 잡음이 섞인 목표값을 그대로 외우는 대신, 입력이 주어졌을 때의 조건부 기대값을 학습해야 한다.

원 논문 표 6: Task 3c 대표 결과

최소 시퀀스 길이 T핵심 신호 개수 N가중치 수오분류 비율기대값과의 평균 차이
10031020.005580.014
10011020.004410.012

해석

이 실험은 신호와 잡음이 같은 채널에 있어도 LSTM이 장기 기억을 형성할 수 있는지, 그리고 단순한 분류를 넘어 연속적인 기대값을 예측할 수 있는지 확인한다.

5.4 Experiment 4: Adding Problem

과제 입력

각 입력 요소는 두 성분의 쌍이다.

(Xt,Mt)(X_t,M_t)
성분설정
XtX_t[−1,1][-1,1]에서 무작위로 뽑은 실수
MtM_t1.0, 0.0, -1.0 중 하나인 마커

시퀀스마다 정확히 두 위치가 M_t=1.0으로 표시된다. 모델은 그 두 위치의 실수 X1X_1, X2X_2를 오랫동안 기억한 뒤, 시퀀스 마지막에서 아래 목표를 출력해야 한다.

target=0.5+X1+X24.0target=0.5+\frac{X_1+X_2}{4.0}

-1.0 마커는 시퀀스의 시작과 끝을 표시하며, 나머지 대부분의 위치는 0.0이다.

왜 중요한 과제인가?

  • 이산 기호가 아닌 연속 실수값을 저장해야 한다.
  • 두 개의 값을 오랫동안 보존해야 한다.
  • 표시 위치가 고정되지 않는다.
  • 마지막에 덧셈 계산까지 수행해야 한다.

원 논문 표 7: Adding Problem 결과

최소 길이 T최소 지연가중치 수2,560개 테스트 중 오답성공까지 시퀀스 수
1005093174,000
500250930209,000
1,000500931853,000

해석

논문은 LSTM이 긴 시간 동안 연속값을 큰 손실 없이 저장하고, 분산 표현과 수치 연산이 필요한 과제를 해결할 수 있음을 보인다.

5.5 Experiment 5: Multiplication Problem

과제 목표

입력 구성과 두 개의 마커 위치는 Adding Problem과 유사하다. 차이는 마지막 목표값이 덧셈이 아니라 곱셈이라는 점이다.

target=X1×X2target=X_1 \times X_2

왜 덧셈 다음에 곱셈을 검증했는가?

CEC는 이전 상태에 새 값을 더하는 구조이므로, “덧셈 과제는 CEC의 누적 특성 때문에 쉽게 풀린 것 아니냐”는 의문이 생길 수 있다.

곱셈은 단순 누적으로 바로 해결할 수 없는 비적분적 연산이다. 이 과제는 LSTM이 단순 누적기가 아니라, 장기 기억을 바탕으로 더 복잡한 연산도 학습할 수 있는지 검증한다.

5.6 Experiment 6: Temporal Order

Task 6a: 멀리 떨어진 두 기호의 순서

시퀀스는 E로 시작하고 B라는 트리거 기호로 끝난다. 그 사이에는 주로 {a,b,c,d}에서 무작위로 선택된 방해 기호가 나타난다. 다만 두 위치에는 X 또는 Y가 등장한다.

위치범위
전체 시퀀스 길이100~110
첫 번째 중요 기호 t1t_110~20
두 번째 중요 기호 t2t_250~60

정답 클래스는 X, Y의 시간 순서로 결정된다.

중요 기호 순서클래스
X, XQ
X, YR
Y, XS
Y, YU

Task 6b: 멀리 떨어진 세 기호의 순서

6b에서는 중요 기호가 세 개가 되며, 가능한 순서 조합은 8개다.

위치범위
첫 번째 중요 기호 t1t_110~20
두 번째 중요 기호 t2t_233~43
세 번째 중요 기호 t3t_366~76

예를 들어 X,Y,X와 Y,X,X는 서로 다른 클래스로 분류해야 한다. 오류 신호는 시퀀스 마지막에만 제공된다.

원 논문 표 9: Temporal Order 결과

과제가중치 수2,560개 테스트 중 오답성공까지 시퀀스 수
Task 6a: 중요 기호 2개156131,390
Task 6b: 중요 기호 3개3082571,100

해석

이 실험은 LSTM이 단순히 어떤 기호가 등장했는지를 기억하는 수준을 넘어, 멀리 떨어진 여러 입력의 시간적 순서까지 추출할 수 있음을 검증한다.

5.7 Summary of Experimental Conditions

5.7절은 앞선 실험의 조건을 원 논문 표 10, 표 11로 종합한다. 세부 표에는 과제 번호, 최소 길이, 지연, 셀 블록 수, 입력·출력 수, 가중치 수, 게이트 편향, 함수, 학습률 등이 기록되어 있다.

블로그 관점에서 중요한 비교 기준은 다음과 같다.

실험군핵심 난이도검증한 LSTM 능력
1짧은 지연 문법출력 게이트의 필요성
2매우 긴 지연, 다수의 방해 기호장기 기억과 잡음 억제
3신호·잡음이 같은 채널신호 추출과 기대값 예측
4연속값 2개 저장과 덧셈연속값 장기 보존
5연속값 2개 저장과 곱셈비적분적 연산
6여러 기호의 시간 순서다중 장기 의존성

6. Discussion: 한계와 장점

6.1 Limitations of LSTM

강하게 지연된 XOR 문제

멀리 떨어진 두 입력의 XOR를 계산하는 문제는 두 정보 중 하나만 기억해서는 오차를 줄일 수 없다. 따라서 쉬운 하위 문제부터 점진적으로 해결하기 어려운 비분해적 문제다.

추가 게이트에 따른 구조 증가

메모리 셀 블록마다 입력 게이트와 출력 게이트가 추가된다. 원 논문은 완전 연결 구조에서 가중치 수가 증가할 수 있음을 인정하지만, 실험에서는 비교 모델과 비슷한 가중치 수를 사용하려 했다.

정밀한 시간 카운팅의 한계

99단계 전과 100단계 전을 반드시 구분해야 하는 문제에는 별도의 카운팅 장치가 필요할 수 있다. 반면 3단계 전과 11단계 전처럼 비교적 큰 시간 차이를 구분하는 것은 가능하다고 설명한다.

6.2 Advantages of LSTM

  • CEC를 통해 매우 긴 시간 간격의 오차 흐름을 유지할 수 있다.
  • 잡음, 연속값, 분산 표현을 다룰 수 있다.
  • 중요한 입력 위치가 달라져도 일반화할 수 있다.
  • 입력·출력 게이트 편향, 학습률 등 여러 설정 범위에서 비교적 안정적으로 동작한다.
  • 가중치당·시간 단계당 갱신 복잡도가 본질적으로 BPTT와 같은 O(1)O(1) 수준이다.

7. Conclusion: 논문의 핵심 결론

논문은 메모리 셀 내부의 CEC가 일정한 오차 흐름을 제공하고, 이것이 긴 시간 간격을 연결하는 기반이라고 결론 내린다.

CEC
→ 정보와 오차 흐름을 장기간 유지

입력 게이트
→ 관련 없는 입력이 기억을 덮어쓰지 못하게 보호

출력 게이트
→ 현재 필요하지 않은 기억이 다른 유닛을 방해하지 않도록 보호

LSTM의 핵심은 “모든 것을 오래 기억한다”가 아니다. 필요한 정보를 선택적으로 기록하고, 보존하고, 필요한 시점에만 출력하는 구조라는 점이다.


최종 정리

1997년 LSTM 논문은 긴 시퀀스에서 RNN이 실패하는 원인을 그래디언트 흐름 관점에서 분석하고, 이를 CEC와 게이트라는 구조로 해결하려 한 연구다.

기존 RNN의 그래디언트 소실·폭주
        ↓
CEC로 일정한 오차 흐름 확보
        ↓
입력 게이트로 기록 제어
        ↓
출력 게이트로 사용 제어
        ↓
긴 지연·잡음·연속값·시간 순서 실험으로 검증

현대 LSTM은 Forget Gate 등을 추가하며 발전했지만, 긴 시간 간격의 정보를 학습하기 위해 기억 경로와 게이트 제어를 분리한다는 원 논문의 핵심 아이디어는 그대로 이어지고 있다.

참고 자료

profile
기록하며 성장하는 개발자

0개의 댓글