AI VIDEO BRIEFING
트랜스포머 vs CNN·RNN 비교: 지역성과 순차성의 한계, 자기어텐션이 푸는 문제
트랜스포머 인코더가 CNN의 지역 필터, RNN의 순차 처리와 무엇이 다른지 정리했다. 어순에 얽매이지 않는 구조와 먼 단어를 직접 잇는 자기어텐션이 장기 기억 문제와 기울기 소실을 어떻게 비껴가는지 살펴본다.

핵심 메시지
쉽게 이해하기
이 강의 영상은 트랜스포머 인코더를 배운 뒤 그것이 기존 신경망과 무엇이 다른지 짚는 자리다. 목표는 트랜스포머가 왜 하필 언어에서 큰 성공을 거뒀는지에 대한 감을 잡는 것이다. 비교 대상은 이미지에서 강한 성능을 내온 CNN과 시퀀스 모델링에 널리 쓰인 RNN 두 가지다.
CNN의 출력은 입력 특징과 필터 커널의 곱으로 계산된다. 여기서 중요한 성질이 둘 있는데, 하나는 필터가 국소적으로 적용되어 특정 위치의 특징을 구할 때 그 주변 3×3 영역만 본다는 점이고, 다른 하나는 가중치가 중심 픽셀과 대상 픽셀 사이의 상대 위치에 따라 정해진다는 점이다. 지역 특징을 찾아 깊은 층에서 결합하는 방식은 이미지에 잘 맞지만, 문장에서는 사정이 다르다. '이 책은 유안이 썼다'와 '유안이 이 책을 썼다'처럼 단어를 재배열해도 뜻이 유지되고, '인도 소녀에 관한 이 책은 유안이 썼다'에서는 '썼다'와 '책'처럼 밀접한 단어가 멀리 떨어질 수 있다.
RNN은 은닉 상태를 다음 시점의 입력과 함께 되먹이며 시퀀스를 처리한다. 이 구조의 첫 번째 성질은 은닉 상태가 현재까지의 입력만 안다는 것이고, 두 번째는 상태가 제시된 순서대로 계산된다는 것이다. 그 결과 네트워크는 여러 시점에 걸쳐 정보를 기억해야 하고, 중간 상태 갱신을 여러 번 거치는 동안 앞서 나온 단어가 무엇이었는지 놓칠 위험이 생긴다. 순차 계산이라 병렬화가 어려워 학습 속도까지 느려진다.
강연자는 기울기 소실을 리뷰 감성 분류 예시로 설명한다. 'terrible video'라는 짧은 리뷰에서 첫 단어가 감성을 좌우하는데, 은닉 상태는 지금까지 본 입력 전체를 하나의 벡터에 압축해야 하므로 새 입력이 들어올수록 첫 단어의 영향이 씻겨 나간다. 시점 1의 입력을 바꿔도 은닉 상태가 그대로라면 그 지점의 미분이 0이라는 뜻이고, 역전파 관점에서는 시간을 거슬러 올라갈수록 기울기가 가늘어진다. 시퀀스가 길수록 비선형을 더 많이 통과해야 하니 문제는 커진다.
트랜스포머 인코더는 이 두 문제를 구조적으로 비껴간다. 단어마다 벡터를 하나씩 계속 유지하므로 아주 긴 입력에서도 첫 입력을 같은 정도로 잊지 않고, 자기어텐션 계산에서 뒤쪽 출력과 앞쪽 입력의 연결이 훨씬 직접적이라 기울기가 여러 비선형을 통과하며 사그라들지 않는다. 다만 강연자는 인코더가 순서를 그 자체로 취급하지 않는다는 점, 그리고 RNN에는 가변 길이 처리처럼 나름의 장점이 있다는 점도 함께 짚는다.
주요 인사이트
- CNN과 RNN의 한계는 성능 부족이 아니라 데이터에 대한 가정의 문제다. 지역성과 순차성이라는 가정이 이미지에는 유리하게, 언어에는 불리하게 작용한다.
- '멀리 떨어진 요소를 얼마나 직접 연결하는가'가 세 구조를 가르는 핵심 축이다. 자기어텐션은 그 연결을 한 번의 가중합으로 만들어 낸다.
- 장기 기억 실패와 기울기 소실은 별개의 현상이 아니라 같은 뿌리에서 나온다. 앞쪽 입력이 은닉 상태를 바꾸지 못한다는 말은 곧 그 방향의 미분이 사라진다는 말이다.
- 순차 처리는 정확도뿐 아니라 학습 속도에도 값을 매긴다. 계산을 병렬화할 수 없다는 제약이 대규모 학습에서 특히 비싸게 작용한다.
- 인코더가 입력 순서에 무관심하다는 것은 장점이자 별도 처리가 필요한 지점이다. 어순이 뜻을 크게 바꾸지 않는 경우에는 합리적인 성질로 작동한다.
자주 묻는 질문
CNN이 언어 처리에 잘 맞지 않는다고 보는 이유는 무엇인가요?
CNN은 가중치를 상대 위치의 함수로 정의하고 국소 영역만 봅니다. 그러나 문장은 단어를 재배열해도 뜻이 유지되는 경우가 많고, 의미상 밀접한 단어가 문장 구성에 따라 멀리 떨어질 수 있어 상대 위치 기반 가중치와 지역 특징이라는 전제가 잘 맞지 않습니다.
RNN에서 'bank' 예시가 말하려는 문제는 무엇인가요?
'그녀는 강가에 갔다'라는 문장에서 bank를 처리할 때의 은닉 상태는 그때까지 들어온 입력만 알고 있습니다. 뒤에 나올 river를 볼 수 없으므로 그것이 강둑인지 금융기관인지 구분할 근거가 없다는 뜻입니다. 트랜스포머 인코더는 각 출력이 모든 입력에 의존하므로 뒤에 오는 단어까지 반영할 수 있습니다.
자기어텐션이 기울기 소실에 강한 이유는 무엇인가요?
자기어텐션에서 뒤쪽 출력은 모든 값 벡터의 가중합으로 계산되므로 첫 번째 입력과의 경로가 직접적입니다. RNN처럼 여러 번의 상태 갱신과 비선형을 거치지 않기 때문에 기울기가 시간을 거슬러 가며 약해지는 현상이 완화됩니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗