首页 文章

神经网络输出与输出层偏置权重(Keras)精确相关

提问于
浏览
1

我正在Keras中实现神经网络,经过几轮训练后,网络输出与输出层中的偏置权重完全相关 . 因此,无论输入如何,网络输出都是相同的 . 这些数据以前产生了很好的结果,但我已经做了一些事情来解决这个问题 . 我做的一个改变是让网络更容易调整,我实例化它:

layers = [40, 8, 4]    
model = Sequential()
model.add(Dense(layers[0], input_dim=np.shape(train_x_scaled)[1], activation='relu'))
for layer_size in layers[1:]:
    model.add(Dense(layer_size, activation='relu'))
model.add(Dense(np.shape(train_y_scaled)[1], activation='sigmoid'))
optimizer = optimizers.Adam(lr=0.01)
model.compile(loss='mean_squared_error', optimizer=optimizer, metrics=['mse']) 
history = model.fit(train_x_scaled, train_y_scaled, epochs=iters)

训练输入具有形状(1513,3048)并且目标具有形状(1513,254) .

1 回答

  • 1

    我想我发现了我的问题 . 我的网络形状是3048,40,8,4,254 . 通过在输出之前缩小范围,它限制了可以描述的决策,并且网络刚刚学会忽略输入 . 我确实有一个成功的训练运行这种形状,所以我怀疑我很幸运,在那个实例中的权重初始化 . 我将网络改为3048,40,8,40,454我能够再次完成有用的训练 .

相关问题