神经网络(四)—— 梯度下降和Tensorflow简介
本系列为慕课网《深度学习之神经网络(CNN/RNN/GAN)算法原理+实战》视频笔记,希望自己能通过分享笔记的形式更好的掌握该部分内容。
往期回顾:
神经网络(一)—— 机器学习、深度学习简介
神经网络(二)—— 神经元、Logistic回归模型
神经网络(三)—— 神经元多输出
神经网络训练
由于需要求解的参数众多、约束条件是数据,所以不能用直接求解的方式计算神经网络参数。
- 下山算法:找到方向→走一步→找方向→走一步→···
在神经网络中有一个类似的算法:梯度下降算法
其中是参数,是学习率。整体的思路就是找到使损失函数下降最快的方向更新参数。
在这一步,是一个很重要的参数。如果过大,会导致Loss上升,举个例子,一个人从太行山下山,结果步子过大,走到了喜马拉雅山。如果过小,则下山速度太慢。虽然不是特别大,但还是大了些,它始终走不进去往山底的小路。只有适合的才能更好更快的走到最低点。
Tensorflow基础
Tensorflow介绍
- Google Brain的第二代机器学习框架
- 开源社区活跃
- 可扩展性好
- API健全,对用户友好
计算图模型
- 命令式编程
- 声明式编程
它的计算图是:
为什么要介绍计算图?由于神经网络的结构是定义好的,而x是用户输入的,所以定义神经网络的时候并不知道数据是什么,需要使用计算图。