深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

19、批标准化——Batch Normalization

将分散的数据进行规范化,利于机器学习的学习。W*X的值经常会变得很大或者很小,偏离激活函数敏感的区域,从而X的变化很难带来激活后的变化,而批标准化BN则是计算批数据的均值和方差,再normalize输入激活函数的值。

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

图19、批标准化可以使参数集中在激活函数更敏感的区域

BN用在激活函数前,用tensorlfow编写的代码如下。

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

图19、训练效果对比

20、可视化梯度

通过可视化梯度下降,更好地理解全局最优和局部最优的区别,明白参数初始值对梯度下降的影响。tensorflow代码如下

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

图20、建立模型

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

图20、可视化梯度下降

从梯度下降图可以看出,参数总是沿着当前的梯度进行移动,到达梯度最低点。

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

图20、梯度下降图

如果我们改变需要拟合的函数呢?我们不回归一个线性方程了,我们来拟合一个非线性方程——y = sin(b*cos(a*x)),参数选择不同的初始值,梯度下降的结果如图所示。可以看出,不同的初始值会带来不同的训练效果。

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

图20、陷入局部最优

深度学习/目标检测之tensorflow——莫烦教程总结(19-20)

图20、全局最优


分享到:


相關文章: