pytorch之---relu,prelu,leakyrelu

zxyhhjs2017發表於2019-03-07

torch.nn.ReLU(inplace=False):output = max(0, x)

 

torch.nn.PReLU(num_parameters=1, init=0.25):$PReLU(x) = max(0,x) + a * min(0,x)

a是一個可學習引數。當沒有宣告時,nn.PReLU()在所有的輸入中只有一個引數a;如果是nn.PReLU(nChannels),a將應用到每個輸入。

注意:當為了表現更佳的模型而學習引數a時不要使用權重衰減(weight decay)

引數:

    num_parameters:需要學習的a的個數,預設等於1
    init:a的初始值,預設等於0.25

 

torch.nn.LeakyReLU(negative_slope=0.01, inplace=False)

對輸入的每一個元素運用$f(x) = max(0, x) + {negative_slope} * min(0, x)$

引數:

    negative_slope:控制負斜率的角度,預設等於0.01
    inplace-選擇是否進行覆蓋運算

torch.nn.ReLU6(inplace=False):  output = min(max(0,x), 6)

關於relu6,請參考:https://www.cnblogs.com/bmsl/p/9005431.html

 

torch.nn.RReLU(lower=0.125, upper=0.3333333333333333, inplace=False)

RReLU(x)=\left\{\begin{matrix} x (if x>0)& & \\ ax (other) & & \end{matrix}\right.

where aa is randomly sampled from uniform distribution U(lower,upper)U(lower,upper).

    See: https://arxiv.org/pdf/1505.00853.pdf
---------------------  
作者:儒雅的小Z  
來源:CSDN  
原文:https://blog.csdn.net/guilutian0541/article/details/81119932  
版權宣告:本文為博主原創文章,轉載請附上博文連結!

相關文章