我在 Python/Keras 中有以下神经网络:
input_img = Input(shape=(784,))
encoded = Dense(1000, activation='relu')(input_img) # L1
encoded = Dense(500, activation='relu')(encoded) # L2
encoded = Dense(250, activation='relu')(encoded) # L3
encoded = Dense(2, activation='relu')(encoded) # L4
decoded = Dense(20, activation='relu')(encoded) # L5
decoded = Dense(400, activation='relu')(decoded) # L6
decoded = Dense(100, activation='relu')(decoded) # L7
decoded = Dense(10, activation='softmax')(decoded) # L8
mymodel = Model(input_img, decoded)
我想做的是在第 4~7 层中的每一层都有一个神经元为常数 1(以实现偏置项),即它没有输入,具有固定值 1,并且完全连接到下一层。有没有一种简单的方法可以做到这一点?非常感谢!
最佳答案
您可以创建常量输入张量:
constant_values = np.ones(shape)
constant = Input(tensor=K.variable(constant_values))
话虽如此,正如@gionni 所指出的,您的用例(偏见)听起来像是您应该简单地使用默认值
use_bias=True
。关于python - 如何在 Keras 中实现恒定神经元?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45387638/