【发布时间】:2020-07-13 14:20:00
【问题描述】:
我正在研究带有图像和文本的多模态分类器。我已经成功开发了两个模型,一个是用于图像的 CNN,另一个是基于 BERT 的文本模型。两个模型的最后一层是具有 n 个单元和 softmax 激活的 Dense(其中 n 是类的数量)。 Keras 提供了不同的合并层来组合这些模型的输出向量(https://keras.io/api/layers/merging_layers/),然后可以创建一个新的网络,但我的问题是:有没有更好的方法来组合单个模型的决策?也许根据某些标准对向量内的值进行加权? 目前,我已经使用这样的简单连接层开发了我的模型:
image_side = images_model(image_input)
text_side = text_model(text_input)
# Concatenation
merged = layers.Concatenate(name='Concatenation')([image_side, text_side])
merged = layers.Dense(128, activation = 'relu', name='Dense_128')(merged)
merged = layers.Dropout(0.2)(merged)
output = layers.Dense(nClasses, activation='softmax', name = "class")(merged)
提前谢谢你!
【问题讨论】:
标签: python tensorflow machine-learning keras deep-learning