神经网络(四)—— 梯度下降和Tensorflow简介

本系列为慕课网《深度学习之神经网络(CNN/RNN/GAN)算法原理+实战》视频笔记,希望自己能通过分享笔记的形式更好的掌握该部分内容。
往期回顾:
神经网络(一)—— 机器学习、深度学习简介
神经网络(二)—— 神经元、Logistic回归模型
神经网络(三)—— 神经元多输出

神经网络训练

由于需要求解的参数众多、约束条件是数据,所以不能用直接求解的方式计算神经网络参数。

  • 下山算法:找到方向→走一步→找方向→走一步→···

在神经网络中有一个类似的算法:梯度下降算法
θ = θ − α ∂ L ( x , y ) ∂ θ \theta=\theta-\alpha\frac{\partial L(x,y)}{\partial \theta} θ=θαθL(x,y)
其中 θ \theta θ是参数, α \alpha α是学习率。整体的思路就是找到使损失函数下降最快的方向更新参数。
fig1. 学习率的大小影响学习程度
在这一步, α \alpha α是一个很重要的参数。 α \alpha α如果过大,会导致Loss上升,举个例子,一个人从太行山下山,结果步子过大,走到了喜马拉雅山。 α \alpha α如果过小,则下山速度太慢。 α \alpha α虽然不是特别大,但还是大了些,它始终走不进去往山底的小路。只有适合的 α \alpha α才能更好更快的走到最低点。

Tensorflow基础

Tensorflow介绍
  • Google Brain的第二代机器学习框架
  • 开源社区活跃
  • 可扩展性好
  • API健全,对用户友好
计算图模型
  • 命令式编程
    fig2. 命令式编程
  • 声明式编程
    fig3. 声明式编程
    它的计算图是:
    fig4. 计算图
    为什么要介绍计算图?由于神经网络的结构是定义好的,而x是用户输入的,所以定义神经网络的时候并不知道数据是什么,需要使用计算图。
    fig5. 命令式编程和声明式编程的优劣
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值