将文本特征与图像数据一起传递到 CNN 模型

问题描述 投票:0回答:1

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

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

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

keras deep-learning
1个回答
4
投票

这是一个真正开放式的问题。我可以为您提供一些关于如何运作的一般准则。

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
合并层来组合它们的输入。

© www.soinside.com 2019 - 2024. All rights reserved.