调参经验:
1.Seed在小数据集上有着重要作用,用于参数初始化,可以选取合适的seed。
2.确定epoch,是根据损失函数的值,画出损失函数曲线图,人工确认或者运用早停法。进而再确定auc。
3.batch_size在大数据集上尝试1024,2048等,都可以尝试。看看loss的下降情况,再选用效果更好的值。
batch_size太小,收敛得慢,导致网络收敛不稳定,可能准确率来回震荡,因此需要把基础学习速率降低一些。
Batch_Size 越大,其确定的下降方向越准,引起训练震荡越小。但可能模型的泛化能力会下降,每个batch更接近当前的训练数据集,而不是测试数据集。
4.学习率。适配batch_size,一般10-3,10-4。如果增加了学习率,那么batch size最好也跟着增加,这样收敛更稳定。
5.在多任务中,一般来说中间专家层层数越多,或者数量越多,所得精度越高。
参考资料: