@[email protected] 一般来说我们会用grid search 去找最佳的hyperparameters (batch/epoch sizes),就不会有这种loss反复的情况,但是会很费期间(数据库大的话十来个小时打底吧……)。如果在training set训练太久,loss反复基本不变反而上升,很可能会overfitting (但你这里也没有……应该不是overfitting的问题)。制止overfitting会用early stopping,在training/validation sets记录error rate(或者其他measurements),如果在validation set的表现不再变好,训练就到此为止。至于你说的learning rate,如果用的是SGD,用大家都公认的就行了(0.01/0.001/0.0001)……SGD会让算法避免卡在local minima,实际不太会影响找到最低点。可以用做feature transformation (PCA之类的)改进模型的表现, 用tensorflow的话,除了几个超级变量,训练本身反而没什么可以改进的……