tf.contrib.distributions.assign_log_moving_mean_exp
Вычисление логарифма экспоненциально взвешенного скользящего среднего от экспоненты.
tf.contrib.distributions.assign_log_moving_mean_exp(
log_mean_exp_var, log_value, decay, name=None
)
Если log_value является выборкой из стационарной случайной величины, эта функция аппроксимирует log(E[exp(log_value)]), т.е. взвешенную сумму логарифмов экспонент. Более точно, tf.Variable, log_mean_exp_var, обновляется посредством log_value с использованием следующего тождества:
log_mean_exp_var =
= log(decay exp(log_mean_exp_var) + (1 - decay) exp(log_value))
= log(exp(log_mean_exp_var + log(decay)) + exp(log_value + log1p(-decay)))
= log_mean_exp_var
+ log( exp(log_mean_exp_var - log_mean_exp_var + log(decay))
+ exp(log_value - log_mean_exp_var + log1p(-decay)))
= log_mean_exp_var
+ log_sum_exp([log(decay), log_value - log_mean_exp_var + log1p(-decay)]).
Помимо повышения числовой устойчивости, эта формулировка выгодна, потому что log_mean_exp_var может обновляться без блокировки, т.е. с использованием assign_add. (Примечание: обновления не являются потокобезопасными; просто предполагается, что обновление tf.Variable эффективно из-за отсутствия блокировок.)
| Аргументы | |
|---|---|
log_mean_exp_var | float-подобный Variable, представляющий логарифм экспоненциально взвешенного скользящего среднего от экспоненты. Имеет такую же форму, как и log_value. |
log_value | float-подобный Tensor, представляющий новую (потоковую) наблюдение. Имеет такую же форму, как и log_mean_exp_var. |
decay | float-подобный Tensor. Коэффициент затухания скользящего среднего. Обычно близок к 1., например, 0.999. |
name | Необязательное имя возвращаемой операции. |
| Возвращаемое значение | |
|---|---|
log_mean_exp_var | Ссылка на входной тензор 'Variable' с обновленным посредством log_value логарифмом экспоненциально взвешенного скользящего среднего от экспоненты. |
| Исключения | |
|---|---|
TypeError | если log_mean_exp_var не имеет тип с плавающей точкой dtype. |
TypeError | если log_mean_exp_var, log_value, и decay имеют разные base_dtype. |
© 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/assign_log_moving_mean_exp