Histology image를 대상으로 domain shift가 있는 상황에서 few-shot learning의 일반화 성능을 실험하고 자세히 알아보자.
주로 imagenet처럼 object가 center에 있는 데이터들에서 few-shot의 일반화 성능 실험들이 많았는데, histology image와 같이 multi object(cell), texture가 있는 데이터에서는 연구가 없었음
Standard training FSL에서, contrastive learning으로 pre-training하는게 fully supervised pre-training보다 unseen class / domain shift에서 일반화 성능이 더 좋더라.
Meta training FSL vs. standard training FSL
Meta training FSL : train set & test set 모두 support, query로 나눠서 학습 및 inference하는 few-shot learning
Standard training FSL : train set은 그냥 학습하고, test set에서만 support, query로 나눠서 inference하는 few-shot learning
저자들은 standard training FSL이 더 좋은 일반화 성능이 있다고 생각해서 이 세팅으로만 실험했다고 함
Pre-training 과정에서 학습한 backbone의 latent space에서 augmentation하는 방법을 제안하고, 이걸 적은 데이터만 학습해야하는 FSL에서 실험해보니까 성능이 개선된다는 것을 보임 (domain shift의 유무에 상관없이 다 성능 개선이 됨)
Latent Augmentation 동작 과정 요약
Train set에서 backbone이 출력한 feature들로부터 K-means clustering 수행
backbone feature들로부터 semantic prototype을 학습하는 셈)
각 cluster를 mean으로 잡고, covariance도 같이 구해서 normal distribution 형태로 저장
각 cluster $i$마다 $\mathcal{N} (c_i, \Sigma_i)$를 저장하는 것)
inference 시, support set이 들어오면 가장 가까운 cluster를 찾고, 해당 cluster의 분포로부터 sampling한 variance를 더하는 방식으로 augmentation한 데이터도 같이 학습
$\hat{z} = z + \delta$, $\delta \sim \mathcal{N}(0, \Sigma)$
요약하자면, 새로 들어온 데이터를 point만으로 학습하기보다는 그 데이터를 중심으로 variance를 같이 학습하도록 하는 augmentation이고, 이걸 latent space에서 수행하는 방식임
Review
SSL이 잘되면서 contrastive learning으로 backbone 학습하고, 그 feature로 prototype 잡고 few-shot하는 연구들이 많이 나오는 것 같음
이게 대세인가…?
General Backbone vs. Fast Adaptation에서 전자에 가까운 논문인데, 후자에 가까운 다른 방법들도 좀 읽어봐야겠음 (MAML 관련?)
TOWARDS BETTER UNDERSTANDING AND BETTER GENERALIZATION OF FEW-SHOT CLASSIFICATION IN HISTOLOGY IMAGES WITH CONTRASTIVE LEARNING
TL;DR
Review