我有一个网络,它的一部分是类似于unet的结构。我想让卷积层在两个输入之间共享。我的代码的一个例子。
conv_layer = Conv(parameters)
out1 = con_layer(input1)
out2 = con_layer(input2)
这个部分是否创造了两个输出,每个输出都只取决于对应的输入和共享的权重? 还是将输入连接起来,然后从卷积中传递出来?在这层的两次调用中,权重是一样的吗?另外,还有一个关于学习的问题。到了反向传播的时候,损失是否从共享层传播一次?学习有什么变化吗?
首先,U-Net不完全有任何共享层。它使用跳过连接和连接来重用功能。
一个共享层看起来像这样
x --> F(x)
==> G(F(x),F(y))
y --> F(y)
这个部分是否会创建两个输出,每个输出只取决于对应的输入和共享权重?
它是否将输入连接起来,并将它们从卷积中传递出来?
权重是一样的吗?
当涉及到反向传播时,损失是否会从共享层传播一次?学习上有什么变化吗?
一些有用的阅读。http: /neural.visionblogdeep -learningbackpropagation -with -shared -weights.
https:/datascience.stackexchange.comquestions27506back-propagation-in-cnn。