优化器

一、优化器定义

优化器是tensorflow中的梯度下降的策略,用于更新神经网络中数以百万的参数。除了不断更新神经网络结构,还在不断推出更新参数的厕率

二、基础

梯度下降的要解决的问题是如何减少损失函数,先明确一下,损失函数的定义是多种多样的,如果我们使用均方差来计算损失函数的话,loss 函数定义如下。

image

在一个批次的数据处理中,我们计算的 yi,actual 和 yi,predicted 是已有的数值, 我们需要计算的是神经元的权重 w 和 偏置量b,对应这里就是a 和 b。 神经网络的公式 yi = axi + b, 吧这个共识带入,获得下面的公式。

image

通过上面的过程,将问题转化,变成寻找a, b 参数什么值的时候,输出损失最小。接下来求一下(a,b) 参数时的偏导。

image

便导计算几次 取决于 x 包含几个 参数,这里我们只包含两个 a 和 b 所以得到如下公式。

image

我们是在一个二维方向上移动寻找最点,所以我们偏导输出的是一个向量。

image

上面的图是一个(a,b)参数对 loss 影响的函数, 我们需要将这个公式用图形标示。 暴力直接遍历 a,b 后画出。


image

随机选择一个起始点, 那么问题来了,如何下降呢, 这就要使用矩阵,这里需要补充一下矩阵的知识, 我们需要对下降△j(a, b) 施加一个干预的使用,使用向量点乘 ,点乘一个 v 向量,公式如下:

image

转换一下

image

如果我们需要进行最小的偏移呢, 那么对v的控制值就是 θ = 0,||v|| = 1,

用简单的例子说明一下,先看下面这张图

image

在二维中,梯度下降值得就是寻找图形中的最低点,也就是Y轴方向的最小值。
==那么问题来了怎么寻找?== 在二维中,通过倒数可以知道曲线周围是单调递增的还是单调递减的。如果这个倒数等于0,那么这个位置就是极点,那如何知道是最大值还是最小值呢, 当然可以通过继续像左滑动来判断, 随着x的下降, y逐渐减小。这就是梯度下降的原理, 当然梯度下降的问题不知这一些。

在上面的基础上,继续扩展。

image

寻找的步骤如下:
第一步: 明确自己现在所处的位置
第二步: 找到相对于该位置而言下降最快的方向
第三步: 沿着第二步找到的方向走一小步,到达一个新的位置,此时的位置肯定比原来低
第四部: 回到第一步
第五步: 终止于最低点

三、优化器分类

1.数据采集优化

==SGD==

全称:随机梯度下降优化器(Stochastic Gradient Descent Optimizer)

SGD在计算下降速度最快的方向的时候,不是扫描全部训练集数据,而是采用随机抽取一个来计算。

伪代码

image

SGD的并不是沿着J(θ)下降最快的方向收敛,而是震荡的方式趋向极小点, SGB每次更新参数的时候,使用都是一个数据,算一计算量会小很多,但是效果一般。


image
==BGD==

全称:批量梯度下降优化器(Batch Gradient Descent Optimizer)

BGD 在计算梯度下降方向的时候,使用的是全部的训练数据。

伪代码

image

BGD 应为使用全部的训练数据,所以计算量很大,效果中上。


image

2.学习率优化

==Momentum==

这是一种平滑度的优化

全程: 动量法
Momentum 在计算梯度下降方向的时候,会引用上一个计算所产生的向量,可以使得网络参数的更新变得平滑,梯度摆渡幅度变小, 网络收敛速度加快。

如下,使用移动指数加权平均的方法

image

如下,每次计算完成后,都会和上一次计算出来的增量 △w, △d 产生的v 进行计算。这样可以达到平滑变更参数的作用。

image
RMSprop

全称: Root Mean Square Prop

RMSprop 的基本原理和Momentum的方式一样为了加快模型的收敛,基本原理采用的是微分平方加权平均数。==这种做法有利于消除了摆动幅度大的方向,用来修正摆动幅度,使得各个维度的摆动幅度都较小,这是Monentum所没有的。==(比如当 dW
或者 db
中有一个值比较大的时候,那么我们在更新权重或者偏置的时候除以它之前累积的梯度的平方根,这样就可以使得更新幅度变小)。为了防止分母为零,使用了一个很小的数值 ϵ
来进行平滑,一般取值为10−8。

image

可以看到整个的规则变化实际取决于Regularizer =>>
image

==训练前期,梯度较小,使得Regularizer项很大,放大梯度。[激励阶段]==

==训练后期,梯度较大,使得Regularizer项很小,缩小梯度。[惩罚阶段]==

Adadelta

image

关注一下化红框的部分实际上是和RMSprop区别的地方,根号包裹了外部的参数。

Adagrad

全称: 自适应学习率(Adaptive Gradient), 这个优化方式 和 RMSProp基本一致,不同的地方在 Adagrad非常依赖全局的学习速率η;

image

6.Adam(默认)

2014年12月,Kingma和Lei Ba两位学者提出了Adam优化器,结合AdaGrad和RMSProp两种优化算法的优点。

主要包含以下几个显著的优点:

  1. 实现简单,计算高效,对内存需求少

  2. 参数的更新不受梯度的伸缩变换影响

  3. 超参数具有很好的解释性,且通常无需调整或仅需很少的微调

  4. 更新的步长能够被限制在大致的范围内(初始学习率)

  5. 能自然地实现步长退火过程(自动调整学习率)

  6. 很适合应用于大规模的数据及参数的场景

  7. 适用于不稳定目标函数

  8. 适用于梯度稀疏或梯度存在很大噪声的问题

image
image
image

由于m0初始化为0,会导致mt偏向于0,尤其在训练初期阶段。所以,此处需要对梯度均值mt进行偏差纠正,降低偏差对训练初期的影响。

image
image

与m0 类似,因为v0初始化为0导致训练初始阶段vt偏向0,对其进行纠正。

image

adam结合了AdaGrad和RMSProp

补充读音

1、 Α α alpha a:lf 阿尔法 角度;系数

2 、Β β beta bet 贝塔 磁通系数;角度;系数

3、 Γ γ gamma ga:m 伽马 电导系数(小写)

4、 Δ δ delta delt 德尔塔 变动;密度;屈光度

5、 Ε ε epsilon ep`silon 伊普西龙 对数之基数

6、 Ζ ζ zeta zat 截塔 系数;方位角;阻抗;相对粘度;原子序数

7、 Η η eta eit 艾塔 磁滞系数;效率(小写)

8、 Θ θ thet θit 西塔 温度;相位角

9、 Ι ι iot aiot 约塔 微小,一点儿

10、 Κ κ kappa kap 卡帕 介质常数

11、 ∧ λ lambda lambd 兰布达波长(小写);体积

12、 Μ μ mu mju 缪 磁导系数;微(千分之一);放大因数(小写)

13、 Ν ν nu nju 纽 磁阻系数

14、 Ξ ξ xi ksi 克西

15、 Ο ο omicron omik`ron 奥密克戎

16、 ∏ π pi pai 派 圆周率=圆周÷直径=3.1416

17、 Ρ ρ rho rou 肉 电阻系数(小写)

18、 ∑ σ sigma `sigma 西格马 总和(大写),表面密度;跨导(小写)

19、 Τ τ tau tau 套 时间常数

20、 Υ υ upsilon jup`silon 宇普西龙 位移

21、 Φ φ phi fai 佛爱 磁通;角

22、Χ χ chi phai 西

23、 Ψ ψ psi psai 普西 角速;介质电通量(静电力线);角

24、 Ω ω omega o`miga 欧米伽 欧姆(大写);角速(小写);角

25、η 伊塔

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容

  • 有前面的知识,我们知道如何构建目标函数了,当目标函数构建出来后,如何求其参数使的目标函数最小化呢?这就是这一小节的...
    李涛AT北京阅读 898评论 0 0
  • 一.优化器算法简述 首先来看一下梯度下降最常见的三种变形 BGD,SGD,MBGD,这三种形式的区别就是取决于我们...
    ZAK_ML阅读 4,504评论 0 5
  • 在tensorflow中我们通过梯度下降算法来优化我们的模型,同时这个优化算法会在每一步的训练中来跟新,迭代模型的...
    泛酸的桂花酒阅读 4,251评论 0 0
  • 在很多机器学习和深度学习的应用中,我们发现用的最多的优化器是 Adam,为什么呢? 下面是 TensorFlow ...
    _两只橙_阅读 1,313评论 0 4
  • “呜...呜...开车啦!”客厅里,小主人在推拉着玩具小轿车,满地跑。这个保时捷小车是小主人几个月大的时候爸爸给他...
    小尘小尘阅读 367评论 0 1