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ù)的方式縮減張量.

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

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

這個(gè)操作返回一個(gè)逐步以指數(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:非負(fù)標(biāo)量張量,通常是全局步驟或其偏移版本.
  • decay_time:正標(biāo)量張量.
  • alpha_min:float 或 double 張量;當(dāng) step >= decay_time,達(dá)到最小的,最終的 alpha 值.
  • alpha_max:張量的 dtype 屬性與 alpha_min 相同;當(dāng) step == 0,alpha 達(dá)到最大,最初的值
  • name:給該操作提供一個(gè)名字.

返回:

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)