tf.contrib.distributions.bijectors.masked_autoregressive_default_template
Построение оценщика плотности маскированного авторегрессивного распределения (Germain и др., 2015). (устаревшее)
tf.contrib.distributions.bijectors.masked_autoregressive_default_template(
hidden_layers, shift_only=False, activation=tf.nn.relu, log_scale_min_clip=-5.0,
log_scale_max_clip=3.0, log_scale_clip_gradient=False, name=None, *args,
**kwargs
)
Это будет обернуто в make_template, чтобы гарантировать, что переменные создаются только один раз. Она принимает входные данные и возвращает loc ("mu" в [Germain и др. (2015)][1]) и log_scale ("alpha" в [Germain и др. (2015)][1]) из сети MADE.
О скрытых слоях
Каждый элемент hidden_layers должен быть больше input_depth (т.е. input_depth = tf.shape(input)[-1], где input — вход в нейронную сеть). Это необходимо для обеспечения свойства авторегрессии.
О усечении
Эта функция также необязательно усекает log_scale (но, возможно, не его градиент). Это полезно, потому что, если log_scale слишком мал/велик, может произойти недолив/переполнение, что сделает невозможным для MaskedAutoregressiveFlow биджектора реализовать биекцию. Кроме того, log_scale_clip_gradient bool указывает, нужно ли также усекать градиент. По умолчанию градиент не усекается; это полезно, потому что это все еще предоставляет информацию о градиенте (для подгонки), но при этом решает проблему числовой устойчивости. Т.е., log_scale_clip_gradient = False означает grad[exp(clip(x))] = grad[x] exp(clip(x)) вместо обычного grad[clip(x)] exp(clip(x)).
| Аргументы | ||
|---|---|---|
hidden_layers | Python list-подобный список целых неотрицательных чисел, скаляры, указывающие количество единиц в каждом скрытом слое. По умолчанию: [512, 512]. </td> </tr><tr> <td>shift_only</td> <td> Pythonboolindicating if only theshiftterm shall be computed. Default:False. </td> </tr><tr> <td>activation</td> <td> Activation function (callable). Explicitly setting toNoneimplies a linear activation. </td> </tr><tr> <td>log_scale_min_clip</td> <td>float-like scalarTensor, or aTensorwith the same shape aslog_scale. The minimum value to clip by. Default: -5. </td> </tr><tr> <td>log_scale_max_clip</td> <td>float-like scalarTensor, or aTensorwith the same shape aslog_scale. The maximum value to clip by. Default: 3. </td> </tr><tr> <td>log_scale_clip_gradient</td> <td> Pythonboolindicating that the gradient of <a href="../../../../tf/clip_by_value"><code>tf.clip_by_value</code></a> should be preserved. Default:False. </td> </tr><tr> <td>name</td> <td> A name for ops managed by this function. Default: "masked_autoregressive_default_template". </td> </tr><tr> <td>args</td> <td> <a href="../../../../tf/layers/dense"><code>tf.compat.v1.layers.dense</code></a> arguments. </td> </tr><tr> <td>*kwargs` | tf.compat.v1.layers.dense ключевые аргументы. |
| Возвращаемые значения | |
|---|---|
shift | Float-подобный список сдвиговых членов (значение "mu" в [Germain и др. (2015)][1]). |
log_scale | Float-подобный список членов log(масштаба) (значение "alpha" в [Germain и др. (2015)][1]). |
| Исключения | |
|---|---|
NotImplementedError | если правое измерение inputs неизвестно до выполнения графа. |
Ссылки
[1]: Mathieu Germain, Karol Gregor, Iain Murray, and Hugo Larochelle. MADE: Masked Autoencoder for Distribution Estimation. В Международной конференции по машинному обучению, 2015. https://arxiv.org/abs/1502.03509
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/distributions/bijectors/masked_autoregressive_default_template