【发布时间】:2018-05-18 21:18:36
【问题描述】:
我正在两个不同的 DL 库(Caffe e Tensorflow)中训练两个 CNN(AlexNet e GoogLeNet)。这些网络由每个库的开发团队实施(here 和 here)
我将原始 Imagenet 数据集缩减为 1 个类别的 1024 张图像,但设置了 1000 个类别以在网络上进行分类。
所以我训练了 CNN,改变了处理单元 (CPU/GPU) 和批量大小,我观察到损失快速收敛到接近于零(大部分时间在 1 个 epoch 完成之前),如图所示(Alexnet on张量流):
在葡萄牙语中,“Épocas”是时代,“Perda”是损失。键中的数字是指批量大小。
权重衰减和初始学习率与我下载的模型上使用的相同,我只是更改了数据集和批量大小。
为什么我的网络以这种方式融合,而不是像 this way?
【问题讨论】:
-
我认为你的玩具训练问题有点太简单了,你的网络总是得到相同的类,并且很快就知道总是预测,不管输入是什么,都是最优解。尝试在您的数据集中添加包含尽可能多图像的第二类,看看损失行为如何变化(尽管对于 AlexNet 和 GoogleNet 大小的网络而言,2024 年的图像仍然是一个真正小数据集)
-
总而言之,它看起来像是明显的过拟合。 (Great post here)
标签: batch-file tensorflow deep-learning caffe loss