논문 읽기/Zero shot

[논문 읽기] SIGN(2021), Spatial-information Incorporated Generative Network for Generalized Zero-shot Semantic Segmentation

AI 꿈나무 2021. 10. 6. 02:32
반응형

SIGN: Spatial-information Incorporated Generative Network for Generalized Zero-shot Semantic Segmentation

 PDFZero shot semantic segmentation, Jiaxin et al, arXiv 2021

 

Summary

 Zero shot semantic segmentation 논문이다. 이전 방법에서 두 가지를 개선했다. (1) positional encoding, (2) self-training. position 정보를 주입하여 noise를 생성하고 generator에 전달하는데 이 방법이 효과가 있네? 상당히 성능이 상승한다. 그리고 기존 ZSSS에 사용하는 self-training 방법은 pseudo label에서 unseen에 대한 confidence가 일정 값 이하히면 제거했는데, 제거하지 않고 모두 사용하는 대신에 loss를 re weight 하는 방법으로 개선했다. 낮은 confidence를 지닌 pseudo pixel도 유용한 정보를 갖고 있을 것이다라는 가정에서 출발했다.

 

generator에 word embedding과 random noise를 전달한다. 이 random noise는 model이 feature 다양성의 부족에 의해 발생하는 collapsing 문제를 예방한다.

 

 

 이전 방법들과 논문 방법을 비교한 그림. novelty는 noise를 생성할때 position encoding 정보를 추가하는 것이다.

 

SIGN, spatial-information Incorporated Generative Network

 

 논문의 method를 설명한다.

 

 SIGN은 한개의 unlearnable mapping network M과 5개의 learnable network(E, G, C, D, SIM)로 구성된다.

 

 유심하게 봐야할 부분이 SIM인데 SIM은 backbone E의 출력값을 받아 real feature와 noize를 출력한다.

 

 모델의 optimization은 3가지 과정으로 이루어져 있다.

 

(1) Training Step(SIM)

 이 과정은 seen data로 encoder E, SIM, classifier C가 학습된다.

 

 E는 이미지로부터 측징을 추출하는데 아무 segmentation network이면 된다.

 

 SIM(Spatial Information Module은 E(x) 를 입력 받아 positional encoding을 통하여 image feature에 spatial information을 incorporate 한다. 

 

 

 position encoding 정보는 간단히 그냥 concat함.

 

 SIM은 image feature와 space-aware stochastic latent representation z를 출력한다.

 

 이 z는 stochastic sampling을 위하여 가우시안 분포로 converge 하게 강요함.

 

 

 그리고 cross entropy loss도 사용

 

 

 이 p는 Feature F를 입력받아 classifier C의 출력값이다.

 

 최종적으로 E, SIM, C는 아래의 loss로 학습된다.

 

 

(2) Training Step(G)

 이제 generator가 학습될 차례이다.

 

 G는 E와 SIM을 고정한 채로 학습된다. G는 unseen에 대한 이미지를 생성하여 C가 unseen을 제너럴하게 prediction 하기 위함.

 

 G는 두 개를 입력으로 받는데 (1) semantic word embedding, (2) distributed prior z이다. stocastic한 z는 generator가 collasping하는 문제점을 예방하기 위함.

 

 mapping function M은 label을 입력받아 semantic word embedding을 출력한다. 이는 word2vec과 fasttext로 초기화된다.

 

 

 synthesized feature가 seen feature에 bias 될 수 있으므로 Maximum Mean Discrepancy(MMD) loss를 사용한다. 이 MMD loss는 synthetic feature와 real 사이의 거리를 감소시킨다. 최종 MMD Loss는 다음과 같다.

 

 

 

 또한 adversarial loss도 사용한다.

 

 

 최종 loss는 다음과 같다.

 

 

(3) Transfer Learning Step

 pseudo ground truth가 M과 G를 거쳐서 합성된 feature가 생성된다. 이 unseen에 대한 feature는 C로 전달되어 C가 학습이 진행된다. synthetic feature 뿐만 아니라 real feature도 입력 받아 다음의 loss를 함꼐 사용.

 

 

 

Relative Positional Encoding

 SIM은 encoding module과 reparameterization module로 이루어져 있다. encoding module은 residual structure를 사용하며 positional encoding을 사용하여 spatial information을 image feature로 통합한다. reparameterization module은 encoding module의 출력값을 입력 받아 stochastic latent code를 생성한다.

 

 positional encoding은 주기 함수를 이용

 

 

Annealed Self-Training

 unlabeled data를 prediction 값으로 pseudo label로 사용해 self training을 하는데, confidence 에 해당하는 loss 가중치를 다음과 같이 수정한다.

 

 

 seen data에 대한 weight는 1로 고정

Experiment

 오늘은 피곤해서 experiment는 내일 읽어야겠다.


my github

 

Seonghoon-Yu/Paper_Review_and_Implementation_in_PyTorch

공부 목적으로 논문을 리뷰하고 해당 논문 파이토치 재구현을 합니다. Contribute to Seonghoon-Yu/Paper_Review_and_Implementation_in_PyTorch development by creating an account on GitHub.

github.com

 

 

 

반응형