TensorFlow函數(shù):tf.nn.batch_normalization

2019-01-31 11:29 更新

tf.nn.batch_normalization函數(shù)

tf.nn.batch_normalization(
    x,
    mean,
    variance,
    offset,
    scale,
    variance_epsilon,
    name=None
)

定義在:tensorflow/python/ops/nn_impl.py.

請(qǐng)參閱指南:神經(jīng)網(wǎng)絡(luò)>規(guī)范化

批量標(biāo)準(zhǔn)化.

如http://arxiv.org/abs/1502.03167中所述.通過(guò)mean和variance來(lái)標(biāo)準(zhǔn)化張量,并對(duì)其應(yīng)用(可選)scale\(\ gamma \),以及offset\(\ beta \):

\(\frac{\gamma(x-\mu)}{\sigma}+\beta\)

mean,variance,offset以及scale都應(yīng)該是以下兩種形狀中的一種:

  • 一般而言,它們可以具有與輸入x相同數(shù)量的維度,對(duì)于未標(biāo)準(zhǔn)化的維度(“depth”維度)具有與x相同的大小,對(duì)于正在被標(biāo)準(zhǔn)化的維度,它們的大小與1相同.在這種情況下,mean和variance通常會(huì)是tf.nn.moments(..., keep_dims=True)訓(xùn)練期間的輸出,或推理期間運(yùn)行的平均值.
  • 在“depth”維度是輸入張量x中的最后維度的常見(jiàn)情況下,它們可以是與“depth”維度相同大小的一維張量.例如,對(duì)于完全連接的層的公共[batch, depth]和卷積的[batch, height, width, depth]布局就是這種情況.mean和variance在這種情況下通常會(huì)是tf.nn.moments(..., keep_dims=False)訓(xùn)練期間的輸出,或推理期間運(yùn)行的平均值.

參數(shù):

  • x:任意維度的輸入Tensor.
  • mean:一個(gè)平均Tensor.
  • variance:一個(gè)方差Tensor.
  • offset:一個(gè)偏移量Tensor,通常在方程式中表示為\(\ beta \),或者為None;如果存在,將被添加到歸一化張量.
  • scale:一個(gè)標(biāo)度Tensor,通常在方程式中表示為\(\ gamma \),或?yàn)镹one;如果存在,則將比例應(yīng)用于歸一化張量.
  • variance_epsilon:一個(gè)小的浮點(diǎn)數(shù),以避免除以0.
  • name:此操作的名稱(可選).

返回:

標(biāo)準(zhǔn)化,縮放,偏移張量.

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)