AI VIDEO BRIEFING
RNN이면 충분했나: minGRU·minLSTM 논문이 던진 질문과 실험의 허점 분석
맘바와 S4의 성능이 정교한 구조 덕분인지 묻는 논문을 해설한 영상이다. 옛 GRU와 LSTM에서 은닉 상태 의존성만 걷어내면 병렬 학습이 가능해지지만, 이를 뒷받침할 실험은 매우 약하다는 지적이 이어진다.

핵심 메시지
쉽게 이해하기
영상은 밀라와 보리얼리스 AI가 함께 쓴 논문 「RNN이면 충분했는가」를 다룬다. 논문은 S4나 맘바처럼 병렬 학습이 가능한 최신 순환형 모델들의 성능이 정말 그 정교한 구조에서 나오는지, 아니면 몇 가지 핵심 개념만으로 설명되는지 묻는다. 요슈아 벤지오가 저자로 참여해 더 많은 주목을 받았다는 점도 언급된다.
배경에는 트랜스포머의 한계가 있다. 어텐션 계산 때문에 시퀀스 길이가 n이면 메모리와 연산이 n의 제곱에 비례해 늘고, 이 때문에 넣을 수 있는 시퀀스 길이가 근본적으로 제한된다. 반면 순환 신경망은 은닉 상태를 옮겨 가며 새 입력을 하나씩 반영하므로 메모리 요구가 일정하고 임의 길이의 시퀀스를 처리할 수 있다. 다만 학습에는 시간에 걸친 역전파가 필요해, 손실에서 특정 시점까지 도달하려면 중간의 모든 단계를 거슬러 올라가야 하고 단계가 늘수록 기울기가 나빠진다.
LSTM과 GRU가 그 문제를 어느 정도 완화했지만 완전히 해결하지는 못했다. S4 계열이 택한 해법은 입력을 은닉 상태에 반영하는 방식에서 과거 은닉 상태의 영향을 제거하는 것이다. 원래는 '뱅크'라는 단어가 명사인지 동사인지 문맥으로 판단하듯 과거 상태를 참고해 입력 처리 방식을 정할 수 있었지만, 이 연결을 끊으면 각 시점의 계산이 서로 독립해져 병렬로 계산하고 학습할 수 있게 된다. 대신 표현력의 일부를 내주는 거래다.
논문은 같은 원리를 GRU에 적용한다. GRU에서 다음 은닉 상태는 과거 은닉 상태와 제안된 새 상태를 게이트로 섞어 만드는데, 이 게이트와 제안 상태가 모두 과거 은닉 상태에 의존한다. 이 의존을 모두 끊으면 게이트와 제안 상태가 현재 입력만의 함수가 되고, 일부 비선형 함수도 불필요해져 minGRU라는 최소 형태가 남는다. 그러면 다음 상태가 '이전 상태 곱하기 어떤 값 더하기 어떤 값' 형태가 되어 병렬 스캔 알고리즘을 쓸 수 있다.
표현력을 잃은 만큼은 층을 쌓아 보충한다. 현재 층의 계산은 과거 은닉 상태를 볼 수 없지만, 아래 층에서 올라온 입력 자체가 이미 과거 정보를 품고 있기 때문이다. 해설자는 이를 합성곱 신경망에서 층이 올라갈수록 수용 영역이 넓어지는 것에 비유하면서, 다만 LSTM이 한 층에서 하던 계산에 여러 층이 필요해질 수 있다는 대가가 따른다고 설명한다.
주요 인사이트
- 속도 측정 결과는 예상대로다. LSTM과 GRU의 학습 시간은 은닉 상태를 하나씩 전파해야 하므로 시퀀스 길이에 비례해 늘지만, 최소 변형들은 거의 평평한 곡선을 그리며 맘바와 같은 수준을 보인다.
- 해설자가 가장 강하게 비판하는 대목은 실험이다. 강화학습 벤치마크로 쓰인 하프치타나 호퍼 같은 과제는 현재 상태나 두 프레임 정도만 봐도 풀릴 만큼 단순해서, 순환 구조가 필요한지조차 확인해 주지 못한다는 것이다.
- 문자 단위 셰익스피어 데이터셋에서 트랜스포머가 상대적으로 약해 보이는 것도 과제 특성 때문이라고 그는 설명한다. 문자 단위 언어 모델링은 대부분 아는 단어를 완성하는 국소적인 작업이라, 은닉 상태를 빠르게 감쇠시켜 최근 몇 글자에만 집중하면 되는 모델에 유리하다는 것이다.
- 일부 비교 모델이 선택적 복사 과제를 아예 풀지 못한다는 결과에서 그는 다른 함의를 읽는다. 어떤 과제에도 무난히 통하는 트랜스포머와 달리, 표현력을 줄여 효율을 얻은 모델들은 구조에 맞는 데이터와 문제에 적용해야 제 성능이 나온다는 것이다. 공짜 점심은 없다는 이야기다.
- 결론에서 해설자는 가설과 증거를 분리한다. 복잡한 구조를 뼈대만 남겨도 비슷하게 작동할 수 있다는 문제 제기는 타당하지만, 이 논문 자체는 그것을 증명하거나 시사하지 못한다는 것이다. 다만 근본 성질이 같으므로 규모를 키우면 상수 배 차이 정도로 좁혀질 가능성은 있다고 덧붙인다.
자주 묻는 질문
minGRU는 기존 GRU에서 무엇을 뺀 것인가요?
게이트와 제안 은닉 상태가 과거 은닉 상태를 참조하던 부분을 모두 제거했습니다. 기존 GRU는 무엇을 잊고 무엇을 받아들일지 정하는 게이트와 새로 제안되는 상태가 모두 직전 은닉 상태에 의존했는데, 이 연결을 끊으면 둘 다 현재 입력만의 함수가 됩니다. 이 과정에서 은닉 상태가 이미 정규화되어 있어 일부 비선형 함수도 불필요해집니다.
이렇게 하면 왜 병렬 학습이 가능해지나요?
다음 상태가 '이전 상태에 어떤 수를 곱하고 다른 수를 더하는' 형태가 되고, 이 두 수가 과거 상태에 전혀 영향을 받지 않기 때문입니다. 이 조건이 만족되면 병렬 스캔이라는 알고리즘을 쓸 수 있습니다. 병렬 스캔은 결합 법칙이 성립하는 연산에 대해 n개의 데이터에서 누적 계산을 구하는 방법으로, GPU처럼 병렬 처리가 가능한 환경에서 로그 시간에 가깝게 계산할 수 있습니다.
한 층에서 과거를 못 보는데 어떻게 문맥을 처리하나요?
층을 쌓아서 해결합니다. 현재 층의 입력 처리 계산은 직전 은닉 상태를 참조하지 못하지만, 계산된 은닉 상태 자체는 이전 은닉 상태를 포함하고 있습니다. 따라서 두 번째 층에서는 그 은닉 상태가 입력이 되므로, 층을 올릴수록 과거에 의존하는 계산이 되살아납니다. 실제로 선택적 복사 과제에서 한 층짜리 모델은 크게 고전하지만 층을 늘리면 성능이 회복됩니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗