사진의 밝기가 너무 들쭉날쭉하면 보기 어렵다
사진 한 장에 너무 밝은 부분과 너무 어두운 부분이 함께 있다고 생각해 봅시다.
사진의 내용이 바뀐 것은 아닙니다. 가장 밝은 부분은 여전히 가장 밝고, 가장 어두운 부분도 그대로 가장 어둡습니다.
Residual로 더한 뒤 숫자가 들쭉날쭉해질 수 있다
문장 전체를 섞는 것이 아니라 토큰별로 정리한다
Layer Normalization은 Tom과 lives와 New York을 모두 섞어 하나의 값으로 만들지 않습니다. 각 토큰이 가진 벡터를 따로 정리합니다.
Tom 벡터 안의 숫자만 정리
lives 벡터는 별도로 정리
New York 벡터도 자체 기준으로 정리
숫자는 바뀌지만 중요한 관계는 남는다
[12.0, 2.5, 0.8]
첫 번째 값이 가장 크고 세 번째 값이 가장 작습니다.
[1.2, 0.0, -1.2]
숫자 범위는 작아졌지만 크고 작은 순서는 그대로 남아 있습니다.
Transformer 안에서의 위치
정리 전후를 간단히 비교해 보자
아래 버튼을 눌러 정리 전과 정리 후의 차이를 확인해 보세요.
Tom 벡터
값의 차이가 매우 큼
가장 큰 값이 다른 값을 압도할 수 있어 다음 층이 계산하기 까다롭습니다.
두 가지만 기억하자
아닙니다. 값의 차이는 남겨 두고 전체 범위만 정리합니다.
아닙니다. 각 토큰 벡터를 따로 정리합니다.
숫자를 정리한 뒤에는 무엇을 할까?
Self-Attention으로 단어 관계를 찾았고, Residual Connection으로 원래 정보를 보존했으며, Layer Normalization으로 숫자 범위를 안정적으로 정리했습니다.
핵심 정리
- Residual Add 뒤에는 벡터 숫자의 범위가 들쭉날쭉해질 수 있습니다.
- Layer Normalization은 한 토큰 벡터 안의 숫자들을 정리합니다.
- 가장 큰 값과 가장 작은 값의 관계는 유지합니다.
- 모든 값을 똑같게 만드는 과정은 아닙니다.
- 숫자를 다음 층이 다루기 좋은 안정적인 범위로 맞춥니다.
- Transformer에서는 Residual Add 뒤의 결과를 정리하는 데 사용됩니다.