专栏首页人工智能LeadAITensorFlow从0到1 | 第七篇:TensorFlow线性回归的参数溢出之坑

TensorFlow从0到1 | 第七篇:TensorFlow线性回归的参数溢出之坑

上一篇 6 解锁梯度下降算法 解释清楚了学习率(learning rate)。本篇基于对梯度下降算法和学习率的理解,去填下之前在线性回归中发现的一个坑。

在5 TF轻松搞定线性回归 中提到,只要把TF官方Get Started中线性回归例子中的训练数据换一下,就会出现越训练“损失”越大,直到模型参数都stackoverflow的情况。然而更换训练数据是我们学习代码的过程中再普通不过的行为,从stackoverflow.com上也能搜到很多人做了类似的尝试而遇到了这个问题。到底为什么这么经不住折腾?马上摊开看。

stackoverflow

更换训练数据如下:

  • 参数初始值a=-1,b=50;
  • 训练数据x_train = [22, 25];
  • 训练数据y_train = [18, 15]。

先亮个底:给出的训练数据只有两组但足够了,两点成一线,要拟合的直线心算下就能得出是y=-x+40,a是-1,b是40。

运行使用新数据的代码:

为了方便观察,让程序训练了10次,输出是:

参数越练损失越大的趋势果然重现了。

现在我们已经掌握了梯度下降大法,就来看看每次训练的结果到底是怎么产生的。

手工计算了两次迭代,和程序输出一致。

图中显示,训练样本(已红色标出)的值对梯度值的贡献很大,而此时沿用之前的学习率η=0.01就显得不够小了。训练样本既然不可调,那么显然只能调小学习率了。随之而来的副作用就是会导致学习缓慢,所以还得增加训练的次数。这就是之前的例子中最终调整为η=0.0028,epoch=70000的原因了。

如此看来,这的确不是TF的bug。再一次体会:训练是一门艺术

本文分享自微信公众号 - 人工智能LeadAI(atleadai),作者:人工智能LeadAI

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习面试之偏差方差

    在机器学习的面试中,能不能讲清楚偏差方差,经常被用来考察面试者的理论基础。偏差方差看似很简单,但真要彻底地说明白,却有一定难度。比如,为什么KNN算法在增大k时...

    用户1332428
  • 最终章 | TensorFlow战Kaggle“手写识别达成99%准确率

    这是一个TensorFlow的系列文章,本文是第三篇,在这个系列中,你讲了解到机器学习的一些基本概念、TensorFlow的使用,并能实际完成手写数字识别、图像...

    用户1332428
  • Active Learning: 一个降低深度学习时间,空间,经济成本的解决方案

    ? 下面要介绍的工作发表于CVPR2017(http://cvpr2017.thecvf.com/),题为“Fine-tuning Convolution...

    用户1332428
  • 1.训练模型之准备工作

    经常关注我公众号的读者应该还记得之前写了5课关于嵌入式人工智能的文章,可以点击这里查看(文章末尾有前4节课时的推荐),前5节课时都在讲一个主题,即如何识别物体。...

    刘盼
  • 0690-TensorFlow之车牌识别案例

    参考文档:https://blog.csdn.net/shadown1ght/article/details/78571187

    Fayson
  • 预、自训练之争:谷歌说预训练虽火,但在标注数据上自训练更有效

    早在 2018 年,何恺明等人在论文《Rethinking ImageNet Pre-training》中重新思考了 ImageNet 预训练模型。他们发现这种...

    机器之心
  • tensorflow使用object detection实现目标检测超详细全流程(视频+图像集检测)

    参考原始代码:https://github.com/tensorflow/models/tree/master/research 本文以mobilenet-ss...

    机器学习AI算法工程
  • tensorflow使用object detection实现目标检测超详细全流程(视频+图像集检测)

    https://github.com/tensorflow/models/tree/master/research 本文以mobilenet-ssd-v2为例进...

    朱晓霞
  • 基于腾讯云TKE的大规模强化学习实践

    | 导语 大规模的强化学习需要海量的异构计算资源,批量快速启停训练任务,高频更新模型参数,跨机跨进程共享模型数据等。传统的手工管理模式操作繁琐,面临诸多不确定性...

    腾讯云原生
  • 《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》第11章 训练深度神经网络

    第 10 章介绍了人工神经网络,并训练了第一个深度神经网络。 但它非常浅,只有两个隐藏层。 如果你需要解决非常复杂的问题,例如检测高分辨率图像中的数百种类型的对...

    SeanCheney

扫码关注云+社区

领取腾讯云代金券