V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Citext
V2EX  ›  机器学习

深度学习分类问题

  •  
  •   Citext · 2020-04-16 23:56:31 +08:00 · 1306 次点击
    这是一个创建于 1712 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想请教大家一个问题, 我在使用 cnn 卷积神经网络分类数字 0-10, 训练完后测试效果还不错, 但有个问题, 当我传入一张没有内容的图片, 又或者传入一张不含数字内容的图片, 这时网络还会把它们归类到数字, 这就让我很头疼了, 于是我在网上找了个 ocr 进行测试, 发现他们的 ocr 能知道我传入的图片中没有内容, 即使图片中乱涂乱画也能识别出没有内容, 请问这是怎么做到的, 请帮帮我!

    5 条回复    2020-04-29 22:59:01 +08:00
    Andy00
        1
    Andy00  
       2020-04-24 17:35:30 +08:00 via iPhone
    多加一个分类的类别,比如说设置成 null 表示没有内容的图片,然后加一些没有内容的图片重新训练一个模型
    Andy00
        2
    Andy00  
       2020-04-24 17:36:56 +08:00 via iPhone
    同理对于乱写乱画的也是单独设置一个分类类别,找些样本训练一下,乱写乱画和 null 类别混在一起可能效果不会好
    heyhumor
        3
    heyhumor  
       2020-04-27 14:02:32 +08:00
    你的分类只有 10 个,当然没有 10 个之外的结果了。
    RhysSiyan
        4
    RhysSiyan  
       2020-04-29 22:52:34 +08:00
    你说的问题在 Machine learning community 中叫做 Open Set Recognition. 如果你只是想找一些解决方法, 可以搜些这领域的论文的实现. 然后我简单介绍下我了解的几个思路,
    RhysSiyan
        5
    RhysSiyan  
       2020-04-29 22:59:01 +08:00
    emm V2EX 不能修改回复的嘛.... 我接下刚才的回复, 一个思路是 n+1 类的 softmax head, 这个如 Andy00 所说, 但这个的问题是其他类的图像种类是无穷无尽的, 你寄希望模型能把这无穷无尽的 pattern 都映射到其他类上是不太现实的, 当然如果你的应用场景中其他类模式比较单一要求比较低这个也没啥问题. 另一个思路是继续保持 n 类的 softmax head, 但是使用阈值来判断样例是否是属于其他类.(最 naive 的做法是所有类使用一个阈值, 沿着这个思路改进就是每个类都有一个阈值, e.g. openmax 中的 meta recognition 方法). 我没做过这领域的 survey, 只是简单介绍一下.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1028 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 22:31 · PVG 06:31 · LAX 14:31 · JFK 17:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.