1. 개요[편집]
| 순환 신경망 Recurrent Neural Network (RNN) | |
|---|---|
| 상태 갱신 | $h_t = \sigma(W h_{t-1} + U x_t + b)$ |
| 학습 | BPTT (시간 역전파) |
| 고질병 | 기울기 소실 / 폭발 |
| 대표 변종 | LSTM (1997) · GRU (2014) |
| 경쟁 구조 | 트랜스포머 · 상태공간모형 |
순환 신경망(Recurrent Neural Network, RNN)은 은닉 상태를 자기 자신에게 되먹여, 같은 파라미터를 시간축을 따라 반복 적용하며 가변 길이 시퀀스를 처리하는 신경망 구조다. 가장 단순한 형태(엘만 RNN)는 한 줄이다.
가 매 스텝 똑같이 재사용된다는 점에서 RNN은 사실 학습 가능한 이산 동역학계다. 시뮬레이션 하는 사람 눈에는 가 상태 벡터, 가 전이 연산자, 가 외부 강제항인 비선형 차분방정식으로 보이며, 이 관점이 RNN의 모든 장점과 병폐를 설명한다. 잘 되면 시스템의 잠재 상태를 스스로 찾아내고, 잘못되면 강성 방정식을 명시적으로 적분할 때와 똑같은 방식으로 터진다.1
2. 시간 역전파와 기울기 문제[편집]
RNN은 시간축으로 펼치면(unroll) 층이 개인 아주 깊은 심층 학습 모형이 되고, 학습은 그 펼친 그래프에 자동 미분을 적용하는 시간 역전파(BPTT)로 한다. 시각 의 손실을 먼 과거의 상태로 미분하면 야코비안의 곱이 나온다.
곱해지는 야코비안이 개다. 이 곱의 크기는 대략 그 행렬들의 스펙트럼 반지름의 거듭제곱처럼 움직인다. 이면 기울기가 지수적으로 0으로 죽고(), 이면 지수적으로 발산한다. 전자가 기울기 소실, 후자가 기울기 폭발이다.2 벤지오 등이 1994년에 정리한 결론은 잔인하다. 상태를 안정하게 오래 저장하려면 이 필요한데, 그 조건이 곧 장기 기울기를 죽인다. 안정성과 학습성이 같은 스펙트럼 하나를 놓고 싸우는 구조인 것이다.
두 병은 증상도 처방도 다르다.
- 폭발은 눈에 잘 띈다. 손실이 갑자기 NaN이 되거나 튄다. 처방은 기울기 클리핑: 전체 기울기의 노름이 임계값 를 넘으면 로 되돌린다. 방향은 보존하고 길이만 자르는 것이라 조잡해 보이지만 실제로 극히 잘 듣는다. 사실상 신뢰 영역 제한의 저렴한 판본이다.
- 소실은 조용히 진행된다. 학습은 잘 되는 것처럼 보이는데 모형이 20스텝 전 정보를 전혀 쓰지 못한다. 클리핑으로는 아무것도 해결되지 않고, 구조 자체를 바꿔야 한다.
3. 게이트 구조 — LSTM과 GRU[편집]
소실 문제의 표준 해법은 1997년 호크라이터와 슈미트후버의 LSTM(Long Short-Term Memory)이다. 핵심은 은닉 상태와 별도로 셀 상태 를 두고, 그 갱신을 곱이 아니라 덧셈으로 만든 것이다.
여기서 망각 게이트 , 입력 게이트 , 출력 게이트 는 모두 형태의 시그모이드다. 셀 상태를 따라 흐르는 기울기는 이므로, 망각 게이트가 1 근처로 열려 있는 한 기울기가 감쇠 없이 그대로 전달된다. 이것이 원 논문의 표현으로 상수 오차 흐름(constant error carousel)이며, 나중에 등장하는 잔차 연결(ResNet)과 정확히 같은 아이디어다 — 곱셈 경로 옆에 항등 덧셈 경로를 하나 뚫어 두는 것. 실무 팁으로 망각 게이트 바이어스를 1 정도로 초기화하는 관행이 널리 쓰이는데, 처음부터 “일단 기억한다” 상태로 출발시키는 것이다.
GRU(2014)는 같은 효과를 게이트 두 개로 줄인다. 셀 상태를 없애고 갱신 게이트 하나로 “유지 대 갱신”을 볼록결합으로 처리한다.
파라미터가 약 3/4로 줄고 속도가 빠르며, 성능은 과제에 따라 LSTM과 엎치락뒤치락한다. “무조건 LSTM”도 “무조건 GRU”도 근거가 없다는 것이 대규모 비교 연구들의 결론이다.
구조를 안 바꾸는 대안도 있다. 순환 행렬을 직교/유니터리로 제약하면 모든 특이값이 1이라 야코비안 곱의 노름이 보존된다(uRNN, EURNN 계열). 이론적으로 깔끔하지만 표현력이 제한되고 재파라미터화 비용이 든다. 더 과감한 쪽이 저장소 계산(reservoir computing)의 에코 상태 네트워크로, 순환 가중치 를 아예 학습하지 않고 무작위로 뽑은 뒤 스펙트럼 반지름만 1 근처로 스케일링하고, 선형 출력층만 최소자승으로 푼다. BPTT가 통째로 사라지므로 학습이 최소자승법 한 번으로 끝나고, 카오스 시계열 예측 같은 과제에서 놀랄 만큼 잘 작동한다. 스펙트럼 반지름을 1 근처로 두는 이유는 에코 상태 성질(초기 상태의 영향이 잊혀질 것)과 충분한 기억 용량을 동시에 만족시키는 “혼돈의 가장자리”를 노리기 때문이다.
4. 트랜스포머, 그리고 다시 순환으로[편집]
RNN의 진짜 약점은 정확도가 아니라 병렬화 불가능성이다. 를 계산하려면 이 있어야 하므로, 시퀀스 길이 에 대해 최소 번의 순차 단계가 필요하다. GPU가 아무리 넓어도 이 사슬은 못 접는다. 트랜스포머는 순환을 버리고 어텐션 메커니즘으로 모든 시점을 한 번에 연결해 학습을 완전 병렬화했고, 그 대가로 시퀀스 길이에 대해 의 연산·메모리를 낸다. 즉 트레이드오프는 이렇게 정리된다.
| 구조 | 학습 시 순차 깊이 | 길이 비용 | 추론 시 상태 |
|---|---|---|---|
| RNN | 고정 크기 | ||
| 트랜스포머 | KV 캐시가 에 비례 |
그래서 최근 흐름은 “순환의 부활”이다. 상태공간모형(S4, Mamba 등)은 은닉 상태 갱신을 처럼 선형으로 되돌린다. 선형이면 결합법칙이 성립하므로 병렬 스캔(prefix sum)으로 깊이에 학습을 끝낼 수 있고, 추론은 다시 상태 하나만 들고 다니는 메모리 순환이 된다. 를 HiPPO 이론에 따라 직교다항식 기저 위의 연속시간 계로 놓고 이산화하는 부분은, 사실상 상미분방정식 이산화 그 자체다. 신경망 문헌이 결국 수치해석 교과서로 돌아온 셈.
5. 시뮬레이션 맥락에서의 쓰임[편집]
CAE 쪽에서 RNN 계열이 실제로 값을 하는 지점은 “고차원 물리 상태의 시간 전개를 싸게 대체하기”다.
- 축소차수모델의 시간전개. POD나 오토인코더로 유동장을 수십 개 계수로 압축한 뒤, 그 계수 궤적의 시간 전개만 LSTM/GRU로 학습하는 조합이 널리 쓰인다. 갈러킨 투영으로 얻은 ROM이 절단 모드 간 에너지 전달을 놓쳐 발산하는 문제를, 데이터로 우회하는 접근이다.
- 시계열 대리모델. 배치 반응기, 전력계통, 배터리 열모델처럼 입력 이력이 중요한 계에서 대리 모델로 쓴다. 다만 외삽에 극도로 약하므로, 학습 분포 밖 입력에서의 예측은 신뢰하지 않는 것이 원칙이다.
- 자료동화와의 관계. BPTT로 초기 상태와 파라미터를 함께 최적화하는 구조는 4D-Var의 수반 방정식과 형식이 같다. 실제로 RNN 학습 코드와 수반 코드는 둘 다 “전방 궤적 저장 → 역방향 누적”이며, 체크포인팅으로 메모리를 줄이는 요령까지 똑같다.
- 연산자 학습과의 분업. DeepONet·FNO 계열이 공간 연산자를 배운다면, RNN 계열은 시간 방향 전개를 맡는 식으로 조합되는 경우가 많다. 물론 물리 정보 신경망처럼 지배방정식을 손실에 직접 넣는 접근과 섞기도 한다.
공통 주의사항 하나. RNN 대리모델은 롤아웃에서 오차가 누적된다. 한 스텝 예측 오차가 다음 스텝 입력이 되는 자기회귀 구조라, 학습 시 정답을 넣어주는 teacher forcing만 하고 배포하면 몇십 스텝 만에 궤도를 이탈한다. 스케줄드 샘플링이나 다중 스텝 손실로 학습 시점부터 롤아웃을 흉내 내야 한다. 수치적분에서 국소 절단오차와 전역 오차를 구분하는 것과 정확히 같은 이야기다.3
6. 관련 문서[편집]
- 심층 학습 · 합성곱 신경망 · 그래프 신경망
- 트랜스포머 · 어텐션 메커니즘 · 소프트맥스 함수
- 자동 미분 · 확률적 경사하강법 · 최소자승법
- 축소차수모델 · 대리 모델 · 연산자 학습
- 자료동화 · 은닉 마르코프 모형 · 카오스 이론
7. Footnotes[편집]
-
실제로 RNN의 은닉 상태 궤적을 위상공간에 찍어 보면 고정점·극한 순환·안장점이 그대로 나온다. 학습된 RNN을 동역학계로 해부해 어떤 고정점이 어떤 기억을 담당하는지 밝히는 연구 분야가 따로 있을 정도다. 신경망이 블랙박스인 것과 신경망을 해석할 방법이 없는 것은 다른 얘기다. ↩
-
엄밀히 말하면 스펙트럼 반지름은 점근적 성장률이라 유한 개 곱에는 상계·하계로만 작동한다. 비정규 행렬에서는 스펙트럼 반지름이 1보다 작아도 유한 시간 동안 노름이 수백 배 커질 수 있다 — 의사스펙트럼이 다루는 바로 그 과도 성장이다. RNN 기울기 폭발의 일부는 이 과도 성장으로 설명된다. ↩
-
“학습 데이터에서는 RMSE 0.3%인데 실제로 돌리니 50스텝 만에 발산한다”는 신고가 이 바닥의 스테디셀러다. 원인은 대개 모형 용량이 아니라 학습 손실이 롤아웃을 반영하지 않은 데 있다. 한 스텝 정확도는 안정성을 보장하지 않는다. ↩