Neural network 我们可以使用深度学习网络来检测有趣或无聊的图片吗?

Neural network 我们可以使用深度学习网络来检测有趣或无聊的图片吗?,neural-network,computer-vision,deep-learning,caffe,conv-neural-network,Neural Network,Computer Vision,Deep Learning,Caffe,Conv Neural Network,我正在处理一项深度学习分类任务,以区分图像/视频是无聊的还是有趣的。 基于一万个标记数据(1.有趣2.有点有趣3.正常4.无聊),我使用了一些预先训练好的imagenet模型(resnet/inception/VGG等)来微调我的分类任务 我的训练误差很小,这意味着它已经收敛了。但测试误差非常高,准确率只有35%左右,与随机结果非常相似 我发现困难的部分是: 同一个物体有不同的标签,例如,一只狗在草地上,也许一只非常可爱的狗可以被标记为一个有趣的图像。但是丑陋的狗可能被贴上无聊的标签 定义有趣或

我正在处理一项深度学习分类任务,以区分图像/视频是无聊的还是有趣的。 基于一万个标记数据(1.有趣2.有点有趣3.正常4.无聊),我使用了一些预先训练好的imagenet模型(resnet/inception/VGG等)来微调我的分类任务

我的训练误差很小,这意味着它已经收敛了。但测试误差非常高,准确率只有35%左右,与随机结果非常相似

我发现困难的部分是:

  • 同一个物体有不同的标签,例如,一只狗在草地上,也许一只非常可爱的狗可以被标记为一个有趣的图像。但是丑陋的狗可能被贴上无聊的标签

  • 定义有趣或无聊的因素很多,图像质量、图像颜色、对象、环境。。。如果我们只检测到良好的图像质量图像,或者我们只检测到良好的环境图像,这是可能的,但我们如何将所有这些因素结合起来呢

  • 每个人的兴趣点都是不同的,我可能对宠物感兴趣,但其他人可能认为这很无聊,但有一些常识,每个人都这么认为。但是我怎样才能发现它呢


  • 最后,你认为这是一个可以通过深度学习解决的问题吗?如果是这样,您将如何处理此任务?

    这是一个非常广泛的问题。我将尝试给出一些建议:

  • “我的训练错误非常小……但测试错误非常高”意味着您需要您的训练集:您的模型学习特定的训练示例,而不是学习适用于看不见的示例的一般“分类规则”。
    这通常意味着相对于训练样本的数量,您有太多的可训练参数
  • 你的问题并不完全是一个“分类”问题:将一个“有点意思”的图像归类为“无聊”比将其归类为“有趣”更糟糕。您的标签集具有顺序。考虑使用考虑这一点的损失函数。可能(如果您希望维护离散标签),或者
    “EuclideanLoss”
    (如果您愿意接受连续分数)
  • 如果你有足够多的训练例子,我认为从一个深度模型中区分“有趣”的狗形象和“无聊”的狗形象并不过分。尽管语义差异不大,但图像之间存在差异,深度模型应该能够捕捉到它。
    但是,您可能希望从一个为“美学”任务(例如,等等)而不是像VGG/GoogLeNet等那样的“语义”网络开始微调

  • MXnet中是否存在InfogainLoss或EuclideanLoss?我只是在咖啡馆里找到的。@daviding我不认识MXnet。欧几里德损失是非常基本的,我希望MXnet能够实现这种损失(或类似的回归任务损失)。似乎MXnet支持SoftmaxOutput、LinearRegressionOutput、LogisticRegressionOutput、MAERegressionOutput。他们提供了一个亏损的api。在这种情况下,我可以试试caffe。@daviding不深入细节,我会先试试线性回归……我明白了,线性回归是l2亏损,可能适合连续得分。对于InfogainLoss,你有什么建议?