評價此頁

AlphaDropout#

class torch.nn.modules.dropout.AlphaDropout(p=0.5, inplace=False)[source]#

對輸入應用 Alpha Dropout。

Alpha Dropout 是一種保持自歸一化特性的 Dropout。對於均值為零、標準差為一的輸入,Alpha Dropout 的輸出會保持輸入的原始均值和標準差。Alpha Dropout 與 SELU 啟用函式配合使用,後者可以確保輸出具有零均值和單位標準差。

在訓練期間,它會以機率 p 使用伯努利分佈的樣本隨機遮蔽輸入張量中的某些元素。要遮蔽的元素在每次前向呼叫時都會被隨機化,並進行縮放和移位以保持零均值和單位標準差。

在評估期間,該模組僅執行恆等函式計算。

更多細節可在論文 自歸一化神經網路 中找到。

引數
  • pfloat)– 元素被丟棄的機率。預設為:0.5

  • inplace (bool, optional) – 如果設定為 True,則將在原地執行此操作

形狀
  • 輸入:()(*)。輸入可以是任何形狀

  • 輸出:()(*)。輸出與輸入具有相同的形狀

示例

>>> m = nn.AlphaDropout(p=0.2)
>>> input = torch.randn(20, 16)
>>> output = m(input)
forward(input)[source]#

執行前向傳播。

返回型別

張量