将文本特征和图像数据传递到CNN模型

时间:2019-09-12 05:30:12

标签: keras deep-learning

我正在尝试解决多标签图像分类问题,为此我拥有图像数据,但是我还具有其他一些功能,例如性别等,但是问题是我将在测试期间(换句话说在测试期间)获得此信息仅提供图像信息。

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

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

1 个答案:

答案 0 :(得分:1)

这是一个真正开放的问题。我可以为您提供一些有关如何工作的一般指导。

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,然后将输出mergetext一起传递。您必须调整确切的规范,例如如何处理每个输入,merge方法以及如何处理组合的输出。

here是使用merge的一个很好的例子,其中GAN以图像的形式被提供了潜在的噪声,同时还给出了标签来确定它应该生成哪种图像。 discriminatorgenerator都使用multiply合并层来合并其输入。