【发布时间】:2019-09-12 14:02:55
【问题描述】:
我正在尝试解决多标签图像分类问题,我有图像数据,但我也有一些其他特征,如性别等,但问题是我将在测试期间获得这些信息,换句话说,在测试期间只会提供图片信息。
我的问题是如何使用这些额外的功能来帮助我的图像模型,它是一个卷积神经网络,即使我在测试期间不会有这些信息?
任何建议都会有所帮助。提前致谢。
【问题讨论】:
标签: keras deep-learning
我正在尝试解决多标签图像分类问题,我有图像数据,但我也有一些其他特征,如性别等,但问题是我将在测试期间获得这些信息,换句话说,在测试期间只会提供图片信息。
我的问题是如何使用这些额外的功能来帮助我的图像模型,它是一个卷积神经网络,即使我在测试期间不会有这些信息?
任何建议都会有所帮助。提前致谢。
【问题讨论】:
标签: keras deep-learning
这是一个非常开放式的问题。我可以给你一些关于它如何工作的一般指导方针。
keras 模型 API 支持多个输入以及merge 层。例如你可以有这样的东西:
from keras.layers import Input
from keras.models import Model
image = Input(...)
text = Input(...)
... # apply layers onto image and text
from keras.layers.merge import Concatenate
combined = Concatenate()([image, text])
... # apply layers onto combined
model = Model([image, text], [combined])
这样您就可以拥有一个model,它接受多个输入,可以利用您的所有数据源。 keras 有工具可以组合您的不同输入以产生一个输出。这变得开放的部分是架构。
现在您可能应该将image 传递给CNN,然后将merge 传递给text 的输出。您必须调整确切的规范,例如处理每个输入的方式、merge 方法以及处理组合输出的方式。
merge 的一个很好的例子是here,其中 GAN 以图像的形式被赋予潜在噪声,但也被赋予标签以确定它应该生成什么样的图像。 discriminator 和 generator 都使用 multiply 合并层来合并它们的输入。
【讨论】: