基于Pytorch的深度学习激励函数总结

1 激励函数定义

神经网络中的每个节点接受输入值,并将输入值传递给下一层,输入节点会将输入属性值直接传递给下一层(隐层或输出层)。在神经网络中,隐层和输出层节点的输入和输出之间具有函数关系,这个函数称为激励函数,部分文献也把它叫做激活函数。常见的激励函数有:线性激励函数、阈值或阶跃激励函数、S形激励函数、双曲正切激励函数和高斯激励函数等[1]。

2 常见激励函数

2.1 Threshold函数

2.1.1 数学定义

y = T h r e s h o l d ( x ) = { x ,  if  x > threshold value ,  otherwise  y =Threshold(x)= \begin{cases} x, &\text{ if } x > \text{threshold} \\ \text{value}, &\text{ otherwise } \end{cases}

2.1.2 常见性质

2.1.3 Pytorch实现

import 包

import torch
import torch.nn.functional as F
from torch.autograd import Variable
import matplotlib.pyplot as plt
%matplotlib inline

生成数据

x = torch.linspace(-10, 10, 300)  # x data (tensor), shape=(200, 1)
x = Variable(x)
x_np = x.data.numpy()   # numpy array for plotting

pytorch中的threshold函数

actifunc = torch.nn.Threshold(threshold = 0.1,value = 0)
y_threshold = actifunc(x).data.numpy()
plt.plot(x_np, y_threshold, c='red', label='threshold')
plt.legend(loc='best')

pytorch实现threshold

2.2 Tanh函数

2.2.1 数学定义

y = Tanh ( x ) = tanh ( x ) = exp ( x ) exp ( x ) exp ( x ) + exp ( x ) y=\text{Tanh}(x) = \tanh(x) = \frac{\exp(x) - \exp(-x)}{\exp(x) + \exp(-x)}

2.2.2 常见性质

2.2.3 Pytorch实现

pytorch中的tanh函数

actifunc = torch.nn.Tanh()
y_tanh = actifunc(x).data.numpy()
plt.plot(x_np, y_tanh, c='red', label='tanh')
plt.legend(loc='best')

pytorch实现tanh

2.3 Sigmoid函数

2.3.1 数学定义

y = Sigmoid ( x ) = 1 1 + exp ( x ) y=\text{Sigmoid}(x) = \frac{1}{1 + \exp(-x)}

2.3.2 常见性质

2.3.3 Pytorch实现

pytorch中的sigmoid函数

actifunc = torch.nn.Sigmoid()
y_sigmoid = actifunc(x).data.numpy()
plt.plot(x_np, y_sigmoid, c='red', label='sigmoid')
plt.legend(loc='best')

pytorch实现sigmoid

2.4 ReLU函数

2.4.1 数学定义

y = R e L U ( x ) = { x ,  if  x > 0 0 ,  otherwise  y =ReLU(x)= \begin{cases} x, &\text{ if } x > \text{0} \\ \text{0}, &\text{ otherwise } \end{cases}

2.4.2 常见性质

2.4.3 Pytorch实现

actifunc = torch.nn.ReLU()
y_relu = actifunc(x).data.numpy()
plt.plot(x_np, y_relu, c='red', label='ReLU')
plt.legend(loc='best')

pytorch实现ReLU

2.5 Softsign函数

未完待续

2.6 ELU函数

未完待续

【作者简介】陈艺荣,男,目前在华南理工大学-广东省人体数据科学中心攻读博士。曾获2次华南理工大学三好学生、华南理工大学“优秀共青团员”、新玛德一等奖学金(3000元,综测第3)、华为奖学金(5000元,综测第3)、汇顶科技特等奖学金(15000元,综测第1),两次获得美国大学生数学建模竞赛(MCM)一等奖,获得2016年全国大学生数学建模竞赛(广东赛区)二等奖、2017年全国大学生数学建模竞赛(广东赛区)一等奖、2018年广东省大学生电子设计竞赛一等奖等科技竞赛奖项,目前主持一项2017-2019年国家级大学生创新训练项目,参与两项广东大学生科技创新培育专项资金、一项2018-2019年国家级大学生创新训练项目、3项华南理工大学“百步梯攀登计划”项目,发表SCI论文3篇,投稿SCI论文1篇,授权实用新型专利5项,在受理专利17项(其中发明专利13项,11项进入实质审查阶段)。
我的Github
我的CSDN博客
我的Linkedin

发布了29 篇原创文章 · 获赞 252 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/m0_37201243/article/details/85223218