Temporal Ensembling for Semi-Supervised Learning
Samuli Laine, Timo Aila
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/smlaine2/tempensOfficialIn papernone★ 0
- github.com/geosada/pitf★ 0
- github.com/ambujojha/SemiSupervisedLearningpytorch★ 0
- github.com/notha99y/mean_teacher_domain_adaptnone★ 0
- github.com/hiram64/temporal-ensembling-semi-supervisedtf★ 0
- github.com/benathi/fastswa-semi-suppytorch★ 0
- github.com/tensorfreitas/Temporal-Ensembling-for-Semi-Supervised-Learningtf★ 0
Abstract
In this paper, we present a simple and efficient method for training deep neural networks in a semi-supervised setting where only a small portion of training data is labeled. We introduce self-ensembling, where we form a consensus prediction of the unknown labels using the outputs of the network-in-training on different epochs, and most importantly, under different regularization and input augmentation conditions. This ensemble prediction can be expected to be a better predictor for the unknown labels than the output of the network at the most recent training epoch, and can thus be used as a target for training. Using our method, we set new records for two standard semi-supervised learning benchmarks, reducing the (non-augmented) classification error rate from 18.44% to 7.05% in SVHN with 500 labels and from 18.63% to 16.55% in CIFAR-10 with 4000 labels, and further to 5.12% and 12.16% by enabling the standard augmentations. We additionally obtain a clear improvement in CIFAR-100 classification accuracy by using random images from the Tiny Images dataset as unlabeled extra inputs during training. Finally, we demonstrate good tolerance to incorrect labels.
Tasks
Benchmark Results
| Dataset | Model | Metric | Claimed | Verified | Status |
|---|---|---|---|---|---|
| cifar-100, 10000 Labels | Temporal ensembling | Percentage error | 38.65 | — | Unverified |
| CIFAR-10, 250 Labels | Ⅱ-Model | Percentage error | 53.12 | — | Unverified |
| CIFAR-10, 4000 Labels | Pi Model | Percentage error | 12.16 | — | Unverified |