inductive bias는 딥러닝을 공부하다 보면 종종 마주치는 개념어다.
필자는 ViT(Vision Transformer)를 공부하면서 처음 접하게 되었는데, 당시 정확한 의미를 알지 못하고, 각 뉴럴넷의 아키텍쳐상의 특징 정도로 이해하였으나, ViT 논문에서 inductive bias의 등장 횟수를 세어보니 8번이나 되는걸로 보아 간단히 넘어갈만한 녀석은 아닌듯 하다.
ViT paper : AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
(https://arxiv.org/abs/2010.11929)
Inductive bias는 한국말로 직역하면 "귀납적 편향"이라고 하는데, 단어의 뜻만으로는 그 의미가 크게 와닿지는 않는 것 같다. 의미를 조금 더 파헤쳐보자.
Bias
Bias는 머신러닝과 딥러닝을 공부하다 보면 뺴놓을 수 없는 이야기다. 일반적으로 Bias는 모델의 예측값(estimate)와 타겟 값과의 차이를 말한다. 즉 Bias가 높은 모델은 데이터로부터 타겟과의 연관성을 잘 찾지 못하는 언더피팅 상태에 있다고 평가하게 된다.
Inductive bias
대부분의 머신러닝과 딥러닝 모델들은 특정한 가정을 한 특정한 상황에 맞는 모델들인데,
이러한 모델 자체의, 알고리즘 자체의 Bias(편향)을 Inductive Bias라고 한다. 따라서 앞서 이야기한 것 처럼, 각 모델의 특징에 따른 내재적인 편향(Bias)으로 이해할 수 있다. 예를 들어, 이미지 처리를 위한 CNN은 spatial locality를 잘 포착하도록 설계되었기 때문에 inductive bias가 locality이고 locality의 특성을 띄지 않는 데이터는 잘 처리하지 못한다. 마찬가지로 RNN도 sequential data를 잘 처리하기 위한 모델이고, inductive bias가 sequentiality다.
다시 말해 모델의 목적, 모델의 특수한 가정이 바로 Inductive bias가 되겠다.

CNN vs RNN vs GNN vs Attention


오늘날 딥러닝 모델의 대표적인 아키텍쳐는 크게 Fully connected Layer기반 MLP, Convolutioanl Layer기반 CNN, Recurrent Layer기반의 RNN, Attention Layer기반의 Attetion Based-Model 그리고 GNN이 있다.
각 아키텍쳐의 특징을 정리한 표이다.
CNN(Convolutional Neural Network)
CNN은 2D또는 3D의 이미지 데이터를 처리하는데 사용된다. CNN은 이미지의 인접 픽셀을 처리하고 이 정보를 통해 패턴을 학습하기 때문에 Inductive bias는 Locality다.CNN의 핵심 구성 요소인 컨볼루션 필터(커널)은 이미지 전체에 걸쳐 슬라이딩되며, 각 위치에서 필터와 입력 데이터간의 dot product를 통해 feature map을 생성하게 된다. 이러한 과정에서 CNN은 이미지 내에서 객체의 정확한 위치에 크게 구애받지 않고 해당 객체를 인식할 수 있다. 예를 들어, 이미지 내의 고양이가 왼쪽 상단에 있든 오른쪽 하단에 있든, CNN은 여전히 고양이의 특징을 감지하고 인식할 수 있다. 이러한 특징을 Spatial translation에 대하여 Invariance하다고 한다.
RNN(Reccurent Neural Network)
RNN은 시퀀스 데이터를 처리하는데 사용된다. 시퀀스 데이터는 순서가 중요하고, 이를 통해 패턴을 학습하게 된다. RNN의 inductive bias는 sequentiality다. RNN의 핵심은 과거 정보를 일정 기간 동안 기억하고 이를 현재의 입력과 함께 처리하여 출력하는 것이다. 이러한 과정에서 각 시퀀스의 순서가 바뀌더라도 RNN은 해당 패턴을 인식할 수 있는데, 예를 들어, 문장에서 주어와 동사의 순서가 바뀌더라도, RNN은 문맥을 이해하고 관련 정보를 추출할 수 있다. 이러한 특징을 Time translation에 대해서 Invariance하다고 한다.
Attention Based-Model
해당 표에 Attention Based-Model는 생략되었지만, ViT논문이 언급했듯 CNN과 RNN 아키텍쳐보다 inductive bias가 적다고 이야기 하고 있다. 따라서 ViT와 같은 모델은 CNN대비 더 많은 양의 이미지로 사전 학습을 시켜야 된다고한다. 이들 Attention Based-Model이 가지는 inductive bias는 contextual relaitionships와 global dependencies다. 이들 모델은 전체 입력 시퀀스를 통해 글로벌한 의존성과 컨텍스트 관계를 학습하도록 한다.
일반적으로 모델 아키텍쳐의 Inductive bias가 낮을수록 학습을 위해 더 많은 양의 데이터를 필요로 하는 것으로 알려져 있다. ViT의 경우를 예로 들면 CNN계열의 모델보다 이미지 분류에서 고성능을 내기 위해 더 많은 수의 이미지가 필요로 한다. ImageNet과 같은 데이터셋이 아니라 JFT-300M같은 대규모의 데이터셋으로 학습했을 때, ResNet 기반의 모델보다 더 좋은 성능을 보인것으로 소개되었다.
'기초 노트 > VisionAI' 카테고리의 다른 글
앵커박스(Anchor-box)와 바운딩 박스(Bounding-box)의 차이 (0) | 2024.06.03 |
---|---|
Trasnfer Learning vs Fine-tuning 그 차이가 뭔가요? (0) | 2024.05.07 |
딥러닝 FLOPs의 의미 (2) | 2024.05.02 |
translation-equivariance vs invariance 설명, "CNN은 translation invariant하다." (1) | 2024.03.06 |
뉴럴넷 컨볼루션 필터의 모양과 사이즈는 왜 정사각형일까? (1) | 2024.02.13 |