https://arxiv.org/abs/1902.03545
Abstract
- Visual Classification Task에서 Task를 Vector로 표현하는 방법론을 제시함
- "Probe Network"의 학습 과정을 통해 발생하는 Fisher Information Matrix의 Estimates를 계산해서 처리함
- 결과로 나오는 벡터는 모두 동일 차원의 벡터 형태이며, Class 종류의 개수나 데이터의 개수와 무관함
- Task의 벡터 표현을 통해 Visual Task에서 유사한 Task를 정의할 수 있음
- 연구자는 잘 작동하는 Feature Extractor를 예측하는 방법론을 해당 Metric을 통해 도출하였고, 결과가 좋았음
Idea behind the methodology
- 복잡한 시각 인식 Task를 학습한 DNN의 Activations은 Input Image에 대한 많은 Representation을 제공함
Methodology
- 주어진 Task에 대해, pre-trained 기준 CNN 모델 (Probe Network)에 데이터를 학습시킴
- 해당 CNN 모델의 각 filter parameter에 대한 대각 Fisher Information Matrix (FIM)을 계산해 task의 구조를 파악함
- 결과는 고정된 차원의 벡터 형태가 될 것임
Fisher Information Matrix
- 모델 파라미터에 대한 점수의 기대공분산으로 생각될 수 있음 (여기에서는 Log-Likelihood의 gradients)
- 만약 주어진 Task의 분류 성적이 특정 Parameter에 대해 의존적이지 않다면, 이에 대응하는 FIM의 성분은 작을 것
Further Explanation
- Probe Network
- ImageNet에 사전학습된 CNN (ResNet)을 Feature Extractor로 사용하고, 주어진 task에 대해 classifier layer만 재학습하는 방식
- Approximating FIM
- 계산 복잡도를 낮추기 위해 대각 성분만 고려했음. 이것은 암묵적으로 서로 다른 필터 간의 상호작용에 대해 무시하고 있는 것으로 볼 수 있음
- 계산 복잡도를 낮추기 위해 같은 필터 내의 가중치는 평균을 구했음
- Resulting Vector
- Probe Network의 필터 개수만큼의 고정된 차원을 갖는 벡터
Questions that Task2Vec can answer
- 주어진 Task와 유사한 Task는 무엇인가?
- Task의 복잡도를 재는 Measure는 무엇인가?
- 주어진 Task에 대해 어떤 Feature Extractor가 성능이 좋을 것인가?
Datasets used in Task2Vec
- iMaterialist (CVPR 2018): 의류 항목의 분류 문제
- CUB-200: 새의 분류 문제
- iNaturalist (CVPR 2018): 다양한 동식물종 자연 이미지 데이터셋
Task embedding across tasks
- 유사한 Task는 가까이에 위치함 (의미론적, 학계분류적으로도)
- Task Embedding은 데이터셋의 Label도 고려하고 있음
- Domain Embedding은 데이터셋 자체만 고려하고 있음
Task similarity matrix ordered by hierarchical clustering
- 계층적 군집화로 Order된 Task들에 대해 군집 내의 Task끼리의 유사도가 Task2Vec의 Measure로도 높음
Task2Vec Measures
- Task2Vec에서 고안된 Task 간 거리 개념은 의미론적 거리에 대한 좋은 Measure로 확인됨
- Task의 L1 Norm은 Task 복잡도를 표방하고 있음
Selecting best available expert through Task2Vec measures
- Task2Vec에서 고안된 measure는 가능한 expert 중 최고의 expert를 종종 선택하게 도와줌
- 데이터셋의 크기가 변화하더라도 Task2Vec으로 선정한 Feature Extractor의 성능이 좋음
- 어떤 Metric을 사용하느냐에 따라 Model Selection의 성능이 달라질 수 있음
- Task2Vec: Symmetric Distance 사용 (d(a,b)=d(b,a))
- Asymmetric Task2Vec: Asymmetric Distance 사용 (d(a,b)!=d(b,a), Task A가 Task B를 잘 표현한다고 해서 Task B가 Task A를 잘 표현하지 못할 수 있다. 예를 들어, ImageNet은 고양이 사진 데이터셋을 잘 표현하나 고양이 사진 데이터셋은 ImageNet을 잘 표현하지 못할 수 있다.)
- Model2Vec: Model에 의한 bias까지 고려한 벡터를 학습하여 학습 모델의 성질 및 Task 간의 관계까지 고려함