深度学习-Relu层

我们在本章节将解释如何在Python / Matlab中实现ReLU层,如下图:
在这里插入图片描述

简而言之,ReLU层将在输入张量上的所有元素中应用该功能,而不会更改其空间或深度信息。
从上图可以看出,所有正元素都保持不变,而负数变为零。 空间信息和深度也相同。
考虑到神经网络,它只是一种新型的激活函数,但具有以下功能:
1、易于计算(向前/向后传播)
2、在深层模型中消失的梯度少得多
3、不好的一点是,如果您的学习率很高,它们可能会不可逆转地死亡

正向传播
将所有负元素更改为零,同时保留正元素的值。 没有空间/深度信息被改变。
在这里插入图片描述

向后传播
基本上,我们只是将max(0,x)函数应用于每个输入元素。 从前面关于反向传播的章节中,我们可以注意到,如果元素为负或元素为正,则梯度dx将为零。

在这里插入图片描述

Dropout是一种用于改善神经网络过度拟合的技术,同时可以将Dropout与L2正则化等其他技术结合使用。在下面,我们有一个分类错误(不包括损失),请注意,使用辍学测试/验证错误较小:
在这里插入图片描述

与其他正则化技术一样,使用辍学也使训练损失错误变得更糟。 但这就是这个想法,基本上,我们希望将训练性能换成更多的概括。 请记住,您在模型上添加的容量越多(越多的层或更多的神经元),就越容易使其过度拟合。在下面,我们有一个图表显示了有和没有辍学的训练和验证损失:
在这里插入图片描述

这个怎么运作
基本上,在训练期间,特定层上的一半神经元将被停用。 这可以提高通用性,因为可以迫使您的层使用不同的神经元学习相同的“概念”,在预测阶段,辍学被停用:
在这里插入图片描述

通常,某些深度学习模型在完全连接的层上使用Dropout,但也可以在最大池化层之后使用dropout,从而产生某种图像噪声增强。为了实现这种神经元失活,我们在正向传播过程中创建一个掩码(零和一)。 此掩码在训练期间应用于图层输出,并缓存以供将来在反向传播中使用。 如前所述,仅在训练过程中使用此防漏罩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值