Solved – Linking generative, discriminative models to supervised and unsupervised learning

generative-modelssupervised learningunsupervised learning

Definitions that I am considering: A generative model learns p(x,y) whereas a discriminative model learns p(y|x=x).

I would like to verify if my understanding is correct by sharing the following claims. Please let me know if my claims are right or wrong (do provide counter-examples).

Claim 1: All generative models are learnt using unsupervised learning.

Claim 2: Not every unsupervised learning algorithm is a generative model.
For example, clustering algorithm is not a generative model.

Claim 3: All discriminative models are learnt using supervised learning.

Claim 4: Every supervised learning algorithm is a discriminative model.

Best Answer

Well first I would nitpick your definition. Consider a conditional GAN which given a category $x$ generates a realistic image $y$ in category $x$ -- that is, it models $P(y|x)$. This is arguably not a discriminative model, but it is according to your definition.

One counterexample to claim 1 would be a model like Neural Scene Derendering. It is a generative model with a highly structured latent space, which can only be learned with supervision (because learning structured latent representations is in general a very hard problem).

A counterexample to 3 is that monocular depth and optical flow models can be learned in an unsupervised manner by exploiting geometric and temporal consistencies. (Yet these are discriminative regression models)

Assuming all models can be dichotomized into generative and discriminative and supervised/unsupervised, Claim 4 is the contrapositive of Claim 1. For an explicit counterexample, consider a GAN conditioned on image category -- this would require labeled data to train, yet is generative.

Related Question