AI VIDEO BRIEFING
MIT 6.S191 시퀀스 모델링 강의 정리: 순환 신경망(RNN)의 원리와 한계, 그리고 어텐션과 트랜스포머가 등장한 이유
MIT 딥러닝 입문 강의가 퍼셉트론에서 출발해 순환 신경망과 시간에 따른 역전파, 단어 임베딩, 자기 어텐션까지 이어지는 흐름을 단계별로 설명한다. 기울기 소실이라는 한계에서 트랜스포머가 왜 필요했는지 기초부터 짚어준다.

핵심 메시지
쉽게 이해하기
강의는 2차원 공간에서 움직이는 공 하나로 시작한다. 아무 정보 없이 다음 위치를 맞히면 그저 찍는 것이지만, 지나온 경로를 알려주면 문제는 훨씬 쉬워진다. 순차 데이터를 다룬다는 것은 이렇게 과거 이력을 계산에 끌어들인다는 뜻이고, 그 대상은 음성과 문장부터 의료 신호, 금융 시계열, 생물학적 서열까지 넓게 퍼져 있다.
강사는 앞선 강의의 퍼셉트론에서 출발해 한 걸음씩 구조를 확장한다. 시점마다 신경망을 따로 돌리면 각 시점이 서로 단절되어 순서 정보가 사라진다. 그래서 시점 사이를 잇는 내부 상태를 도입하고, 출력이 현재 입력과 이전 상태 모두에 의존하도록 만든다. 이 되풀이 관계가 곧 순환 신경망이며, 입력에서 상태로, 상태에서 상태로, 상태에서 출력으로 가는 세 가중치 행렬은 모든 시점에서 동일하게 재사용된다.
학습은 시점별 손실을 모두 더한 총손실을 시간 축을 거슬러 되돌리는 방식으로 이뤄진다. 문제는 이 과정에서 같은 가중치 행렬과 활성화 함수의 미분이 반복해서 곱해진다는 점이다. 값이 1보다 크면 기울기가 폭발하고 작으면 0에 수렴해 사라지는데, 이는 문장 앞부분의 정보를 뒷부분까지 전달해야 하는 장기 의존성 학습을 직접 가로막는다. 이를 완화하려고 나온 것이 게이트로 정보 흐름을 조절하는 LSTM 계열이다.
언어를 다루려면 그 전에 단어를 숫자로 바꿔야 한다. 강의는 어휘 사전을 만들어 단어를 인덱스에 대응시키고, 그 인덱스를 고정 길이 벡터로 옮기는 임베딩 과정을 설명한다. 해당 자리만 1인 희소 벡터를 쓰는 방법도 있지만, 신경망 층으로 저차원 임베딩을 학습하면 비슷한 단어가 비슷한 공간에 놓이는 이점이 생긴다.
순환 신경망의 한계는 세 가지로 정리된다. 상태가 고정 길이 벡터라 담을 수 있는 정보에 병목이 있고, 시점을 순서대로 처리해야 해서 병렬화가 어렵고, 그 결과 장기 기억 능력도 제한된다. 어텐션은 시점을 하나씩 밟는 대신 입력을 한꺼번에 넣고 위치 임베딩으로 순서를 알려준 뒤, 질의와 키의 내적으로 유사도를 재고 소프트맥스로 가중치를 만들어 값에서 중요한 특징을 뽑아낸다. 강사는 이 연산을 영상 검색에 비유해 설명하며, 여러 어텐션 헤드를 쌓아 서로 다른 특징을 포착하는 것이 트랜스포머의 뼈대라고 정리한다.
주요 인사이트
- 이 강의의 설명 방식 자체가 배울 만하다. 퍼셉트론이라는 가장 단순한 단위에서 출발해 '지금 구조로는 무엇이 안 되는가'를 먼저 보이고, 그 결핍을 메우는 방식으로 다음 구조를 끌어낸다.
- 기울기 소실과 폭발은 수치적 불편함이 아니라 능력의 한계다. 기울기가 뒤 시점에서 앞 시점까지 살아서 도달하지 못하면 모델은 애초에 장기 의존성을 배울 방법이 없다.
- 어텐션을 검색에 빗댄 비유가 명료하다. 질의는 찾고 싶은 것, 키는 각 항목의 요약, 값은 실제로 꺼내 쓸 내용이며, 유사도 계산이 곧 무엇에 주목할지 정하는 과정이다.
- 순서를 다루기 위해 반드시 순차 처리를 해야 하는 것은 아니다. 입력을 한꺼번에 넣더라도 위치 임베딩으로 순서를 표현하면 병렬 처리와 순서 인식을 동시에 얻을 수 있다.
- 어텐션은 언어 전용 기법이 아니다. 강의는 생물학적 서열은 물론 순차적으로 보이지 않는 이미지에도 적용된 비전 트랜스포머를 예로 들며 이 메커니즘의 일반성을 강조한다.
자주 묻는 질문
순환 신경망에서 가중치는 시점마다 따로 있나요?
아닙니다. 입력에서 은닉 상태로, 은닉 상태에서 다음 은닉 상태로, 은닉 상태에서 출력으로 가는 가중치 행렬은 모든 시점에서 동일한 것을 재사용합니다. 대신 손실은 시점마다 계산해 전부 더하고, 모든 시점을 처리한 뒤 한 번에 가중치를 갱신합니다.
기울기 폭발과 소실이 왜 장기 의존성 문제로 이어지나요?
시간에 따른 역전파에서는 같은 가중치 행렬과 활성화 함수의 미분이 시점 수만큼 반복해 곱해집니다. 1보다 큰 값이 쌓이면 기울기가 폭발하고 작은 값이 쌓이면 0에 가까워집니다. 그러면 뒤쪽 시점의 오차 신호가 앞쪽 시점까지 전달되지 못해 문장 앞부분의 정보를 기억하도록 학습시키기 어려워집니다.
어텐션은 순서 정보를 어떻게 유지하나요?
입력을 한꺼번에 넣기 전에 위치 임베딩을 더해 각 요소가 시퀀스의 어디에 있었는지를 표현합니다. 강의에서는 입력을 그냥 이어 붙이면 순서 정보가 파괴된다는 점을 먼저 지적하고, 위치 임베딩을 통해 순차 처리 없이도 순서를 다룰 수 있음을 설명합니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗