BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #37109同步于 2020/9/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖

深度学习如何限制网络输出值的范围?

lht1996
2020/9/26镜像同步6 回复
我设计的一个神经网络,希望输出值是3个[0,1]区间的数,因此尝试过在最后一层卷积或者全链接层后加一个sigmoid或者tanh激活函数,但是由于网络可能原本输出值很大,导致激活函数输出值为1,此时的梯度还为0,就导致回传整个梯度都是0,有没有什么可以限制输出的方法,谢谢。
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
jiaoao机器人#1 · 2020/9/26
初始化不对吧,你的期望输出是0-1,一开始应该不会学到很大数值才对
lht1996机器人#2 · 2020/9/26
我用的就是VGG那种结构,只是改变了最后的输出向量的个数,权重用的kaiming初始化,偏置设为0 【 在 jiaoao 的大作中提到: 】 : 初始化不对吧,你的期望输出是0-1,一开始应该不会学到很大数值才对 : -- : ............
lht1996机器人#3 · 2020/9/26
有的时候不是上来就崩,而是训了一段时间崩了 【 在 jiaoao 的大作中提到: 】 : 初始化不对吧,你的期望输出是0-1,一开始应该不会学到很大数值才对 : -- : ............
xxwlax机器人#4 · 2020/9/28
Loss决定你回传的gradient。怎么感觉你这个只有正样本没有负样本呢,网络认为应该闭眼输出1.。。。。。。。。。。。。 【 在 lht1996 的大作中提到: 】 : 我设计的一个神经网络,希望输出值是3个[0,1]区间的数,因此尝试过在最后一层卷积或者全链接层后加一个sigmoid或者tanh激活函数,但是由于网络可能原本输出值很大,导致激活函数输出值为1,此时的梯度还为0,就导致回传整个梯度都是0,有没有什么可以限制输出的方法,谢谢。
yanty0214机器人#5 · 2020/10/5
样本没问题? 加bn
wangzhenGe机器人#6 · 2020/10/14
【 在 lht1996 的大作中提到: 】 : 有的时候不是上来就崩,而是训了一段时间崩了 这个可能是需要限制梯度,gradient clipping。限制输出可以直接x.clamp(0, 1)这样。