【发布时间】:2018-02-25 05:47:08
【问题描述】:
感谢您查看我的问题。我正在尝试根据一些预先训练的模型进行图像分类,图像应分类为 40 个类别。我想使用 VGG 和 Xception 预训练模型将每个图像转换为两个 1000 维向量,并将它们堆叠成一个 1*2000 维向量作为我的网络的输入,并且网络具有 40 维输出。该网络有 2 个隐藏层,一个有 1024 个神经元,另一个有 512 个神经元。
结构: image-> vgg(1*1000 维度), xception(1*1000 维度)->(1*2000 维度) 作为输入-> 1024 个神经元-> 512 个神经元-> 40 维输出-> softmax
但是,使用这种结构,我只能达到 30% 左右的准确率。所以我的问题是如何优化我的网络结构以实现更高的准确性?我是深度学习的新手,所以我不确定我当前的设计是否“正确”。我真的很期待你的建议
【问题讨论】:
-
您是否对模型的顶层(即 1024 和 512 个神经元的层)进行了微调?还是您只是使用初始值进行预测?
-
This 可能会帮助您使用瓶颈功能并微调预训练网络的顶层。
-
@Yu-Yang 当然,我对模型进行了微调,我训练了 500 批模型,每批 100 张图像,但准确度停止增长 30%
-
嗨@sunnwmy:您能更具体地了解您的数据吗?您要对哪种图像进行分类?你有多少样品?还请发布精简代码,尤其是来自您的顶级/密集 NN。
-
keras 新手,但 Antonio Gulli 和 Sugit Pal 的这本书提供了一些关于如何在 keras 中优化模型的想法。 (使用 KERAS 进行深度学习)
标签: image-processing machine-learning deep-learning keras classification