这是我使用 Keras 和 TensorFlow 作为后端运行的确切代码。对于相同程序的每次运行,训练结果都是不同的。有时它在第 400 次迭代中获得 100% 的准确度,有时在第 200 次迭代中获得 100% 的准确度。
training_data = np.array([[0,0],[0,1],[1,0],[1,1]], "float32")
target_data = np.array([[0],[1],[1],[0]], "float32")
model = Sequential()
model.add(Dense(4, input_dim=2, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='mean_squared_error',
optimizer='adam',
metrics=['binary_accuracy'])
model.fit(training_data, target_data, epochs=500, verbose=2)
Epoch 403/500
0s - loss: 0.2256 - binary_accuracy: 0.7500
那么为什么每次执行的结果都会随着训练数据的固定而变化呢?将不胜感激一些解释。