본문 바로가기
논문 리뷰/CV

[X:AI] Taskonomy 논문 리뷰

by hyeon827 2024. 5. 21.

Taskonomy: Disentangling Task Transfer Learning

 

 

Taskonomy: Disentangling Task Transfer Learning

Do visual tasks have a relationship, or are they unrelated? For instance, could having surface normals simplify estimating the depth of an image? Intuition answers these questions positively, implying existence of a structure among visual tasks. Knowing th

arxiv.org

 

 

2024_5기_Base_Session_Taskonomy_조현식.pdf
3.42MB

 

  • 오늘날 딥러닝 분야에서 주요하게 연구되는 주제들 중 하나로 transfer learning(전이 학습)
  • 특정 Task(ex. classification, detection, segmentation 등)에 대하여 학습된 딥러닝 모델을, 다른 Task로 '전이'하여 해당 모델을 사후적으로 학습
  • 해당 Task를 학습하기 위해 단순히 랜덤하게 초기화된 딥러닝 모델을 사용하는 것보다, 더 적은 양의 학습 데이터를 사용하면서 더 우수한 성능 발휘
  • 특히 딥러닝 기술이 적용되는 산업 현장에서는 학습 데이터를 구축하는 것 자체가 '비용'과 직결
  • Transfer Learning에 지대한 관심을 가질 수 밖에 없음
  • 본 논문 이전까지 보고되어 온 Transfer Learning 관련 연구는, 대부분 Source Task와 Target Task를 하나씩 정해놓고 둘 간의 Transferability만을 판단
  • 본 논문은 '둘 이상의 Task들에 대한 Transferability를 한 번에 펼처놓고 볼 수 없을까?'라는 상상에서 출발하여 여러 개의 Visual Task들에 대한 딥러닝 모델의 Transferability를 한 단계 추상화된 레벨에서 관계도의 형태로 나타냄
  • 이에 기반하여 어느 새로운 Task에 대한 딥러닝 모델의 성능을 극대화하고자 할 때 어떠한 Source Task(이미 학습된 모델)들을 어떻게 조합하여 될지 연구

   * Transferability : 한 Task에서 학습된 지식이 다른 Task에서 얼마나 유용하게 사용될 수 있는지

 

 

1. Abstract & Introduction

  • Object Recognition, Depth Estimation, Edge Detection, Pose Estimation 등은 일반적인 비전 Task로 많이 연구
  • 각각의 비전 Task들이 서로 연관성이 있음에도 불구하고, 기존 접근법은 각 Task을 독립적으로 학습하는데 초점
  • 이는 데이터와 계산 자원의 비효율적인 사용 초래
  • 본 논문에서는 이러한 문제 인식을 바탕으로 비전 Task간의 구조를 파악하고 그래프 형태로 표현
  • 여기서 말하는 '구조'란 여러 Task 간의 관계를 봤을 때 한 Task가 다른 Task에 얼마나 유용한 정보를 제공하는지에 대한 관계 => 새로운 Task에 대한 딥러닝 모델을 보다 효율적으로 학습
  • Target Task를 단독으로 학습했을 때 대비 성능이 향상된 수준을 'Tranferability' 척도로 측정
  • 이렇게 조사된 Task 간의 관계를 Affinity Matrix(유사도 행렬)로 표현한 후 Target Task에 대한 최적의 Tansfer Policy를 찾아냄
  • 모든 과정은 각 Task에 대한 Prior Knowledge가 개입하지 않도록 구성
  • 특정 Task에 대한 지식(사전지식)에 의존하지 않아 모델이 새로운 Task에 대해 더 잘 대응

 

  • 즉, Taskonomy란 컴퓨터 비전 분야에서 다양한 작업 간의 상호 의존성을 탐구하고,  각 Task의  시각적 특징들이 서로 공유될 수 있는지를 조사하고, 이를 통해 모델의 학습 효율성과 성능을 향상시킬 수 있는 Transfer Learning 방법을 연구

 

2. Related Work

  • Taskonomy 방법과 관련된 매우 다양한 관련 연구 주제들이 존재

   (1) Self-Supervised Learning 

  • 데이터 자체에서 레이블을 자동으로 생성하여 학습하는 방법
  • 레이블링 비용이 낮은 Task로부터 학습한 정보를 더 레이블링 비용이 높은 Task에 적용
  • ex) 색상화 -> 객체 검출
  • 레이블링 비용이 낮은 작업: 흑백 이미지 색상화
  • 해당 작업은 원래 컬러 이미지를 흑백으로 변환한 후 이를 다시 컬러로 복원하는 과정
  • 자동으로 데이터를 생성할 수 있으므로 레이블링 비용이 낮음
  • 레이블링 비용이 높은 작업: 객체 탐지
  • 각 객체의 위치와 클래스에 대한 정확한 레이블이 필요하므로 레이블링 비용이 높음
  • 소스 작업 지정:Self-Supervised Learning에서는 사람이 소스 작업(모델이 먼저 학습하는 작업)을 지정해야 하는 경우가 많지만, Taskonomy는 Task 간의 관계를 자동으로 학습하여 최적의 소스 작업을 선택

   (2) Unsupervised Learning 

  • 데이터에 명시적인 레이블이 없는 상황에서 데이터의 구조와 패턴을 학습하는 방법
  • 주요 목표는 데이터의 중요한 특징을 추출하는 것
  • ex) 클러스터링 - 데이터 포인트를 비슷한 특성을 가진 그룹으로 묶는 작업
  • 차원 축소 - 고차원의 데이터를 저차원 공간으로 투영하게 데이터의 중요한 특징 추출
  • 레이블 필요 여부:Unsupervised Learning은 레이블이 필요 없지만, Taskonomy는 명시적인 레이블을 필요
  • 학습 목표:Unsupervised Learning은 데이터의 내재된 구조를 찾는데 중점을 두고, Taskonomy는 작업 간의 Transferability를 최대화하기 위해 Task 간의 관계를 학습하는데 중점

   (3) Meta-Learning

  • 모델이 새로운 Task을 빠르고 효과적으로 학습할 수 있도록 하는 일반적안 학습 방법(다양한 Task 간의 공통적인 학습 원리)을 찾는 것을 목표로 함
  • 이는 다양한 Task에서 얻은 지식을 바탕으로 새로운 Task에 대한 학습을 가속화하는 것
  • 학습 레벨 :Meta-Learning은 모델 학습은 메타 레벨에서 다루어 여러 작업을 학습하는 방법을 일반화
  • Taskonomy는 각 작업 간의 관계를 학습하여 Transfer Learning을 최적화하는데 지중
  • 구제적 관계 모델링: Meta-Learning은 일반적인 학습 방법을 찾는데 중점을 두고, Taskonomy는 두 작업 간의 관계를 명시적으로 모델링하여 Transferability을 극대화

   (4) Multi-Task Learning

  • 하나의 모델이 여러 Task를 동시에 수행할 수 있도록 학습
  • 동시 학습 : Multi-Task Learning은 여러 Task를 동시에 학습하지만, Taskonomy는 Task 간의 관계를 학습하여 전이 학습의 효율성을 높임
  • 관계 모델링: Multi-Task Learning은 작업 간의 공통 표현을 찾는데 중점을 두고, Taskonomy는 작업 간의 관계를 명시적으로 모델링하여 특정 작업의 성능 향상

   (5) Domain Adaptation 

  • 동일한 작업을 수행하면서도 서로 다른 도메인 간의 데이터 분포 차이를 극복하는 데 중좀
  • ex) 서로 다른 카메라로 찍은 이미지 간의 차이를 줄이는 것
  • Domain vs Task : Domain Adaptation은 동일한 작업에서 도메인 간의 차이를 줄이는 데 중점을 두고, Taskonomy는 서로 다른 작업 간의 관계를 학습하여 전이 학습을 최적화
  • 전이 대상: Domain Adaptation은 도메인 간의 전이에 집중하지만, Taskonomy는 Task 간의 전이에 집중

   (6) Learning Theoretic Methods (학습 이론적 방법)

  • 모델의 일반화 성능을 보장하기 위한 이론적 방법들을 포함
  • 엄밀한 이론적 증명을 포함하며, 때로는 계산적으로 비효율적일 수 있음
  • 이론적 증명:Learning Theoretic Methods는 엄밀한 이론적 증명을 포함하는 반면, Taskonomy는 실용적인 접근을 통해 Task 간의 관계 학습
  • 실용성: Taskonomy는 이론적 증명을 피하면서도 실용적인 Transfer Learning 방법을 제안하여 실제 응용에서 효과적으로 사용

 

3. Method

  • Taskonomy는 여러 Task 간의 Transferability를 나타낸 Hypergraph
  • Taskonomy에서는 하나의 Target task의 성능을 극대화를 위해, 단일 Source Task가 아닌 여려 개의 Source Task를 동시에 활용할 수 있다고 가정
  • 따라서 이를 반영하고자 일반적인 Graph보다 Hypergraph로 정의(하나의 Edge가 복수 개의 Node들을 연결할 수 있는 Graph) 
  • T = {t1,...,tn} : Target task set
  • S = {s1,...,sn} : Source task set
  • k : Trasnfer order, 어느 하나의 Target Task에 대하여 활용 가능한 Source Task의 개수
  • Taskonomy 방법은 총 4개의 단계를 거침
  • 1단계 : S내의 각 Task에 대해 특화된 모델인 Task-Specific Network를 각각 독립적으로 학습
  • 2단계 : 지정된 Transfer Order k에 따른 서로 간의 조합 연산을 통해 조합 별 Transferability 계산
  • 3단계 : 계산된 Transferability에 대한 Normalization(일관성 있게 비교하기 위해)을 통해 Affinity Matrix를 얻음
  • 4단계: 이를 기반으로 각 Target Task에 대하여 최적의 성능을 발휘하는 Transfer Policy를 탐색(최고의 조합 찾기)

 

  • 본 논문에서는 Computer Vision에서 주로 연구되는 26가지 주제를 Task로 명시
  • 이는 Task Space로부터 샘플링을 통해 얻은 것들이기 때문에, 그 속성을 규명하고자 하는 Task Space를 완벽하게 대표한다고 보기 어려울 수 있음
  • 논문에서 채택된 26가지 Task 리스트

출처 : https://www.cognex.com/ko-kr/blogs/deep-learning/research/paper-review-taskonomy-disentangling-task-transfer-learning

 

   3.1  Task-Specific Modeling

  • Source Task set 내의 각 Source Task들을 Task-Specific한 Network를 이용하여 학습(Supervised Learning)
  • 이때 각 Task-Specific한 Network는 Encoder-Decoder 구조
  • Encoder는 입력 데이터부터 인코더를 통해 중요한 특성(feature) 추출
  • Decoder는 Encoder에서 추출된 표현을 바탕으로  최종 출력 결과 생성

 

   3.2 Transfer Modeling

  • Source Task Encoder: Source Task에서 이미 훈련된 Es를 사용
  • 해당 Encoder는 이미지에서 중요한 특성(Representation, Es(I))을 추출
  • Transfer Function: 추출된 특성을 바탕으로 Target Task의 출력을 생성하는 역할
  • Source Task의 Encoder의 출력을 입력으로 받아 Target Task의 출력을 예측하도록 훈련
  • Transfer Function은 비교적 작은 신경망 구조
  • 주로 Encoder가 이미 중요한 특성을 추출했기 때문에, Transfer Function은 이를 바탕으로 Target Task의 출력을 생성하는데 집중

  • 매개변수 최적화: Transfor Function은 Loss Function Lt를 최소화하도록  𝜃를 최적화
  • ft(I)는 이미지 I에 대한 Target Task에 대한 실제값(ground truth)
  • D 𝜃(Es(I))는 예측값
  • Ds->t의 성능이 높을수록 s,t간의 Transferability가 높아짐 (이는 Source Task의 정보가 Target Task를 해결하는데 유용하다는 의미)

 

  • Transfer Order k : 이는 몇 개의 Source Task를 사용할지 나타냄
  • 예를 들어, k=1은 하나의 Source Task를 사용하고, k=2는 두 개의 Source Task를 사용하는 것을 의미
  • 계산량 문제: k가 1보다 커지면, 즉 여러 Source Task를 조합하게 되면 가능한 조합의 수가 급격히 증가하여 계산량이 매우 커질 수있음. 이로 인해 모든 가능한 조합을 계산하는 것이 비효율적일 수 있음
  • 최적화 방법: 논문에서는 먼저 k=1의 경우를 계산, 즉 하나의 Source Task만을 사용하는 경우를 먼저 고려
  • k=1의 계산 결과를 사용하여 Hyergraph(여러 Source Task와 Target Task 간의 관계)를 그림
  • Beam Search : 가능한 조합의 수를 줄이기 위한 검색 방법
  • 먼저 k<=5인 경우 상위 5개의 Source Task를 선택(이는 첫 번째 transfer 성능에 따라 선택)
  • 그런 다음 이 상위 5개의 Source Task들 간의 모든 조합 고려
  • 상위 max(5,k) : k가 5 이상인 경우에는 Beam Search에서 상위 k개의 Source Task를 선택하고, 이들 간의 조합만을 고려

https://www.cognex.com/ko-kr/blogs/deep-learning/research/paper-review-taskonomy-disentangling-task-transfer-learning

 

   

   3.3 Ordinal Normalization using Analytic Hierarchy Process (AHP)

 

  • Step 2에서 계산한 Transferability를 기반으로 Affinity Matrix를 구하는 단계
  • Task A,B,C,D가 있다고 가정
  • 각 Task에서 다른 Task로 Transfer할 때의 성능을 비교
  • 각 Task t에 대해 다른 Task으로 Transfer할 때의 성능을 비교
  • 예를 들어, Task C로 Transfer 하는 경우 생각
  • Wt는 Task A,B,D가 Task C로 전이될 때의 성능을 비교한 Matrix
  • Matrix Wt의 요소 (i,j)는 Task i에서 Task C로 전이할 때, Task j보다 얼마나 더 나은지를 나타냄
  • 예를 들어, WtAB는 A에서 C로 Transfer할 때, B에서 C로 Transfer하는 것보다 얼마나 더 나은지에 대한 비율
  • 예를 들어, 100장의 이미지를 테스트했다고 가정하고, 각 이미지에 대해 Task A에서 C로 Transfer한 결과와 Task B에서 C로 Transfer한 결과를 비교
  • A->C가 B->C보다 나은 경우 : 60%
  • B->C가 A->C보다 나은 경우 : 40%
  • 이를 Matrix로 나타내면 WtA,B = 0.6, WtB,A = 0.4
  • Matrix Wt의 값들을 [0.001, 0.999]로 clip(극단적인 값 완화, 정규화 시 0 또는 1이 분모에 들어가는 것 방지)

  • Matrix Wt를 그 자신의 전치 행렬(Wt^T)로 나누어 정규화

  • W0t의 주요 고유벡터 계산
  • 주요 고유벡터의 각 성분은 해당 작업의 중심성
  • 여기서 v1 = 0.5는 Task A의 중심성을 나타내며, 이는 Task A가 다른 작업들에 비해 Task C로 전이할 때 가장 큰 영향을 미친다는 의미

  • 동일한 과정을 모든 작업에 대해 반복하여 주요 고유벡터를 구함
  • Task A,B,C,D 각각에 대해 주요 고유벡터를 계산한 결과를 row-wise로 쌓아올림
  • 모든 Task에 대해 주요 고유벡터를 쌓아올린 결과가 최종 Task Affinity Matrix가 됨

  • 왼쪽 그래프는 Target Task에 대해 여러 Source Task를 Transfer할 때의 손실 (색상이 옅을수록 transfer 성능이 좋음)
  • 오른쪽 그래프는 Transfer 성능을 정규화 (색상이 진할수록 transfer 성능이 좋음)

 

 

   3.4 Computing the Global Taxonomy

  • Task Affinity Matrix를 완성한 뒤 이를 사용하여 Target Task의 성능을 극대화하는 Transfer Policy를 찾아냄
  • Boolean Integer Programming(BIP) 문제를 푸는 것으로 목적 함수와 제약식이 설정
  • 결정 변수(x)들이 이진 값(0 또는 1)만을 가질 수 있는 문제 -> Transfer 여부
  • c는 Transfer의 이익 계수, c와 x의 내적값을 최대화하는 것이 목표
  • 제약조건 Ax <=b

    [이해를 돕기 위한 쉬운 예시]

  • 프로젝트 A: 수익5, 비용2
  • 프로젝트 B: 수익6, 비용4
  • 프로젝트 C: 수익7, 비용3
  • 프로젝트 D: 수익8, 비용5
  • 회사 총 예산 10
  • 이 회사는 최대 수익을 얻기 위해 어떤 프로젝트에 투자해야할지 결정
  • maximize 5x1+6x2+7x3+8x4
  • 제약조건 2x1+4x2+3x3+5x4<=10
  • x1,x2,x3,x4는 0 또는 1

 

https://www.youtube.com/watch?v=WjUGrzBIDv0&t=932s

 

 

4. Experiments

  • 본 논문에서는 총 26개 Task들 중 4개의 Task들(e.g. colorization, jisaw puzzle, in-painting, random projection)을 Source-Only Task로 정의
  • 이들을 제외한 나머지 22개 Task들 중 하나로 Target Task로 선정하고, Transfer Order k를 1부터 25까지 증가시켜 나가면서 Taskonomy 방법에 대한 실험 반복
  • 모든 실험에서 Task-Specific Network의 Encoder는 ResNet-50(Pooling Layer 제외) 구조 채택
  • Transfer Network의 Decoder는 Target Task의 종류에 따라 그 구조를 조금씩 다르게 설계
  • 우선, 각 Task에 대해 학습시킨 Task-Specific Model의 성능이 좋은지부터 Test
  • 충분히 안정적으로 잘 학습이 되었음을 확인
  • rand : 정규분포로부터 샘플링한 랜덤한 값들을 그래도 Task-Specific Network의 Weight들로 사용
  • avg : 각 Task 별로 전체 실제 레이블들을 평균한 결과를 그대로 사용(회귀문제:타켓 값 평균, 분류문제: 가장 높은 확률의 클래스)

 

   4.1 Evaluation of Computed Taxonomies

  • Supervision Budget과 Transfer Order k를 바꿔가며 학습한 결과 Taskonomy
  • Supervision Budget: Transfer에 앞서 미리 학습해 놓을 수 있는 Source Task들의 총 개수
  • 우측 확대 사진 -> Supervision Budget=8 , k = 4
  • 이미지 상의 물체들의 표면들을 검출하는 Surface Normal Estimation task가, Source Task들 중 하나로써 다양한 Target Task에 대하여 Transfer되고 있는 것을 확인
  • 이는 이미지 상에서 보여진 공간에 대한 이해를 수행하는 데 있어, 물체들의 표면을 검출하는 작업이 중대한 영향을 미칠 수 있다는 사실의 간접적인 증거로써 확인

 

 

  • 정량적인 결과 확인을 위해, 완성된 Taskonomy에 기반하여 얻어진 Transfer 규칙들을 각 Target Task에 적용하여 Transfer Learning을 수행했을 시의 성능 결과 조사 ('Gain'과 'Quality'라는 두 가지 지표 사용)
  • Gain: Transfer Network의 학습에 사용한 Validation Set(1.6만)으로, Target Task의 Task-Specific Network를 처음부터 학습하는 방법을 Baseline으로 설정했을 시의, Taskonomy 방법의 win rate(%)
  • Quality: Task-Specific Network의 학습에 사용한 Training set(12만)으로, Target Task의 Task-Specific Network를 처음부터 학습하는 방법을 Baseline으로 설정했을 시의, Taskonomy 방법의 win rate(%)
  • win rate(%) : Taskonomy 방법과 비교하고자 하는 Baseline 방법이 있을 때, 전체 Test Set 중에서 Taskonomy 방법의 예측 성능이 baseline 방법의 예측 성능보다 우수하였던 이미지 수 비율
  • Maximum Transfer Order k를 증가시킬수록, 그리고 Supervision Budget을 증가시킬수록, Gain과 Qaulity가 점차적으로 증가
  • Quality 값이 0.5에 도달 : 데이터 양의 차이가 있음에도 불구하고 Taskonomy 방법이 일정 수준 이상의 유사한 성능을 보여줌

 

   4.2 Generalization to Novel Tasks

  • 기존 Task Dictionary 내의 모든 Task들을 Source로, 기존 Task Dicitionary에 없었던 새로운 Task를 단일 Target으로  한 일반화 성능 검증 실험 수행

 

 

5. Sginificance Test of the Structure

  • Taskonomy 방법을 통해 찾은 최적의 Transfer Policy가 랜덤하게 정의된 Transfer Policy에 비해 얼마나 더 효과가 있는지 확인하기 위해, 간단한 유의성(Significance) 검증 실험 수행
  • 모든 Supervision Budget에서 Taskonomy 방법을 통해 찾은 Transfer Policy의 성능이 Quality와 Gain 두 가지 지표에서 월등하게 우수한 것을 확인

 

6. Limitations and Discussion

  • 본 논문에서는 복수 개의 서로 다른 Task들 간에 잠재적으로 존재하는 관계들을 모델링하는 Taskonomy 방법을 통해, 새로운 Task에 대한 딥러닝 모델의 학습을 보다 효과적이고 효율적으로 수행할 수 있다는 것을 보여줌
  • 다만, 저자들은 본 Taskonomy 방법을 구상할 때 몇가지 가정이 들어갔기 때문에, 이들을 점차적으로 완화하는 것이 곧 향후 연구를 통해 추구해야 할 방향임을 역설하면서 마무리
  • (1) Model Dependence : 학습은 DNN으로, 데이터는 이미지 데이터만을 사용하여 실험 결과가 Model,Data에 대해 Specific
  • (2) Compositionality : 본 논문에서 다룬 Task가 모두 사람이 정의한 Task로 더 많은 Task를 다루지 못함
  • (3) Space Regularity : 26개의 Task에 대해서도 샘플링하여 Task로 사용했기 때문에 일반적인 Task라고 봐도 될지에 대한 검증 필요
  • (4) Transferring to Non-visual and Robotic Tasks : Vision Task에만 검증을 수행하여 시각적이지 않은 분야에서도 Taskonomy 기법으로 Transferability를 높일 수 있을 지 의문
  • (5) Lifelong Learning : Taskonomy를 한 번에 완성하였는데 지속적으로 학습을 수행하며 어떤 Task를 꾸진히 발전시킬 수 있을지 연구 필요

 

7. Reference

https://www.cognex.com/ko-kr/blogs/deep-learning/research/paper-review-taskonomy-disentangling-task-transfer-learning

https://rahites.tistory.com/179

https://j2rooong.tistory.com/entry/Taskonomy-Disentangling-Task-Transfer-Learning

https://www.youtube.com/watch?v=WjUGrzBIDv0

'논문 리뷰 > CV' 카테고리의 다른 글

[X:AI] SimCLR 논문 리뷰  (1) 2024.07.14
[X:AI] Grad-CAM 논문 리뷰  (0) 2024.07.06
[X:AI] Mask R-CNN 논문 리뷰  (0) 2024.05.06
[X:AI] SegNet 논문 리뷰  (0) 2024.04.09
[X:AI] EfficientNet 논문 리뷰  (0) 2024.04.03