[Semi-supervised Learning] Π Model, Temporal Ensembling and Mean Teacher

1 minute read

이 글은 Π Model, Temporal Ensembling and Mean Teacher 논문들을 읽고 작성한 글입니다.

Π Model, Temporal Ensembling 은 2017년도 ICLR 논문에서 소개되었던 방법이고, Mean Teacher 2017년도 NIPS에서 소개되었던 방법입니다. 이때 한창 ensemble, consistency에 관한 논문들이 많이 나왔던 것 같습니다.

위 세 방법도 ensemble prediction이라는 점에서 공통점이 있고, semi-supervised learning을 위한 방법이라는 점도 같습니다. 하나씩 설명해보도록 하겠습니다.

Π Model

스크린샷 2020-12-10 오후 10.39.30

Π 모델을 설명한 그림은 위와 같습니다. 일단 같은 input에 대해서는 noise가 적용되어도 비슷한 결과를 보여야 한다는 것에서 stochastic augmentation 을 각각 다르게 적용하였습니다. 또한, ensemble을 위해서 같은 input에 대해 다른 dropout을 적용하였습니다.

gaussian noise 와 augmentation을 통해서는 더욱 abstract invariances를 배울 수 있고, dropout regularization 효과가 있습니다. 하지만, training target이 single evaluation of the network에 기반해 얻어지기 때문에 약간은 noisy 하다는 문제점이 있습니다.

Temporal Ensembling

스크린샷 2020-12-10 오후 10.39.38

Π 모델의 문제점을 해결하기 위해 temporal ensembling 방법이 제안되었습니다. 이 방법에서는 과거의 network evaluation 들을 ensemble prediction 처럼 합침으로써 앞에서 있었던 noisy 문제를 완화했습니다.

위 그림을 보시면 \(z_i\) 와 이전 epoch에서의 \(\tilde{z}_i\)를 이용하여 squared difference를 구하는 것을 볼 수 있습니다. 오른쪽의 Z는 이전 epoch에서 network를 ensemble한 output의 weighted average 값을 포함하고 있습니다.

\(\tilde{z}_i\) 이 Π 모델보다는 덜 noisy하기 때문에 조금 더 나은 성능을 보이고 있습니다. 다만, Z를 저장할 매우 큰 공간을 필요로 합니다. (보시면 Z가 NxC 인데, 모든 이미지에 대해 저장하고 있기 때문에 큰 부분을 차지할 것 같습니다)

Mean Teacher

스크린샷 2020-12-10 오후 10.39.46

temproal ensembling은 각 target이 epoch마다 한번씩만 업데이트 되기 때문에 학습이 매우 느리게 될 수 밖에 없습니다. 이를 보완하고, 더욱 정확한 target을 만들기 위해 mean teacher에서는 위와 같은 방법을 썼습니다.

우선, temporal ensembling이 output prediction에 대해서만 weighted average 했다면, mean teacher에서는 model weight에 대해서 weighted average 합니다. 이를 통해 더욱 나은 target을 생성할 수 있습니다.

여기서는 teacher-student 라고 각각의 모델을 말하고, teacher 모델은 이전 student 모델 weight 값으로 조금씩 업데이트 합니다. 알파값이 0.999로 거의 stduent 모델을 살짝 입혀간다고 생각하면 좋을 것 같습니다.

이 방법으로 semi-supervised learning에서 좋은 성능을 보였고, 지금까지도 이 모델에서 발전된 형태의 연구가 계속 나오고 있는 것 같아 소개해드렸습니다.


Reference:
[1] Temporal Ensemble
[2] Mean Teachers

Leave a comment