At Imperfect Information Learning Team, Center for Advanced Intelligence Project (AIP), RIKEN, we are developing reliable and robust machine learning methods/algorithms that can cope with various factors such as weak supervision, noisy supervision, and adversarial attacks. This page hosts our program codes used in our published papers.

The page contains 4 top-level research topics:

For more related machine learning methods/algorithms, please check the following pages of our strategic partners:


The software available below is free of charge for research and education purposes. However, you must obtain a license from the author(s) to use it for commercial purposes. The software must not be distributed without prior permission of the author(s).

The software is supplied "as is" without warranty of any kind, and the author(s) disclaim any and all warranties, including but not limited to any implied warranties of merchantability and fitness for a particular purpose, and any warranties or non infringement. The user assumes all liability and responsibility for use of the software and in no event shall the author(s) be liable for damages of any kind resulting from its use.

Weakly supervised learning

Standard supervised learning relies on fully supervised or fully labeled data, which means that every instance is associated with a label, in order to teach a model how to map an instance to its label. In practice, however, collecting such data is often expensive in terms of budget and/or time window for labeling or sampling big enough data, or even impossible since it may cause privacy and/or fairness issues. Weakly supervised learning is aimed at solving a learning task from only weakly supervised or weakly labeled data, e.g., the positive class is present while the negative class is absent. Our weakly supervised trained models still try to capture the underlying map from an instance to its label and to predict the true label of any instance exactly the same as fully supervised trained models.

Positive-unlabeled learning

Positive-unlabeled learning is aimed as solving a binary classification problem only from positive and unlabeled data, without negative data.

Unlabeled-unlabeled learning

Unlabeled-unlabeled learning is aimed as solving a binary classification problem only from two sets of unlabeled data with different class priors.

Complementary-label learning

Complementary-label learning is aimed at training a multi-class classifier only from complementarily labeled data (a complementary label incidates a class which a patter does NOT belong to).

Partial-label learning

Partial-label learning is aimed at training a multi-class classifier only from partially labeled data (a partial label incidates a set of class labels one of which is the true one).

Pairwise learning

Pairwise learning is aimed at solving a classification problem from pairwise similarities/dissimilarities.

Self-supervised learning

Self-supervised learning is aimed at learning a representation from unlabeled data with various priors and pesuodo supervisions.


Label-noise learning

Standard supervised learning relies on high-quality clean labels, which means that instances are with labels drawn from the clean class-posterior probability. Nevertheless, if we require every instance to be associated with a label, our collected labels would probably come from non-expert annotators or be automatically annotated based on logs in practice. Such lower-quality labels are called noisy labels and regarded as drawn from some noisy/corrupted class-posterior probability, resulting in a mixture of correctly and incorrectly labeled data. Label-noise learning is aimed at solving a learning task from such possibly mislabeled data, where our models trained with noisy labels still try to predict the true label of any instance exactly the same as models trained with clean labels.

Loss correction for class-conditional noise

Sample selection/reweighting for class-conditional noise

Other techniques for class-conditional noise

Instance-dependent noise

Adversarial robustness

When we deploy models trained by standard supervised learning, they work well on natural test data. However, those models cannot handle adversarial test data (also known as adversarial examples) that are algorithmically generated by adversarial attacks. An adversarial attack is an algorithm which applies specially designed tiny perturbations on natural data to transform them into adversarial data, in order to mislead a trained model and let it give wrong predictions. Adversarial robustness is aimed at improving the robust accuracy of trained models against adversarial attacks.

Algorithm perspective

From the algorithm perspective, we would like to design smarter loss/objective functions for training standard models. Specifically, given the knowledge that the test data may be adversarial, we carefully simulate some adversarial attack during training. Thus, the model has already seen many adversarial training data in the past, and hopefully it can generalize to adversarial test data in the future.

Model perspective

From the model perspective, we would like to design smarter models that can be robust even when they are trained by standard supervised learning. Indeed, some models are born to be more robust than other models, because they possess special layers and components designed for removing or reducing the negative effects of adversarial attacks.

Detection perspective

From the detection perspective, we would like to check whether a set of data has been attacked; if the given data have been attacked, we want to know further which one has been attacked and which one has not. For the data coming from the attacker but not the nature, we can make more careful predictions or even abstain from giving predictions.

Application perspective

From the application perspective, we would like to apply the adversarial robustness to case studies. In particular, adversarial attacks are the ways of evaluating the vulnerabilities of machine learning models; adversarial training is the way of making the machine learning models robust against such vulnerabilities. Given a method empowered by machine learning approaches, we can leverage the adversarial attacks/training to evaluate/enhance the method's robustness.