神经网络模型的编译实际上是为网络指定几个非常重要的运行参数,包括优化器、损失函数(误差函数】和评价指标,这三者也代表着神经网络的核心运行机制----通过损失函数来计算网络误差、通过优化器来调整网络参数以降低误差、通过评价指标来衡量网络的性能。神经网络训练时除了需要指定训练集数据和标签、训练迭代次数epochs、批尺寸batch_size外,还可以通过指定验证集在训练过程中进行验证。
掌握神经网络编译和训练常用参数的类型和作用、理解其区别与选择原则,对于提升模型性能、优化神经网络等具有十分重要的意义。
主要流程为:
a)常用优化器(optimizer)的类型及选择
b)常用损失函数(loss)的类型选择
c)不同任务类型下,评价指标(metrics)的选择
d)验证集参数的使用
通过对本案例的学习,可以达到以下目的:
1)理解和掌握常用优化器的类型及选择
2) 理解和掌握常用损失函数的类型及选择
3) 掌握不同任务下,评价指标的选择
4) 掌握训练时验证集数的使用
一、认识常用的优化器(optimizer)
模型编译时的“optimizer”参数即是指定优化器。优化器的作用前面已经讲过:它根据损失函数(由Loss参数指定)计算出的误差,从后向前地调整神经网络各层的参数、达到降低误差的目的。即优化器的作用是在训练过程中优化网络模型的参数。
优化器的工作机制叫做反向传播(Back Propagation,BP),也叫BP算法。“反向”的含义是从网络的输出层向前(一直到输入层)、反向地调整