# tf.contrib.gan.losses.wargs.mutual_information_penalty

tf.contrib.gan.losses.wargs.mutual_information_penalty(
structured_generator_inputs,
predicted_distributions,
weights=1.0,
scope=None,
loss_collection=tf.GraphKeys.LOSSES,
reduction=losses.Reduction.SUM_BY_NONZERO_WEIGHTS,
)


Returns a penalty on the mutual information in an InfoGAN model.

This loss comes from an InfoGAN paper https://arxiv.org/abs/1606.03657.

#### Args:

• structured_generator_inputs: A list of Tensors representing the random noise that must have high mutual information with the generator output. List length should match predicted_distributions.
• predicted_distributions: A list of tf.Distributions. Predicted by the recognizer, and used to evaluate the likelihood of the structured noise. List length should match structured_generator_inputs.
• weights: Optional Tensor whose rank is either 0, or the same dimensions as structured_generator_inputs.
• scope: The scope for the operations performed in computing the loss.
• loss_collection: collection to which this loss will be added.
• reduction: A tf.losses.Reduction to apply to loss.
• add_summaries: Whether or not to add summaries for the loss.

#### Returns:

A scalar Tensor representing the mutual information loss.