当前位置:   article > 正文

深度学习模型的训练和优化及tensorflow基础(下)_深度学习加一层隐含层精度会不会提高

深度学习加一层隐含层精度会不会提高

深度学习模型的训练和优化及tensorflow基础(下)进阶作业

1.修改隐层数量,修改后会起到什么样的效果

设置隐藏层数量:修改隐层数量,就是增加神经网络的深度,根据前面神经元的个数以及本层设计的神经元个数确定w的shape,b的shape。

修改隐层数量也就是增加了神经网络的深度,达到的效果是使网络的抽象能力更强,学习到的特征更加复杂,结果的准确率越高。

一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向。一般来讲应设计神经网络应优先考虑3层网络(即有1个隐层)。一般地,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更容易实现。

2.如何修改神经元个数,起到了什么样的效果

修改神经元个数,可以通过对网络结构中的w的shape,b的shape进行修改。
修改神经元个数相当于增加了权重参数的个数,适当的增加神经元个数可以提高网络的准确率和精度,但是过多的神经元也是导致过拟合的“元凶”。

3.如何在模型中添加L1/L2正则化,正则化起什么作⽤

l2_loss = tf.add_n(
[
tf.nn.l2_loss(w)
for w in tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES)
]
)

然后将其乘以一个超参数再与交叉熵损失相加构成最终的损失函数
正则化的作用:防止神经网络过度学习数据而造成过拟合现象,可以限制权重w值的大小

4.使用不同的初始化方式对模型有什么影响

使用不同的初始化方式可以让训练之初的效果产生差异,比如让收敛速度更快。

特别的,对于含有局部极小值的情况,通过不同的初始化方式,有可能更加逼近最小值。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/314288
推荐阅读
相关标签
  

闽ICP备14008679号