首页 > 解决方案 > 这个深度学习图像分类问题的目标应该是什么

问题描述

我正在 keras 中使用 CNN 进行图像分类项目。我有一个包含大约 70 人的大约 900 张照片的数据集。每个人都有多张不同年龄的照片。我的目标是如果他的任何一张照片在输入中,则预测该人的正确 ID。这是数据的一瞥。 在此处输入图像描述

我的问题是:

  1. 我的目标列应该是什么?目标是“年龄”还是“ID”?2-我需要对目标列进行热编码吗?例如,如果我使用 ID 作为我的目标,那么我是否必须对 ID 列进行一次热编码?

  2. 如果我使用 ID 作为目标,那么在 one-hot-encoding 之后,是否意味着我将拥有 70 个类?

  3. 我需要有关输出层的信息。我的目标是找出照片是否属于同一个ID,那么输出层应该是什么?我应该使用具有 70 个输出的 softmax 吗?
  4. 关于输出层的另一个问题是,我可以使用具有 70 个输出的 softmax,然后将其馈送到具有单个输出的 sigmoid 层吗?

标签: python-3.xkerasdeep-learningconv-neural-networkface-detection

解决方案


  1. 您将使用不同年龄的图像来识别同一个人。例如,在数据集中,您有 100 张不同的可汗图像,并且您训练了一个模型。现在您提供khan的第 101 张图像,模型将检测到它。所以你的目标列应该是ID.
  2. 是的,有 70 个类,你得到一个热编码向量900x70
  3. 它应该是一个 softmax 层,因为 sigmoid 层用于解决二元类或多标签问题。由于您必须检测 70 个不同的人,因此您需要一个 softmax 类。
  4. 我不这么认为,这样您的模型将无法分辨出这是哪个人物图像(作为测试提供的图像)

推荐阅读