将文本要素与图像数据一起传递给 CNN 模型



我正在尝试解决一个多标签图像分类问题,对于这个问题,我有图像数据,但我还有一些其他特征,如性别等,但问题是我会在测试期间获得这些信息,换句话说,在测试期间只会提供图像信息。

我的问题是,即使我在测试期间不会获得此信息,我如何使用这些额外的功能来帮助我的卷积神经网络图像模型?

任何建议都会有所帮助。提前谢谢。

这是一个非常开放的问题。我可以给你一些关于它如何工作的一般指导方针。

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具有组合不同输入以产生一个输出的工具。这变得开放的部分是架构。

现在你可能应该通过CNN传递image,然后用textmerge输出。您必须调整确切的规格,例如如何处理每个输入、merge方法以及如何处理组合输出。

使用merge的一个很好的例子是这里,其中GAN以图像的形式被赋予潜在噪声,但也有一个标签来确定它应该生成什么样的图像。discriminatorgenerator都利用multiply合并层来组合它们的输入。

最新更新