深度学习模型的训练和优化及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.使用不同的初始化方式对模型有什么影响

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值