본문 바로가기

딥러닝/Paper Review

ECCV 2020 Multi-task 관련 논문 : Reparameterizing Convolutions for IncrementalMulti-Task Learning without Task Interference

728x90
SMALL

안녕하세요 오늘은 ECCV 2020에 나온 Multi-task learning 관련 논문을 리뷰하고자 합니다.

 

그럼 바로 설명들어가도록 하겠습니다.

 

Multi task에서 해결해야할 2가지를 

1. 모델을 본질적,점진적으로 만들고 이전에 학습 한 task를 잊지 않고 새로운 task의 정보를 지속적으로 통합 할 수 있어야 한다.

2. Multi-task 설정에서 Single-task 성능을 현저히 저하시키는 것으로 나타 났던 task 간의 불리한 상호 작용을 제거해야 한다.

 

해당 논문에서는 표준 neural network의 convolution을 학습할 수 없는 공유 부분과 task specific한 부분을reparameterizing 하여 위에서 말한 두가지를 달성한다.

 

Fig1.

위의 그림1은 각각 single-task, multi-task, reparameterized convolutions for multi-task set up을 나타낸다.

Single task는 각 task 마다 독립적이게 parameter들이 있다. 여기서 녹색과 파란색은 task specific 한 parameter를 뜻한다. Multi task는 모든 task가 검은색의 같은 backbone을 공유하고 이를 이용하고 있다. 마지막 RCM은 pre-train 되어있는 공통된 검은색 filter bank를 사용하고, 독립적,각 task 별로 최적화 되어있는 modulator가 있으며 이것이 각 task 별로 filter bank를 조정한다. 

 

Reparameterizing CNNs for Multi-Task Learning

1. Problem Formulation

P개의 task와 input tensor x가 주어질 때, 우리는 function f(x; Ws, Wti) = yi 를 배우는 것을 목표로 한다.

여기서 Ws는 공유되는 parameter이고, Wti는 task specific한 parameter이다. 기존에 나온 논문들에서는 function f(.)를 network의 layer 단계에서 배웠지만, 해당 논문에서는 convolution 연산을 reparameterizing하고, 작업에 따라 행동을 조정하여서 block 단계에서 f(.)를 배우는 것을 목표로 한다. 이렇게 함으로써 MTL setting에서 forgetting 문제를 다룰 수 있다. 

 

2. Task Interference

Task interfernce 해결의 중요성을 동기부여하기 위해 해당 논문에서는 state-of-the-art인 MTL model의 공유 모듈에서 task 별 gradient 방향을 분석하였다. 

그러고 난 후 Representation Similarity Analysis를 사용하여 위의 그림처럼 표현을 하였다.

위의 그림은 서로 다른 깊이에서의 task gradient 상관 관계를 보여준다. 이것은 Task간에 제한된 기울기 상관 관계가 있으며 task interference를 간접적으로 해결하는 것이 매우 어려운 문제임을 보여준다. 따라서 해당 논문에서는 다른 방향을 따르고 훈련 과정에서 다루지 않은 다른 task와 각 task의 parameter를 최적화 할 수 있는 공유 구성 요소와 함께 reparameterizing을 사용하는 것을 제안한다.

 

3. Reparameterizing Convolutions

Single-task learning에서 convolutional operation을 f(x; w) = y로 정의 하였다. kernel size를 k, p는 task라고 하면, single task setup은 아래와 같다. 

Single-task setup을 위와 같이 하면 복잡도는 아래와 같이 나온다. 

해당 논문에서의 목표는 f(.)를 reparameterize하는 것이고, 아래와 같다.

여기서 Ws는 shared 되는 것이고, Wti는 task specific한 parameter이다. 이것의 복잡도는 아래와 같이 나온다.

이는 위의 Sing-task setup보다 적은 복잡도이다. 

여기서는 공유 매개 변수인 Ws는 그대로 유지하면서, 작업 별 매개 변수인 Wi에 대해서만 최적화를 진행한다.

Single task W에 근접하는 매개 변수 Wti와 Ws의 집합을 찾기 위해서 자연스러운 선택은 간단히 Frobenius norm

을 최소화 하는 것이다.

이 방법은 단순해서 매력적이지만, 몇가지 주의할 점이 있다. 1) 매개 변수 공간의 모든 방향이 동일한 방식으로 작업 i에 대한 최종 performance를 제공하기 때문에 균일한 penalty를 받는다. 그러나, 동일한 Frobenius norm을 가진 Wti에 대한 두가지 다른 솔루션은 크게 다른 loss를 초래할 수 있다. 2) 또한 이 근사는 각 convolution layer에 대해 독립적으로 수행되며 한 layer의 부정확한 예측이 뒤의 layer에서 가질 수 있는 chain 효과를 무시한다. 

따라서 논문의 나머지 뒷 부분에서 이러한 한계를 해결하기 위해 다른 기술을 제안하고 있다.

 

Reparameterized Convolution

Reparameterized Convolution (RC) Wit Ws를 비선형 성없이 두 개의 2D convolutional layer의 스택으로 구현한다.

Ws는 공간 필터 크기 k를 갖고 Wit는 1 × 1 convolution이다 (그림 2b).
공유 가중치 Ws를 일정하게 유지하면서 stochastic gradient descent를 사용하여 task specific loss 함수에서 Wit 만 최적화한다.
이를 통해 하나의 작업에 대한 training이 다른 작업과 독립적으로 이루어 지므로 작업 간의 간섭을 배제하는 동시에 관심 지표를 최적화 할 수 있다.

 

Normalized Feature Fusion

Vector Wti를 직접적으로 훈련시키는 것 대신 두개의 terms, vector term인 vti와 scalar term gti안에서 reparameterization을 제안했다.

|| . ||는 Euclidean norm이다. 


이 재 매개 변수화를 그림 2c에 묘사 된 NFF (Normalized Feature Fusion)라고한다. NFF는 제한되지 않은 wit에 비해 더 쉬운 최적화 프로세스를 제공한다.

이 재 매개 변수화는 vit / k vit k를 단위 길이로 강제하고 필터 뱅크를 가장 잘 병합하는 방향을 가리 킨다. Vector norm k wit k = git은 새로 생성 된 필터의 적절한 스케일과 활성화의 스케일을 독립적으로 학습한다.

wit를 직접 최적화하는 것은 두 가지 모두를 공동으로 학습하려고 시도하는데, 이는 더 어려운 최적화 문제이다.

가중치 텐서 정규화는 일반적으로 최적화 프로세스의 수렴 속도를 높이기 위해 탐색되었다.

 

Response Initialization

여기서 네트워크 weight/ response가 저 차원 부분 공간에 있다는 matrix/ tensor decomposition 문헌 결과를 기반으로한다. 또한 그러한 부분 공간이 여러 작업을 수행하므로 MTL 설정에서 네트워크 초기화에 좋다. 이를 위해 ImageNet에서 Ws를 사전 훈련하여 직접 학습 한 것과 비교할 때 더 나은 filter bank Ws 생성을 위한 response의 의미있는 부분 공간을 식별한다.  y = f(x; Wm)를 input tensor x에 대한 response로 설정한다. (여기서 Wm는 사전 훈련 된 ImageNet 가중치). Y ∈ Rcout × n을 평균 벡터 y를 뺀 y의 n 개의 response를 포함하는 행렬로 정의한다.

위의 식을 SVD를 이용해서 계산한다. 이제 공유 된 convolution paramter Ws를

로, 작업 별 Wit를 U로 초기화 할 수 있다. 이 초기화 방법을 ResponseInitialization (RI)이라고 한다.

 

Result

여기서 Mm은 multi-task, Mb는 single task를 의미한다. 해당 single-task기준에 대한 평균 task 당 성능 저하로 모델 multi-task 의 성능을 정량화한다.

 

위의 표를 보면 backbone에 바로 돌렸을 때 각 task가 single task 보다 성능이 떨어지는 것을 알 수 있으며, Task-specific BNs와 Task-specific Convs를 각각 추가해을 때 성능이 Freeze encoder만 했을 때 보다 향상 됨을 확인할 수 있다.

위의 그림은 parameter의 수를 나타내는 그래프로, parameter수가 Task-specific BNs이 가장 적고, 그 다음 RCM이 parameter수가 적음을 알 수 있다. 적은 parameter로 Task-specific BNs 보다 더 좋은 성능을 나타냄을 아래의 표에서 나타내고 있다. 

위의 표는 해당 논문에서 제안한 것(Reparameterized Convolution, Response Initialization, Normalized Feature Fusion)을 사용했을 때의 성능 개선을 나타낸 실험 결과이다. 결과를 보면 최종 결과가 single task와 가깝게 나오는 것을 확인할 수 있다. 

 

PASCAL과 NYUD dataset에 대해 state-of-the-art와 비교한 결과이다. 현재 sota인 방법들보다 성능이 향상 됨을 확인할 수 있다. 

 

 

이상으로 해당 논문 설명을 마치도록 하겠습니다

질문이 있거나 잘못된 부분이 있는 경우 댓글로 남겨주세요.

 

728x90
LIST