Title: CRAP: SEMI-SUPERVISED LEARNING VIA CONDI-TIONAL ROTATION ANGLE PREDICTION

Abstract: Self-supervised learning (SlfSL), aiming at learning feature representations through ingeniously designed pretext tasks without human annotation, has achieved compelling progress in the past few years. Very recently, SlfSL has also been identified as a promising solution for semi-supervised learning (SemSL) since it offers a new paradigm to utilize unlabeled data. This work further explores this direction by proposing a new framework to seamlessly couple SlfSL with SemSL. Our insight is that the prediction target in SemSL can be modeled as the latent factor in the predictor for the SlfSL target. Marginalizing over the latent factor naturally derives a new formulation which marries the prediction targets of these two learning processes. By implementing this framework through a simple-but-effective SlfSL approach -rotation angle prediction, we create a new SemSL approach called Conditional Rotation Angle Prediction (CRAP). Specifically, CRAP is featured by adopting a module which predicts the image rotation angle conditioned on the candidate image class. Through experimental evaluation, we show that CRAP achieves superior performance over the other existing ways of combining SlfSL and SemSL. Moreover, the proposed SemSL framework is highly extendable. By augmenting CRAP with a simple SemSL technique and a modification of the rotation angle prediction task, our method has already achieved the state-of-the-art SemSL performance.

1. INTRODUCTION:

The recent success of deep learning is largely attributed to the availability of a large amount of labeled data. However, acquiring high-quality labels can be very expensive and time-consuming. Thus methods that can leverage easily accessible unlabeled data become extremely attractive. Semisupervised learning (SemSL) and self-supervised learning (SlfSL) are two learning paradigms that can effectively utilize massive unlabeled data to bring improvement to predictive models.

SemSL assumes that a small portion of training data is provided with annotations and the research question is how to use the unlabeled training data to generate additional supervision signals for building a better predictive model. In the past few years, various SemSL approaches have been developed in the context of deep learning. The current state-of-the-art methods, e.g. MixMatch (Berthelot et al., 2019) , unsupervised data augmentation (Li et al., 2018) , converge to the strategy of combining multiple SemSL techniques, e.g. Π-Model (Laine & Aila, 2017) , Mean Teacher (Tarvainen & Valpola, 2017) , mixup (Zhang et al., 2018) , which have been proved successful in the past literature.

SlfSL aims for a more ambitious goal of learning representation without any human annotation. The key assumption in SlfSL is that a properly designed pretext predictive task which can be effortlessly derived from data itself can provide sufficient supervision to train a good feature representation. In the standard setting, the feature learning process is unaware of the downstream tasks, and it is expected that the learned feature can benefit various recognition tasks. SlfSL also offers a new possibility for SemSL since it suggests a new paradigm of using unlabeled data, i.e., use them for feature training. Recent work (Zhai et al., 2019) has shown great potential in this direction. This work further advances this direction by proposing a new framework to seamlessly couple SlfSL with SemSL. The key idea is that the prediction target in SemSL can serve as a latent factor in the course of predicting the pretext target in a SlfSL approach. The connection between the predictive targets of those two learning processes can be established through marginalization over the latent factor, which also implies a new framework of SemSL. The key component in this framework is a module that predicts the pretext target conditioned on the target of SemSL. In this preliminary work, we implement this module by extending the rotation angle prediction method, a recently proposed SlfSL approach for image recognition. Specifically, we make its prediction conditioned on each candidate image class, and we call our method Conditional Rotation Angle Prediction (CRAP). The proposed framework is also highly extendable. It is compatible with many SemSL and SlfSL approaches. To demonstrate this, we further extend CRAP by using a simple SemSL technique and a modification to the rotation prediction task. Through experimental evaluation, we show that the proposed CRAP achieves significantly better performance than the other SlfSL-based SemSL approaches, and the extended CRAP is on par with the state-of-the-art SemSL methods. In summary, the main contributions of this paper are as follows:

• We propose a new SemSL framework which seamlessly couples SlfSL and SemSL. It points out a principal way of upgrading a SlfSL method to a SemSL approach. • Implementing this idea with a SlfSL approach, we create a new SemSL approach (CRAP) that can achieve superior performance than other SlfSL-based SemSL methods. • We further extend CRAP with a SemSL technique and an improvement over the SlfSL task.

The resulted new method achieves the state-of-the-art performance of SemSL.

2. RELATED WORK:

Our work CRAP is closely related to both SemSL and SlfSL.

SemSL is a long-standing research topic which aims to learn a predictor from a few labeled examples along with abundant of unlabeled ones. SemSL based on different principals are developed in the past decades, e.g., "transductive" models (Gammerman et al., 1998; Joachims, 2003) , multi-view style approaches (Blum & Mitchell, 1998; Zhou & Li, 2005) and generative model-based methods (Kingma et al., 2014; Springenberg, 2016) , etc. Recently, the consistency regularization based methods have become quite influential due to their promising performance in the context of deep learning. Specifically, Π-Model (Laine & Aila, 2017 ) requires model's predictions to be invariant when various perturbations are added to the input data. Mean Teacher (Tarvainen & Valpola, 2017 ) enforces a student model producing similar output as a teacher model whose weights are calculated through the moving average over the weight of student model. Virtual Adversarial Training (Miyato et al., 2018) encourages the predictions for input data and its adversarially perturbed version to be consistent. More recently, mixup (Zhang et al., 2018; Verma et al., 2019) has emerged as a powerful SemSL regularization method which requires the output of mixed data to be close to the output mixing of original images. In order to achieve good performance, most state-of-the-art approaches adopt the strategy of combining several existing techniques together. For example, Interpolation Consistency Training (Verma et al., 2019) incorporates Mean Teacher into the mixup regularization, MixMatch (Berthelot et al., 2019) adopts a technique that uses fused predictions as pseudo prediction target as well as the mixup regularization. Unsupervised data augmentation (Li et al., 2018) upgrades Π-Model with advanced data augmentation methods.

SlfSL is another powerful paradigm which learns feature representations through training on pretext tasks whose labels are not human annotated (Kolesnikov et al., 2019) . Various pretext tasks are designed in different approaches. For example, image inpainting (Pathak et al., 2016) trains model to reproduce an arbitrary masked region of the input image. Image colorization (Zhang et al., 2016) encourages model to perform colorization of an input grayscale image. Rotation angle prediction (Gidaris et al., 2018) forces model to recognize the angle of a rotated input image. After training with the pretext task defined in a SlfSL method, the network is used as a pretrained model and can be fine-tuned for a downstream task on task-specific data. Generally speaking, it is still challenging for SlfSL method to achieve competitive performance to fully-supervised approaches.

However, SlfSL provides many new insights into the use of unlabeled data and may have a profound impact to other learning paradigms, such as semi-supervised learning.

SlfSL based SemSL is an emerging approach which incorporates SlfSL into SemSL. The most straightforward approach is to first perform SlfSL on all available data and then fine-tune the learned model on labeled samples. S 4 L (Zhai et al., 2019 ) is a newly proposed method which jointly train the downstream task and pretext task in a multi-task fashion without breaking them into stages. In this paper, we further advance this direction through proposing a novel architecture which explicitly links these two tasks together and ensure that solving one task is beneficial to the other.

3. COUPLING SEMSL WITH SLFSL:

In SemSL, we are given a set of training samples There are two existing schemes to leverage SlfSL for SemSL. The first is to use SlfSL to learn the feature from the whole training set and then fine-tuning the network on the labeled part. The other is jointly optimizing the tasks of predicting y and z, as in the recently proposed S 4 L method. As shown in Figure 1 (a), S 4 L constructs a network with two branches and a shared feature extractor.

{x 1 , x 2 , • • • , x n } ∈ X with only a few of them X l = {x 1 , x 2 , • • • , x l } ∈ X annotated with labels {y 1 , y 2 , • • • , y l } ∈ Y l (

One branch for modeling p(y|x; θ) and another branch for modeling p(z|x; θ). However, in both methods the pretext target z predictor p(z|x; θ) is implicitly related to the task of predicting y.

Our framework is different in that we explicitly incorporate y into the predictor for z. Specifically, we treat y as the latent factor in p(z|x; θ) and factorize p(z|x; θ) through marginalization:

EQUATION

Eq. 1 suggests that the pretext target predictor p(z|x; θ) can be implemented as two parts: a model to estimate p(y|x; θ) and a model to estimate z conditioned on both x and y, i.e., p(z|x, y; θ).

For the labeled samples, the ground-truth y is observed and can be used for training p(y|x; θ). For unlabeled samples, the estimation from p(y|x; θ) and p(z|x, y; θ) will be combined together to make the final prediction about z. Consequently, optimizing the loss for p(z|x; θ) will also provide gradient to back-propagate through p(y|x; θ). This is in contrast to the case of S 4 L, where the gradient generated from the unlabeled data will not flow through p(y|x; θ). Theoretically, p(z|x; θ) and p(y|x; θ) can be two networks, but in practise we model them as two branches connecting to a shared feature extractor.

p(z|x; θ) suggested by Eq. 1 is essentially a pretext target predictor with a special structure and partial observations on its latent variable, i.e. y. The benefits of using such a predictor can be understood from three perspectives: (1) p(y|x; θ) in Eq. 1 acts as a soft selector to select p(z|x, y; θ) for predicting z. If the estimation of p(y|x; θ) is accurate, it will select p(z|x, y = ŷ(x); θ) for prediction and update, where ŷ(x) is the true class of x. This selective updating will make p(z|x, y; θ) give more accurate prediction over z if y matches ŷ(x). After such an update, p(z|x, y; θ) will in turn encourage p(y|x; θ) to attain higher value for y = ŷ(x) since the prediction from p(z|x, y = ŷ(x); θ) is more likely to be accurate. Thus, the terms p(y|x; θ) and p(z|x, y; θ) will reinforce each other during training.

(2) even if p(y|x; θ) is not accurate (this may happen at the beginning of the training process), p(z|x, y; θ) can still perform the pretext target prediction and act as an unsupervised feature learner. Thus, the features will be gradually improved in the course of training. With a better feature representation, the estimation of p(y|x; θ) will also be improved.

(3) Finally, to predict z in Eq. 1, p(z|x, y; θ) needs to be evaluated for each candidate y. This in effect is similar to creating an ensemble of diversified pretext target predictors and with the combination weight given by p(y|x; θ) according to the marginalization rule. Thus, training features with Eq. 1 may enjoy the benefit from ensemble learning. Again, this will lead to better features and thus benefit the modelling of p(y|x; θ) and p(z|x, y; θ).

The above framework provides a guideline for turning a SlfSL method into a SemSL algorithm:

(1) modifying a SlfSL predictor p(z|x; θ) by p(z|x, y; θ) and introducing a branch for p(y|x; θ) (2) optimizing the prediction of z on the SemSL dataset and update the branches p(z|x, y; θ), p(y|x; θ) and their shared feature extractor. (3) using p(y|x; θ) as downstream task predictor or adding an additional branch for training p(y|x; θ) only with the labeled data as in S 4 L. More details about the additional branch will be explained in Section 4. x < l a t e x i t s h a 1 _ b a s e 6 4 = "

j O + c y d W l A Y 3 X d o Z T K X 2 J V 7 s t v i k = " > A A A C x H i c j V H L S s N A F D 2 N r 1 p f V Z d u g k V w V R I V d G d B E J c t 2 A f U I k k 6 r U P z I j M R S 9 E f c K s L / R O / R P w D / Q v v T F N Q i + g N S c 6 c e 8 + Z u X P d 2 O d C W t Z b z p i Z n Z t f y C 8 W l p Z X V t e K 6 x s N E a W J x + p e 5 E d J y 3 U E 8 3 n I 6 p J L n 7 X i h D m B 6 7 O m O z h R + e Y 1 S w S P w n M 5 j F k n c P o h 7 3 H P k U T V b i 6 L J a t s 6 T C n g Z 2 B 0 v H L k 4 r n a l R 8 x Q W 6 i O A h R Q C G E J K w D w e C n j Z s W I i J 6 2 B E X E K I 6 z z D L Q q k T a m K U Y V D 7 I C + f V q 1 M z a k t f I U W u 3 R L j 6 9 C S l N 7 J A m o r q E s N r N 1 P l U O y v 2 N + + R 9 l R n G 9 L f z b w C Y i W u i P 1 L N 6 n 8 r 0 7 1 I t H D k e 6 B U 0 + x Z l R 3 X u a S 6 l t R J z e / d C X J I S Z O 4 S 7 l E 8 K e V k 7 u 2 d Q a o X t X d + v o / L u u V K x a e 1 l t i g 9 1 S h q w / X O c 0 6 C x V 7 b 3 y 3 s 1 q 1 Q 5 w D j y 2 M I 2 d m m e h 6 j g D F X U t f c 9 H v B o n B q + I Y x 0 X G r k M s 0 m v o V x 9 w l z 7 5 P + < / l a t e x i t > x < l a t e x i t s h a 1 _ b a s e 6 4 = " j O + c y d W l A Y 3 X d o Z T K X 2 J V 7 s t v i k = " > A A A C x H i c j V H L S s N A F D 2 N r 1 p f V Z d u g k V w V R I V d G d B E J c t 2 A f U I k k 6 r U P z I j M R S 9 E f c K s L / R O / R P w D / Q v v T F N Q i + g N S c 6 c e 8 + Z u X P d 2 O d C W t Z b z p i Z n Z t f y C 8 W l p Z X V t e K 6 x s N E a W J x + p e 5 E d J y 3 U E 8 3 n I 6 p J L n 7 X i h D m B 6 7 O m O z h R + e Y 1 S w S P w n M 5 j F k n c P o h 7 3 H P k U T V b i 6 L J a t s 6 T C n g Z 2 B 0 v H L k 4 r n a l R 8 x Q W 6 i O A h R Q C G E J K w D w e C n j Z s W I i J 6 2 B E X E K I 6 z z D L Q q k T a m K U Y V D 7 I C + f V q 1 M z a k t f I U W u 3 R L j 6 9 C S l N 7 J A m o r q E s N r N 1 P l U O y v 2 N + + R 9 l R n G 9 L f z b w C Y i W u i P 1 L N 6 n 8 r 0 7 1 I t H D k e 6 B U 0 + x Z l R 3 X u a S 6 l t R J z e / d C X J I S Z O 4 S 7 l E 8 K e V k 7 u 2 d Q a o X t X d + v o / L u u V K x a e 1 l t i g 9 1 S h q w / X O c 0 6 C x V 7 b 3 y 3 s 1 q 1 Q 5 w D j y 2 M I 2 d m m e h 6 j g D F X U t f c 9 H v B o n B q + I Y x 0 X G r k M s 0 m v o V x 9 w l z 7 5 P + < / l a t e x i t > x < l a t e x i t s h a 1 _ b a s e 6 4 = " j O + c y d W l A Y 3 X d o Z T K X 2 J V 7 s t v i k = " > A A A C x H i c j V H L S s N A F D 2 N r 1 p f V Z d u g k V w V R I V d G d B E J c t 2 A f U I k k 6 r U P z I j M R S 9 E f c K s L / R O / R P w D / Q v v T F N Q i + g N S c 6 c e 8 + Z u X P d 2 O d C W t Z b z p i Z n Z t f y C 8 W l p Z X V t e K 6 x s N E a W J x + p e 5 E d J y 3 U E 8 3 n I 6 p J L n 7 X i h D m B 6 7 O m O z h R + e Y 1 S w S P w n M 5 j F k n c P o h 7 3 H P k U T V b i 6 L J a t s 6 T C n g Z 2 B 0 v H L k 4 r n a l R 8 x Q W 6 i O A h R Q C G E J K w D w e C n j Z s W I i J 6 2 B E X E K I 6 z z D L Q q k T a m K U Y V D 7 I C + f V q 1 M z a k t f I U W u 3 R L j 6 9 C S l N 7 J A m o r q E s N r N 1 P l U O y v 2 N + + R 9 l R n G 9 L f z b w C Y i W u i P 1 L N 6 n 8 r 0 7 1 I t H D k e 6 B U 0 + x Z l R 3 X u a S 6 l t R J z e / d C X J I S Z O 4 S 7 l E 8 K e V k 7 u 2 d Q a o X t X d + v o / L u u V K x a e 1 l t i g 9 1 S h q w / X O c 0 6 C x V 7 b 3 y 3 s 1 q 1 Q 5 w D j y 2 M I 2 d m m e h 6 j g D F X U t f c 9 H v B o n B q + I Y x 0 X G r k M s 0 m v o V x 9 w l z 7 5 P + < / l a t e x i t > x < l a t e x i t s h a 1 _ b a s e 6 4 = " j O + c y d W l A Y 3 X d o Z T K X 2 J V 7 s t v i k = " > A A A C x H i c j V H L S s N A F D 2 N r 1 p f V Z d u g k V w V R I V d G d B E J c t 2 A f U I k k 6 r U P z I j M R S 9 E f c K s L / R O / R P w D / Q v v T F N Q i + g N S c 6 c e 8 + Z u X P d 2 O d C W t Z b z p i Z n Z t f y C 8 W l p Z X V t e K 6 x s N E a W J x + p e 5 E d J y 3 U E 8 3 n I 6 p J L n 7 X i h D m B 6 7 O m O z h R + e Y 1 S w S P w n M 5 j F k n c P o h 7 3 H P k U T V b i 6 L J a t s 6 T C n g Z 2 B 0 v H L k 4 r n a l R 8 x Q W 6 i O A h R Q C G E J K w D w e C n j Z s W I i J 6 2 B E X E K I 6 z z D L Q q k T a m K U Y V D 7 I C + f V q 1 M z a k t f I U W u 3 R L j 6 9 C S l N 7 J A m o r q E s N r N 1 P l U O y v 2 N + + R 9 l R n G 9 L f z b w C Y i W u i P 1 L N 6 n 8 r 0 7 1 I t H D k e 6 B U 0 + x Z l R 3 X u a S 6 l t R J z e / d C X J I S Z O 4 S 7 l E 8 K e V k 7 u 2 d Q a o X t X d + v o / L u u V K x a e 1 l t i g 9 1 S h q w / X O c 0 6 C x V 7 b 3 y 3 s 1 q 1 Q 5 w D j y 2 M I 2 d m m e h 6 j g D F X U t f c 9 H v B o n B q + I Y x 0 X G r k M s 0 m v o V x 9 w l z 7 5 P + < / l a t e x i t > p(y|x; ✓) < l a t e x i t s h a 1 _ b a s e 6 4 = " Z q U s R M I E Y F U N R m g c M k 5 p n A K 0 U F o = " > A A A C 0 H i c j V H L T s J A F D 3 U F + K r 6 k 4 3 j c Q E N 6 T g Q h M 3 J G 5 c u A A j j w S I a c s A j a W t 7 d R A 0 B i 3 + g F u 9 V v 8 C O M f 6 M 5 P 8 M 5 Q E p U Y n a b t m X P v O T P 3 X t N 3 7 J D r + m t C m Z q e m Z 1 L z q c W F p e W V 9 T V t U r o R Y H F y p b n e E H N N E L m 2 C 4 r c 5 s 7 r O Y H z O i Z D q u a 5 4 c i X r 1 k Q W h 7 7 i k f + K z Z M z q u 3 b Y t g x P V 9 D O D q / 5 B g 3 c Z N 3 b O 1 L S e 1 e X S J k E u B u m C W v p 4 P t 6 4 L 3 r q C x p o w Y O F C D 0 w u O C E H R g I 6 a k j B x 0 + c U 0 M i Q s I 2 T L O c I 0 U a S P K Y p R h E H t O 3 w 7 t 6 j H r 0 l 5 4 h l J t 0 S k O v Q E p N W y T x q O 8 g L A 4 T Z P x S D o L 9 j f v o f Q U d x v Q 3 4 y 9 e s R y d I n 9 S z f O / K 9 O 1 M L R x r 6 s w a a a f M m I 6 q z Y J Z J d E T f X v l T F y c E n T u A W x Q P C l l S O + 6 x J T S h r F 7 0 1 Z P x N Z g p W 7 K 0 4 N 8 K 7 u C U N O P d z n J O g k s / m d r P 5 E k 1 a x 2 g l s Y k t Z G i e e y j g C E W U y f s C D 3 j E k 3 K i 9 J U b 5 X a U q i R i z T q + L e X u E + o V l 4 s = < / l a t e x i t > p(y|x; ✓) < l a t e x i t s h a 1 _ b a s e 6 4 = " Z q U s R M I E Y F U N R m g c M k 5 p n A K 0 U F o = " > A A A C 0 H i c j V H L T s J A F D 3 U F + K r 6 k 4 3 j c Q E N 6 T g Q h M 3 J G 5 c u A A j j w S I a c s A j a W t 7 d R A 0 B i 3 + g F u 9 V v 8 C O M f 6 M 5 P 8 M 5 Q E p U Y n a b t m X P v O T P 3 X t N 3 7 J D r + m t C m Z q e m Z 1 L z q c W F p e W V 9 T V t U r o R Y H F y p b n e E H N N E L m 2 C 4 r c 5 s 7 r O Y H z O i Z D q u a 5 4 c i X r 1 k Q W h 7 7 i k f + K z Z M z q u 3 b Y t g x P V 9 D O D q / 5 B g 3 c Z N 3 b O 1 L S e 1 e X S J k E u B u m C W v p 4 P t 6 4 L 3 r q C x p o w Y O F C D 0 w u O C E H R g I 6 a k j B x 0 + c U 0 M i Q s I 2 T L O c I 0 U a S P K Y p R h E H t O 3 w 7 t 6 j H r 0 l 5 4 h l J t 0 S k O v Q E p N W y T x q O 8 g L A 4 T Z P x S D o L 9 j f v o f Q U d x v Q 3 4 y 9 e s R y d I n 9 S z f O / K 9 O 1 M L R x r 6 s w a a a f M m I 6 q z Y J Z J d E T f X v l T F y c E n T u A W x Q P C l l S O + 6 x J T S h r F 7 0 1 Z P x N Z g p W 7 K 0 4 N 8 K 7 u C U N O P d z n J O g k s / m d r P 5 E k 1 a x 2 g l s Y k t Z G i e e y j g C E W U y f s C D 3 j E k 3 K i 9 J U b 5 X a U q i R i z T q + L e X u E + o V l 4 s = < / l a t e x i t > p(z|x; ✓)

< l a t e x i t s h a 1 _ b a s e 6 4 = " t 2 W 6 x u / Y c G q z 7 e 6 w r U f 4 A 7 6 z e 2 A = "

> A A A C 0 H i c j V H L T s J A F D 3 U F + I L d a e b R m K C G 1 J w o Y k b E j c u X I C R R w L E t G W A h t L W d m p A N M a t f o B b / R Y / w v g H u v M T v D O U R C V G p 2 l 7 5 t x 7 z s y 9 1 / B s K + C a 9 h p T p q Z n Z u f i 8 4 m F x a X l l e T q W j l w Q 9 9 k J d O 1 X b 9 q 6 A G z L Y e V u M V t V v V 8 p v c M m 1 W M 7 q G I V y 6 Y H 1 i u c 8 o H H m v 0 9 L Z j t S x T 5 0 Q 1 v P T l V f + g z j u M 6 z t n y Z S W 0 e R S J 0 E 2 A q l 8 s v j x f L x x X 3 C T L 6 i j C R c m Q v T A 4 I A T t q E j o K e G L D R 4 x D U w J M 4 n Z M k 4 w z U S p A 0 p i 1 G G T m y X v m 3 a 1 S L W o b 3 w D K T a p F N s e n 1 S q t g m j U t 5 P m F x m i r j o X Q W 7 G / e Q + k p 7 j a g v x F 5 9 Y j l 6 B D 7 l 2 6 c + V + d q I W j h X 1 Z g 0 U 1 e Z I R 1 Z m R S y i 7 I m 6 u f q m K k 4 N H n M B N i v u E T a k c 9 1 m V m k D W L n q r y / i b z B S s 2 J t R b o h 3 c U s a c P b n O C d B O Z f J 7 m Z y R Z q 0 h t G K Y x N b S N M 8 9 5 D H E Q o o k f c 5 H v C I J + V E 6 S s 3 y u 0 o V Y l F m n V 8 W 8 r d J + x / l 4 w = < / l a t e x i t > p(z|x; ✓)

< l a t e x i t s h a 1 _ b a s e 6 4 = " t 2 W 6 x u / Y c G q z 7 e 6 w r U f 4 A 7 6 z e 2 A = "

> A A A C 0 H i c j V H L T s J A F D 3 U F + I L d a e b R m K C G 1 J w o Y k b E j c u X I C R R w L E t G W A h t L W d m p A N M a t f o B b / R Y / w v g H u v M T v D O U R C V G p 2 l 7 5 t x 7 z s y 9 1 / B s K + C a 9 h p T p q Z n Z u f i 8 4 m F x a X l l e T q W j l w Q 9 9 k J d O 1 X b 9 q 6 A G z L Y e V u M V t V v V 8 p v c M m 1 W M 7 q G I V y 6 Y H 1 i u c 8 o H H m v 0 9 L Z j t S x T 5 0 Q 1 v P T l V f + g z j u M 6 z t n y Z S W 0 e R S J 0 E 2 A q l 8 s v j x f L x x X 3 C T L 6 i j C R c m Q v T A 4 I A T t q E j o K e G L D R 4 x D U w J M 4 n Z M k 4 w z U S p A 0 p i 1 G G T m y X v m 3 a 1 S L W o b 3 w D K T a p F N s e n 1 S q t g m j U t 5 P m F x m i r j o X Q W 7 G / e Q + k p 7 j a g v x F 5 9 Y j l 6 B D 7 l 2 6 c + V + d q I W j h X 1 Z g 0 U 1 e Z I R 1 Z m R S y i 7 I m 6 u f q m K k 4 N H n M B N i v u E T a k c 9 1 m V m k D W L n q r y / i b z B S s 2 J t R b o h 3 c U s a c P b n O C d B O Z f J 7 m Z y R Z q 0 h t G K Y x N b S N M 8 9 5 D H E Q o o k f c 5 H v C I J + V E 6 S s 3 y u 0 o V Y l F m n V 8 W 8 r d J + x / l 4 w = < / l a t e x i t > p(y|x; ✓) < l a t e x i t s h a 1 _ b a s e 6 4 = " Z q U s R M I E Y F U N R m g c M k 5 p n A K 0 U F o = " > A A A C 0 H i c j V H L T s J A F D 3 U F + K r 6 k 4 3 j c Q E N 6 T g Q h M 3 J G 5 c u A A j j w S I a c s A j a W t 7 d R A 0 B i 3 + g F u 9 V v 8 C O M f 6 M 5 P 8 M 5 Q E p U Y n a b t m X P v O T P 3 X t N 3 7 J D r + m t C m Z q e m Z 1 L z q c W F p e W V 9 T V t U r o R Y H F y p b n e E H N N E L m 2 C 4 r c 5 s 7 r O Y H z O i Z D q u a 5 4 c i X r 1 k Q W h 7 7 i k f + K z Z M z q u 3 b Y t g x P V 9 D O D q / 5 B g 3 c Z N 3 b O 1 L S e 1 e X S J k E u B u m C W v p 4 P t 6 4 L 3 r q C x p o w Y O F C D 0 w u O C E H R g I 6 a k j B x 0 + c U 0 M i Q s I 2 T L O c I 0 U a S P K Y p R h E H t O 3 w 7 t 6 j H r 0 l 5 4 h l J t 0 S k O v Q E p N W y T x q O 8 g L A 4 T Z P x S D o L 9 j f v o f Q U d x v Q 3 4 y 9 e s R y d I n 9 S z f O / K 9 O 1 M L R x r 6 s w a a a f M m I 6 q z Y J Z J d E T f X v l T F y c E n T u A W x Q P C l l S O + 6 x J T S h r F 7 0 1 Z P x N Z g p W 7 K 0 4 N 8 K 7 u C U N O P d z n J O g k s / m d r P 5 E k 1 a x 2 g l s Y k t Z G i e e y j g C E W U y f s C D 3 j E k 3 K i 9 J U b 5 X a U q i R i z T q + L e X u E + o V l 4 s = < / l a t e x i t > p(y|x; ✓) < l a t e x i t s h a 1 _ b a s e 6 4 = " Z q U s R M I E Y F U N R m g c M k 5 p n A K 0 U F o = " > A A A C 0 H i c j V H L T s J A F D 3 U F + K r 6 k 4 3 j c Q E N 6 T g Q h M 3 J G 5 c u A A j j w S I a c s A j a W t 7 d R A 0 B i 3 + g F u 9 V v 8 C O M f 6 M 5 P 8 M 5 Q E p U Y n a b t m X P v O T P 3 X t N 3 7 J D r + m t C m Z q e m Z 1 L z q c W F p e W V 9 T V t U r o R Y H F y p b n e E H N N E L m 2 C 4 r c 5 s 7 r O Y H z O i Z D q u a 5 4 c i X r 1 k Q W h 7 7 i k f + K z Z M z q u 3 b Y t g x P V 9 D O D q / 5 B g 3 c Z N 3 b O 1 L S e 1 e X S J k E u B u m C W v p 4 P t 6 4 L 3 r q C x p o w Y O F C D 0 w u O C E H R g I 6 a k j B x 0 + c U 0 M i Q s I 2 T L O c I 0 U a S P K Y p R h E H t O 3 w 7 t 6 j H r 0 l 5 4 h l J t 0 S k O v Q E p N W y T x q O 8 g L A 4 T Z P x S D o L 9 j f v o f Q U d x v Q 3 4 y 9 e s R y d I n 9 S z f O / K 9 O 1 M L R x r 6 s w a a a f M m I 6 q z Y J Z J d E T f X v l T F y c E n T u A W x Q P C l l S O + 6 x J T S h r F 7 0 1 Z P x N Z g p W 7 K 0 4 N 8 K 7 u C U N O P d z n J O g k s / m d r P 5 E k 1 a x 2 g l s Y k t Z G i e e y j g C E W U y f s C D 3 j E k 3 K i 9 J U b 5 X a U q i R i z T q + L e X u E + o V l 4 s = < / l a t e x i t > p(z|x; ✓)

< l a t e x i t s h a 1 _ b a s e 6 4 = " t 2 W 6 x u / Y c G q z 7 e 6 w r U f 4 A 7 6 z e 2 A = "

> A A A C 0 H i c j V H L T s J A F D 3 U F + I L d a e b R m K C G 1 J w o Y k b E j c u X I C R R w L E t G W A h t L W d m p A N M a t f o B b / R Y / w v g H u v M T v D O U R C V G p 2 l 7 5 t x 7 z s y 9 1 / B s K + C a 9 h p T p q Z n Z u f i 8 4 m F x a X l l e T q W j l w Q 9 9 k J d O 1 X b 9 q 6 A G z L Y e V u M V t V v V 8 p v c M m 1 W M 7 q G I V y 6 Y H 1 i u c 8 o H H m v 0 9 L Z j t S x T 5 0 Q 1 v P T l V f + g z j u M 6 z t n y Z S W 0 e R S J 0 E 2 A q l 8 s v j x f L x x X 3 C T L 6 i j C R c m Q v T A 4 I A T t q E j o K e G L D R 4 x D U w J M 4 n Z M k 4 w z U S p A 0 p i 1 G G T m y X v m 3 a 1 S L W o b 3 w D K T a p F N s e n 1 S q t g m j U t 5 P m F x m i r j o X Q W 7 G / e Q + k p 7 j a g v x F 5 9 Y j l 6 B D 7 l 2 6 c + V + d q I W j h X 1 Z g 0 U 1 e Z I R 1 Z m R S y i 7 I m 6 u f q m K k 4 N H n M B N i v u E T a k c 9 1 m V m k D W L n q r y / i b z B S s 2 J t R b o h 3 c U s a c P b n O C d B O Z f J 7 m Z y R Z q 0 h t G K Y x N b S N M 8 9 5 D H E Q o o k f c 5 H v C I J + V E 6 S s 3 y u 0 o V Y l F m n V 8 W 8 r d J +

x / l 4 w = < / l a t e x i t > p(z|x; ✓)

< l a t e x i t s h a 1 _ b a s e 6 4 = " t 2 W 6 x u / Y c G q z 7 e 6 w r U f 4 A 7 6 z e 2 A = "

> A A A C 0 H i c j V H L T s J A F D 3 U F + I L d a e b R m K C G 1 J w o Y k b E j c u X I C R R w L E t G W A h t L W d m p A N M a t f o B b / R Y / w v g H u v M T v D O U R C V G p 2 l 7 5 t x 7 z s y 9 1 / B s K + C a 9 h p T p q Z n Z u f i 8 4 m F x a X l l e T q W j l w Q 9 9 k J d O 1 X b 9 q 6 A G z L Y e V u M V t V v V 8 p v c M m 1 W M 7 q G I V y 6 Y H 1 i u c 8 o H H m v 0 9 L Z j t S x T 5 0 Q 1 v P T l V f + g z j u M 6 z t n y Z S W 0 e R S J 0 E 2 A q l 8 s v j x f L x x X 3 C T L 6 i j C R c m Q v T A 4 I A T t q E j o K e G L D R 4 x D U w J M 4 n Z M k 4 w z U S p A 0 p i 1 G G T m y X v m 3 a 1 S L W o b 3 w D K T a p F N s e n 1 S q t g m j U t 5 P m F x m i r j o X Q W 7 G / e Q + k p 7 j a g v x F 5 9 Y j l 6 B D 7 l 2 6 c + V + d q I W j h X 1 Z g 0 U 1 e Z I R 1 Z m R S y i 7 I m 6 u f q m K k 4 N H n M B N i v u E T a k c 9 1 m V m k D W L n q r y / i b z B S s 2 J t R b o h 3 c U s a c P b n O C d B O Z f J 7 m Z y R Z q 0 h t G K Y x N b S N M 8 9 5 D H E Q o o k f c 5 H v C I J + V E 6 S s 3 y u 0 o V Y l F m n V 8 W 8 r d J + x / l 4 w = < / l a t e x i t > p(y|x; ✓) < l a t e x i t s h a 1 _ b a s e 6 4 = " Z q U s R M I E Y F U N R m g c M k 5 p n A K 0 U F o = " > A A A C 0 H i c j V H L T s J A F D 3 U F + K r 6 k 4 3 j c Q E N 6 T g Q h M 3 J G 5 c u A A j j w S I a c s A j a W t 7 d R A 0 B i 3 + g F u 9 V v 8 C O M f 6 M 5 P 8 M 5 Q E p U Y n a b t m X P v O T P 3 X t N 3 7 J D r + m t C m Z q e m Z 1 L z q c W F p e W V 9 T V t U r o R Y H F y p b n e E H N N E L m 2 C 4 r c 5 s 7 r O Y H z O i Z D q u a 5 4 c i X r 1 k Q W h 7 7 i k f + K z Z M z q u 3 b Y t g x P V 9 D O D q / 5 B g 3 c Z N 3 b O 1 L S e 1 e X S J k E u B u m C W v p 4 P t 6 4 L 3 r q C x p o w Y O F C D 0 w u O C E H R g I 6 a k j B x 0 + c U 0 M i Q s I 2 T L O c I 0 U a S P K Y p R h E H t O 3 w 7 t 6 j H r 0 l 5 4 h l J t 0 S k O v Q E p N W y T x q O 8 g L A 4 T Z P x S D o L 9 j f v o f Q U d x v Q 3 4 y 9 e s R y d I n 9 S z f O / K 9 O 1 M L R x r 6 s w a a a f M m I 6 q z Y J Z J d E T f X v l T F y c E n T u A W x Q P C l l S O + 6 x J T S h r F 7 0 1 Z P x N Z g p W 7 K 0 4 N 8 K 7 u C U N O P d z n J O g k s / m d r P 5 E k 1 a x 2 g l s Y k t Z G i e e y j g C E W U y f s C D 3 j E k 3 K i 9 J U b 5 X a U q i R i z T q + L e X u E + o V l 4 s = < / l a t e x i t > p(y|x; ✓) < l a t e x i t s h a 1 _ b a s e 6 4 = " Z q U s R M I E Y F U N R m g c M k 5 p n A K 0 U F o = " > A A A C 0 H i c j V H L T s J A F D 3 U F + K r 6 k 4 3 j c Q E N 6 T g Q h M 3 J G 5 c u A A j j w S I a c s A j a W t 7 d R A 0 B i 3 + g F u 9 V v 8 C O M f 6 M 5 P 8 M 5 Q E p U Y n a b t m X P v O T P 3 X t N 3 7 J D r + m t C m Z q e m Z 1 L z q c W F p e W V 9 T V t U r o R Y H F y p b n e E H N N E L m 2 C 4 r c 5 s 7 r O Y H z O i Z D q u a 5 4 c i X r 1 k Q W h 7 7 i k f + K z Z M z q u 3 b Y t g x P V 9 D O D q / 5 B g 3 c Z N 3 b O 1 L S e 1 e X S J k E u B u m C W v p 4 P t 6 4 L 3 r q C x p o w Y O F C D 0 w u O C E H R g I 6 a k j B x 0 + c U 0 M i Q s I 2 T L O c I 0 U a S P K Y p R h E H t O 3 w 7 t 6 j H r 0 l 5 4 h l J t 0 S k O v Q E p N W y T x q O 8 g L A 4 T Z P x S D o L 9 j f v o f Q U d x v Q 3 4 y 9 e s R y d I n 9 S z f O / K 9 O 1 M L R x r 6 s w a a a f M m I 6 q z Y J Z J d E T f X v l T F y c E n T u A W x Q P C l l S O + 6 x J T S h r F 7 0 1 Z P x N Z g p W 7 K 0 4 N 8 K 7 u C U N O P d z n J O g k s / m d r P 5 E k 1 a x 2 g l s Y k t Z G i e e y j g C E W U y f s C D 3 j E k 3 K i 9 J U b 5 X a U q i R i z T q + L e X u E + o V l 4 s = < / l a t e x i t >

p(z|x, y; ✓)

< l a t e x i t s h a 1 _ b a s e 6 4 = " 3 g 8 A p D g 3 l j t F I 1 x p Z 4 l U 8 j N 7 U q w = " >

A A A C 1 H i c j V H L S s N A F D 3 G V 6 2 v q D v d B E W o I C W t C w U 3 B T c u X L R g a 0 F L m c R p G 0 y T M J m I 1 b o S V 4 I / 4 F a / x I 8 Q / 0 B 3 f o J 3 p h F 8 I D o h y Z l z z 7 k z 9 1 4 n 8 r 1 Y 2 v b z k D E 8 M j o 2 n p n I T k 5 N z 8 y a c / O 1 O E y E y 6 t u 6 I e i 7 r C Y + 1 7 A q 9 K T P q 9 H g r O u 4 / M D 5 2 R H x Q 9 O u Y i 9 M N i X v Y g 3 u q w d e C 3 P Z Z K o p j k b 5 c 7 7 Z + u 9 7 S P Z 4 Z K t N c 0 V O 2 / r Z f 0 E h R S s l M z K 2 + P e 4 k 0 5 N J 9 w h G O E c J G g C 4 4 A k r A P h p i e Q x R g I y K u g Q v i B C F P x z k u k S V v Q i p O C k b s C X 3 b t D t M 2 Y D 2 K m e s 3 S 6 d 4 t M r y G l h l T w h 6 Q R h d Z q l 4 4 n O r N j f c l / o n O p u P f o 7 a a 4 u s R I d Y v / y f S j / 6 1 O 1 S L S w p W v w q K Z I M 6 o 6 N 8 2 S 6 K 6 o m 1 u f q p K U I S J O 4 W O K C 8 K u d n 7 0 2 d K e

W N e u e s t 0 / E U r F a v 2 b q p N 8 K p u S Q M u f B / n T 1 A r 5 g s b + W K F J m 1 j s D J Y w j J y N M 9 N l L C L M q p 6 5 n e 4 x 4 N R M / r G l X E 9 k B p D q W c B X 5 Z x + w 5 b 9 5 h 2 < / l a t e x i t > p(z|x, y; ✓)

< l a t e x i t s h a 1 _ b a s e 6 4 = " 3 g 8 A p D g 3 l j t F I 1 x p Z 4 l U 8 j N 7 U q w = " > 

A A A C 1 H i c j V H L S s N A F D 3 G V 6 2 v q D v d B E W o I C W t C w U 3 B T c u X L R g a 0 F L m c R p G 0 y T M J m I 1 b o S V 4 I / 4 F a / x I 8 Q / 0 B 3 f o J 3 p h F 8 I D o h y Z l z z 7 k z 9 1 4 n 8 r 1 Y 2 v b z k D E 8 M j o 2 n p n I T k 5 N z 8 y a c / O 1 O E y E y 6 t u 6 I e i 7 r C Y + 1 7 A q 9 K T P q 9 H g r O u 4 / M D 5 2 R H x Q 9 O u Y i 9 M N i X v Y g 3 u q w d e C 3 P Z Z K o p j k b 5 c 7 7 Z + u 9 7 S P Z 4 Z K t N c 0 V O 2 / r Z f 0 E h R S s l M z K 2 + P e 4 k 0 5 N J 9 w h G O E c J G g C 4 4 A k r A P h p i e Q x R g I y K u g Q v i B C F P x z k u k S V v Q i p O C k b s C X 3 b t D t M 2 Y D 2 K m e s 3 S 6 d 4 t M r y G l h l T w h 6 Q R h d Z q l 4 4 n O r N j f c l / o n O p u P f o 7 a a 4 u s R I d Y v / y f S j / 6 1 O 1 S L S w p W v w q K Z I M 6 o 6 N 8 2 S 6 K 6 o m 1 u f q p K U I S J O 4 W O K C 8 K u d n 7 0 2 d K e W N e u e s t 0 / E U r F a v 2 b q p N 8 K p u S Q M u f B / n T 1 A r 5 g s b + W K F J m 1 j s D J Y w j J y N M 9 N l L C L M q p 6 5 n e 4 x 4 N R M / r G l X E 9 k B p D q W c B X 5 Z x + w 5 b 9 5 h 2 < / l a t e x i t >

4. CRAP: SEMSL VIA CONDITIONAL ROTATION ANGLE PREDICTION:

In the following part, we will describe an implementation of this framework, which is realized by upgrading the rotation-angle prediction-based SlfSL to its conditional version.

Rotation angle prediction is a recently proposed SlfSL approach for image recognition. It randomly rotates the input image by one of the four possible rotation angles ({0 • , 90 • , 180 • , 270 • }) and requires the network to give a correct prediction of the rotation angle. Despite being extremely simple, this method works surprisingly well in practice. The underlying logic is that to correctly predict the rotation angle, the network needs to recognize the canonical view of objects from each class and thus enforces the network to learn informative patterns of each image category.

Following the proposed framework, we upgrade rotation angle prediction to conditional rotation angle prediction (CRAP) for semi-supervised learning. In this case, z in Eq. 1 is the rotation angle and y is the class label of input image x. We realize p(z|x, y; θ) by allocating a rotation angle prediction branch for each class. The prediction from each branch is then aggregated with the aid of p(y|x; θ) for the final prediction of z as shown in Eq. 1. A more detailed schematic illustration of the CRAP method is shown in Figure 1 (b). As seen, our method adopts a network with multiple branches and a shared feature extractor. Specifically, branches within the dashed box are called auxiliary branches since they are only used for training and will be discarded at the test stage. It contains C rotation predictors which corresponds to p(z|x, y; θ) and a semantic classifier which generates p(y|x; θ). The auxiliary branches and feature extractor are trained by using the procedure described in Section 3. Note that in CRAP, we do not directly use the semantic classifier from the auxiliary branches as the final classifier. Instead, we introduce an additional semantic classifier and learn it only via the loss incurred from the labeled data. This treatment is similar to S 4 L and we find this strategy work slightly better in practice. We postulate the reason is that the p(y|x; θ) branch in auxiliary branches is mainly trained by the supervision generated from the optimization of p(z|x; θ). Such supervision is noisy comparing with the loss generated from the ground-truth y. It is better to use such a branch just for feature training since the latter is more tolerant to noisy supervision.

Remark: (1) One potential obstacle of our model is that the quantity of parameters in the auxiliary branches would increase significantly with a large C. To tackle this, we propose to perform dimension reduction for the features feeding into the rotation predictor. Results in Section 5.3 show that this scheme is effective as our performance will not drop even when the dimension is reduced from 2048 to 16.

(2) The CRAP method is also highly expendable. In the following, we will extend CRAP from two perspectives: improving p(y|x; θ) and improving p(z|x, y; θ).

4.1. EXTENSION 1: INCORPORATING AN ADDITIONAL SEMSL LOSS:

As discussed in Section 3, our method essentially introduces a network module with a special structure and partial observations on the latent variable y. Besides using labeled data to provide supervision for y, we can also use existing SemSL techniques to provide extra loss for modeling p(y|x; θ).

To implement such an extension, we employ a simple SemSL loss as follows: we rotate each image in four angles within one batch (the prediction of the rotated image can be obtained as the byproduct of CRAP) and obtain the arithmetic average p of the predicted distributions across these four rotated samples. Then we perform a sharpening operation over p as in MixMatch :

EQUATION

)

where C is the number of classes and T ∈ (0, 1] is a temperature hyper-parameter. Then we use the cross entropy between pi and p(y|x; θ) (in auxiliary branches) as an additional loss.

Note that other (more powerful) SemSL can also apply here. We choose the above SemSL technique is simply because its operation, i.e. image rotation, has already been employed in the CRAP algorithm and thus could be reused to generate the additional SemSL loss without increasing the complexity of the algorithm.

4.2. EXTENSION 2: USING CONDITIONAL DENOISING ROTATION PREDICTION:

We also make another extension over CRAP by introducing an improved version of the conditional rotation prediction task. Specifically, we require the rotation prediction branch to predict rotation angle for a mixed version of the rotated image, that is, we randomly mix the input image x i with another randomly sampled rotated image x j via x mix = αx i + (1α)x j , with α sampled from [0.5, 1]. Meanwhile, the class prediction p(y|x i ; θ) is calculated from the unmixed version of the input x i . In such a design, the network needs to recognize the rotation angle of the target object with the noisy distraction from another image, and we call this scheme denoising rotation prediction.

The purpose of introducing this modified task is to make the SlfSL task more challenging and more dependent on the correct prediction from p(y|x; θ). To see this point, let's consider the following example. Letter 'A' is rotated with 270 • and is mixed with letter 'B' with rotation 90 • . Directly predicting the rotation angle for this mixed image encounters an ambiguity: whose rotation angle, A's or B's, is the right answer? In other words, the network cannot know which image class is the class-of-interest. This ambiguity can only be resolved from the output of p(y|x; θ) since its input is unmixed target image. Therefore, this improved rotation prediction task relies more on the correct prediction from the semantic classifier and training through CRAP is expected to give stronger supervision signal to p(y|x; θ). Note that although the denoising rotation prediction also uses mix operation, it is completely different from mixup. The latter constructs a loss to require the output of the mixed image to be mixed version of the outputs of original images. This loss is not applied in our method. For more algorithm details about CRAP and the extended CRAP, please refer to the Appendix A.1.

5. EXPERIMENTS:

In this section, we conduct experiments to evaluate the proposed CRAP method1 . The purpose of our experiments is threefolds: (1) to validate if CRAP is better than other SlfSL-based SemSL algorithms.

(2) to compare CRAP and extended CRAP (denoted as CRAP+ hereafter) against the state-of-the-art SemSL methods.

(3) to understand the contribution of various components in CRAP.

5.1. EXPERIMENTAL DETAILS:

To make a fair comparison to recent works, different experimental protocols are adopted for different datasets. Specifically, for CIFAR-10 and CIFAR-100 (Krizhevsky et al., 2009) and SVHN (Netzer et al., 2011) , we directly follow the settings in (Berthelot et al., 2019) . For ILSVRC-2012 (Russakovsky et al., 2015) , our settings are identical to (Zhai et al., 2019) except for data pre-processing operations for which we only use the inception crop augmentation and horizontal mirroring. We ensure that all the baselines are compared under the same setting. Followed the standard settings of SemSL, the performance with different amount of labeled samples are tested. For CIFAR-10 and SVHN, sample size of labeled images is ranged in five levels: {250, 500, 1000, 2000, 4000}. For CIFAR-100, 10000 labeled data is used for training. For ILSVRC-2012, 10% and 1% of images are Two SlfSL-based SemSL baseline approaches are considered: 1) Fine-tune: taking the model pretrained on the pretext task as an initialization and fine-tuning with a set of labeled data. We term this method Fine-tune in the following sections. 2) S 4 L: S 4 L method proposed in (Zhai et al., 2019) . Note that we do not include any methods which combine other SemSL techniques. For this reason, we only use our basic CRAP algorithm in the comparison in this subsection. As a reference, we also report the performance obtained by only using the labeled part of the dataset for training, denoting as Labeled-only. The experimental results are as follows:

CIFAR-10 The results are presented in Table 1 . We find that the "Fine-tune" strategy leads to a mixed amount of improvement over the "Labeled-only" case. It is observed that a large improvement can be obtained when the amount of labeled samples is ranged from 500 to 2000 but not on 250 and 4000's settings. It might be because on one hand too few labeled samples are not sufficient to perform an effective fine-tuning while on the other hand the significant improvement diminishes after the sample size increase. In comparison, S 4 L achieves much better accuracy for the case of using few samples. This is largely benefited from its down-stream-task awareness design -the labeled training samples exerts impact at the feature learning stage. Our CRAP method achieves significantly better performance than those two ways of incorporating SlfSL for SemSL and always halves the test error of S 4 L in most cases.

SVHN and SVHN+Extra:

Table 2 shows the results of each method. Somehow surprisingly, we find that the Fine-tune and S 4 L do not necessarily outperform the Labeled-only baseline. They actually performs worse than Labeled-only on SVHN. With more training data in SVHN + Extra, S 4 L tends to bring benefits for enhancing performance when the size of labeled samples are small e.g., with 250 samples. In comparison, the proposed CRAP still manages to produce significant improvement over Labeled-only in all those settings. This result clearly demonstrates that the simple combination of SlfSL and SemSL may not necessarily bring improvement and a properly-designed strategy of incorporating SlfSL with SemSL is crucial.

CIFAR-100:

As shown in Table 3 , it is obvious that all SlfSL-based SemSL methods can have better accuracy than that of Labeled-only. S 4 L leads to a marginal improvement over Fine-tune although its performance is a little bit unstable on different partitions as shown by its higher variance. Again, the proposed CRAP achieves significant improvement over those baselines. ILSVRC-2012 Table 4 presents the results of each method. The top block of Table 4 shows the reported results in the original S 4 L paper and we also re-implement S 4 L based on the code of (Kolesnikov et al., 2019) . Due to the difference of data pre-processing, results in the upper block cannot be directly compared to those below. Again, we have observed that CRAP is consistently superior to S 4 L in all settings. As mentioned in Section 4, for saving the computational cost, we propose to reduce the dimensionality of features fed into the rotation angle predictor when there is a large number of classes. In Table 5 , we demonstrates the effect of this scheme. As seen, the test performance stays the same when the feature dimensions is gradually reduced from 2048 to only 16 dimensions. This clearly validates the effectiveness of the proposed scheme.

5.3. COMPARE WITH THE STATE-OF-THE-ART SEMSL:

In the following section, we proceed to demonstrate the performance of CRAP+, that is, the extended CRAP method by incorporating the two extensions discussed in Section 4.1 and 4.2. We compare its performance against the current state-of-the-art methods in SemSL. Similar to (Berthelot et al., 2019) , several SemSL baselines are considered: Pseudo-Label, Π-Model, Mean Teacher, Virtual Adversarial Training (VAT), MixUp and MixMatch2 . Since a fair and comprehensive comparison has been done in (Berthelot et al., 2019) and we strictly follow the same experimental setting, we directly compare CRAP+ to the numbers reported in (Berthelot et al., 2019) . The experimental results are shown in Figure 2 , Figure 3 and Table 6 . As seen from those Figures and Table , the proposed CRAP+ is on-par with the best performed approaches, e.g., Mixmatch, in those datasets. This clearly demonstrates the power of the proposed method. Note that the current state-ofthe-art in SemSL is achieved by carefully combining multiple existing successful ideas in SemSL.

In contrast, our CRAP+ achieves excellent performance via an innovative framework of marrying SlfSL with SemSL. Conceptually, the latter enjoys greater potential. In fact, CRAP might be further extended by using more successful techniques in SemSL, such as MixUp. Since the focus of this paper is to study how SlfSL can benefit SemSL, we do not pursue this direction here.

5.4. ABLATION STUDY:

Since there are several components in CRAP and CRAP+, we study the effect of adding or removing some components in order to provide additional insight into the role of each part. Specifically, we measure the effect of (1) only adding extension 1 to CRAP, i.e., incorporating an additional SemSL loss through sharpening operations on the semantic classifier in auxiliary branches (2) further adding extension 2 to CRAP. The resulted model is identical to CRAP+ (3) removing semantic classifier of main branch from CRAP. This is equivalent to using the semantic classifier in auxiliary branches for testing (4) removing rotation angle prediction branch from auxiliary branches and adding extension 1 to CRAP. The resulted structure can be seen as a variant of only using the SemSL technique in Extension 1 (but also with the classifier in main branch) (5) removing whole auxiliary branches from CRAP, i.e., pure supervised method with data rotated.

We conduct ablation studies on CIFAR-10 with 250 and 4000 labels with results presented in Table 7 . The main observations are: (1) The two extensions in CRAP+ will bring varying degrees of improvement. Extension 1 in Section 4.1, i.e., a stronger p(y|x; θ) modeling, perhaps leads to greater improvement. (2) Using an additional semantic classifier leads to a slight performance improvement over the strategy of directly utilizing p(y|x; θ) in the auxiliary branches for testing (method in third line from the bottom).

(3) Using the sharpening strategy as in our extension 1 and training a SemSL method alone does not produce good performance. This indicates the superior performance of CRAP+ is not simply coming from a strong SemSL method but its incorporation with the CRAP framework. (4) Applying rotation as a data augmentation for labeled data (the last method in Table 7 ) will not lead to improved performance over the labeled-only baseline as by cross referring the results in Table 9 . This shows that the advantage of CRAP is not coming from the rotation data augmentation.

6. CONCLUSION:

In this work, we introduce a framework for effectively coupling SemSL with SlfSL. The proposed CRAP method is an implementation of this framework and it shows compelling performance on several benchmark datasets compared to other SlfSL-based SemSL methods. Furthermore, two extensions are incorporated into CRAP to create an improved method which achieves comparable performance to the state-of-the-art SemSL methods. The experimental details are presented in Table 8 .

:

Source code: https://www.dropbox.com/s/ciummonqkd5u3as/CRAP.zip?dl=0

For CIFAR-100, we only compare CRAP+ against SWA(Tarvainen & Valpola, 2017) and MixMatch, since those methods achieve the best reported performance in literature.

Figures and Tables:

Figure 1: The structure comparison between S 4 L and our proposed CRAP method. The symbol C in our model denotes the number of semantic classes.

Figure 2: CIFAR-10 error rates of CRAP+ and SOTA SemSL methods.

DETAILS OF CRAP AND CRAP+ Algorithm 1: CRAP Pseudocode Inputs: {X l , Y l }: collection of labeled samples X u : collection of unlabeled samples f main cls : semantic classifier of main branch f aux cls : semantic classifier of auxiliary branches f i aux rot : rotation angle classifier of auxiliary branches, where i ∈ [1, 2, • • • , C] T : total number of iterations B: minibatch size Outputs: f main cls : semantic predictor for test set Process: 1: for t ← 1 to T do 2: Sample B examples from {X l , Y l } and X u respectively 3:Obtain semantic class prediction on both main and auxiliary branches:p(y main |x l ) = f main cls (x l ), p(y aux |x l ) = f aux cls (x l )and train with CrossEntropy(p(y main |x l ), y l ) and CrossEntropy(p(y aux |x l ), y l ) losses 4: Obtain rotation angle prediction p(z|x) = y p(z|y, x) • p(y|x) = C i=1 f i aux rot (x) • f aux cls (x) and train with CrossEntropy(p(z|x), ẑ) loss // ẑ is rotation angle ground truth 5: end for Algorithm 2: CRAP+ Pseudocode Inputs: {X l , Y l }: collection of labeled samples X u : collection of unlabeled samples f main cls : semantic classifier of main branch f aux cls : semantic classifier of auxiliary branches f i aux rot : rotation angle classifier of auxiliary branches, where i ∈ [1, 2, • • • , C] T : total number of iterations B: minibatch size Outputs: f main cls : semantic predictor for test set Process: 1: for t ← 1 to T do 2: Sample B examples from {X l , Y l } and X u respectively 3: Obtain semantic class prediction on both main and auxiliary branches: p(y main |x l ) = f main cls (x l ), p(y aux |x l ) = f aux cls (x l ) and train with CrossEntropy(p(y main |x l ), y l ) and CrossEntropy(p(y aux |x l ), y l ) losses 4: Construct sharpened target p for unlabeled data // see extension 1 in Section 4.1 5: Obtain semantic class prediction for unlabeled data on auxiliary branch p(y u |x u ) = f aux cls (x u ) and train with CrossEntropy(p(y u |x u ), p) loss 6: Construct mixed images {x m } from {X l , X u } // see extension 2 in Section 4.2 7: Obtain rotation angle prediction p(z m |x m ) = y p(z m |y, x m ) • p(y|x) = C i=1 f i aux rot (x m ) • f aux cls (x) and train with CrossEntropy(p(z m |x m ), ẑ) loss // ẑ is rotation angle ground truth 8: end for A.2 EXPERIMENTAL DETAILS

usually l << n and y is considered as discrete class label here). The goal of a SemSL algorithm is to learn a better posterior probability estimator over y, i.e., p(y|x, θ) with θ denoting model parameters, from both labeled and unlabeled training samples. SlfSL aims to learn feature representations via a pretext task. The task usually defines a target z, which can be derived from the training data itself, e.g., rotation angle of the input image. Once z is defined, SlfSL is equivalent to training a predictor to model p(z|x; θ).

Table content: <table/>

Comparison of error rates (%) for SlfSL based SemSL on CIFAR10.

Table content: <table><tr><td># Labels</td><td>250</td><td>500</td><td>1000</td><td>2000</td><td>4000</td></tr><tr><td colspan="6">Labeled-only 55.69±2.07 45.11±1.85 37.69±1.67 29.14±2.95 20.83±1.09</td></tr><tr><td>Fine-tune</td><td colspan="5">53.30±4.05 36.23±0.96 28.31±0.67 21.94±0.20 17.77±0.35</td></tr><tr><td>S 4 L</td><td colspan="5">37.26±1.23 31.35±1.20 29.03±0.67 24.71±0.88 20.27±1.60</td></tr><tr><td>CRAP</td><td colspan="4">17.26±1.22 15.13±0.42 12.79±0.10 10.73±0.05</td><td>9.26±0.17</td></tr></table>

Comparison of error rates (%) for SlfSL based SemSL on SVHN and SVHN+Extra. labeled among the whole dataset. In each experiment, three independent trials are conducted for all datasets except for ILSVRC-2012. See more details in Table8in Appendix.5.2 COMPARE WITH SLFSL-BASED SEMSL METHODSFirstly, we compare CRAP to other SlfSL-based SemSL algorithms on five datasets: CIFAR-10, CIFAR-100, SVHN, SVHN+Extra and ILSVRC-2012.

Table content: <table><tr><td/><td># Labels</td><td>250</td><td>500</td><td>1000</td><td>2000</td><td>4000</td></tr><tr><td>SVHN</td><td colspan="6">Labeled-only 25.20±2.69 16.66±1.48 13.05±0.64 Fine-tune 47.17±1.78 32.64±3.33 23.63±0.82 17.78±0.08 13.83±0.45 9.64±0.14 7.66±0.40 S 4 L 28.97±0.98 25.09±4.50 18.74±0.94 15.21±0.48 12.70±0.28 CRAP 10.21±1.45 7.99±0.34 5.81±0.11 5.07±0.37 4.61±0.27</td></tr><tr><td>+Extra</td><td>Fine-tune S 4 L CRAP</td><td colspan="4">39.23±2.23 24.89±1.31 17.67±0.63 12.16±0.53 19.19±1.26 14.80±1.23 12.39±0.63 11.00±0.39 7.21±0.32 5.49±0.20 4.79±0.17 4.31±0.22</td><td>9.38±0.39 9.16±0.29 3.77±0.08</td></tr></table>

Comparison of error rates (%) for SlfSL based SemSL on CIFAR-100.

Table content: <table><tr><td/><td>Methods</td><td/><td colspan="2">Labeled-only</td><td>Fine-tune</td><td>S 4 L</td><td>CRAP</td></tr><tr><td/><td colspan="2">CIFAR-100</td><td colspan="2">46.83±0.42</td><td>45.40±0.60 42.98±3.91 30.32±0.83</td></tr><tr><td colspan="6">Table 4: ILSVRC-2012 accuracies (%) of SlfSL</td></tr><tr><td colspan="2">based SemSL methods.</td><td/><td/><td/></tr><tr><td># Labels</td><td colspan="2">10%</td><td/><td>1%</td></tr><tr><td/><td>Top1</td><td colspan="2">Top5</td><td>Top1</td><td>Top5</td></tr><tr><td>Labeled-only</td><td colspan="3">-80.43</td><td colspan="2">-48.43</td></tr><tr><td>Fine-tune</td><td colspan="3">-78.53</td><td colspan="2">-45.11</td></tr><tr><td>S 4 L</td><td colspan="3">-83.82</td><td colspan="2">-53.37</td></tr><tr><td colspan="6">Labeled-only 59.16 83.07 41.26 69.07</td></tr><tr><td>S 4 L</td><td colspan="5">63.84 86.28 46.90 74.16</td></tr><tr><td>CRAP</td><td colspan="5">65.34 87.07 49.26 75.57</td></tr></table>

ILSVRC-2012 accuracies (%) for reducing the dimension of input feature channels.

Table content: <table><tr><td># Labels</td><td colspan="2">10%</td><td>1%</td></tr><tr><td/><td>Top1</td><td>Top5</td><td>Top1</td><td>Top5</td></tr><tr><td colspan="5">Dim-2048 65.34 87.07 49.26 75.57</td></tr><tr><td>Dim-512</td><td colspan="4">65.46 87.04 49.25 75.79</td></tr><tr><td>Dim-256</td><td colspan="4">65.45 86.95 49.08 75.62</td></tr><tr><td>Dim-128</td><td colspan="4">65.53 86.93 48.94 75.53</td></tr><tr><td>Dim-64</td><td colspan="4">65.45 87.04 48.98 75.60</td></tr><tr><td>Dim-32</td><td colspan="4">65.33 87.08 48.96 75.41</td></tr><tr><td>Dim-16</td><td colspan="4">65.39 86.85 48.78 75.36</td></tr></table>

Error rate (%) comparison of CRAP+ to SOTA SemSL methods on CIFAR-100.

Table content: <table><tr><td>Methods</td><td>SWA</td><td>MixMatch</td><td>CRAP+</td></tr><tr><td>CIFAR-100</td><td>28.8</td><td colspan="2">25.88±0.30 25.97±0.40</td></tr></table>

Ablation study for CRAP on CIFAR-10 with 250 and 4000 labels.

Table content: <table><tr><td># Labels</td><td>250</td><td>4000</td></tr><tr><td>CRAP</td><td>17.07</td><td>9.07</td></tr><tr><td>CRAP + extension 1</td><td>12.68</td><td>7.05</td></tr><tr><td>CRAP + extension 1 + extension 2 (CRAP+)</td><td>10.76</td><td>5.98</td></tr><tr><td>CRAP w/o semantic classifier in the main branch</td><td colspan="2">20.10 10.25</td></tr><tr><td colspan="3">CRAP w/o rotation prediction branches + extension 1 54.09 14.38</td></tr><tr><td>CRAP w/o whole auxiliary branches</td><td colspan="2">62.73 27.31</td></tr></table>

Peer review (iclr2020):
This paper proposed a framework to solve semi-supervised learning problems using self-supervised learning, By implementing it through rotation angle prediction, called CRAP. It predicts the image rotationangle conditioned on the candidate image class. Experimental evaluations show that CRAP achieves superior performance over the other existing ways of combining SlfSL and SemSL. Overall I feel that the paper is not pleasant to read and leaves the reader a lot of unclearities. For example, if the task consdiered using the benchmark image data sets classification, then why and where do you need to estimate the rotation angle; is rotation needed in augmenting the training data set; what is the relation between the image classification task and the estimation of image rotation angles? In equation 1, is you have already been able to estimate p(y|x,theta), then why bother estimating the other term since you final goal is exactly the semi-supervised learning task of estimating the probability of the label y for each sample x? The authors claimed that the p(z|x,theta) term will also back propagate to p(y|x,theta). does it depend on the pre-task chosen? In figure~1, why do you have multiple sematic classifiers? Estimating the joint conditional distribution p(z|x,y,theta) can be considered as creating an ensemble of diversified pretext target predictors, as authors discussed. However, the prediction requires summation over y, namely differen sample classes --- how can we consider each term as a base classifier if it is only related to one class? Overall the paper is very difficult to understand and authors can definitely improve their presentation, and in particular spend more effort explaining things in a coherent and clear manner.