Hello Computer Vision

CNN의 Inductive Bias 본문

딥러닝

CNN의 Inductive Bias

지웅쓰 2023. 3. 23. 14:50

이번에 ViT를 공부하면서 Inductive bias 가 CNN에 비해 부족하다는 말을 한다. 사실 이 부분은 이전에 공부했을 때부터 많이 들었던 말인데 이전에 공부했을 때도 잘 이해되지 않아 일단 넘겼던 기억이 있는데 이번에 다른 자료로 공부해보니 이해가 잘되서 빨리 기록으로 남기려고 한다.

 

일단 CNN의 대표적인 특징을 살펴보자

 이렇듯 기본적으로 각각의 filter를 통해서 지역적인 정보를 습득하는데 이러한 방식은 이미지를 다룰 때 '지역적인 정보는 중요하다' 라는 가정이 깔려있는 것이다(그랬으니 이러한 알고리즘으로 CNN을 만들었겠지?). 

 

CNN의 특징을 살펴봤으니 그렇다면 이제 Inductive Bias가 무엇인지 한번 알아보자. 우리가 기본적으로 딥러닝 모델을 만든다고 하면은 기존 훈련데이터에만 잘 작동하는 것이 아닌 새로운 데이터에 잘 작동하도록 설계하고 훈련시킨다. 그렇다면 앞으로 새롭게 맞이하는 데이터들에 대해 어떠한 가정을 하고 이에 대해 모델을 설계한다면 더 잘 맞을 가능성이 높을 것이다. 그리고 이러한 가정이 CNN에서의 localitiy 인 것이며 이러한 가정이 잘 맞기 때문에 아직까지도 CNN모델이 잘 쓰이는 것이다. 

 

반대로 Transformer 를 살펴본다면 장점이라고 할 수 있는 self-attention 연산은 한번에 병렬적으로 이루어지기 때문에 지역적인 정보는 손실되며 이는 CNN에서 가지고 있던 '이미지는 지역적인 정보가 중요하다' 라는 가정을 잘 활용할 수 없는 것이고 이는 새로운 데이터에도 잘 적응할지에 대해 미지수인 것이다. 만약 분야에 따라 글로벌적인 정보가 지역적인 정보보다 더 중요한 이미지들이 많은 분야가 있다면 그 분야에는 Transformer 사용하는 것이 더 좋을 것이다. 상황에 따라 일장일단이 있는 방법들이 있지만 기본적으로 CNN이 작은 데이터셋에서는 더 잘 작동하고 Transformer가 대규모 모델에서 더 잘 작동한다고 한다.

 

결론: locality를 Transformer는 충족시킬 수 없기에 Inductive Bias가 CNN에 비해 부족하다.

 

참고자료

https://re-code-cord.tistory.com/entry/Inductive-Bias%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C