新项目指南
深度学习的模型训练时,当问题制定、数据清理等基本工作已经完成,在模型架构和训练配置上花时间是有意义的。设置好管道,做训练和评估,为各种模型执行训练和预测工作,且选择和实施适当的衡量标准。
选择模型架构
选择成熟且常用的模型架构,先work,之后再建立自定义模型,其中:(1)模型架构通常有各种超参数,决定模型大小和其他细节(如层数、层宽和激活函数的类型);(2)在可能得情况下,找到一篇解决手头问题的论文,并以该模型为起点进行work。
选择优化器
在所有类型的机器学习问题和模型架构中,没有哪种优化器是“最好”的。建议使用成熟且受欢迎的优化器,特别是在开始新项目(理想情况下,选择用于同类任务最流行的优化器),重视所选优化器的超参数,常用的优化器包括SGD、Adam等。
选择batch_size
通常情况下,理想的batch_size是可用硬件所支持的最大batch_size,可用硬件支持的最大batch_size小于临界batch_size。随着增加batch_size(例如增加2的幂),达到固定性能目标所需的总steps通常会减少(前提是batch_size大小改变时,所有相关的超参数都被重新调整)。只要所有的超参数都调的很好(大多数超参数的最优值都是对batch_size很敏感,尤其是学习率和正则化超参数),并且训练step的数量足够多,使用任何batch_size都应该可以达到相同的最终性能。
选择初始配置
在开始超参数调整之前,必须指定初始配置,包括指定:(1)模型配置(如层数);(2)优化器超参数(如学习率);(3)训练steps数量。指定原则是找到简单、快速和低资源消耗的配置,获得“合理”结果。