ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Self-Supervised Learning (1)
    학교 수업/ADL 2023. 10. 12. 17:15

    사실 두번째 SSL 수업인데 앞에서는 image transform based methods라 딱히 신기하다거나 끌리지 않아 오늘 내용과 함께 적으려고 한다. CL도 더 알고싶은데 아쉽다. 하지만 새로 배우는 SSL도 매우 흥미롭다.

     

    SSL과 Unsupervised Learning의 차이는 무엇일까? 일단 target supervised label은 존재하지 않을 수 있지만, supervisory signal은 존재하기 때문에 unsupervised learning이라고 하기에는 애매하다. 따라서 우리는 이걸 self-supervised learning이라고 부른다. 

     

    SSL의 evaluation은 어떻게 할까? self-supervised pretrained network를 downstream task에 transfer한다. backbone을 freeze하고 linear classifier를 학습시키는 linear probing과 whole parameter를 update하는 fine-tuning이 있다. 

     

    SSL의 objective은 unlabelled data로부터 high representation을 얻어 down stream task를 잘 푸는 것이다. 그럼 high representation은 어떻게 배울 수 있을까?

    SSL의 common approach는 다음과 같다.
    1. image transform based
    2. generation based
    3. contrastive learning based

    image transform based methods는 간단하다. label 없이 image augmatation을 이용한다. 예를 들면 Distortion을 적용한 방법이다. 첫번째 논문은 N개의 examplar patches를 sample하여 random transformation을 적용하고 classification을 위해 학습한다. 두번째 논문은 random rotation을 적용하여 correct rotation을 classify한다.

     

    이번에는 Predict Relative Position이다. 첫번째 논문은 first patch를 randomly sample하고 8개 neighboring location에서 second patch를 sample한 뒤, perturbation을 준 patch의 위치를 classify한다. 두번째 논문은 predicting position뿐만 아니라 permutation을 학습한다. shuffle된 patch들을 다시 reorder한다. 

     

    generation based methods는 잘 모르겠다. 먼저 denoising autoencoder가 나오는데, noise-corrupted version image를 recover하는 것을 학습한다. 즉, $x$와 $x'$ 사이의 MSE를 minimize한다. 두번째는 context encoder이다. masked region을 context에 기반하여 prediction하는 방법으로, autoencoder가 reconstruction loss로 학습된다. adversarial loss와 함께, reconstruction quality는 improved된다. 

     

    그 다음은 진짜 무슨말인지 모르겠는데 아무튼 limtation이 있다. medical image, non-local image에 noise를 추가해서 cnn based denoiser에 넣으면 mismatch problem이 난다는데 이게 무슨말일까.. no adaptively가 어디에 adaptive하지 않다는 거지..아무튼 supervised learning 처럼 denoiser를 통해서 minimize MSE를 하는 과정이 non-local 또는 medical image에서는 안된다는 거다. 

     

    Noisy observation $Z_i = x_i+N_i, E(N_i) = 0, Var(N_i) = \sigma^2$ 에서 이 $\sigma^2$을 알고있다고 가정하고, $N_i$는 independent하다. affin mapping 을 위해 unbiased estimate of MSE 를 구한다. 일단 single letter denoiser라고 가정한다. 

    $$\mathbb{E}(x-\hat{x}) ^2  = \mathbb{E}(x-(aZ+b))^2 = \mathbb{E}((Z-(aZ+b))^2 + (2a-1)\sigma^2)$$ 으로 유도되고, $\sigma$를 알고 있을 때 이 식이 unbiased estimate라는데 일단 unbiased estimate이 무슨 말인지도 모르겠고 이게 왜 unbiased estimate인지도 모르겠다. 내가 이해했을 때는 zero mean을 가지면 unbiased estimate이라고 생각했는데 이걸 봐서는 그게 아닌 것 같다.  

     

    이 컨셉을 pixelwise context adaptive affine mapping으로 적용했을때, $$\hat{x_i}(Z) = a(w, C^{-i}_{k \times k}) \dot Z_i + b(w, C^{-i}_{k \times k})$$ 로 바뀌고, $\hat{x_i}(Z)$는 i 번째 pixel, $a, b$가 function으로 바뀐다. output at location $i$ does not depend on $Z_i$ 가 중요한 것 같은데 무슨 말인지 모르겠다. 아무튼 context encoder와 비슷하다고 한다. $a_i = a(w, C^{-i}_{k \times k}), b_i = b(w, C^{-i}_{k \times k})$ 는 $\text{ conditionally independent of } Z_i \text{ given } Z^{-i}$ 이다. 이 unbiased estimate of MSE는 Stein's Unbiased Risk Esitimate (SURE) 과 연관이 있다고 하니 참고해보겠다. 

     

    이 Generative model은 Neural AIDE 이고 training할 때는 supervised training을 한 pre-trained weights를 방금 유도한 Estimated MSE 방식으로 adaptive fine-tuning한다. 그 다음 FC-AIDE도 비슷한데 무슨말인지 모르겠다.

     

    NLP에서 generative modeling한 방식은 BERT가 있다. subset of words를 masking하고 context에 기반하여 predict한다. 보통 15% masking한다. 이걸 이미지로 끌고온 논문이 BEiT이다. randomly masked image patches가 있고 visual tokens를 recover하기 위해 train한다. discretized vocabulary for image patch라고 써져있고 이게 discrete VAE라는데 무슨 말인지 모르곘다. MAE는 masked patch의 pixel value를 predict 한다. 차이점은 high masking ratio 를 가진다. BEiT랑 masking ratio 말고 뭐가 다른건지 모르겠다. 

    '학교 수업 > ADL' 카테고리의 다른 글

    Self-Supervised Learning (3)  (0) 2023.10.19
    Self-Supervised Learning (2)  (1) 2023.10.19
    Continual Learning (4)  (0) 2023.10.06
    Continual Learning (3)  (0) 2023.09.26
    Continual Learning (2)  (0) 2023.09.21
Designed by Tistory.