如何在Keras中实现恒定神经元?

时间:2017-07-29 09:26:31

标签: python neural-network keras

我在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,并完全连接到下一层。有一个简单的方法吗?非常感谢!

1 个答案:

答案 0 :(得分:3)

您可以创建常量输入张量:

constant_values = np.ones(shape)
constant = Input(tensor=K.variable(constant_values))

话虽如此,您的用例(偏见)听起来应该只使用use_bias=True这是默认值,如@gionni所述。