激活函数-ReLU,Sigmoid,Leak ReLU,tanh

激活函数ReLU

在这里插入图片描述
ReLU函数会使一部分神经元的输出为0,这样就会造成网络的稀疏性,并且减少参数之间的依赖关系,缓解过拟合的发生。

class Relu():
	def __init__(self):
		#mask是由True/False组成的numpy数组
		self.mask=None
	def forward(self,x):
		#mask将x<=0的地方保存为True,其他的都为False
		self.mask=(x<=0)
		out=x.copy()
		out[self.mask]=0#将True的地方都输出为0,False的地方输出为x
		return out
	def backward(self,dout):
		dout[self.mask]=0#True的地方反向传播会停在这个地方,True的地方设置为0,False的地方将上游的值原封不动的传递给下游
		dx=dout
		return dx

sigmoid激活函数

在这里插入图片描述
在这里插入图片描述
使用sigmoid函数时反向传播时可能造成梯度消失(因为sigmoid接近饱和区的时候,变化缓慢,导数趋近于0),并且它是指数运算,计算量较大。

tanh函数

在这里插入图片描述
在这里插入图片描述

Leaky ReLU

在这里插入图片描述
在这里插入图片描述
Leaky ReLU使得导数不总是为0,减少静默神经元的出现,实际应用中,Leaky ReLu并没有比ReLU有用很多。
参考资料:
https://blog.csdn.net/weixin_44478378/article/details/100858979?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_antiscanv2&utm_relevant_index=5
https://m.thepaper.cn/baijiahao_11444171

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值