관련 링크 : https://arxiv.org/abs/1703.01780
  • Semi-Supervised Learning의 방법 중 하나인 Consistency Training 관련 논문
  • Temporal Ensembling이 가진 단점들을 보완
  • 당시 SOTA를 기록했고, 몇몇 부분에서 더 우수했던 Virtual Adversarial Training과 결합 가능

Method

img1

  • 라벨이 있는 데이터에서만 Classification Cost(Supervised Loss)가 계산되며, Consistency Cost(Unsupervised Loss)는 항상 계산된다.

    • Temporal Ensembling과 동일하게, 학습 초기에 Consistency Cost에 가중치를 낮게 두고 진행에 따라 점점 높이는 방식(Consistency Ramp-Up)으로 최종 손실함수를 얻는다.
  • Student ModelTeacher Model은 서로 다른 노이즈($\eta$, $\eta’$)를 사용한다.

    • 노이즈는 입력에 augmentation, 입력 층에 Gaussian noise, 모델에 dropout을 적용했다.

    Consistency Training에서, 라벨링이 없는 데이터의 라벨을 학습시킬 모델을 이용해 만든다. 따라서, 데이터를 이용해 학습하는 Student의 역할과, 라벨을 만들어내는 Teacher의 역할을 모두 수행한다. 위 그림에서는 Teacher의 출력이 Consistency Cost 계산을 위한 라벨이라고 볼 수 있다.

  • Teacher Model의 파라미터 $\theta’$는 이전에 학습된 모델들의 지수이동평균이다.

    \[\theta_t'=\alpha\theta_{t-1}'+(1-\alpha)\theta_t\]
    • 매 에폭마다 라벨을 업데이트 했던 기존 방식과 달리, 매 학습($t$)마다 모델을 갱신해 Student와 Teacher간의 피드백 주기를 감소시킨다.
    • 피드백 주기가 짧아져 대용량 데이터나 온라인 학습에도 적용 가능하다.
    • 하지만 두 개의 모델을 사용하므로 두번의 추론이 요구된다.

Experiments

  • 당시 SOTA였으므로, 기존 연구들과의 성능 비교는 적지 않음
  • 모든 실험을 다 기록하지 않음

$\boldsymbol \Pi$-model .Vs Mean Teacher

img2

  • 모든 데이터가 라벨링이 되어있을때(첫번째 열), 두 방법은 거의 동일한 성능을 보여준다.
  • 다른 열을 보면, Mean Teacher가 $\Pi$-model보다 라벨이 없는 데이터를 더 효율적으로 사용함을 보여준다.

Effect of Hyperparameters

img3

  • (c)는 Classification Cost와 Consistency Cost를 합할 때 후자의 가중치 최대값이다.
  • (d)는 지수이동평균의 파라미터 $\alpha$이다.
    • .99/.999는 (c)가 최대치에 도달하기 전에는 .99를 사용하고, 이후에는 .999를 사용했다는 뜻이다. 저자들은 학습 초기에는 Student를 빨리 학습시켜 부정확한 Teacher를 빠르게 갱신하기 위해서라고 말한다.

Decoupling Classification and Consistency

img4

  • Consistency와 Classification Cost를 출력 하나로 둘 다 계산하는 것 대신, 두 개의 출력을 만들어 각 각 계산해본다.
  • $x$축은 모델의 두 출력 사이의 거리를 의미하는 MSE Loss의 가중치를 뜻한다. 0인 경우 MSE Loss가 모델에 영향을 주지 않으므로 두 출력이 같을 필요가 없고, 1에 가까워질 수록 두 출력이 같아지도록 모델이 학습됨을 의미한다.
    • Decoupling이 적은 것들이 성능이 더 좋다.
    • Decoupling을 사용할 경우 consistency ramp-up을 무의미해 질 수 있다.

Mean Squared Error .Vs KL-Divergence

img5

  • $\tau=0$일 때 MSE, $\tau=1$일 때 KL-div가 되도록 Consistency Cost를 두 Cost의 합으로 만들었을때 성능이다. MSE가 더 좋다.

Leave a comment