yassouali / awesome-semi-supervised-learning

😎 An up-to-date & curated list of awesome semi-supervised learning papers, methods & resources.
MIT License
1.79k stars 227 forks source link
computer-vision deep-learning generative-model graph-neural-networks machine-learning natural-language-processing semi-supervised-learning

Awesome Semi-Supervised Learning

Awesome MIT License PRs Welcome Maintenance

A curated list of awesome Semi-Supervised Learning resources. Inspired by awesome-deep-vision, awesome-deep-learning-papers, and awesome-self-supervised-learning.

Background

What is Semi-Supervised Learning?

It is a special form of classification. Traditional classifiers use only labeled data (feature / label pairs) to train. Labeled instances however are often difficult, expensive, or time consuming to obtain, as they require the efforts of experienced human annotators. Meanwhile unlabeled data may be relatively easy to collect, but there has been few ways to use them. Semi-supervised learning addresses this problem by using large amount of unlabeled data, together with the labeled data, to build better classifiers. Because semi-supervised learning requires less human effort and gives higher accuracy, it is of great interest both in theory and in practice.

How many semi-supervised learning methods are there?

Many. Some often-used methods include: EM with generative mixture models, self-training, consistency regularization, co-training, transductive support vector machines, and graph-based methods. And with the advent of deep learning, the majority of these methods were adapted and intergrated into existing deep learning frameworks to take advantage of unlabled data.

How do semi-supervised learning methods use unlabeled data?

Semi-supervised learning methods use unlabeled data to either modify or reprioritize hypotheses obtained from labeled data alone. Although not all methods are probabilistic, it is easier to look at methods that represent hypotheses by p(y|x), and unlabeled data by p(x). Generative models have common parameters for the joint distribution p(x,y). It is easy to see that p(x) influences p(y|x). Mixture models with EM is in this category, and to some extent self-training. Many other methods are discriminative, including transductive SVM, Gaussian processes, information regularization, graph-based and the majority of deep learning based methods. Original discriminative training cannot be used for semi-supervised learning, since p(y|x) is estimated ignoring p(x). To solve the problem, p(x) dependent terms are often brought into the objective function, which amounts to assuming p(y|x) and p(x) share parameters

(source: SSL Literature Survey.)

An example of the influence of unlabeled data in semi-supervised learning. (Image source: Wikipedia)

Contributing

If you find any errors, or you wish to add some papers, please feel free to contribute to this list by contacting me or by creating a pull request using the following Markdown format:

- Paper Name. 
  [[pdf]](link) 
  [[code]](link)
  - Author 1, Author 2, and Author 3. *Conference Year*

and adding them to the corresponding markdown file in files/.

Books

Codebase

Surveys & Overview

Computer Vision

Note that for Image and Object segmentation tasks, we also include weakly-supervised learning methods, that uses weak labels (eg, image classes) for detection and segmentation.

NLP

List of papers here

Generative Models & Tasks

List of papers here

Graph Based SSL

List of papers here

Theory

List of papers here

Reinforcement Learning, Meta-Learning & Robotics

List of papers here

Regression

List of papers here

Other

List of papers here

Talks

Thesis

Blogs