The Inception Score (IS) is an algorithm used to assess the quality of images created by a generative model, like a generative adversarial network (GAN).[1] It has been somewhat superceded by the Fréchet inception distance.
Definition
Let there be two spaces, the space of images and the space of labels . The space of labels is finite.
Let be a probability distribution over that we wish to judge.
Let a discriminator be a function of type where is the set of all probability distributions on . For any image , and any label , let be the probability that image has label , according to the discriminator. It is usually implemented as an Inception-v3 network trained on ImageNet.
The Inception Score of relative to isEquivalent rewrites includeTo show that this is nonnegative, use Jensen's inequality.
Pseudocode:
INPUT discriminator .
INPUT generator .
Sample images from generator.
Compute , the probability distribution over labels conditional on image .
Sum up the results to obtain , an empirical estimate of .
Sample more images from generator, and for each, compute .
Average the results, and take its exponential.
Return the result.
Interpretation
, where is the total number of possible labels.
High is good. It means that is a "sharp and distinct" collection of pictures.
iff for almost all
That means is completely "indistinct". That is, for any image sampled from , discriminator returns exactly the same label predictions .
The optimal log-inception score is achieved iff the two conditions are true:
For almost all , the distribution is concentrated on one label. That is, . That is, every image sampled from is exactly classified by the discriminator.
For every label , the proportion of generated images labelled as is exactly . That is, the generated images are equally distributed over all labels.
- ^ Salimans, Tim; Goodfellow, Ian; Zaremba, Wojciech; Cheung, Vicki; Radford, Alec; Chen, Xi; Chen, Xi (2016). "Improved Techniques for Training GANs". Advances in Neural Information Processing Systems. 29. Curran Associates, Inc.