What is inductive bias?
inductive bias란 training 과정에서 보지 못한 데이터에서도 좋은 성능을 낼 수 있도록 모델에 주어지는 가정이다. 예를 들면 CNN에서는 인접한 픽셀끼리 정보를 담기 위해(locality) 3차원의 filter를 사용하였다.
모델의 기본 구조
만약 input으로 H, W, C차원의 가 들어갔다면(H, W, C는 각각 이미지의 높이, 너비, 채널) transformer는 이 이미지를 pxp단위의 patch로 나누어 각각을 sequence로 간주한다. 즉 N = HW/개수의 를 가지고 각각 p, p, C 차원이다.
equation(1)을 보면 알 수 있듯이, embedded patch를 만들기 위해서 들에 class token과 position embedding을 추가해주고 D차원으로 매핑해준 것을 알 수 있다. 추가적으로 position embedding의 차원이 N, D가 아닌 N+1, D인 것은 class token때문에 차원이 늘어났기 때문이다.
자연어 처리에서 쓰였단 normalization의 경우 attention block다음에 적용이 되었지만 viT의 경우 normalization이 attention block 전에 적용이 된다는 차이점이 있다.
참고