Home

Awesome

ConMatch - Official Pytorch Implementation

<p align="middle"><img width="70%" src="figs/overall.png" /></p>

ConMatch: Semi-Supervised Learning with Confidence-Guided Consistency Regularization<br> Jiwon Kim*, Youngjo Min*, Daehwan Kim*, Gyuseong Lee, Junyoung Seo, Kwangrok Ryoo, Seungryong Kim (* equal contribution)<br> In ECCV 2022. [arxiv]<br>

Abstract: We present a novel semi-supervised learning framework that intelligently leverages the consistency regularization between the model's predictions from two strongly-augmented views of an image, weighted by a confidence of pseudo-label, dubbed ConMatch. While the latest semi-supervised learning methods use weakly- and strongly-augmented views of an image to define a directional consistency loss, how to define such direction for the consistency regularization between two strongly-augmented views remains unexplored. To account for this, we present novel confidence measures for pseudo-labels from strongly-augmented views by means of weakly-augmented view as an anchor in non-parametric and parametric approaches. Especially, in parametric approach, we present, for the first time, to learn the confidence of pseudo-label within the networks, which is learned with backbone model in an end-to-end manner. In addition, we also present a stage-wise training to boost the convergence of training. When incorporated in existing semi-supervised learners, ConMatch consistently boosts the performance. We conduct experiments to demonstrate the effectiveness of our ConMatch over the latest methods and provide extensive ablation studies. Source code is available at https://github.com/JiwonCocoder/ConMatch.

Installation

Clone this repository

git clone https://github.com/JiwonCocoder/ConMatch.git
cd ConMatch/

Install the dependencies

conda env create -f environment.yml

When using 3090 GPUs,

conda env create -f environment3090.yml

Run the experiments

  1. Modify the config file in config/conmatch/*.yaml
  2. Run python conmatch.py --c config/conmatch/*.yaml

Main Results

CIFAR-10 and CIFAR-100

This table shows error rates comparison on CIFAR-10 and CIFAR-100

CIFAR-10CIFAR100
4025040004002500
UDA29.05±5.938.82±1.084.88±0.1859.28±0.8833.13±0.22
FixMatch (RA)13.81±3.375.07±0.654.26±0.0648.85±1.7528.29±0.11
FlexMatch4.97±0.064.98±0.094.19±0.0139.94±1.6226.49±0.20
SelfMatch6.81±1.084.87±0.264.06±0.08--
CoMatch6.91±8.474.91±0.33---
LESS6.80±1.104.90±0.80-48.70±12.40-
Dash (RA)13.22±3.754.56±0.134.08±0.0644.76±0.9627.18±0.21
ConMatch-NP4.89±0.075.00±0.374.36±0.4244.90±1.3426.91±1.35
ConMatch-P4.43±0.134.70±0.253.92±0.0838.89±2.1825.39±0.20

Citation

If you find this work useful for your research, please cite our paper:

@inproceedings{kim2022conmatch,
  title={ConMatch: Semi-Supervised Learning with Confidence-Guided Consistency Regularization},
  author={Kim, Jiwon and Min, Youngjo and Kim, Daehwan and Lee, Gyuseong and Seo, Junyoung and Ryoo, Kwangrok and Kim, Seungryong},
  booktitle={European Conference on Computer Vision},
  year={2022}
}

ImageNet Dataset

ImageNet datasets can be downloaded from the official site and follow the guide described in TorchSSL.

Related Projects

Our model code starts from TorchSSL.