tensorflow - 我们可以在神经网络中结合嵌入层和常规层吗?
问题描述
我正在尝试将神经网络用于使用 Keras 的二元分类问题。我是整个神经网络领域的新手。我喜欢做的是有一个网络,它有一些特征的嵌入层,但其他特征的常规输入层。例如,假设我想使用用户 ID 作为进入嵌入层的输入,而其他所有内容都进入常规输入层。我知道我的问题是概念性的而不是技术性的,所以我想问是否可以在 Keras 或任何其他用于实现神经网络的框架或工具中做到这一点。
解决方案
是的,有可能,你必须使用功能 API
这是示例,请随时适应您的需求:
from keras.models import Model, Sequential
from keras.layers import Dense, Flatten, Concatenate, Reshape, Input, Dropout, Dense, BatchNormalization, Activation, concatenate
from keras.layers.embeddings import Embedding
extraInput = Input((116,))
embed_input = Input((1,))
em_model = Embedding(10,
5,
input_length=1,
embeddings_initializer='uniform')(embed_input)
em_model = Reshape((5,))(em_model)
outputs = Concatenate(axis=1)([em_model,extraInput])
outputs = BatchNormalization(epsilon=1e-05, momentum=0.1) (outputs)
outputs = Dense(10, kernel_initializer='uniform', activation='relu')(outputs)
outputs = Dense(3, kernel_initializer='uniform', activation='relu')(outputs)
outputs = Dense(1)(outputs)
outputs = Activation('sigmoid')(outputs)
model = Model([embed_input, extraInput], outputs)
model.summary()
这将为您提供以下图表:您有两个不同的输入,一个用于嵌入,第二个用于继续变量
推荐阅读
- laravel - SQLSTATE [HY000]:一般错误:1364 字段 'id' 没有默认值
- c# - 如何通过 oledb 向在 excel 电子表格上运行的计数查询添加参数?
- ruby - 如何测试 PDF 文件的内容
- java - 如何以编程方式将 XML 可绘制对象设置为背景图像?
- laravel - 带有方法的 Laravel api 资源不起作用
- swift - 以自定义垂直距离水平居中子视图 | 迅速
- python - 当我用 termcolor "colored" 为长输入字符串着色时,它会剪切字符串
- reactjs - 无法使用 heroku 后端 api 访问正确的 http 请求
- django - django 模型在使用模板时返回空但没有模板的结果
- python - 如何让 pylint 在 shebang 行之后尊重文件级忽略?