기존 Transformer의 입력에서는 입력값에 Normalization을 안하는데 Vision Transformer에서는 특히 Normalization을 하는 이유가 있을까?

민죵·2024년 9월 22일
0

Question

목록 보기
18/25

이미지 데이터는 복잡한 차원의 scale을 가지는데 반해, 텍스트는 단어임베딩 자체가 이미 정규화된 분포를 가지고있기 떄문에 normalization을 할필요가없다.

Vision Transformer(ViT)에서 Normalization(주로 Layer Normalization)을 사용하는 이유는 이미지 데이터의 특성과 Transformer 구조의 차이에 기인합니다. 기존 Transformer에서 입력값에 직접적으로 Normalization을 적용하지 않는 것과 비교했을 때, Vision Transformer에서는 특정 이유로 Normalization을 강조하여 사용합니다.

ViT에서 Normalization이 필요한 이유:

  1. 이미지 데이터의 특성:

    • 이미지 데이터는 매우 고차원적이고 픽셀 간 상관관계가 복잡합니다. 특히, 픽셀값의 분포가 넓고, 다양한 스케일을 가지는 경우가 많습니다. 이 때문에 이미지를 패치로 나누고 이를 선형 변환하여 Transformer에 입력할 때, 각 패치의 표현이 고차원 벡터로 변환되며 다양한 스케일과 분포를 가집니다.
    • 이처럼 이미지 데이터는 고차원적이고 스케일이 크기 때문에, 이를 안정적으로 처리하기 위해서는 Layer Normalization이 필요합니다. Normalization은 각 패치 간의 스케일 차이를 줄여 안정적인 학습을 돕고, 기울기 폭발/소실 문제를 완화시킵니다.
  2. Transformer 구조의 특성:

    • Transformer는 Self-Attention 메커니즘을 사용하여 입력값 간의 상호작용을 계산합니다. 입력값의 스케일이 지나치게 다양할 경우, Self-Attention의 가중치 계산에서 문제가 발생할 수 있습니다.
    • ViT에서는 각 패치에 대한 정보가 Transformer에 입력되기 전 선형 변환(Linear Projection)을 통해 고정된 차원으로 임베딩되는데, 이 선형 변환된 패치 벡터의 분포를 정규화하는 것이 중요합니다. 이를 통해 Transformer가 입력 데이터를 고르게 처리하고, 각 패치 간의 관계를 효과적으로 학습할 수 있습니다.
  3. 이미지 패치 간의 분포 차이 감소:

    • 이미지의 각 패치는 공간적으로나 내용적으로 매우 다를 수 있습니다. 일부 패치는 하늘과 같이 균일한 색상 정보를 가질 수 있고, 다른 패치는 물체의 경계나 텍스처 같은 복잡한 정보를 포함할 수 있습니다.
    • 이러한 패치들 간의 분포 차이를 줄이기 위해 Layer Normalization을 적용하면, 패치 간 차이를 줄이고 더 고른 학습이 가능합니다.
  4. Transformer의 일반적 설계 관례:

    • ViT는 기존의 NLP Transformer 구조를 그대로 차용했으며, NLP에서 Transformer는 Layer Normalization을 주로 각 서브 레이어(Self-Attention과 Feed-Forward 레이어)에서 적용합니다. ViT에서도 이러한 설계를 따르고 있으며, Layer Normalization을 적용하여 각 패치의 정보를 안정적으로 처리하고자 합니다.
    • 특히 ViT에서는 패치 벡터에 위치 임베딩이 추가된 후에도 Normalization을 적용하여, 위치 정보와 패치 정보가 고르게 반영되도록 만듭니다.

기존 Transformer에서는 왜 입력값에 Normalization을 하지 않을까?

  1. 단어 임베딩의 특성:

    • NLP에서 사용하는 단어 임베딩은 보통 정규화된 분포를 가지며, 이미 적절한 차원으로 변환된 상태입니다. Word2Vec, GloVe 같은 임베딩 기법에서 단어 벡터는 이미 학습된 상태로 주어지며, 그 벡터들의 스케일이나 분포가 학습하기에 적절한 상태일 가능성이 높습니다.
    • 따라서 기존 Transformer에서는 단어 임베딩 자체를 정규화할 필요가 적습니다.
  2. 텍스트 데이터의 스케일 차이:

    • 텍스트 데이터는 이미지 데이터와 다르게, 단어의 임베딩 벡터들은 대체로 비슷한 범위와 스케일을 가집니다. 즉, 텍스트의 각 단어는 서로 비슷한 범위의 값을 가지기 때문에 Normalization이 꼭 필요하지 않습니다.

결론:

  • Vision Transformer에서 입력값에 Normalization을 적용하는 이유는, 이미지 데이터의 복잡한 특성과 스케일 차이 때문입니다. 이미지 데이터를 패치로 나누고 선형 변환한 후, 이 패치들의 스케일을 조정하여 Transformer가 안정적으로 학습할 수 있도록 하기 위해 Layer Normalization이 사용됩니다.
  • 반면, 기존 Transformer에서는 단어 임베딩 자체가 이미 정규화된 형태로 제공되기 때문에, 입력값에 별도로 Normalization을 적용할 필요가 없습니다.
profile
빅데이터 / 인공지능 석사 과정 (살아남쨔 뀨륙뀨륙)

0개의 댓글