Feature을 fusion하는 방법은 어떤 것이 있을까?
Feature Fusion
- Feature fusion은 알고리즘의 한 종류라고 할 수 있는데 몇개의 독립적인 features를 하나의 유니크한 feature로 합치는 것이다.
- 예를 들어 두 벡터형식의 features가 있다고 할 때 이 둘을 어떻게 합쳐서 처리할 수 있을까?
Add
- Add는 두 벡터를 하나가 되도록 더하는 것이다
$A+B=C$
- 이 때 두 $A$와 $B$의 shape는 같아야하며 만약 같지 않을 경우 행렬 곱셈을 통해 동일하게 만들어야 한다.
- ResNet의 핵심적인 아이디어이다.
- identity matrix summation은 학습 속도를 빠르게 하고 gradient flow를 강화해서 역전파시 에러 이전 레이어에 더 쉽게 전달할 수 있다. 이를 통해 vanishing gradient 문제를 다룰 수 있게 된다.
Concatenate features
- Concat은 features를 벡터에 연결하는 것이다
$A$가 1*m이고 $B$가 1*n일 경우 $A$와 $B$를 concat할 경우 1*(m+n) 벡터가 된다
- Inception에서 처음 사용되었고 이후 DenseNet에서 사용되었다
- Inception에서는 다양한 필터 사이즈로 계산한 feature map을 concat하여 가장 효과적인 필터 사이즈를 굳이 안찾아도 되게 하였다. DenseNet에서는 이전 feature maps를 concat하여 다음 레이어가 바로 이전 레이어에 의해 생성된 feature map에서 작업할 수 있게 한다.
언제 features를 add하거나 concat할 수 있을까?
- 만약 같은 알고리즘이나 데이터를 가지고 features를 계산했을 경우 add하거나 average할 수 있다. 그렇지 않은 경우 concat할 수 있다. 그러나 이것은 고정된 룰은 아니다.
Reference
https://masterzone.tistory.com/36
'AI 모음' 카테고리의 다른 글
Out-of-Distribution (OOD) Detection (1) | 2024.11.19 |
---|---|
인공지능이란? (0) | 2022.06.01 |
댓글