순환 신경망 · RNN/LSTM
Recurrent Neural Network / Long Short-Term Memory
순환 신경망이란?
- 순서 데이터를 기억하며 처리
- LSTM은 긴 맥락 개선
- 트랜스포머 이전 주역
RNN이 실제로 바꾼 것은 '입력을 한 덩어리로 보지 않는다'는 점입니다. 이미지 분류처럼 고정된 크기의 입력을 한 번에 밀어 넣는 대신, 같은 가중치 묶음을 시점마다 반복 적용하면서 은닉 상태를 다음 시점으로 넘깁니다. 덕분에 길이가 제각각인 데이터를 모델 하나로 처리할 수 있어, 10단어 문장과 50단어 문장에 따로 모델을 만들 필요가 없어집니다. 대신 앞 시점 계산이 끝나야 다음 시점을 계산할 수 있어, 학습 시간은 시퀀스 길이에 비례해 늘어납니다.
계열은 크게 셋으로 갈립니다. 바닐라 RNN은 단순하지만 보통 10~20 시점을 넘기면 기울기가 사라져 앞부분을 사실상 못 씁니다. LSTM은 셀 상태와 입력·망각·출력 3개 게이트를 둬서 기억이 지나가는 별도의 통로를 만든 구조이고, GRU는 게이트를 2개로 줄여 파라미터가 약 25% 적습니다. 실무에서는 데이터가 몇 천 건 수준이면 GRU가 LSTM보다 안정적으로 수렴하는 경우가 흔합니다.
트랜스포머와의 경계는 '길이'와 '자원'에서 갈립니다. 어텐션은 모든 시점을 서로 비교하므로 연산이 길이의 제곱으로 늘지만, RNN 계열은 길이에 비례해 선형으로 늘어납니다. 그래서 수만 시점짜리 센서 로그나 메모리가 수 MB뿐인 엣지 장비에서는 여전히 LSTM/GRU가 현실적인 선택입니다. 반대로 번역·요약처럼 문장 전체의 앞뒤 관계를 한 번에 따져야 하는 일에서는 순차 처리 자체가 병목이 됐습니다.
현장에서 가장 자주 어긋나는 지점은 데이터를 나누는 방식입니다. 시계열인데 분석 담당자가 습관대로 무작위 셔플로 학습/검증을 나누면 미래 구간이 학습에 섞여, 검증 정확도 95%를 보고 결재를 받았다가 운영에서는 기존 룰보다 못한 결과가 나옵니다. '옛날 기술이니 무조건 트랜스포머'라는 말도 흔한 오해입니다. 라벨이 수천 건뿐인 사내 데이터에서는 큰 모델이 먼저 과적합되어 학습 비용만 몇 배가 됩니다. LSTM으로 기준선을 먼저 세워두고 비교하는 순서가 안전합니다.
LSTM은 1997년 호흐라이터(Hochreiter)와 슈미트후버(Schmidhuber)가 제안해 RNN의 장기 기억 문제를 개선했습니다.
가상의 사례로 살펴보겠습니다. 연 매출 1,200억 원, 임직원 340명인 자동차 부품 제조사 A사는 프레스 설비 4대가 월 평균 3.2회 예고 없이 멈춰 라인 전체가 서는 문제를 안고 있었습니다. 진동·전류 센서가 1초 단위로 데이터를 쌓고 있었지만 '임계값 넘으면 알람'이라는 규칙 탓에 하루 40건 넘는 오탐이 떴고, 현장은 알람 창을 꺼두고 일했습니다. 설비보전팀이 3개월 PoC로 LSTM 고장 예측을 검증했습니다.
- 설비보전팀 김 과장이 최근 2년치 로그에서 실제 고장 직전 30분 구간 87건을 뽑아, 정상 구간과 1:5 비율로 학습 데이터를 구성했습니다.
- 외부 자문 데이터 과학자가 '섞어서 나누면 미래가 과거를 가르칩니다'라고 지적해, 2023년은 학습·2024년은 검증으로 시점을 잘라 나눴습니다.
- 1초 단위 1,800스텝을 그대로 넣었더니 1회 학습에 사흘이 걸려, 10초 평균 180스텝으로 압축하자 학습 시간이 4시간으로 줄었습니다.
- 생산본부장이 '오탐이 하루 5건 넘으면 아무도 안 봅니다'라고 못을 박아, 판정 임계값을 0.5에서 0.8로 올려 재현율보다 오탐 억제를 우선했습니다.
- 3개월 뒤 돌발 정지는 월 3.2회에서 1.1회로, 오탐은 하루 40건에서 4건대로 떨어져 연간 비가동 약 210시간을 되찾았습니다.