@@ -9,14 +9,14 @@ math: true
9
9
10
10
_ 这份笔记使用的部分图片、内容来自于北京交通大学深度学习课程,版权归课题组和原作者所有。_
11
11
12
- # 背景:关心的问题
12
+ ## 背景:关心的问题
13
13
14
14
- ** 优化问题:** 训练集上是否有好的结果?
15
15
- ** 泛化问题:** 测试集上是否有好的结果?
16
16
17
- ## 优化问题
17
+ ### 优化问题
18
18
19
- ### 难点
19
+ #### 难点
20
20
21
21
- 网络结构多样性
22
22
@@ -37,7 +37,7 @@ _这份笔记使用的部分图片、内容来自于北京交通大学深度学
37
37
38
38
- 在高维空间中,局部最小值(Local Minima)要求在每一维度上都是最低点,这种概率非常低。也就说是高维空间中大部分驻点都是鞍点。
39
39
40
- ### 改善方法
40
+ #### 改善方法
41
41
42
42
网络优化的改善方法的目标是更高效地找到更好的局部最小值
43
43
@@ -52,7 +52,7 @@ _这份笔记使用的部分图片、内容来自于北京交通大学深度学
52
52
- 逃离局部最优
53
53
- 自适应学习率、梯度优化
54
54
55
- # 小批量梯度下降
55
+ ## 小批量梯度下降
56
56
57
57
- 批量梯度下降(batch gradient descent):每次更新都使用整个训练集数据,需要较多计算资源。所以提出小批量梯度下降。
58
58
@@ -66,13 +66,13 @@ _这份笔记使用的部分图片、内容来自于北京交通大学深度学
66
66
67
67
![ image-20250304204857077] ( ../assets/img/Autumn2024-hywan/image-20250304204857077.png )
68
68
69
- ## ** 对比**
69
+ ### ** 对比**
70
70
71
71
- ** 批量梯度下降** :利于寻找全局最优解,梯度方差小;但样本数目很多时,训练过程会很慢。
72
72
- ** 随机梯度下降** :训练速度快;准确度下降,不利于寻找全局最优,梯度方差大。
73
73
- ** 小批量梯度下降** :同时兼顾两种方法的优点。
74
74
75
- ## ** 批量大小的影响**
75
+ ### ** 批量大小的影响**
76
76
77
77
一般而言,批量大小不影响梯度的期望,但是会影响梯度的方差。
78
78
@@ -81,26 +81,26 @@ _这份笔记使用的部分图片、内容来自于北京交通大学深度学
81
81
82
82
![ image-20250304204909463] ( ../assets/img/Autumn2024-hywan/image-20250304204909463.png )
83
83
84
- # 学习率与梯度优化
84
+ ## 学习率与梯度优化
85
85
86
86
$$
87
87
\theta^t=\theta^{t-1}-\alpha \bold{g}^t
88
88
$$
89
89
90
- ## ** 学习率的影响**
90
+ ### ** 学习率的影响**
91
91
92
92
- 学习率过大:不收敛
93
93
- 学习率过小:收敛太慢
94
94
95
- ### 学习率衰减(Learning Rate Decay)
95
+ #### 学习率衰减(Learning Rate Decay)
96
96
97
97
- 开始时,距离极值点处很远,采用大些的学习率,尽快接近极值点。
98
98
- 迭代多次后,接近极值点处,减小学习率,保证收敛,避免震荡。
99
99
- 多种减小学习率的方式
100
100
101
101
![ image-20250304204943497] ( ../assets/img/Autumn2024-hywan/image-20250304204943497.png )
102
102
103
- ### 学习率预热
103
+ #### 学习率预热
104
104
105
105
为什么:当batch-size比较大时,需要比较大的学习率。但开始训练的参数是随机初始化的,梯度往往也比较大,加上比较大的初始学习率,会使得训练不稳定。
106
106
111
111
112
112
- 当预热过程结束,再选择一种学习率衰减方法来逐渐降低学习率
113
113
114
- ### 周期性学习率调整
114
+ #### 周期性学习率调整
115
115
116
116
为了逃离局部最小值或鞍点,可在训练过程中周期性地增大学习率。短期内有损收敛稳定性,长期来看有助于找到更好的局部最优解。
117
117
124
124
125
125
![ image-20250304205407097] ( ../assets/img/Autumn2024-hywan/image-20250304205407097.png )
126
126
127
- ### 从学习率衰减到自适应学习率
127
+ #### 从学习率衰减到自适应学习率
128
128
129
129
学习率衰减的局限性
130
130
138
138
- 而不常见特征的相关参数,由于缺乏足够的观测样本,所以其最佳值难以确定;
139
139
- ** 学习率** 要么对于常见特征的相关参数而言<u >衰减太慢</u >;要么对于不常见特征的相关参数而言<u >衰减太快</u >。
140
140
141
- ### AdaGrad算法:Adaptive Gradient Algorithm
141
+ #### AdaGrad算法:Adaptive Gradient Algorithm
142
142
143
143
该算法借鉴了 L2 正则化的思想,每次迭代时,自适应地调整每个参数的学习率。
144
144
155
155
- 如果某个参数的偏导数累计比较大(小);其学习率相对较小(大);
156
156
- 整体来看,随着迭代次数的增加,学习率逐渐缩小
157
157
158
- ### RMSprop算法
158
+ #### RMSprop算法
159
159
160
160
** AdaGrad 局限** :在经过一定次数的迭代依然没有找到最优点时,由于这时的学习率已经非常小,很难再继续找到最优点
161
161
162
162
** RMSprop** :将 $$ G_t $$ 的计算由“梯度的平方的累积”方式变成了“梯度平方的指数衰减移动平均”, 可以在有些情况下避免 AdaGrad 算法中学习率不断单调下降以至于过早衰减的缺点。
163
163
164
164
![ image-20250304210339596] ( ../assets/img/Autumn2024-hywan/image-20250304210339596.png )
165
165
166
- ## 梯度修正
166
+ ### 梯度修正
167
167
168
- ### 动量法 (Momentum)
168
+ #### 动量法 (Momentum)
169
169
170
170
动量(Momentum)是模拟物理中的概念。一个物体的动量指的是该物体在它运动方向上保持运动的趋势,是是该物体的质量和速度的乘积。
171
171
177
177
178
178
一般而言,在迭代初期,梯度方向都比较一致,动量法会起到加速作用,可以更快地到达最优点。在迭代后期,梯度方向会不一致,在收敛值附近震荡,动量法会起到减速作用,增加稳定性。
179
179
180
- ### Adam 算法
180
+ #### Adam 算法
181
181
182
182
Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
183
183
184
184
![ image-20250304211218828] ( ../assets/img/Autumn2024-hywan/image-20250304211218828.png )
185
185
186
- ### 各优化算法比较
186
+ #### 各优化算法比较
187
187
188
188
- RMSProp 和 Adam 更好
189
189
- 目前最流行并且使用很高的优化算法包括:
@@ -193,7 +193,7 @@ Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
193
193
194
194
![ image-20250304211329795] ( ../assets/img/Autumn2024-hywan/image-20250304211329795.png )
195
195
196
- ### 梯度截断
196
+ #### 梯度截断
197
197
198
198
除了梯度消失之外,梯度爆炸也是影响学习效率的主要因素。为了避免这种情况,当梯度的模大于一定阈值时,就对梯度进行截断,称为梯度截断(Gradient Clipping)
199
199
@@ -207,7 +207,7 @@ Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
207
207
208
208
![ image-20250304211535935] ( ../assets/img/Autumn2024-hywan/image-20250304211535935.png )
209
209
210
- # 参数初始化与数据预处理
210
+ ## 参数初始化与数据预处理
211
211
212
212
梯度下降法需要在开始训练时给每一个参数赋一个初始值。
213
213
@@ -218,7 +218,7 @@ Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
218
218
- 初始化范围太小:导致信号慢慢消失,还会使得 Sigmoid 型激活函数丢失非线性能力
219
219
- 初始化范围太大:导致信号变得过大,还会使得 Sigmoid 型激活函数变得饱和,从而导致梯度消失
220
220
221
- ## 初始化方法
221
+ ### 初始化方法
222
222
223
223
- 预训练初始化:Pre-Training -> Fine-Tuning
224
224
- 固定值初始化:对于一些特殊的参数,我们可以根据经验用一个特殊的固定值来进行初始化,如偏置(bias)通常用0初始化
@@ -227,7 +227,7 @@ Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
227
227
- 基于方差缩放的参数初始化
228
228
- 正交初始化方法
229
229
230
- ## 基于固定方差的参数初始化
230
+ ### 基于固定方差的参数初始化
231
231
232
232
目标:从一个固定均值(通常为 0)和方差 $$ \sigma^2 $$ 的分布中采样来生成参数的初始值
233
233
@@ -247,73 +247,73 @@ Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
247
247
248
248
![ image-20250304212728765] ( ../assets/img/Autumn2024-hywan/image-20250304212728765.png )
249
249
250
- ### Xavier 初始化
250
+ #### Xavier 初始化
251
251
252
252
![ image-20250304213230936] ( ../assets/img/Autumn2024-hywan/image-20250304213230936.png )
253
253
254
254
![ image-20250304213316392] ( ../assets/img/Autumn2024-hywan/image-20250304213316392.png )
255
255
256
- ### He 初始化
256
+ #### He 初始化
257
257
258
258
何恺明团队提出
259
259
260
260
![ image-20250304213704539] ( ../assets/img/Autumn2024-hywan/image-20250304213704539.png )
261
261
262
- ### Xavier 初始化和 He 初始化的具体设置情况
262
+ #### Xavier 初始化和 He 初始化的具体设置情况
263
263
264
264
![ image-20250304213751970] ( ../assets/img/Autumn2024-hywan/image-20250304213751970.png )
265
265
266
- ### 正交初始化
266
+ #### 正交初始化
267
267
268
268
- 用均值为 0 、方差为 1 的高斯分布初始化一个矩阵;
269
269
- 将这个矩阵用奇异值分解得到两个正交矩阵,并使用其中之一作为权重矩阵。
270
270
271
- ## 基于方差缩放的参数初始化
271
+ ### 基于方差缩放的参数初始化
272
272
273
273
![ image-20250304213958288] ( ../assets/img/Autumn2024-hywan/image-20250304213958288.png )
274
274
275
- ## 数据预处理
275
+ ### 数据预处理
276
276
277
277
数据尺度(Scale)不一样对优化的影响
278
278
279
279
![ image-20250304214134222] ( ../assets/img/Autumn2024-hywan/image-20250304214134222.png )
280
280
281
- ### 数据归一化
281
+ #### 数据归一化
282
282
283
283
284
284
285
285
![ image-20250304214158914] ( ../assets/img/Autumn2024-hywan/image-20250304214158914.png )
286
286
287
- ### 白化
287
+ #### 白化
288
288
289
289
![ image-20250304214258337] ( ../assets/img/Autumn2024-hywan/image-20250304214258337.png )
290
290
291
- ### 实际建议
291
+ #### 实际建议
292
292
293
293
- 自然灰度图像:均值消减 → PCA/ZCA白化
294
294
- 彩色图像:简单缩放 → PCA/ZCA白化
295
295
- 音频 (MFCC/频谱图):特征标准化 → PCA/ZCA 白化
296
296
- MNIST 手写数字:简单缩放/逐样本均值消减(→ PCA/ZCA 白化)
297
297
298
- # 逐层归一化
298
+ ## 逐层归一化
299
299
300
- ## 批量归一化
300
+ ### 批量归一化
301
301
302
302
批量归一化是对一个中间层的** 单个神经元** 的K个样本(mini batch)进行归一化操作。
303
303
304
304
![ image-20250304214611217] ( ../assets/img/Autumn2024-hywan/image-20250304214611217.png )
305
305
306
- ## 层归一化
306
+ ### 层归一化
307
307
308
308
层归一化是对一个中间层的所有神经元进行归一化。
309
309
310
310
![ image-20250304214955060] ( ../assets/img/Autumn2024-hywan/image-20250304214955060.png )
311
311
312
- ## 批量归一化和层归一化的比较
312
+ ### 批量归一化和层归一化的比较
313
313
314
314
![ image-20250304215110122] ( ../assets/img/Autumn2024-hywan/image-20250304215110122.png )
315
315
316
- # 超参数优化
316
+ ## 超参数优化
317
317
318
318
神经网络中的超参数:
319
319
@@ -328,7 +328,7 @@ Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
328
328
329
329
- 网格搜索、随机搜索、贝叶斯优化、动态资源分配、神经架构搜索
330
330
331
- ## 网格搜索
331
+ ### 网格搜索
332
332
333
333
** 不可取**
334
334
@@ -340,23 +340,23 @@ Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
340
340
341
341
网格搜索根据这些超参数的不同组合分别训练一个模型,然后测试这些模型在验证集上的性能,选取一组性能最好的配置。
342
342
343
- ## 随机搜索
343
+ ### 随机搜索
344
344
345
345
超参数对模型性能影响程度不一样。采用网格搜索会在不重要的超参数上进行不必要的尝试。一种改进方法是对超参数进行随机组合,然后选取一个性能最好的配置,这就是随机搜索。
346
346
347
347
** 在性能较好的点的附近进一步尝试搜索。**
348
348
349
349
![ image-20250304215500059] ( ../assets/img/Autumn2024-hywan/image-20250304215500059.png )
350
350
351
- ## 贝叶斯优化
351
+ ### 贝叶斯优化
352
352
353
353
![ image-20250304215653002] ( ../assets/img/Autumn2024-hywan/image-20250304215653002.png )
354
354
355
- ## 动态资源分配
355
+ ### 动态资源分配
356
356
357
357
![ image-20250304215719879] ( ../assets/img/Autumn2024-hywan/image-20250304215719879.png )
358
358
359
- # 过拟合与正则化
359
+ ## 过拟合与正则化
360
360
361
361
如何提高神经网络的泛化能力:
362
362
@@ -365,21 +365,21 @@ Adam算法:自适应学习率(RMSprop)+梯度方向优化(动量法)
365
365
- Dropout
366
366
- 数据增强
367
367
368
- ## l1 和 l2 正则化
368
+ ### l1 和 l2 正则化
369
369
370
370
![ image-20250304215908674] ( ../assets/img/Autumn2024-hywan/image-20250304215908674.png )
371
371
372
372
![ image-20250304215919512] ( ../assets/img/Autumn2024-hywan/image-20250304215919512.png )
373
373
374
374
![ image-20250304220214967] ( ../assets/img/Autumn2024-hywan/image-20250304220214967.png )
375
375
376
- ## 提前停止
376
+ ### 提前停止
377
377
378
378
使用一个验证集来测试每一次迭代的参数在验证集上是否最优。如果在验证集上的错误率不再下降,就停止选代。
379
379
380
380
![ image-20250304220258576] ( ../assets/img/Autumn2024-hywan/image-20250304220258576.png )
381
381
382
- ## Dropout
382
+ ### Dropout
383
383
384
384
![ image-20250304220353068] ( ../assets/img/Autumn2024-hywan/image-20250304220353068.png )
385
385
@@ -388,7 +388,7 @@ Dropout为什么会提升网络优化效果?
388
388
- Dropout简化了网络,防止过拟合
389
389
- Dropout可看作是一种集成学习:M个神经元 -> $$ 2^M $$ 个可能的网络
390
390
391
- ## 数据增强
391
+ ### 数据增强
392
392
393
393
图像数据的增强主要是通过算法对图像进行转变,引入噪声等方法来增加数据的多样性以及训练数据量。
394
394
0 commit comments