神经网络训练时精度问题

今天在tensorflow下,用三层网络结构训练mnist上的数据时,精度出现了很大偏差,在此做个记录,原因如下:

1.w,b初始化为0,很可能直接导致模型失效,无法收敛。因此可以对w初始化为随机值解决(在cnn中,w的随机化,也是为了使得同一层的多个filter,初始w不同,可以学到不同的特征,如果都是0或某个值,由于计算方式相同,可能达不到学习不同特征的目的)

2.隐藏层的激活函数应该用relu较好

3.交叉熵的计算,是否取平均值问题,取平均值,就相当于除以一个常数,那么相对的cost值就较小,使得后续的学习率可以设的相对较大,也不影响精确。如果不取平均,学习率应该适当小,才可以避免取不到最小值。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值