首页 > 编程知识 正文

lstm一般加几层,pytorch菜鸟教程

时间:2023-05-03 17:34:51 阅读:45672 作者:2383

到目前为止,我们知道的网络是在所有连接层中添加了dropout层,以防止模型过拟合。 观察deepfm的模型可知,可以在各层中加入dropout层

对dropout层的深刻理解

进行分类时,Dropout层一般在全连通层的基础上防止过拟合,提高模型的泛化能力。 卷积层之后很少出现Drop out跟随(主要是因为卷积参数少,难以过拟合)的er

像卷积神经网络一样,只在最后的所有连接层中使用dropout,循环神经网络通常在不同层的循环结构zhij中使用dropout,而在同一层的循环结构之间不使用

其中dropout论文:

from the Srivastava/hintondropoutpaper :“theadditionalgaininperformanceobtainedbyaddingdropoutintheconvolutionallayers”(3.02 % to 2.55 ) atsincetheconvolutionallayersdon’thavealotofparameters,overfittingisnotaproblemandthereforedropoutwouldnothavemuchefffect . dopoutinthelowerlayersstillhelpsbecauseitprovidesnoisyinputsforthehigherfullyconnectedlayerswhichpreventsthemfromoverfitting ting thh outand0.5forfullyconnected .即卷积层参数少,加dropout作用非常小,低层有噪声,高层全连通层可以增强模型的鲁棒性,增强泛化性能。

关于dropout相对减轻CNN拟合的原因,我看了几篇论文和博客,现在有几种不同的解释,大致整理如下。

在设计网络时,设置的每一层神经元表示一个学习到的中间特征(即一些权重的组合),网络的所有神经元共同作用以表示输入数据的特定属性(例如在图像分类中表示所属类)。 如果数据量相对于网络的复杂性(即网络的表现能力、拟合能力)太小,就会发生拟合,显然各神经元所表现出的特征相互存在许多重复和冗馀。

dropout的直接作用是减少中间特征的数量和冗馀。 这意味着增强每一层特征之间的正交性(数据表示的稀疏性也正好支持这种解释)。

测试水平

预测时,每个单元的参数乘以p。

灵义中dropout设置:

测试阶段不需要设定dropout的值。

1 .前方传播

训练阶段:正向传播给定的每个神经元设置随机值(0~1),假设采样阈值设置为0.5,如果与该神经元对应的随机值小于0.5,则将该神经元设置为0

33558www.Sina.com/dropout不需要。

2 .反向传播

读取前向传播记录的随机值并执行类似的操作。 如果与此坡度值对应的随机值小于0.5,则将坡度值设置为0,否则将坡度值设置为2乘以原始值(1/0.5 )。

选择dropout率

交叉检查的结果,隐含节点的删除率为0.5时效果最好。 这是因为在0.5的情况下,随机生成掉话的网络结构最多。 dropout也可以作为添加噪波的方法,直接操作input。 将级别设置为接近1的数量。 值得选择避免输入变化太大的(0.8 )下拉概率。 通常设置为0.5,通过验证集确定随机采样概率) 0.5时最随机,可以生成网络的组合最多) )。

输入图层时多随机采样选择,很少随机丢弃。 通常,训练集概率可以选择0.1左右,中间层可以选择0.5左右

测试阶段:

我的经验是决定dropout之前,需要先判断是否模型过拟合

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com /

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com /

由于dropout会随机丢弃一些神经元,因此在迭代过程中,与这些神经元相对应的权重将保持在前一步中,而其他权重将更新()

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。