One common way to define discriminative models is that they model $P(Y|X)$, where $Y$ is the label, and $X$ is the observed variables. Conditional generative models do something quite similar, but the modeled distribution of $Y$ tends to be more complex -- for example, $Y$ might be a distribution of images, where the conditioning variable $X$ might be the image class. Usually it is quite intuitive whether a model is discriminative, or conditional generative, but in some cases it seems quite unclear, so I wonder: is the distinction between the two purely arbitrary?

Here is a list of models of $P(Y|X)$ for different $Y$ and $X$, listed in order of increasing "generativeness"

  1. A semantic segmentation model (a convolutional network) outputting a distribution over classes for each pixel in an image.

  2. A convolutional network which regresses dense monocular depth -- outputting a normal distribution over depths for each pixel in an image.

  3. Same as 4, but with no conditioning noise in the generator.

  4. A GAN which outputs dense monocular depth from RGB input, using both the typical GAN loss and also a regression loss.

  5. A cycleGAN model which lets you sample from the distribution $Y|X$, where $X$ is an image, and $Y$ is a rendition of that image in the style of a Monet painting.

  6. A conditional GAN model which generates a photorealistic image of any class of animal (the animal label being the conditioning variable).

I think almost everyone agrees 1 and 6 are discriminative and conditional generative respectively. The same for 2 and 5 respectively, but the justification is less clear. Finally for 3 and 4, it's quite unclear to me how they should be classified. 3 models a far less complex distribution over dense depth maps because of the lack of conditioning noise, and leans towards the discriminative side, and vice versa for 4.

So: 1: Is there a clean distinction between discriminative and conditional generative models? 2: Is it just some arbitrary function of how complex the modeled distribution is? 3: If there is a good definition, how would it classify the above models?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.