tensorflow2.1是谷歌公司于2020年1月发布的是一个端到端开源机器学习平台,它包含各种工具、库和社区资源。tensorflow2.版本在tensorflow1.版本的基础上做了改进和提高,语法变得更加简单,同时也扩展了一些新的函数功能。下面是我根据北京大学曹健老师的tensorflow笔记课程做的一些总结笔记,强烈推荐大家一起来学习这一门免费课程。
课程链接
源码下载链接:https://pan.baidu.com/s/19XC28Hz_TwnSQeuVifg1UQ 提取码:mocm
class2
神经网络参数优化器:
优化器是引导神经网络更新参数的工具,不同的优化器对参数更新快慢和模型准确率有很大的影响,下面我将介绍五种常见的优化器模型,并且对比它们的性能。
参数更新过程:
总结:其实不同的优化器的参数更新过程都是上面的四步,其不同之处在于第二步中的一阶动量和二阶动量选择不同。其中一阶动量是与梯度相关的函数,二阶动量是与梯度平方相关的函数。
1.SGD(无momentum)
注:gt为t时刻的梯度
2.SGDM(含momentum的SGD)
在SGD基础上增加一阶动量
注:β为超参数,一般设置接近于1
3.Adagrad
在SGD基础上增加二阶动量
4.RMSProp
在SGD基础上增加二阶动量
5.Adam
结合SGDM的一阶动量和RMSProp的二阶动量,同时对一阶动量和二阶动量的偏差进行修正
下面是五种优化器的对比图: