我希望用以下形式的共享层来训练模型:
x --> F(x)
==> G(F(x),F(y))
y --> F(y)
x
和 y
是两个独立的输入层,F
是一个共享层。在连接了F(x)
和F(y)
后,G
是最后一层。在Keras中是否可能对此进行建模?如何操作?
我希望用以下形式的共享层来训练模型:
x --> F(x)
==> G(F(x),F(y))
y --> F(y)
x
和 y
是两个独立的输入层,F
是一个共享层。在连接了F(x)
和F(y)
后,G
是最后一层。你可以使用Keras函数式API来实现这个目的:
from keras.layers import Input, concatenate
x = Input(shape=...)
y = Input(shape=...)
shared_layer = MySharedLayer(...)
out_x = shared_layer(x)
out_y = shared_layer(y)
concat = concatenate([out_x, out_y])
# pass concat to other layers ...
请注意x
和y
可以是任何层的输出张量,不一定是输入层。
x
和y
)。 - todayout_x
输入到不同的层中。这里使用连接层是因为 OP 在他们的问题中明确提到了这一点:“在连接 F(x) 和 F(y) 后,G 是最后一层”。 - today