|  View source on GitHub | 
Calculates virtual adversarial loss for the given input.
nsl.lib.virtual_adv_regularizer(
    input_layer, embedding_fn, virtual_adv_config, embedding=None
)
Virtual adversarial loss is defined as the distance between the embedding of the input and that of a slightly perturbed input. Optimizing this loss helps smooth models locally.
Reference paper: https://arxiv.org/pdf/1704.03976.pdf
| Args | |
|---|---|
| input_layer | a dense tensor for input features whose first dimension is the training batch size. | 
| embedding_fn | a unary function that computes the embedding for the given input_layerinput. | 
| virtual_adv_config | an nsl.configs.VirtualAdvConfigobject that specifies
parameters for generating adversarial examples and computing the
adversarial loss. | 
| embedding | (optional) a dense tensor representing the embedding of input_layer. If not provided, it will be calculated asembedding_fn(input_layer). | 
| Returns | |
|---|---|
| virtual_adv_loss | a float32denoting the virtural adversarial loss. |