我对在Keras神经网络中如何实现偏差项感到困惑。更具体地说,请考虑以下示例:
input_img = Input(shape=(784,))
encoded = Dense(1000, activation='relu')(input_img) # L1
encoded = Dense(2, activation='relu')(encoded) # L2
decoded = Dense(20, activation='relu')(encoded) # L3
decoded = Dense(10, activation='softmax')(decoded) # L4
mymodel = Model(input_img, decoded)
mymodel.layers [2] .get_weights()[1]返回一个包含2个元素的数组,让我们用B. mymodel.layers [3]表示.get_weights()[0]返回一个20x2数组,让我们用它来表示由W.
假设L2层的输出是X,它也应该是2个元素的向量。关于L3和(X,B,W)输入的等式是什么?在类似Matlab的表示法中,输入(L3)= W *(X + B)? (假设X& B是2个元素的列向量。)非常感谢!
(最初我期待L2有一个标量偏差项(b),输入(L3)= W * [X; b],但这显然不是Keras所做的。)