在LSTM网络中,我正在传递一个形式
的数组X.shape
(350000, 240, 1)
使用格式
的二进制分类目标y.shape
(350000, 2)
如何估算最佳批量大小以最大限度地减少学习时间而不会失去准确性?
以下是设置:
model = Sequential()
model.add(LSTM(25, input_shape=(240, 1)))
model.add(Dropout(0.1))
model.add(Dense(2, activation='softmax'))
model.compile(loss="binary_crossentropy", optimizer="rmsprop")
model.fit(X_s, y_s, epochs=1000, batch_size=512, verbose=1, shuffle=False, callbacks=[EarlyStopping(patience=10)])
答案 0 :(得分:0)
不幸的是,批量大小是一个超级参数,您必须通过交叉验证来学习。在实践中,从一个非常大的数字(1024)开始,然后一半,直到你看到性能提高。
还有一些论文表明,最佳学习率和批量大小大致呈负相关:https://arxiv.org/abs/1711.00489