TensorFlow Renyi方法的使用

2018-08-30 15:41 更新

tf.contrib.bayesflow.entropy.renyi_alpha

renyi_alpha (  
    step ,  
    decay_time ,  
    alpha_min ,  
    alpha_max = 0.99999 ,  
    name = 'renyi_alpha' 
)

定義在tensorflow/contrib/bayesflow/python/ops/entropy_impl.py

參見指南:貝葉斯熵(contrib)>操作

Renyi 比率適合以指數(shù)的方式縮減張量.

當在高維度中當最小化 Renyi 散度為 0≤α<1(或最大化 Renyi 等價 elbo) 時, 在 alpha 遠離 1 的時候體驗 NaN 和 inf 值的情況并不少見.

出于這個原因,通常需要開始與 alpha 非常接近1的優(yōu)化,并根據(jù)某些時間表將其減少到最終的 alpha_min.在切換到基于 Renyi 的方法之前, 用戶甚至可能希望使用 elbo_ratio 進行一些固定時間的優(yōu)化.

這個操作返回一個逐步以指數(shù)方式衰減的 alpha:

s(step)=(exp{step/decay_time } - 1 )/(e -1)  
t(s)= max(0 ,min(s,1)),(smooth growth from 0 to 1 )  
alpha(t)=(1-t)alpha_min + t alpha_max

ARGS:

  • step:非負標量張量,通常是全局步驟或其偏移版本.
  • decay_time:正標量張量.
  • alpha_min:float 或 double 張量;當 step >= decay_time,達到最小的,最終的 alpha 值.
  • alpha_max:張量的 dtype 屬性與 alpha_min 相同;當 step == 0,alpha 達到最大,最初的值
  • name:給該操作提供一個名字.

返回:

  • alpha:張量的 dtype 屬性與 alpha_min 相同.


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號