개요
Vision Transformer(ViT) 논문에서 언급한 inductive bias에 대한 개념을 정리하고 기록을 남깁니다.
1. Indective Bias 란?
Inductive Bias는 학습 시스템이 새로운 데이터를 일반화하는 방식에 대한 선호나 가정을 의미합니다. 이는 인간이나 인공지능이 학습하고 추론할 때 모든 가능한 경우를 다 고려하는 것이 아니라, 특정 방식으로 일반화하는 데 도움을 줍니다.
Inductive Bias의 중요성
인공지능 모델이 학습 데이터에서 본 것 이상으로 새로운 상황에서 잘 작동하려면, 반드시 어떤 형태의 inductive bias가 필요합니다. 모델이 데이터에서 직접적으로 학습할 수 없는 정보나 규칙들을 미리 제공해 줌으로써 일반화의 방향을 정하는 것입니다. CNN, RNN, Transformer 같은 다양한 AI 모델은 각기 다른 inductive bias를 가지고 있습니다:
- CNN의 locality와 translation equivariance는 이미지 인식에서 유리하게 작용하는 inductive bias입니다.
- RNN의 시계열 특성은 순차적 데이터 처리에 유리한 inductive bias입니다.
- Transformer의 self-attention 메커니즘은 모든 위치를 동등하게 처리할 수 있는 flexible한 inductive bias를 가집니다.
이러한 inductive bias 덕분에 모델은 제한된 데이터에서도 효과적으로 일반화할 수 있습니다.
딥러닝 컴포넌트에 따른 Relational inductive bias (“Relational inductive biases, deep learning, and graph networks”)
2. ViT 에서 언급한 Inductive Bias
Vision Transformer (ViT) 논문에서 언급한 inductive bias(귀납적 편향)는 CNN(convolutional neural network)과의 차별성을 강조하는 중요한 개념 중 하나입니다. 전통적으로 CNN은 이미지 데이터의 특성을 반영해 설계되었으며, convolution 연산을 통해 로컬 패턴이나 인접한 픽셀 간의 관계를 학습할 수 있도록 설계되어 있습니다. 이러한 구조적 특성 자체가 이미지 인식에 유리한 inductive bias로 작용합니다.
하지만 ViT는 CNN과 달리, Transformer 아키텍처를 사용하여 이미지를 픽셀의 집합이 아닌 일련의 패치로 보고 각 패치 간의 관계를 모델링합니다. 이때 Transformer는 self-attention 메커니즘을 사용하여 글로벌 패턴을 학습하고, 모든 위치 간의 상관관계를 고려하기 때문에 CNN과 같은 로컬 inductive bias를 필요로 하지 않습니다. 대신 ViT는 대규모 데이터에서 충분히 학습할 경우 이러한 inductive bias 없이도 성능을 발휘할 수 있다고 주장합니다.
ViT 논문 원문 내용 일부:
"Unlike CNNs, Transformers do not have the inductive biases of locality and translation equivariance. While CNNs exhibit strong performance in vision tasks due to their convolutional layers that are highly suited for image data, Transformers are data-hungry and only excel when large-scale datasets are available. When trained on sufficient data, Transformers are able to learn image features on their own without needing such inductive biases."
이 부분은 CNN이 가지는 두 가지 주요 inductive bias, 즉 locality 와 translation equivariance 에 대한 언급입니다. 지역성은 CNN이 국소적인 특성에 집중하도록 하는 특성이고, translation equivariance 은 물체가 위치를 바꿔도 동일하게 인식하도록 하는 특성입니다. CNN이 이러한 특성을 통해 효과적으로 이미지를 이해할 수 있지만, Transformer는 그런 inductive bias가 없으며, 대신 방대한 데이터를 통해 이러한 특징을 스스로 학습하도록 유도할 수 있다는 것이 핵심입니다.
따라서 ViT는 CNN처럼 강한 inductive bias가 없으나, 대규모 데이터로 학습을 하면 비슷한 성능을 발휘할 수 있으며, 데이터에 의존하여 학습되는 유연성이 장점이 될 수 있다고 설명하고 있습니다.
3. CNN 의 weight sharing 이 가지는 특징
Weight Sharing이 CNN에 미치는 영향
- Locality: CNN은 이미지의 로컬 패턴을 인식하는 데 탁월한데, 이는 각 필터가 국소적인 이미지 패치를 학습하여 해당 영역의 특징을 추출하기 때문입니다. 같은 필터가 이미지 전체에 걸쳐 적용되므로, 특정 패턴을 학습한 필터는 이미지 내의 다른 위치에서도 동일한 패턴을 탐지할 수 있습니다. 이는 CNN의 필터가 작은 영역에서만 적용되므로 locality가 자연스럽게 반영됩니다.
- Translation Equivariance: CNN에서 사용되는 weight sharing 덕분에, 학습된 필터는 이미지의 모든 위치에서 동일하게 적용됩니다. 예를 들어, 어떤 패턴이 이미지의 특정 위치에서 감지되었다면, 같은 패턴이 이미지의 다른 위치에서도 동일한 방식으로 감지됩니다. 이를 translation equivariance라고 하며, 물체가 약간 위치를 변경하더라도 동일한 특성을 인식할 수 있게 해줍니다.
Weight Sharing의 구조적 특징
- Convolutional Layers: CNN의 convolution 연산은 입력 이미지에 필터(가중치)를 슬라이딩 윈도우 방식으로 적용하여, 이미지의 각 부분에 동일한 가중치를 사용합니다. 이때 weight sharing이 일어나면서, convolution 연산이 이미지 전체에 동일한 필터를 적용할 수 있게 되며, 이는 CNN이 translation equivariance를 갖게 하는 중요한 이유입니다.
- Parameter Efficiency: Weight sharing 덕분에 CNN은 학습할 파라미터 수를 크게 줄일 수 있습니다. 전체 이미지에 동일한 필터를 적용하기 때문에, 동일한 패턴을 찾는 데 있어서 각 위치에 별도의 파라미터가 필요하지 않습니다. 이는 CNN이 적은 파라미터로도 효과적으로 학습할 수 있도록 해 줍니다.
따라서, weight sharing은 CNN이 locality와 translation equivariance라는 두 가지 중요한 inductive bias를 가지도록 만들어 주는 핵심적인 요소입니다.
4. Translation Equivariance vs. Translation Invariance
공부하면서 처음에 잘 이해가 안되었던 부분이 CNN 의 Translation Equivariance 과 Translation Invariance 의 차이점 이였습니다. 이 분분에 대해 아래와 같이 정리 합니다.
- Equivariance (등변성)란?
Equivariance는 어떤 변환이 입력에 적용되었을 때, 그에 대응하는 변환이 출력에도 동일하게 반영되는 성질을 의미합니다. "등변성"이라는 용어는 "같은 변화를 가진다"는 의미로, 수학에서 자주 사용되는 용어입니다.
- Translation Equivariance: CNN에서 translation equivariance는 이미지가 약간 이동하더라도 (예: 물체가 왼쪽에서 오른쪽으로 이동), convolutional layer의 출력 feature map에서도 동일한 이동이 반영된다는 것을 의미합니다. 예를 들어, 개가 이미지의 왼쪽에 있을 때 CNN의 feature map에서도 해당 패턴이 왼쪽에 나타나고, 개가 오른쪽으로 이동하면 feature map에서 그 패턴이 오른쪽으로 이동하게 됩니다.
즉, translation equivariance는 "패턴의 위치 변화를 CNN이 그대로 반영할 수 있는 능력"입니다. CNN의 weight sharing 덕분에 필터가 동일한 패턴을 이미지의 모든 위치에서 인식할 수 있기 때문에 이러한 특성이 나타납니다.
- Invariance (불변성)란?
Invariance는 입력에 특정 변환이 적용되어도 출력이 동일하게 유지되는 성질을 의미합니다. "불변성"이라는 말 그대로, 변환이 생기더라도 출력 결과가 변하지 않는 것을 뜻합니다.
- Translation Invariance: CNN에서 translation invariance는 입력 이미지에서 물체가 약간 이동하더라도 모델이 여전히 동일한 출력을 낸다는 의미입니다. 예를 들어, 개가 이미지의 왼쪽에 있든 오른쪽에 있든 상관없이 "개"라는 출력이 유지되는 것입니다. 이는 주로 pooling layer에 의해 발생하며, pooling이 위치 정보를 일부 희생하면서도 특징의 유무만을 강조하는 역할을 하기 때문입니다.
https://youtu.be/a4Quhf9NhMY?si=1WSGkj7m8Xh2tIeQ
왜 Equivariance를 "불변성"이라고 오해할 수 있는가?
CNN의 특정 layer에서는 translation equivariance가 유지되다가, pooling layer 등을 통해 점진적으로 translation invariance로 전환됩니다. 따라서 전체 CNN 구조에서 물체가 조금 이동하더라도 동일한 특징을 인식하는 "불변성"의 느낌을 줍니다. 하지만 엄밀히 말하면, CNN의 초기 layer에서는 등변성(equivariance)이고, pooling 등을 거쳐 높은 레이어로 갈수록 불변성(invariance)이 증가한다고 볼 수 있습니다.
이러한 이유로 CNN의 translation equivariance 특성을 설명할 때, 일부에서는 "위치가 변해도 CNN이 여전히 인식할 수 있다"는 점에서 쉽게 "불변성"으로 설명하기도 합니다. 그러나 정확하게 구분하자면, equivariance는 위치 변화가 그대로 반영되는 것이고, invariance는 위치 변화가 생겨도 출력이 동일하게 유지되는 것입니다.
요약
- Translation Equivariance (등변성): 입력의 위치 변화가 출력에서도 동일하게 반영되는 특성. CNN의 초기 convolutional layer에서 발생.
- Translation Invariance (불변성): 입력의 위치 변화가 발생해도 출력이 변하지 않는 특성. Pooling 등을 통해 CNN의 깊은 레이어에서 발생.
따라서, translation equivariance와 translation invariance는 각각 다른 개념이며, CNN에서 다양한 레이어를 통해 서로 조화롭게 작용하여 물체 인식의 성능을 높입니다.
Trade-Off의 원인
이 두 특성 사이의 trade-off는 주로 다음과 같은 이유로 발생합니다:
- Pooling의 사용: Pooling 레이어는 translation invariance를 증가시키지만, 동시에 일부 위치 정보를 잃어버리기 때문에 equivariance는 감소하게 됩니다. Pooling이 지나치게 많아지면 CNN은 세부 위치 정보를 잃고, 반대로 pooling이 적거나 없으면 패턴이 이동할 때마다 feature map이 변할 가능성이 커지므로 invariance가 줄어듭니다.
- 계층적 구조: CNN의 낮은 레이어에서는 주로 translation equivariance가 유지되며, 이미지의 로컬 피처를 세밀하게 다룹니다. 그러나 깊은 레이어로 갈수록 pooling과 같은 연산을 통해 점점 더 높은 수준의 개념을 학습하고 위치 정보에 덜 민감해지면서 translation invariance가 증가합니다. 즉, CNN의 계층 구조 덕분에 낮은 레이어는 equivariance에, 높은 레이어는 invariance에 더 초점을 맞추게 되어 점진적인 trade-off가 발생합니다.
따라서, translation equivariance와 translation invariance는 CNN 구조에서 어느 정도 trade-off 관계에 있다고 볼 수 있습니다. 모델이 어느 특성에 더 초점을 맞추느냐에 따라 구조와 하이퍼파라미터를 조정해야 하며, 이 균형은 특정 작업의 특성에 따라 다르게 최적화될 수 있습니다.
4. 인간이 가지는 Inductive Bias
인간은 학습과 추론에 있어서 강력한 inductive bias를 가지고 있으며, 이는 우리가 새로운 상황에 빠르게 적응하고 일반화할 수 있게 해줍니다. 다음은 인간이 가진 대표적인 inductive bias의 예입니다:
- 공간적/시간적 연속성: 인간은 세상에서 일어나는 사건들이 공간적으로나 시간적으로 연속된다는 가정을 가지고 있습니다. 예를 들어, 우리가 길을 걷고 있을 때 길의 끝이 갑자기 사라질 것이라고 생각하지 않습니다. 시간적으로도, 어떤 사건이 일어나면 다음 사건은 그것과 관련된 것일 확률이 높다고 생각합니다.
- 단순성의 법칙 (Occam’s Razor): 인간은 복잡한 설명보다 단순한 설명을 선호합니다. 예를 들어, 우리가 책상 위에 펜이 없다고 가정할 때, 펜이 어디론가 사라졌다고 판단하지 펜이 순간 이동을 했다고 가정하지 않습니다. 이는 단순하고 설명 가능한 방식으로 사물을 이해하려는 인간의 본능적인 경향입니다.
- 유사성에 기반한 일반화: 인간은 이전에 본 것과 비슷한 것에서 동일한 성질이 적용될 것이라고 추론하는 경향이 있습니다. 예를 들어, 새로운 동물을 봤을 때 이전에 봤던 비슷한 동물과 비슷하게 행동할 것이라고 예상하는 것이 이에 해당합니다.
- 객체 지속성(Object Permanence): 인간은 객체가 시야에서 사라져도 존재한다고 믿습니다. 이는 어린아이들이 시야에서 사라진 물건이 여전히 존재한다고 이해하게 되는 발달 과정에서도 볼 수 있습니다. AI 모델에는 이러한 inductive bias가 없기 때문에 물체가 사라지면 존재 자체가 없다고 인식할 수 있습니다.
- 인과적 추론: 인간은 사건들 간의 인과관계를 추론하려는 경향이 있습니다. 예를 들어, 'A가 발생했기 때문에 B가 발생했다'고 생각하는 방식입니다. 이러한 인과적 추론은 우리가 세상을 이해하고 예측하는 데 매우 중요한 역할을 합니다.
- 사회적 신호에 대한 민감성: 인간은 다른 사람들의 표정, 몸짓, 목소리 등을 통해 사회적 단서를 추론하는 강력한 inductive bias를 가지고 있습니다. 이러한 능력 덕분에 우리는 복잡한 사회적 상황에서 다른 사람의 의도나 감정을 빠르게 파악할 수 있습니다.
AI와 인간의 Inductive Bias 비교
AI 모델의 inductive bias는 모델의 구조나 학습 알고리즘에 의해 주어지며, 이는 특정 문제를 해결하는 데 매우 유용하지만 인간처럼 폭넓게 적용되지는 않습니다. 인간은 본능적으로 다양한 inductive bias를 활용하여 새로운 상황을 이해하고 적응할 수 있습니다. 반면, AI는 특정 영역에서 강력한 성능을 발휘하도록 설계된 제한적인 inductive bias를 가지고 있기 때문에 일반화에 한계가 있습니다.
예를 들어, 인간은 물리 법칙이나 인과 관계를 직관적으로 이해하고 예상할 수 있지만, AI는 데이터를 통해 그 법칙을 학습해야 합니다. 따라서 인간의 inductive bias는 더 넓고 다양한 상황에 적용 가능하며, AI는 특정 상황에서만 유효한 bias를 가집니다.
결론
Inductive Bias는 학습 모델이나 인간이 새로운 상황을 일반화하는 데 필수적인 요소입니다. 인간은 다양한 inductive bias를 통해 세상을 직관적으로 이해하고 적응할 수 있으며, AI 모델에도 특정 문제에 유리한 inductive bias가 내장되어 있습니다. 인간의 유연한 inductive bias는 AI의 강점인 특정 문제 해결 능력과 결합될 때 더 강력한 시스템을 만들 수 있는 가능성을 열어줍니다.
'AI' 카테고리의 다른 글
TensorFlow 함수형 API 로 AlexNet 논문 구현 (0) | 2024.11.18 |
---|---|
Colab 에서 Kaggle 데이터 API 로 받기 (3) | 2024.11.15 |
.ipynb_checkpoints 을 git 버전 관리에서 제거하기 (0) | 2024.11.12 |
Vanishing Gradient 와 Dead Neuron (0) | 2024.11.02 |
분류 모델의 평가 지표 (1) | 2024.10.29 |