1

我正在使用 Tensorflow Inception V3 模型进行迁移学习/再训练。我有 6 个标签。给定的图像只能是一种类型,即不需要多类检测。我有三个疑问:

  1. 哪种激活功能最适合我的情况?目前tensorflow提供的retrain.py文件使用softmax?还有哪些可用的方法?(如乙状结肠等)

  2. 我应该使用哪个优化器功能?(梯度下降,亚当..等)

  3. 我想识别超出范围的图像,即如果用户输入随机图像,我的算法应该说它不属于所描述的类。目前有 6 个类,它提供了一个类作为确定的输出,但我不希望这样。有什么可能的解决方案?

此外,我们可以在 tensorflow 中调整的其他参数是什么。我的基线准确率是 94%,我正在寻找接近 99% 的东西。

4

1 回答 1

1
  1. 由于您正在进行单标签分类,因此 softmax 是最好的损失函数,因为它将您的最终层 logit 值映射到概率分布。多标签分类时使用 Sigmoid。

  2. 与普通梯度下降相比,使用基于动量的优化器总是更好。有很多这样的修改过的优化器,比如 Adam 或 RMSProp。与他们一起试验,看看什么最有效。亚当可能会给你最好的表现。

  3. 您可以添加一个额外的标签no_class,因此您的任务现在将是一个 6+1 标签分类。no_class您可以输入一些带有标签的随机图像。但是,您的随机图像的分布必须与测试图像的分布相匹配,否则它不会一概而论。

于 2018-02-13T08:29:40.597 回答