【问题标题】:MobileNet Pre-Trained Model - ClassificationMobileNet 预训练模型 - 分类
【发布时间】:2017-12-25 03:05:48
【问题描述】:

我目前正在使用一个预训练的 MobileNet 模型,该模型对一组 1000 个类别中的图像进行分类。出于我的 IOS 应用程序的目的,我只需要它来识别/分类场景中的一种对象。如何训练模型,使其仅对我需要的一个对象进行分类,但做得非常好?

我是机器学习的新手,不熟悉迁移学习技术。进行这种类型的训练会减小模型大小并使其更有效地识别我需要的一个对象吗?如果是,有哪些资源可以教我如何为我的目标继续训练这个预训练模型。

【问题讨论】:

  • 如果您热衷于为一个对象训练一个极其准确的图像分类器,也许您最好构建一个为该对象量身定制的自定义模型?

标签: ios swift machine-learning neural-network computer-vision


【解决方案1】:

简而言之,您想将 1000 路分类器转换为二元分类器。 下面的答案假设您可以访问原始数据,并且您知道如何训练原始模型(也就是说,您可以访问训练脚本)。如下:

假设您只对单个类别 C 感兴趣,您希望首先将数据的所有实例 (x, C) 映射到 (x, 1) 并将所有其他实例 (x, not_C) 映射到 (x, 0 ),然后根据结果数据训练模型(或者,如果训练脚本也接受模型的起点,则继续训练预训练的模型)。

然后该模型将失去辨别非 C 类的能力,并有望更好地区分 C 和非 C 实例。

注意:一个不那么老套的方法是实际上将模型限制为仅输出 0 或 1,并将目标更改为二进制 softmax。但是,这需要对模型的架构进行一些操作,而您可以不这样做。

【讨论】:

    猜你喜欢
    • 2018-06-17
    • 2017-08-19
    • 2022-01-05
    • 2021-03-23
    • 2018-02-13
    • 2019-06-20
    • 2021-08-17
    • 1970-01-01
    • 2021-10-29
    相关资源
    最近更新 更多