如何改进CNN模型?
How to improve CNN model?
我的问题听起来很抽象,但我想知道人们是如何训练 CNN 模型的。
这是我的案例。
我一直在研究 CNN 模型,试图将给定图像分为 3 类。数据集是平衡的。
图像是 (12, 12, 4) 并且是热图编码的时间序列,我认为在这种情况下使用数据增强没有用,因为如果我水平或垂直翻转它可能没有意义,如果我旋转他们等等
我得到的最好结果是大约 52% 的 acc 来自验证集,大约 38% 来自测试集。
我开始实现一个非常简单的模型,它有 2 个没有池化层的 Conv 层,以避免时间序列特征的截断。
并添加了密集层,一个用于隐藏层,另一个用于输出层。
我已经测试了一些有助于提高其性能的技术,例如 LR 调度程序、更改不同的激活函数和优化器,但没有得到微小的改进。
这里想请教有CNN经验的人
遇到我上面提到的这种情况,你一开始会怎么做?调整超参数是一种选择,但您将如何调整它们?你会如何选择要调整的参数?
你如何选择模型的架构?比如层数,每一层神经元的数量,以及你如何决定你使用哪种类型的层?
是否有与我的问题相关的博客文章或论文?
如果有人有什么建议,我将不胜感激!
最好的建议是查看最新技术,看看是否能找到有用的东西。我不认为你会是第一个有这种意见的人。找到至少相似的东西作为基础。
完全靠自己想出一个架构非常耗时并且需要大量的资源。如果你已经有经验或一些大的 gpu 集群,你可以这样做,如果没有,最好从其他人的经验中学习。
只需转到 google 学者并搜索 "time series" "deep learning" "cnn" 等关键字。也许你很幸运,找到了一篇很好的概述论文,它总是有很大的帮助,以获得一些指导。
尝试使用已知的 CNN,例如 VGG16、VGG19、ResNet 或其他,然后尝试使用元启发式优化器优化参数。
我的问题听起来很抽象,但我想知道人们是如何训练 CNN 模型的。
这是我的案例。
我一直在研究 CNN 模型,试图将给定图像分为 3 类。数据集是平衡的。 图像是 (12, 12, 4) 并且是热图编码的时间序列,我认为在这种情况下使用数据增强没有用,因为如果我水平或垂直翻转它可能没有意义,如果我旋转他们等等
我得到的最好结果是大约 52% 的 acc 来自验证集,大约 38% 来自测试集。
我开始实现一个非常简单的模型,它有 2 个没有池化层的 Conv 层,以避免时间序列特征的截断。 并添加了密集层,一个用于隐藏层,另一个用于输出层。
我已经测试了一些有助于提高其性能的技术,例如 LR 调度程序、更改不同的激活函数和优化器,但没有得到微小的改进。
这里想请教有CNN经验的人
遇到我上面提到的这种情况,你一开始会怎么做?调整超参数是一种选择,但您将如何调整它们?你会如何选择要调整的参数?
你如何选择模型的架构?比如层数,每一层神经元的数量,以及你如何决定你使用哪种类型的层?
是否有与我的问题相关的博客文章或论文?
如果有人有什么建议,我将不胜感激!
最好的建议是查看最新技术,看看是否能找到有用的东西。我不认为你会是第一个有这种意见的人。找到至少相似的东西作为基础。
完全靠自己想出一个架构非常耗时并且需要大量的资源。如果你已经有经验或一些大的 gpu 集群,你可以这样做,如果没有,最好从其他人的经验中学习。
只需转到 google 学者并搜索 "time series" "deep learning" "cnn" 等关键字。也许你很幸运,找到了一篇很好的概述论文,它总是有很大的帮助,以获得一些指导。
尝试使用已知的 CNN,例如 VGG16、VGG19、ResNet 或其他,然后尝试使用元启发式优化器优化参数。