gpt4 book ai didi

machine-learning - 增加训练数据并不能减少 CNN 的过度拟合

转载 作者:行者123 更新时间:2023-11-30 09:21:12 26 4
gpt4 key购买 nike

我正在研究 CNN 分类问题:
使用 CNN 将音频情绪分为 6 类(愤怒、厌恶、恐惧、快乐、悲伤、中性)。我使用的是 EMODB 数据集,输入特征是傅里叶变换 [256*36]。我的 CNN 网络有 3-4 个卷积层,每个卷积都有最大池化,再加上一个全连接层。但学习曲线显示训练和验证损失之间存在很大差距,表明严重过度拟合。我能得到的最佳验证准确度始终在 75% 到 80% 之间。

learning curve这是我得到的学习曲线之一。黑色和蓝色分别是训练精度和损失。另外两个用于验证准确性和损失。即使训练损失变为 0,验证结果也不再改善。

我尝试扩充我的数据集,向 fc 层添加 50% 的 dropout,向 fc 层添加 l2 正则化,并使用学习率衰减策略(如 caffe 中的“inv”)。但差距仍然存在。

是不是因为我的数据集太小?
我总共有大约 500 个音频,并将其扩展到大约 6,000 个样本。但当我把数据增加到15000时,差距还是很大。 15,000 对于 CNN 来说仍然是一个小数据集吗?

是否是因为数据增强过程引入了错误?
我的原始数据集由大约 500 个不同长度的音频组成,长度从 1 秒到 6 秒不等。所以我只是随机抽取1.2s的样本。持续时间越长,我得到的样本就越多。现在我可以有超过 15,000 个样本进行训练。我在想,对于长音频来说,1.2s的样本会丢失太多信息,并且可能无法代表相应情绪的特征。但这是我能想到的最好方法,因为由于某种原因我无法使用 RNN 或 HMM 来处理数据。

我的特征计算有可能出错吗? (虽然我已经检查过好几遍了)我也尝试过MFSC特征[120*40],但是两个特征集都有类似的过拟合问题..

还是我的网络不够好?我认为更复杂的网络会引入更多的过度拟合。但是简单的网络并没有表现出良好的性能。

尽管我列出了很多过度拟合的原因,但我无法弄清楚哪些是影响性能的真正因素。有什么方法可以知道哪个部分出了问题吗?或者有什么减少过度拟合的建议吗?

谢谢!

最佳答案

您可以尝试在 CNN 中添加一些“dropout”层,看看是否可以减少过度拟合。 ——文卡特

关于machine-learning - 增加训练数据并不能减少 CNN 的过度拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38098560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com