【入门向】神经网络中常用的激活函数介绍

★ 欢迎关注我的公众号【拇指笔记】,本篇文章完整程序可以在后台回复"APF"获得。

好书分享:机器学习入门书籍

1 激活函数

非线性函数是指对隐藏变量使用暗元素运算的非线性函数进行变换,然后再做为下一个全连接层输入。这个非线性函数叫做激活函数。

下面介绍几种常用的激活函数。

1.1 ReLU函数(线性整流函数)

ReLU函数

  • 功能: ReLU函数只保留正数元素,并将负数元素清零。

  • 定义:

R e L U ( x ) = m a x ( x , 0 ) ReLU(x) = max(x,0) ReLU(x)=max(x,0)

  • 函数图像和导数图像:


  • 绘制程序
%matplotlib inline
import torch
import numpy as np
import matplotlib.pylab as plt

x = torch.arange(-8.0, 8.0, 0.1, requires_grad=True)
y = x.relu()

y.sum().backward()
z = x.grad

x = x.detach().numpy()
y = y.detach().numpy()
plt.ylim(ymin=-1,ymax=7)
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('ReLU(x)')

plt.figure(2)

plt.ylim(ymin=-0.05,ymax=1.05)
plt.xlim(xmin=-8,xmax=8)
plt.plot(x,z)
plt.xlabel('x')
plt.ylabel('grad of ReLU(x)')

1.2 sigmoid函数(S型函数)

sigmoid函数

  • 功能: sigmoid函数可以将元素的值变换到0和1之间。
  • 定义:

s i g m o i d ( x ) = 1 1 + e x p ( − x ) sigmoid(x)=\frac{1}{1+exp(-x)} sigmoid(x)=1+exp(x)1

  • 函数图像和导数图像:


  • 绘制程序
%matplotlib inline
import torch
import numpy as np
import matplotlib.pylab as plt

x = torch.arange(-8.0, 8.0, 0.1, requires_grad=True)
y = x.sigmoid()

y.sum().backward()
z = x.grad

x = x.detach().numpy()
y = y.detach().numpy()
plt.ylim(ymin=-0.1,ymax=1.1)
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('sigmoid(x)')

plt.figure(2)
plt.ylim(ymin=-0.05,ymax=0.3)
plt.xlim(xmin=-8,xmax=8)
plt.plot(x,z)
plt.xlabel('x')
plt.ylabel('grad of sigmoid(x)')

1.3 tanh函数(双曲正切函数)

tanh函数

  • 功能:可以将元素的值变换到-1和1之间
  • 定义:

t a n h ( x ) = 1 − e x p ( − 2 x ) 1 + e x p ( − 2 x ) tanh(x) =\frac{1-exp(-2x)}{1+exp(-2x)} tanh(x)=1+exp(2x)1exp(2x)

  • 函数图像和导数图像


  • 绘制程序
%matplotlib inline
import torch
import numpy as np
import matplotlib.pylab as plt

x = torch.arange(-8.0, 8.0, 0.1, requires_grad=True)
y = x.tanh()

y.sum().backward()
z = x.grad

x = x.detach().numpy()
y = y.detach().numpy()
plt.ylim(ymin=-1.1,ymax=1.1)
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('tanh(x)')

plt.figure(2)
plt.ylim(ymin=-0.05,ymax=1.1)
plt.xlim(xmin=-8,xmax=8)
plt.plot(x,z)
plt.xlabel('x')
plt.ylabel('grad of tanh(x)')

写文不易,有用的话加个关注呗,我的公众号【拇指笔记】,每天更新我的学习笔记~

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值