当前课程知识点:小白学人工智能 >  五、二战深度学习之深度学习 >  5.5 梯度下降 >  梯度下降

返回《小白学人工智能》慕课在线视频课程列表

梯度下降在线视频

下一节:反向传播

返回《小白学人工智能》慕课在线视频列表

梯度下降课程教案、知识点、字幕

由刚才那个手写数字识别的案例

我们可以看出深度学习的模型有两种参数

一种参数 是指在开始学习之前就设置好的

一般是根据经验确定的变量 也叫超参数

例如学习速率 迭代次数

隐藏层的层数 每层的神经元单元数等

还记得KNN算法里面的K吗 那也是超参数

超参数确定模型 并对网络性能产生影响

超参数不同 模型也是不同的

我们通常会对超参数进行优化

以选择一组最优的变量 以提高学习的性能和效果

另一种参数 是模型根据数据集自动学习而得出的变量

例如权重 偏移量

我们利用数据集来选择和测试参数

数据集是被收集来进行模型训练的数据的集合

在深度学习中 数据集通常分为三种

一是训练集 用来训练得到参数

二是验证集 是从训练集随机抽取的一部分

用来选择合适的超参数和避免过拟合

三是测试集 是和训练集完全没有交集的集合

用来测试网络的泛化能力

即模型在测试集样本 也就是新样本上也能有良好的表现

模型根据数据集用反向传播来自动学习设定合适的参数

之前介绍的取得2018年图灵奖的三位科学家中的Hinton

他最重要的贡献之一就是1986年发明反向传播的论文

在介绍反向传播前 要先介绍梯度下降

先看看小白们对梯度下降的介绍

现在你对梯度下降有了一定的了解

山 梯度 山底 学习速率等等

来看看计小白的介绍

谢谢计小白 对梯度下降的了解肯定清晰了不少

9个部分

什么是梯度下降 或者说梯度下降是做什么的

梯度下降是一种优化算法 是求解函数的优化算法

目标就是找到合适的参数Θ 使函数J(Θ)的值最小

如何求解函数J(Θ)的最小值

我们不知道能让函数J(Θ)值最小的合适参数Θ是多少

我们还不知道函数J(Θ)值最小是多少

就是计小白对于一座山 并不知道山底在哪里

就需要用梯度来不断调整参数Θ 来求解函数J(Θ)的最小值

从而得到使函数J(Θ)值最小的合适参数Θ

那到底什么是梯度

梯度方向是函数J(Θ)在某参数Θ点上升最快的方向

比如下面这张图

函数J(Θ)蓝色的线

在黑色那点上 梯度就是红色那条线

从数学来讲 梯度是一种导数 或是一种偏导数

函数值就是山 梯度是函数在某点增长最快的方向

所以梯度的反向 函数在某点下降最快的方向

梯度的使用 也就是梯度下降的公式

这就是梯度下降每次迭代的公式

每次迭代都是当前点减去学习速率乘以函数在这个点的“梯度”取得新的点

梯度下降在深度学习中如何使用的

深度学习的目标是自动学习设定合适的众多参数

例如权重 偏移量等参数

我们在之前的感知器中

就介绍了用预测出来的ŷ和实际输出的y的误差来调整权重w

梯度下降中 用迭代方法找到合适的参数Θ 使目标函数J(Θ)的值最小

深度学习的梯度下降中

目标函数就是深度学习预测出来的ŷ和实际输出的y之间的误差

这种误差我们用损失函数来表示

也就是说J(Θ)是预测出来的ŷ和实际输出的y之间的损失函数

那Θ就是深度学习的模型参数 例如权重 偏移量等

也就是说 通过不断更新模型参数

求解出一组合适的模型参数 使损失函数值最小

就像刚才计小白介绍的那样

学习速率太小不行 太大也不行

学习速率 如果设得太大 就可能会错过最低点 发生震荡

但如果设得太小 可能会迭代很多次都不一定能到达最低点

先讲两种下降方法 批量梯度下降和随机梯度下降

批量梯度下降中要更新模型参数

需要使用训练集所有的m个样本

而随机梯度下降中 只需要使用训练集的1个样本

这样批量梯度下降的训练速度肯定是慢的

随机梯度下降肯定是快的

可惜一件事情都有好坏两个方面

随机梯度下降中 只需要使用训练集的1个样本

训练速度是快了 可收敛速度不好 因为迭代方向变化很大

也就是说批量梯度下降和随机梯度下降都有明显的优点和明显的缺点

这就有了第三种下降方法 小批量梯度下降

小批量梯度下降中更新模型参数需要的样本比批量梯度下降少

比随机梯度下降多

结果是小批量梯度下降的训练速度较快 收敛效果也较好

这张图 蓝色是批量梯度下降

紫色是随机梯度下降 绿色是小批量梯度下降

可以看出 随机梯度下降的震荡非常大

当然还有其他的一些梯度下降 例如Momentum NAG等等

我们在学习KNN时候 有个问题

KNN是不是与半径R有关

一看KNN的算法 就知道与半径无关 算法是很好的一种解释

那深度学习的梯度下降算法 包含4步

第一步 确定超参数 例如学习速率等 随机选择一组模型参数

第二步 用设定模型参数的模型 得到深度学习预测的输出值y ̂

预测的输出值y ̂和实际的输出值y代入损失函数J

设定的参数和得到的损失函数值就是当前点

第三步 让当前点按照公式的负梯度方向下降

得到新的点 也就是新的一组参数 回到第二步

这是迭代下降过程

第四步 迭代停止的条件 要么迭代次数满足一定数目 要么损失函数值小于某值

迭代停止后得到的参数就是让损失函数 也就是误差取得极小值的最合适的一组参数

梯度下降是一种优化算法

有其他优化算法吗 当然有了

比如之前我们在线性和非线性环节 介绍我国GDP预测时 用到的那个最小二乘法

再比如牛顿法/拟牛顿法

梯度下降和最小二乘法的区别在于

梯度下降需要有参数设定 学习速率

而且梯度下降是一种迭代算法

就是先算一个点 再根据这个点算下一个点 再根据下一个点算新的下一个点

最小二乘法是代入公式 直接计算解析值 没有迭代

小数据集时 最小二乘法计算速度比较快

但是大数据集时 计算极其慢和难 不适用

梯度下降和牛顿法/拟牛顿法都是迭代算法

牛顿法/拟牛顿法的收敛速度相对更快

就是找到极小值点的速度相对更快

但是每次迭代的时间相对更长

计小白 还有问题吗

嗯嗯 计小师 对梯度下降真的明白了不少 就是 嘿嘿 我还有几个问题

第一问 梯度下降是求函数的最小值

可是损失函数 也就是误差能达到的最小值就是0啊 干嘛还要求呢

因为求的不是损失函数的最小值 而是损失函数的最小值点

就是让损失函数取得最小值的模型参数

在一个坐标轴上来说

梯度下降求的是通过找最小y值 来找最小y值对应的x值

另外实际上 梯度下降往往求不到损失函数的最小值点

也就是让损失函数值为最小值的点

梯度下降目标是求解极小值点 也就是相对来说最小的那个值的点

也就是说深度学习中 梯度下降求的是通过找损失函数J的极小值

来找损失函数J极小值对应参数Θ的值

第二问 刚才用山比拟函数值 下山比拟梯度下降 山底比拟极小值点

可是山有个形容词 那就是重峦叠嶂 就是说重重叠叠的山峰

也就是说山可能有多个山峰 也就可能有多个山底

是的 求到的极小值点是局部极小值点 可能不是全局极小值点

就是这个极小值点是相对的 是局部的

第三问 刚才那个算法 初始点是随机选择的

那这样 求到的局部极小值点是一样的吗

好问题 不同的初始点 得到的局部极小值点可能不一样

谢谢计小白的问题 这就是梯度下降 再来个小结

梯度下降是一种优化算法

是求解一组参数 让目标函数取得极小值的优化算法

在深度学习中 是求解一组参数

让预测的输出值y ̂和实际的输出值y之间的损失函数J取得极小值的优化算法

我们并不知道损失函数的极小值是多少

所以采用让损失函数值不断“下降“的迭代方法

损失函数值最快的“下降“方向就是损失函数在某参数值的”梯度“的负向

这就是“梯度+下降“的梯度下降法

需要迭代的利用损失函数在某个参数值的梯度和学习速率 来调整某个参数

从而取得损失函数的极小值

从而取得让损失函数取得极小值所对应的合适的参数的值

这里强调一点 损失函数J的因变量

不是深度学习模型的输入x 而是深度学习模型的参数 例如权重w

小白学人工智能课程列表:

一、为什么要学习人工智能?

-1.1 人工智能能做什么?

--人工智能能做什么

--课后作业

-1.2 人工智能案例——智能小恐龙

--人工智能案例——智能小恐龙

二、神奇的f(x)=y

-2.1 学习人工智能就是学习f(x)=y

--学习人工智能就是学习f(x)=y

--课后作业

-2.2 f难找吗

--声控小恐龙的f

--课后作业

-2.3 聊聊线性(f)和非线性(f)

--聊聊线性f和非线性f

--课后作业

三、猫狗大战之KNN分类

-3.1 初识KNN

--初识KNN

--课后作业

-3.2 猫狗大战,xy好找吗

--猫狗大战,xy好找吗

--课后习题

四、一战深度学习-什么是神经网络

-4.1 初识神经网络

--初识神经网络

-4.2 如此重要的感知器

--如此重要的感知器

--课后作业

-4.3 神经网络和西瓜

--神经网络和西瓜

--课后作业

五、二战深度学习之深度学习

-5.1 深度学习和做粤菜

--深度学习和做粤菜

-5.2 手写数字识别案例

--手写数字识别案例

-5.3 网络参数的计算

--网络参数的计算

-5.4 再聊激活函数

--再聊激活函数

-5.5 梯度下降

--梯度下降

-5.6 反向传播

--反向传播

-5.7 欠拟合和过拟合

--欠拟合和过拟合

-5.8 代码和小结

--代码和小结

梯度下降笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。