我正在尝试解决多标签图像分类问题,为此我拥有图像数据,但是我还具有其他一些功能,例如性别等,但是问题是我将在测试期间(换句话说在测试期间)获得此信息仅提供图像信息。
我的问题是,即使我在测试期间没有此信息,我如何使用这些额外功能来帮助我的图像模型(即卷积神经网络)?
任何建议都会有所帮助。谢谢。
答案 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
,然后将输出merge
与text
一起传递。您必须调整确切的规范,例如如何处理每个输入,merge
方法以及如何处理组合的输出。
here是使用merge
的一个很好的例子,其中GAN以图像的形式被提供了潜在的噪声,同时还给出了标签来确定它应该生成哪种图像。 discriminator
和generator
都使用multiply
合并层来合并其输入。