我正试图创建一个有序回归模型,正如这个paper所解释的。它的一个主要部分是在最后一层中共享权重,但不是为了获得秩单调性(基本上是为了确保对于任何这样的N,P[Y>;N]必须始终大于P[Y>;N-1])。这对我来说是非常理想的,因为我有几个值,其中只有很少的值,但我仍然希望得到它们的概率。到目前为止,我已经实现了它编码数字的方式,并且没有像P(Y>;5)>;P(Y>;4)
我怎样才能在Keras中实现权重共享而不是偏差共享?我知道函数式API有一种共享权重和偏差的方法,但在这种情况下没有帮助。感谢所有能帮忙的人
编辑:在一个层内与N个神经元和N个层之间共享权重但不共享偏差都可以解决问题。另外,我认为将Dense()中的use_bias参数设置为false并创建某种类型的自定义bias层也可以解决问题,但我不确定如何做到这一点
我认为六个神经元和五个输入的方程式是这样的
op1 = w1z1 + w2z2 + w3z3 + w4z4 + w5z5 + b1
op2 = w1z1 + w2z2 + w3z3 + w4z4 + w5z5 + b2
op3 = w1z1 + w2z2 + w3z3 + w4z4 + w5z5 + b3
op4 = w1z1 + w2z2 + w3z3 + w4z4 + w5z5 + b4
op5 = w1z1 + w2z2 + w3z3 + w4z4 + w5z5 + b5
op6 = w1z1 + w2z2 + w3z3 + w4z4 + w5z5 + b6
其中w1至w5为权重,z1至z5为输入,b1至b6为偏置项
实现这一点的方法之一是定义一个自定义的
bias
层,下面是如何做到这一点的。 PS:根据需要更改输入形状/初始值设定项输出:
相关问题 更多 >
编程相关推荐