神经网络设计课件_Ch9_性能优化
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
性能优化
1
9
基本的优化算法
优化的目标是求出使性能指数F (x)最小化的x的值。 这里讨论迭代算法,设初始值为x0,然后按下式迭代:
xk + 1 = xk + k pk
or
xk = xk + 1 – x k = kpk
kp k
xk +1
xk
pk – 搜索方向 k – 学习速度
2
9
6
9
A= 22
2 4
例子
0.851 = 5.24 z = 0.526 = 0.764 z = 1 2 2 1 – 0.526 0.851
2 2 ------ = - ---- = 0.38 max 5.24
x = x0
=
–3 –3
–3 33 –3 0 = – ---------------------- = 0.2 2 2 –3 –3 –3 2 4 –3
x1 = x0 – 0 g0 = 0.5 – 0.2 3 = – 0.1
0.5 3 – 0.1
9
9
Contour Plo t 2
图
1
0
后继每一步都正交.
2 4
x1 = 0.5 – 2 2
0.5 2 4
–1
3 = 3
0.5 1 – 0.5 3 – = 0.5 – 0.5 0.5 3
0.5 1.5 – = 0.5 0
–1 0.5
1
9
2
图
1
0
-1
-2 -2
-1
0
1
2
1
9
非二次函数例子
F x = x2 – x1 + 8 x 1 x2 – x1 + x2 + 3
• 用下式确定下一个搜索方向:
pk = – gk + k pk – 1
• 如果算法不收敛,回到第二步。
• 一个有 n 个参数的二次函数将在 n 步内被极小化。
2
9
例子
1 T 22 F x = -x x+ 10x 2 24
x 0 = 0.5
0.5
F x =
F x x1 F x x2
1 T T F x = - x Ax + d x + c 2
F x = Ax + d
x k + 1 = xk – gk = x k – Ax k + d
xk + 1 = I – Ax k – d
稳定性由这个矩 阵的特征值决定.
如果矩阵[I - A]的特征值小于1,则该系统就是稳定的。设 i是A的特征值, zi是A的特征向量。那么
= 0.37
2 2
= 0.39
1
1
0
0
-1
-1
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
7
9
沿直线最小化
2 F ( X k k Pk ) F ( X K ) k F ( X k )T Pk 1 P F ( X k ) Pk k k 2 2 T
选择 k 最小化 F xk + k pk
1
9
共扼向量
1 T T - x Ax + d x + c F x = 2
对于一个正定的Hessian矩阵A, 称向量集合 {P 1, P 2 ,..., P n } 是两 两共扼的如果下式成立:
pT k Ap j = 0
kj
矩阵A的特征向量组成一个共扼向量集合.
T zT Az = z k j j k zj = 0
最速下降法
Fx k + 1 F xk
选择下一次迭代使得性能指数函数减小: 对x小的变化F(x)可近似表示为(在xk的一阶Taylor级数展开):
F xk + 1 = F xk + x k F xk + gk x k
T
这里gk是在xk的梯度:
g k F x
x2
-1
-2 -2
-1
0 x1
1
2
T d d d F xk + k p k = F x k + 1 = F x x + k p k d k d k x = xk + 1 d k k
= F x
T
x = xk + 1
pk = gk + 1 pk
1
T
9
=
2 x 1 + 2 x2 + 1 2x 1 + 4x 2
p 0 = –g 0 = – F x
x = x0
=
–3 –3
–3 33 –3 0 = – ---------------------- = 0.2 2 2 –3 –3 –3 2 4 –3
x1 = x0 – 0 g0 = 0.5 – 0.2 3 = – 0.1
• 第一次搜索方向是梯度的负方向。 • 选择学习速度来沿直线最小化。
F x pk T g x = xk k pk k = – ------------------------ = – ----------T 2 T pk F x pk pk A kp k
T
(用于二次函数)
x = xk
I – A zi = zi – Azi = zi – izi = 1 – i zi
即(1 – αi)是[I - A]的特征值。所以最速下降法稳定条件为:
1 – i 1
若二次函数有一个强极小点,则其特征值为正,上式可化为:
2 -i 2 -----max
kj
(对称矩阵的特征向量是正交的.)
已经证明,如果存在沿一个共扼方向集 {P 1, P 2 ,..., P n } 的准确线 性搜索序列,就能在最多n次搜索内实现具有n个参数的二次函 数的准确最小化。问题是如何构造这些共扼搜索方向而毋须先 求Hessian矩阵?即找到一种不需要计算二阶导数的方法。
牛顿法
T F xk + g k x k +
F xk + 1 = F xk + xk
1 T - xk A k x k 2
求这个二阶近似式的梯度并设它为零来得到驻点:
gk + Ak xk = 0
x k = – Ak g k
–1
1 xk + 1 = xk – A– k gk
T
x = xk
其中
Ak 2F x
x = xk
8
9
例子
1 T 22 F x = -x x+ 10x 2 24
x 0 = 0.5
0.5
F x =
F x x1 F x x2
=
2 x 1 + 2 x2 + 1 2x 1 + 4x 2
p 0 = –g 0 = – F x
1
9
例子
F x = x1 + 2 x1 x 2 + 2 x 2 + x1
2 2
x 0 = 0.5
0.5
F x =
F x x1 F x x2
=
2 x 1 + 2 x2 + 1 2x 1 + 4x 2
g 0 = F x
x=
= 3 x0 3
A= 22
0.5 3 – 0.1
2
9
g 1 = F x x = x1
例子
= 2 2 – 0.1 + 1 = 2 4 – 0.1 0 0.6 –0.6
1 =
gT 1 g1 -----T g0 g0
0.6 0.6 – 0.6 – 0.6 0.72 = -------------------- = ----- = 0.04 18 3 33 3
其中
gk – 1 gk k = --------------T g k – 1 pk – 1
T
or
k = -------------
gkgk
T
gT k – 1 gk – 1
or
g k – 1 gk k = -------------
T
gT k – 1 gk – 1
1
9
共扼梯度算法
p0 = –g0
d T ----(F xk + k p k ) = F x d k x
= xk
2 p k + k pT k F x
x = xk
pk
对二次函数,令该导数为0,可得 k 的解析表示:
F x pk T g x = xk k pk k = – ------------------------ = – ----------T 2 T pk F x pk pk A kp k
4
驻点:
1 x = – 0.42
0.42
2 x = – 0.13
0.13
x =
3
0.55 – 0.55
F(x)
2 2
F2(x)
1
1
0
0
-1
-1
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
1
9
2
不同的初始情况
2 2 1 1 1
F(x)
0
0
0
-1
-1
-1
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
-2 -2
-1
p 1 = – g1 + 1 p 0 = – 0.6 + 0.04 – 3 = –0.72
0.6 –3 0.48
– 0.72 0.6 – 0.6 0.48 –0.72 1 = – -------------------------------= – ------ = 1.25 0.576 2 2 –0.72 –0.72 0.48 2 4 0.48
0
1
2
2
2
2
1
1
1
F2(x)
0
0
0
-1
-1
-1
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
1
9
牛顿法的特点
• 牛顿法是在当前初始点确定原函数F(x)的 二次近似的驻点,它并不区别极小点、极 大点和鞍点 • 如果原函数为二次函数(有强极小点), 牛顿法能够实现一步极小化 • 如果原函数不是二次函数,则牛顿法一般 不能在一步内收敛,甚至有可能收敛到鞍 点和发散(最速下降法能够确保收敛,如 果学习速度不太快)
1
9
对于二次函数
F x = Ax + d
2F x = A
在第k +1次迭代梯度的变化是
g k = gk + 1 – g k = Ax k + 1 + d – Axk + d = Axk
其中
xk = xk + 1 – xk = k pk
共扼条件可重写成:
k p k Ap j = xk Ap j = gk p j = 0
T T T
k j
这不需要Hessian矩阵了。
1
9
构造共扼方向
选择初始的搜索方向为梯度的反方向。
p0 = –g0
构造后继的搜索方向为共扼方向,即使后继向量 pk 与 {Δg0, Δg1, …, Δgk-1}正交。类似Gram-Schmidt正交化过 程(第五章介绍),可有如下简化的迭代式:
pk = – gk + k pk – 1
2
9
图
x2 = x1 + 1 p1 = – 0.1 + 1.25 – 0.72 =
– 0.1 0.48 –1 0.5
共扼梯度
2
最速下降
Contour Plo t 2
1
1
0
x2
-1 0 1 2
0
-1
-1
-2 -2
-2 -2
-1
0 x1
1
2
2
pk = –gk
x k + 1 = xk – k g k
3
9
例子
F x = x1 + 2 x1 x 2 + 2 x 2 + x1
2 2
x 0 = 0.5
0.5
= 0.1
F x =
F x x1 F x x2
=
2 x 1 + 2 x2 + 1 2x 1 + 4x 2
x = xk
T
要使F(xk+1) < F(xk),则Taylor展式的第二项必须为负,即:
g k xk = kg k pk 0
T
满足上式的任意向量称为一个下降方向。最速下降方向在哪里? 当方向向量与梯度反向时,该内积为负,而绝对值最大(设长度 不变,只改变方向)。所以最速下降方向的向量为:
g 0 = F x
x=
= 3 x0 3Baidu Nhomakorabea
x 1 = x 0 – g 0 = 0.5 – 0.1 3 = 0.2
0.5 3 0.2
x2 = x1 – g1 = 0.2 – 0.1 1.8 = 0.02
0.2 1.2 0.08
4
9
2
图
1
0
-1
-2 -2
-1
0
1
2
5
9
稳定的学习速度(二次函数)
性能优化
1
9
基本的优化算法
优化的目标是求出使性能指数F (x)最小化的x的值。 这里讨论迭代算法,设初始值为x0,然后按下式迭代:
xk + 1 = xk + k pk
or
xk = xk + 1 – x k = kpk
kp k
xk +1
xk
pk – 搜索方向 k – 学习速度
2
9
6
9
A= 22
2 4
例子
0.851 = 5.24 z = 0.526 = 0.764 z = 1 2 2 1 – 0.526 0.851
2 2 ------ = - ---- = 0.38 max 5.24
x = x0
=
–3 –3
–3 33 –3 0 = – ---------------------- = 0.2 2 2 –3 –3 –3 2 4 –3
x1 = x0 – 0 g0 = 0.5 – 0.2 3 = – 0.1
0.5 3 – 0.1
9
9
Contour Plo t 2
图
1
0
后继每一步都正交.
2 4
x1 = 0.5 – 2 2
0.5 2 4
–1
3 = 3
0.5 1 – 0.5 3 – = 0.5 – 0.5 0.5 3
0.5 1.5 – = 0.5 0
–1 0.5
1
9
2
图
1
0
-1
-2 -2
-1
0
1
2
1
9
非二次函数例子
F x = x2 – x1 + 8 x 1 x2 – x1 + x2 + 3
• 用下式确定下一个搜索方向:
pk = – gk + k pk – 1
• 如果算法不收敛,回到第二步。
• 一个有 n 个参数的二次函数将在 n 步内被极小化。
2
9
例子
1 T 22 F x = -x x+ 10x 2 24
x 0 = 0.5
0.5
F x =
F x x1 F x x2
1 T T F x = - x Ax + d x + c 2
F x = Ax + d
x k + 1 = xk – gk = x k – Ax k + d
xk + 1 = I – Ax k – d
稳定性由这个矩 阵的特征值决定.
如果矩阵[I - A]的特征值小于1,则该系统就是稳定的。设 i是A的特征值, zi是A的特征向量。那么
= 0.37
2 2
= 0.39
1
1
0
0
-1
-1
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
7
9
沿直线最小化
2 F ( X k k Pk ) F ( X K ) k F ( X k )T Pk 1 P F ( X k ) Pk k k 2 2 T
选择 k 最小化 F xk + k pk
1
9
共扼向量
1 T T - x Ax + d x + c F x = 2
对于一个正定的Hessian矩阵A, 称向量集合 {P 1, P 2 ,..., P n } 是两 两共扼的如果下式成立:
pT k Ap j = 0
kj
矩阵A的特征向量组成一个共扼向量集合.
T zT Az = z k j j k zj = 0
最速下降法
Fx k + 1 F xk
选择下一次迭代使得性能指数函数减小: 对x小的变化F(x)可近似表示为(在xk的一阶Taylor级数展开):
F xk + 1 = F xk + x k F xk + gk x k
T
这里gk是在xk的梯度:
g k F x
x2
-1
-2 -2
-1
0 x1
1
2
T d d d F xk + k p k = F x k + 1 = F x x + k p k d k d k x = xk + 1 d k k
= F x
T
x = xk + 1
pk = gk + 1 pk
1
T
9
=
2 x 1 + 2 x2 + 1 2x 1 + 4x 2
p 0 = –g 0 = – F x
x = x0
=
–3 –3
–3 33 –3 0 = – ---------------------- = 0.2 2 2 –3 –3 –3 2 4 –3
x1 = x0 – 0 g0 = 0.5 – 0.2 3 = – 0.1
• 第一次搜索方向是梯度的负方向。 • 选择学习速度来沿直线最小化。
F x pk T g x = xk k pk k = – ------------------------ = – ----------T 2 T pk F x pk pk A kp k
T
(用于二次函数)
x = xk
I – A zi = zi – Azi = zi – izi = 1 – i zi
即(1 – αi)是[I - A]的特征值。所以最速下降法稳定条件为:
1 – i 1
若二次函数有一个强极小点,则其特征值为正,上式可化为:
2 -i 2 -----max
kj
(对称矩阵的特征向量是正交的.)
已经证明,如果存在沿一个共扼方向集 {P 1, P 2 ,..., P n } 的准确线 性搜索序列,就能在最多n次搜索内实现具有n个参数的二次函 数的准确最小化。问题是如何构造这些共扼搜索方向而毋须先 求Hessian矩阵?即找到一种不需要计算二阶导数的方法。
牛顿法
T F xk + g k x k +
F xk + 1 = F xk + xk
1 T - xk A k x k 2
求这个二阶近似式的梯度并设它为零来得到驻点:
gk + Ak xk = 0
x k = – Ak g k
–1
1 xk + 1 = xk – A– k gk
T
x = xk
其中
Ak 2F x
x = xk
8
9
例子
1 T 22 F x = -x x+ 10x 2 24
x 0 = 0.5
0.5
F x =
F x x1 F x x2
=
2 x 1 + 2 x2 + 1 2x 1 + 4x 2
p 0 = –g 0 = – F x
1
9
例子
F x = x1 + 2 x1 x 2 + 2 x 2 + x1
2 2
x 0 = 0.5
0.5
F x =
F x x1 F x x2
=
2 x 1 + 2 x2 + 1 2x 1 + 4x 2
g 0 = F x
x=
= 3 x0 3
A= 22
0.5 3 – 0.1
2
9
g 1 = F x x = x1
例子
= 2 2 – 0.1 + 1 = 2 4 – 0.1 0 0.6 –0.6
1 =
gT 1 g1 -----T g0 g0
0.6 0.6 – 0.6 – 0.6 0.72 = -------------------- = ----- = 0.04 18 3 33 3
其中
gk – 1 gk k = --------------T g k – 1 pk – 1
T
or
k = -------------
gkgk
T
gT k – 1 gk – 1
or
g k – 1 gk k = -------------
T
gT k – 1 gk – 1
1
9
共扼梯度算法
p0 = –g0
d T ----(F xk + k p k ) = F x d k x
= xk
2 p k + k pT k F x
x = xk
pk
对二次函数,令该导数为0,可得 k 的解析表示:
F x pk T g x = xk k pk k = – ------------------------ = – ----------T 2 T pk F x pk pk A kp k
4
驻点:
1 x = – 0.42
0.42
2 x = – 0.13
0.13
x =
3
0.55 – 0.55
F(x)
2 2
F2(x)
1
1
0
0
-1
-1
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
1
9
2
不同的初始情况
2 2 1 1 1
F(x)
0
0
0
-1
-1
-1
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
-2 -2
-1
p 1 = – g1 + 1 p 0 = – 0.6 + 0.04 – 3 = –0.72
0.6 –3 0.48
– 0.72 0.6 – 0.6 0.48 –0.72 1 = – -------------------------------= – ------ = 1.25 0.576 2 2 –0.72 –0.72 0.48 2 4 0.48
0
1
2
2
2
2
1
1
1
F2(x)
0
0
0
-1
-1
-1
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
-2 -2
-1
0
1
2
1
9
牛顿法的特点
• 牛顿法是在当前初始点确定原函数F(x)的 二次近似的驻点,它并不区别极小点、极 大点和鞍点 • 如果原函数为二次函数(有强极小点), 牛顿法能够实现一步极小化 • 如果原函数不是二次函数,则牛顿法一般 不能在一步内收敛,甚至有可能收敛到鞍 点和发散(最速下降法能够确保收敛,如 果学习速度不太快)
1
9
对于二次函数
F x = Ax + d
2F x = A
在第k +1次迭代梯度的变化是
g k = gk + 1 – g k = Ax k + 1 + d – Axk + d = Axk
其中
xk = xk + 1 – xk = k pk
共扼条件可重写成:
k p k Ap j = xk Ap j = gk p j = 0
T T T
k j
这不需要Hessian矩阵了。
1
9
构造共扼方向
选择初始的搜索方向为梯度的反方向。
p0 = –g0
构造后继的搜索方向为共扼方向,即使后继向量 pk 与 {Δg0, Δg1, …, Δgk-1}正交。类似Gram-Schmidt正交化过 程(第五章介绍),可有如下简化的迭代式:
pk = – gk + k pk – 1
2
9
图
x2 = x1 + 1 p1 = – 0.1 + 1.25 – 0.72 =
– 0.1 0.48 –1 0.5
共扼梯度
2
最速下降
Contour Plo t 2
1
1
0
x2
-1 0 1 2
0
-1
-1
-2 -2
-2 -2
-1
0 x1
1
2
2
pk = –gk
x k + 1 = xk – k g k
3
9
例子
F x = x1 + 2 x1 x 2 + 2 x 2 + x1
2 2
x 0 = 0.5
0.5
= 0.1
F x =
F x x1 F x x2
=
2 x 1 + 2 x2 + 1 2x 1 + 4x 2
x = xk
T
要使F(xk+1) < F(xk),则Taylor展式的第二项必须为负,即:
g k xk = kg k pk 0
T
满足上式的任意向量称为一个下降方向。最速下降方向在哪里? 当方向向量与梯度反向时,该内积为负,而绝对值最大(设长度 不变,只改变方向)。所以最速下降方向的向量为:
g 0 = F x
x=
= 3 x0 3Baidu Nhomakorabea
x 1 = x 0 – g 0 = 0.5 – 0.1 3 = 0.2
0.5 3 0.2
x2 = x1 – g1 = 0.2 – 0.1 1.8 = 0.02
0.2 1.2 0.08
4
9
2
图
1
0
-1
-2 -2
-1
0
1
2
5
9
稳定的学习速度(二次函数)