在Keras中实施架构的建议

在Keras中实施架构的建议,keras,deep-learning,Keras,Deep Learning,使用Keras实现以下体系结构的简单方法是什么 有两个输入编码器合并,部分输出给解码器。最终层的损失传播到合并层,两个编码器之间的差异反向传播到一个编码器;两个网络之间的差异被添加到反向传播的输出损耗中,并传递到另一个网络。我已开始按如下方式实现它: Y=Input(shape=(100,),name='Fe_input') y=Dense(100, activation=LeakyReLU(alpha=0.0001))(Y) y=BatchNormalization()(y) y=Dense

使用Keras实现以下体系结构的简单方法是什么


有两个输入编码器合并,部分输出给解码器。最终层的损失传播到合并层,两个编码器之间的差异反向传播到一个编码器;两个网络之间的差异被添加到反向传播的输出损耗中,并传递到另一个网络。

我已开始按如下方式实现它:

Y=Input(shape=(100,),name='Fe_input')
y=Dense(100, activation=LeakyReLU(alpha=0.0001))(Y)
y=BatchNormalization()(y)
y=Dense(60, activation=LeakyReLU(alpha=0.0001))(y)
y=BatchNormalization()(y)
y=Dense(20, activation=LeakyReLU(alpha=0.0001))(y)
y=BatchNormalization()(y)

X=Input(shape=(512,),name='Fx_input')
x=Dense(100, activation=LeakyReLU(alpha=0.0001))(X)
x=BatchNormalization()(x)
x=Dense(60, activation=LeakyReLU(alpha=0.0001))(x)
x=BatchNormalization()(x)
x=Dense(20, activation=LeakyReLU(alpha=0.0001))(x)
x=BatchNormalization()(x)

merge_layer=concatenate([x,y], name='merge_layer')
# I need to push partial output to merge layer to the next layer. Not sure how to       
#do that.
x=Dense(60, activation=LeakyReLU(alpha=0.0001))(x)
x=BatchNormalization()(x)

Fd=Dense(100, activation='sigmoid')(x)
model=Model([X,Y],[merge_layer, Fd])
model.compile(...)
如何获取部分输出并通过解码器部分发送?此外,如何将backprop期间的梯度求和并推送到其中一个分支