AI VIDEO BRIEFING

배치 정규화와 레이어 정규화의 차이 — 트랜스포머가 배치 노름 대신 레이어 노름을 쓰는 이유

배치 노름과 레이어 노름은 신경망 값을 안정시키는 같은 목표를 갖지만 어느 축으로 평균을 내는가가 다르다. 트랜스포머가 가변 길이 패딩과 작은 배치, 토큰 단위 추론 때문에 배치 노름을 버리고 레이어 노름을 택한 이유를 쉽게 정리했다.

배치 정규화 vs 레이어 정규화: 트랜스포머는 왜 배치 노름을 버렸나 영상 대표 이미지

핵심 메시지

  • 배치 노름과 레이어 노름의 목표는 같다 — 신경망을 흐르는 값이 너무 크지도 작지도 않게 유지하는 것이다.
  • 두 기법의 유일한 차이는 활성값 표(행=배치의 각 예시, 열=각 특성)에서 '어느 축으로 평균과 표준편차를 계산하느냐'다.
  • 배치 노름은 열 방향(같은 특성을 배치 전체에 걸쳐)으로, 레이어 노름은 행 방향(한 예시의 모든 특성에 걸쳐) 통계를 낸다.
  • 트랜스포머는 배치 축이 불안정해 레이어 노름을 택한다 — 가변 길이 패딩, 작은 배치, 그리고 토큰 하나씩 생성하는 추론 상황 때문이다.
  • 레이어 노름은 각 토큰을 다른 예시와 무관하게 자기 자신만으로 정규화하므로, 시퀀스를 토큰 단위로 처리하는 모델에 본질적으로 맞는다.

쉽게 이해하기

2015년 등장한 배치 정규화(batch normalization)는 깊은 신경망을 학습 가능하게 만든 결정적 기법이었다. 층 사이에 끼워 넣기만 하면 학습이 멈추던 모델도 잘 훈련됐고, 한때 어디에나 쓰였다. 그런데 오늘날 챗봇을 움직이는 트랜스포머를 열어 보면 배치 노름은 보이지 않고 대신 '레이어 노름(layer normalization)'이 자리하고 있다.

영상은 이 전환의 이유가 단 하나의 질문으로 귀결된다고 설명한다. 바로 '어느 방향으로 평균을 내는가'다. 한 층을 통과한 활성값을 표로 그리면, 행은 배치 속 각 예시이고 열은 각 특성(은닉 유닛)이다. 셀 하나의 값은 그 자체로는 의미가 없고, '무엇과 비교해 정상인가'를 정해야 정규화할 수 있다.

배치 노름은 열을 따라 내려가며 하나의 특성을 배치 전체에서 모아 평균과 표준편차를 구한 뒤 표준화하고, 학습 가능한 스케일(감마)과 이동(베타)로 필요하면 정규화를 되돌린다. 레이어 노름은 정반대로 한 예시(행)를 골라 그 예시의 모든 특성에 걸쳐 평균을 낸다. 평균을 낸 뒤 빼고 나누고 스케일·이동하는 과정은 완전히 같고, 오직 '평균을 낸 축'만 다르다.

트랜스포머가 행을 택하는 이유는 시퀀스 모델에서 배치 축이 흔들리기 때문이다. 문장 길이가 제각각이라 짧은 것을 패딩하면 뒤쪽 열은 대부분 패딩(쓰레기값)이 되고, 예시가 두 개뿐인 작은 배치에서는 열 평균이 배치마다 크게 요동친다. 무엇보다 추론 시 트랜스포머는 토큰을 하나씩 생성하는데, 이때 배치에는 토큰이 하나뿐이라 평균 낼 배치 자체가 없다. 그래서 배치 노름은 학습 때 저장해 둔 평균에 의존해야 하고, 결국 테스트 동작이 학습과 어긋난다.

레이어 노름은 오직 행 안에서만 평균을 내므로 이 모든 문제를 피한다. 다른 예시를 아예 보지 않기에 각 토큰이 완전히 자기 완결적이다. 배치 노름에서는 한 예시의 출력이 '같은 배치에 우연히 함께 담긴 다른 예시'에 은근히 의존하지만, 레이어 노름은 그 연결을 끊는다. 시퀀스를 토큰 단위로 처리하는 것이 본업인 모델에게 이 독립성은 부가 혜택이 아니라 핵심 그 자체다.

주요 인사이트

  • 정규화 기법의 이름이나 수식보다 '어느 축(배치 vs 특성)으로 통계를 내느냐'가 실제 동작을 가르는 유일한 변수라는 점을 이해하면, 두 방법을 헷갈리지 않는다.
  • 배치 노름의 숨은 약점은 '한 샘플의 출력이 배치 동료에 의존한다'는 것이다. 이는 학습에서는 정규화 효과로 작동하지만, 배치가 사라지는 추론에서 곧바로 문제가 된다.
  • 가변 길이·작은 배치·한 토큰씩 생성이라는 시퀀스 모델의 현실이 레이어 노름을 필연적 선택으로 만든다 — 구조가 알고리즘 선택을 결정한 사례다.
  • 학습과 추론의 통계 분포가 어긋나면 성능이 무너진다는 원리는 정규화뿐 아니라 딥러닝 전반에서 반복되는 교훈이다.

자주 묻는 질문

배치 노름과 레이어 노름은 근본적으로 무엇이 다른가?

둘 다 신경망을 흐르는 값을 잘 정돈하는 같은 목표를 갖지만, 활성값 표에서 평균과 표준편차를 계산하는 방향이 다르다. 배치 노름은 하나의 특성을 배치 전체(열)에 걸쳐 통계를 내고, 레이어 노름은 하나의 예시의 모든 특성(행)에 걸쳐 통계를 낸다. 빼고 나누고 스케일·이동하는 나머지 과정은 동일하다.

트랜스포머는 왜 배치 노름 대신 레이어 노름을 쓰나?

시퀀스 모델에서는 배치 축이 불안정하기 때문이다. 문장 길이가 달라 패딩된 자리에서는 배치 통계가 쓰레기값 위에서 계산되고, 작은 배치에서는 열 평균이 크게 흔들린다. 특히 토큰을 하나씩 생성하는 추론에서는 배치에 토큰이 하나뿐이라 평균 낼 대상이 없어 배치 노름의 학습·추론 동작이 어긋난다. 레이어 노름은 행 안에서만 평균을 내 이런 문제를 피한다.

레이어 노름이 각 토큰을 '자기 완결적'으로 만든다는 말은 무슨 뜻인가?

레이어 노름은 한 예시(토큰)를 정규화할 때 그 예시의 특성들만 사용하고 배치 속 다른 예시는 전혀 보지 않는다. 그래서 한 토큰의 출력이 같은 배치에 우연히 함께 담긴 다른 토큰에 의존하지 않는다. 시퀀스를 토큰 단위로 처리하는 모델에게 이 독립성이 핵심이다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식