Transformer에서 FFN의 역할

a9umon·2026년 1월 1일

보충자료

목록 보기
6/9

CLIP을 보면, 다음과 같이 4배로 차원을 늘리는 구간이 존재함.

차원을 늘리는 것은 정보량을 늘리는 역할을 한다.

정보량을 늘렸다가 줄이는 데에는 다음과 같은 이유가 있다.

  • 모델의 표현력 증가
  • bottleneck 효과를 이용한 중요한 정보 추출

1. 모델 표현력 증가

차원을 확장하는 Up-projection과 이후 적용되는 activation function은 모델의 표현력을 향상시킨다. 그 이유는 아래와 같다.

1. 고차원 공간에서 다양한 특징을 표현할 수 있다.

  • 입력 차원을 확장하면 모델이 더 많은 특징을 학습하고 표현할 수 있는 공간을 확보하게 된다.

2. 확장된 차원에서 비선형성이 강화된다.

  • 10개의 차원에서 activation function을 통과시키면 10개의 non-linear modeling이 가능하다.
  • 만약, 4배 차원을 확장시킨다면, 40개의 activation function이 통과되면서 40개의 non-linear modeling이 가능해진다.

2. 정보 병목 효과와 정보 추출 능력 향상

Down-projection 과정에서 정보가 bottle-neck을 통과하면서 병목 효과가 발생한다. 병목 효과로 나타나는 양상은 아래와 같다.

1. 중요한 정보만 선별적으로 유지한다

  • 불필요한 노이즈를 제거하고, 핵심적인 특징을 압축한다.
  • 모델의 overfitting을 방지하고 normalization 효과를 낸다.
    → 모델의 일반화 능력이 향상된다.

다만,병목 효과는 아래와 같은 문제를 일으킬 수 있다.

병목의 강도가 지나칠 경우 정보의 흐름이 저해될 수 있다. 이로 인해 성능이 떨어지기도 한다.


이를 kernel trick을 쓰기 위해 차원을 늘렸다가 줄이는 과정으로 생각할 수도 있겠다...

profile
이것저것 다 합니다.

0개의 댓글