gpt4 book ai didi

machine-learning - 卷积神经网络做出有偏差的预测

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

我正在训练一个卷积神经网络,将图像分类为五个类别之一(类别 1 - 类别 5)。

我的 1 类训练图像非常少,因此我通过随机裁剪并翻转图像来创建更多数据来执行一些数据增强。我至少有 3000 个 2-5 类的训练图像。现在,我的训练集包含每个类 3000 个图像,并使用随机梯度下降对其进行训练。

我的测试集包括:

Class 1 - 8 images
Class 2 - 83 images
Class 3 - 227 images
Class 4 - 401 images
Class 5 - 123 images

我的网络正确预测:

Class 1 - 0 images
Class 2 - 0 images
Class 3 - 0 images
Class 4 - 399 images
Class 5 - 0 images

考虑到我的训练集的限制,我并不期望网络非常准确,而且 15000 张图像可能也不够 - 但考虑到 2 - 5 类具有相同的数量,我不会期望它会如此倾斜不同的训练图像。如果我在更大比例的 4 类图像上训练我的网络,那么这不会令我感到惊讶。我本来期望网络至少能够正确预测其他一些类别。

有什么想法吗?

编辑:

图像类型:建筑物

网络架构:

Input image - 256 x 256 x 3
Convolutional layer - 15 x 15 filters, 16 filters
Max 2x2 pooling layer
Convolutional layer - 11 x 11 filters, 32 filters
Max 2x2 pooling layer
Convolutional layer - 7 x 7 filters, 64 filters
Max 2x2 pooling layer
Fully connected layer - 1024 outputs
Softmax classifier layer - 5 outputs

成本函数:交叉熵

最佳答案

这种情况可能会发生(尽管并不常见)。我觉得你训练的时间还不够长。 CNN 尝试一次正确地获取一个类,如果您没有对损失进行归一化,则通常是样本数最多的类。这是因为它从一开始就正确预测该类获得了最大的好处。随着时间的推移,它变得越来越好,它不再获得这种好处,然后也尝试正确预测其他类别。

您可以根据类别频率对 softmax 损失进行加权,或者对数据集重新采样来解决此问题。我还发现您的 CNN 不够深,滤波器大小不适合您的分辨率,并且训练样本的数量太少。我建议您针对您的任务微调一些预先训练的神经网络,例如 VGG、GoogLeNet、ResNet 或 AlexNet。

对于咖啡,你可以按照这个例子,http://caffe.berkeleyvision.org/gathered/examples/finetune_flickr_style.html

关于machine-learning - 卷积神经网络做出有偏差的预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37109804/

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