使用 tensorflow 进行回归训练遇到问题,求解答

我使用一个五层的网络来训练我的回归模型,每层 conv 后面有一个 relu,每两层 conv 后有一个最大池化,最后一层全连接使用 sigmoid 激活,dropout=0.35.现在遇到的问题是我的 loss 值从开始一直处于一个震荡的情况,值在 0.1-0.07 之间浮动,偶尔会超出这个范围,训练集是 3w+ 张 128x128 没有经过预处理的彩色图像,跑 20 次 epoch。我试过加 bn 跟改学习率跟优化函数,但是效果不明显。想问一下有没有什么建议可以改进一下网络结构使其收敛。(我的数据来自于原图像切块,每一张原图随机切割出 50 个小块,每块 128x128 大小)


Assam, 2018-5-21 09:34:11

首先要看看这个问题神经网络的东西是否能学出来。然后多改改别的参数。比如说 filter 个数,加几个 dense 层之类的。


舟 3332 发表于 2018-6-8 21:49:26

请问一下,什么叫是否能学出来,是是指权重跟偏置吗?


Assam 发表于 2018-6-8 22:31:12

learning rate 是不是太大?


jellycsc 发表于 2018-6-8 22:52:06

应该不是吧,0.1-0.0001 都试了,指数衰减也试了

Will 发表于 2018-6-8 23:00:20

就是说这个问题是否是一个神经网络的东西能解决的问题。有很多问题神经网络都无法解决。


舟 3332 发表于 2018-6-9 07:10:50

看一下是不是权重随机初始化的大小不合适


nkcr7 发表于 2018-6-9 12:22:41

可以试试对图片进行归一化处理


重庆不热 发表于 2018-7-3 16:18:45

你这是回归模型的话,为什么最后还要用一个 sigmoid 函数。你的损失函数又是怎么定义的?


fantasycheng 发表于 2018-7-3 16:32:00