训练过程Trick合集
文章目录 1. 写代码之前要做的事情 2.设置端到端的训练评估框架 1)固定随机种子 2)简单化 3)绘制测试集损失 4)在初始阶段验证损失函数 5)初始化 6)人类基线 7)设置一个独立于输入的基线 8)过拟合一个batch 9)验证减少训练损失 10)在训练模型前进行数据可视化 11)可视化预测动态 12)使用反向传播来获得依赖关系 3.挑选模型 1)挑选模型 2)Adam方法是安全的 3)一次只复杂化一个 4)学习率设置 5)每轮训练数据乱序 6)batch_size选择 7)学习率和batchsize的关系 4.正则化 1)获取更多数据 2)数据扩增 3)有创意的扩增 4)预训练 5)跟监督学习死磕 6)输入低维一点 7)模型小一点 8)减小批尺寸 9)Dropout 10)权重衰减Weight Decay 11)早停法Early Stop 12)附加 5.调参 1)随机网格搜索 2)超参数优化 6.测试阶段 1)模型融合 2)TTA测试时增强 参考博客 1. 写代码之前要做的事情 训练神经网络前,别管代码,先从预处理数据集开始。我们先花几个小时的时间,了解 数据的分布 并找出其中的 规律 。 Andrej有一次在整理数据时发现了重复的样本,还有一次发现了图像和标签中的错误。所以先看一眼数据能避免我们走很多弯路。 由于神经网络实际上是数据集的压缩版本,因此您将能够查看网络