IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 深度学习第二门课week2&week3 -> 正文阅读

[人工智能]深度学习第二门课week2&week3

1、mini-batch 梯度下降法

使用 batch 梯度下降法时,每次迭代你都需要历遍整个训练集,可以预期每次迭代成本都会下降,所以如果成本函数𝐽是迭代次数的一个函数,它应该会随着每次迭代而减少,如果𝐽在某次迭代中增加了,那肯定出了问题,也许学习率太大。

使用 mini-batch 梯度下降法,如果你作出成本函数在整个过程中的图,则并不是每次迭 代都是下降的

如果 mini-batch 的大小等于𝑚,其实就是 batch 梯度下降法

另一个极端情况假设 mini-batch 大小为 1,就有了新的算法,叫做随机梯度下降法

2、指数加权平均数(Exponentially weighted averages)

如果𝛽是 0.9,这是十天的平均值。

? ?(这是微积分的知识) 这里的epsilon=1-θ

1/e ≈0.34? ?因此结合起来我们知道当日子超过了1/epsilon,那这个权重只占了1/3 很少很少了。

所以说

?3、指数加权平均的偏差修正?

偏差修正就是在初期让平均值除以一个小值让初期变大,接近实际值。

4、动量梯度下降法(Momentum)

原本是W=W-αdW

b=b-αdb? ? 其中α是学习率

这样的梯度下降每一步都是独立的 不会跟之前累积的微分d相关

因此我们使用

同理b=

这样就可以减缓梯度下降的幅度。因为每次梯度下降的v都是跟之前累积的相关的,类似动量的累积,或者说惯性。

动量梯度下降有两个超参数,学习率𝑎以及参数𝛽,𝛽控制着指数加权平均数。𝛽最常用的值是 0.9,我们之前平均了过去十天的温度,所以现在平均了前十次迭代的梯度。

加快梯度下降的原理:

当v累积了之前的变化时候,在上下方向的变化就会正负抵消近乎于0,但是横轴变化不会抵消,因此,将紫色的变化曲线变成蓝色的变化曲线,即上下变化缓慢,更快到达最优解,来加快梯度下降。动量梯度下降的β越大,上下变化越缓慢。

?5、RMSprop

这里的S相当于上述的V

这样可以让数值的更新更加稳定,太快的减缓,太慢的加速。

6、Adam优化算法

Adam 优化算法基本上就是将 Momentum 和 RMSprop 结合在一起。(以下描述中 V一般关于Momentum,S关于RMSprop)

(1)初始化

?(2)

?

β1是Momentum?的超参数,β2是RMS的超参数

(3)使用Adam一般需要偏差修正?

V和S都需要

(4)更新权重的时候由于加入了RMSprop,所以需要除一个Sdw的平方根 加上ε是因为防止除的太小导致这个分数无穷大

?其中有一些超参数:学习率α、β1(通常0.9)、β2(通常0.999)、ε(10^-8,当然ε也可以忽略)

7、学习率衰减

?一开始学习率较大,梯度下降的幅度大,到学习末期为了能够收敛到最优解附近的一个局部小范围,我们需要把学习率调低(自动地),因此需要根据迭代周期(epoch)来减小学习率α,有许多公式比如

每遍历一次数据集? 学习率就降低

8、超参数的取值

首先,超参数取值不能均匀取,必须随机取点

其次,推荐用对数刻度轴,比如0.0001~1的范围 不用均匀刻度,否则0.0001-0.1这个范围只占了10%的概率,应该用log 对数坐标(类似bode图)

9、归一化激活函数

归一化输入特征可以加快学习过程。

对于任何一个隐藏层,我们也可以归一化它的a,以此来更快训练w和b,因为这一层的a是下一层的输入,会影响下一层的w和b的训练。这就是Batch 归一化。

我们通过上式来归一化得到Z_norm

并且如果我们加入了γ和β这俩个新的参数,根据公式

我们可以对?进行任意设置平均数和方差,这里的β不同于momentum里的β

回顾一下? z1=w1x+b1,a1=g(z1),z2=w2a2+b2。这里的g是激活函数

10、Batch归一化的原理

Batch使之前层更新的参数不管怎么变化,至少他们的均值和方差也会是均值 0,方差 1。也就是说,其减弱了前层参数的作用与后层参数的作用之间的联系,它使得网络每层都可以自己学习,稍稍独立于其它层,这有 助于加速整个网络的学习。

Batch 归一化还有一个作用,它有轻微的正则化效果。因为每一个mini-batch的均值和方差都不一样,导致会产生噪声,因此类似dropout,Batch归一化可以细微的正则化,因为会给隐藏单元添加小噪声,这迫使后部单元不过分依赖任何一个隐藏单元。

11、Softmax回归

除以ti的求和是为了归一化让概率处以0-1之间,用指数形式的z是为了让z的负数部分也转成正数(负数的概率没有意义)

Softmax激活函数比logistics激活函数的优点就在于softmax更适合于多分类问题,而logistics一般适合二分类问题?

在 Softmax 分类中,我们一般用到的损失函数是

?

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:35:25  更:2022-02-22 20:37:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 19:55:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码