Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 54

深度学习基础知识

第 2 部分:如何训练神经网络
第 1 部分:深度学习简介

第 2 部分:神经网络是如何训练的

课程议题 第 3 部分:卷积神经网络

第 4 部分:数据增强与模型部署

第 5 部分:预训练的模型

第 6 部分:更高级的模型结构
议题 – 第 2 部分
• 回顾
• 一个简单的模型
• 从神经元到网络
• 激励函数
• 过拟合
• 从神经元到分类
练习回顾
刚刚发生了什么 ?

加载数据并对数据进行了可视化

对数据进行了编辑(重构并进行归一化以供分类)

创建了模型

编译了模型

使用数据训练了模型
数据准备
以数组形式输入

28 [0,0,0,24,75,184,185,78,32,55,0,0,0…]

28
数据准备
目标转换成类别

0 [1,0,0,0,0,0,0,0,0,0]

1 [0,1,0,0,0,0,0,0,0,0]

2 [0,0,1,0,0,0,0,0,0,0]
3 [0,0,0,1,0,0,0,0,0,0]
.
.
.
未训练的模型

[ 0, 0, …, 0] (784,)

… … … (512,)

大小
… … … (512,)

(10,)
更简单的模型
更简单的模型
𝑦 =𝑚𝑥 +𝑏

6
m•x 𝑚=?
x y 4

y
1 3 2

2 5 0 ^
𝑦 b=?
0.5 1 1.5 2 2.5
x
更简单的模型
𝑦 =𝑚𝑥 +𝑏

6
m•x 𝑚=?
x y 4

y
1 3 2

2 5 0 ^
𝑦 b=?
0.5 1 1.5 2 2.5 3
x
更简单的模型
𝑦 =𝑚𝑥 +𝑏

6
m•x 从随机值开始
4
x y
𝑚=−1
y
1 3 4 2

2 5 3 0 ^
𝑦 b=5
0.5 1 1.5 2 2.5 3
x
更简单的模型
𝑦 =𝑚𝑥 +𝑏
x y 6
5
1 3 4 1 4
3

y
2


2 5 3 4
1 𝑛
1
MSE = 2.5 0
0.5 1 1.5 2 2.5 3 𝑅𝑀𝑆𝐸= ∑ ( 𝑦 𝑖 − ^𝑦 𝑖) 2

RMSE = 1.6 x
𝑛 𝑖=1
更简单的模型
𝑦 =𝑚𝑥 +𝑏
x y 6
5
1 3 4 1 4
3

y
2 5 3 4 2
1
MSE = 2.5 0
0.5 1 1.5 2 2.5 3
RMSE = 1.6 x
损失曲线
16

MSE

MSE

0
损失曲线
6 16

4
y

当前位置
2
MSE
0
0.5 1 1.5 2 2.5 3
目标
x
𝑚=−1
b=5 0
损失曲线
6 16

4
y

先前位置
2
当前位置
MSE
0
0.5 1 1.5 2 2.5 3
目标
x
𝑚=−1
b= 4 0
损失曲线
6 16

4
y

2
当前位置
MSE
0
0.5 1 1.5 2 2.5 3
目标
x
𝑚=0
b= 4 0
损失曲线
梯度 16
哪个方向损失减少最多

:学习率
移动的距离

训练周期 使用完整数据集进行的一次 MSE


模型更新

目标
批量
完整数据集的样本

步 0
对权重参数的一次更新
损失曲线
梯度 16
哪个方向损失减少最多

:学习率
移动的距离

训练周期 使用完整数据集进行的一次 MSE


模型更新

目标
批量
完整数据集的样本

步 0
对权重参数的一次更新
优化器

损失 – 动量优化器 • Adam
• Adagrad
• RMSProp
• SGD
从神经元到网络
构建网络

• 扩充到更多的输入

w1 w2

^
𝑦
构建网络

x1 x2
w2 w3
w1 w4
• 扩充到更多的输入
• 能够串联神经元
w5 w6

^
𝑦
构建网络

x1 x2
w2 w3
w1 w4
• 扩充到更多的输入
• 能够串联神经元
w5 w6
• 如果所有回归均为线性
回归,输出也将为线性
^
𝑦 回归
激励函数
激励函数
Linear ReLU Sigmoid

{
1
^
𝑦 =𝑤𝑥+ 𝑏 𝑦 = 𝑤𝑥 + 𝑏𝑖𝑓 𝑤𝑥 +𝑏> 0
^ ^
𝑦=
0 𝑜𝑡 h 𝑒𝑟𝑤𝑖𝑠𝑒 1 +𝑒 −(𝑤𝑥 +𝑏 )

10 10 1
0.8
5 5 0.6
0.4
0 0 0.2
0
- - - - - - - - 0 1 2 3 5 6 7 8 1
-5 -5 1 8 7 6 5 3 2 1 . . . . . . 0
0 . . . . . . 2 5 7 2 5 7
-10 -10 7 5 2 7 5 2 5 5 5 5
-10 -5 0 5 10 -10 -5 0 5 10 5 5 5 5
激励函数
Linear ReLU Sigmoid
激励函数

x1 2 2
w1 w2 1
0
1
0
-1 -1
-2 -2
--------------------001122334455667788991 --------------------001122334455667788991
19988776655443322110. . . . . . . . . .0 19988776655443322110. . . . . . . . . .0
0. . . . . . . . . . 5555555555 0. . . . . . . . . . 5555555555
5555555555 55 555 55 555
w3 w4
2
1
0
-1

^
-2

𝑦 --------------------001122334455667788991
19988776655443322110. . . . . . . . . .0
0. . . . . . . . . . 5555555555
55 555 55 555
过拟合
过拟合
为何不构建一个超大的神经网络呢?
过拟合
哪条趋势线更好?
0.9 0.9

0.8 0.8

0.7 0.7

0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2
MSE = .0000 MSE = .0113
0.1 0.1

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

31
OVERFITTING
Which Trendline is Better?

0.9 0.9

0.8 0.8

0.7 0.7

0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2
MSE = .0308 MSE = .0062
0.1 0.1

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

32
训练数据和验证数据对比
避免记忆数据

训练数据 每个训练周期的 MSE


60
• 模型学习所用的核心数据集 50
40
验证数据 30

MSE
• 新数据,用于验证模型是否已能真正作出理 20
解(可进行泛化) 10
0
1 2 3 4 5 6 7 8 9 10
过拟合
训练周期
• 模型在训练数据上表现出色,但对于验证数
据表现不佳(表明模型只是在记忆数据)
训练 MSE 验证 MSE – 预期结果
• 理想情况下,模型在这两个数据集上表现出
验证 MSE – 过拟合
的准确性和损失应该相似
从回归到分类
MNIST 模型

[ 0, 0, …, 0] (784,)

… … … (512,)

大小
… … … (512,)

(10,)
MNIST 模型

[ 0, 0, …, 0] (784,)

ReLU … … … (512,)

大小
ReLU … … … (512,)

Sigmoid (10,)
MNIST 模型

[ 0, 0, …, 0] (784,)

ReLU … … … (512,)

大小
ReLU … … … (512,)

Softmax (10,)
将 RMSE 用于概率 ?
4

0
0 0.5 1 1.5 2 2.5 3 3.5
将 RMSE 用于概率 ?
4

0
0 0.5 1 1.5 2 2.5 3 3.5
多分类交叉熵
4
多分类交叉熵蓝点预测
3 6
5
2 4
3

损失
1 2
1
0 0
0 0.5 1 1.5 2 2.5 3 3.5

05
25
45
65
85
1

9
00

99
0.
0.
0.
0.
0.
0.
00
0.
分配的概率

若为 True 的损失
若为 False 的损失
多分类交叉熵
4
多分类交叉熵蓝点预测
3 6
5
2 4
3

损失
1 2
1
0 0
0 0.5 1 1.5 2 2.5 3 3.5

05
25
45
65
85
1

9
00

99
0.
0.
0.
0.
0.
0.
00
0.
𝐿𝑜𝑠𝑠 = − ¿ 分配的概率

若为 True 的损失
𝑡 ( 𝑥 )=𝑡𝑎𝑟𝑔𝑒𝑡 (0 𝑖𝑓 𝐹𝑎𝑙𝑠𝑒 ,1 𝑖𝑓 𝑇𝑟𝑢𝑒) 若为 False 的损失

𝑝 ( 𝑥 )=𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑖𝑜𝑛 𝑜𝑓 𝑝𝑜𝑖𝑛𝑡 𝑥


多分类交叉熵
4
多分类交叉熵蓝点预测
3 6
5
2 4
3

损失
1 2
1
0 0
0 0.5 1 1.5 2 2.5 3 3.5

05
25
45
65
85
1

9
00

99
0.
0.
0.
0.
0.
0.
00
0.
分配的概率

若为 True 的损失
若为 False 的损失
融会贯通
下一个练习
美国手语字母表
开始吧!
附录:梯度下降
帮助计算机欺骗微积分
从误差中学习

1 2
𝑀𝑆𝐸= (( 3 −(𝑚 (1 )+ 𝑏)) ¿ ¿ 2+(5 −(𝑚 ( 2 ) + 𝑏)) )¿
2

𝜕 𝑀𝑆𝐸 𝜕 𝑀𝑆𝐸
=9 𝑚+5 𝑏 −23 =5𝑚 +3 𝑏 −13
𝜕𝑚 𝜕𝑏
𝑚=−1
𝜕 𝑀𝑆𝐸 𝜕 𝑀𝑆𝐸 b=5
=−7 =−3
𝜕𝑚 𝜕𝑏
47
损失曲线
16

当前位置

目标

0
损失曲线

16
𝜕 𝑀𝑆𝐸 𝜕 𝑀𝑆𝐸
=−7 =−3
𝜕𝑚 𝜕𝑏

目标

49
损失曲线
16
𝜕 𝑀𝑆𝐸 𝜕 𝑀𝑆𝐸
=−7 =−3
𝜕𝑚 𝜕𝑏

𝜕 𝑀𝑆𝐸
m :=m − λ
𝜕𝑚
目标

𝜕 𝑀𝑆𝐸
b ≔𝑏− λ 0
𝜕𝑏
损失曲线
16
𝜕 𝑀𝑆𝐸 𝜕 𝑀𝑆𝐸
=−7 =−3
𝜕𝑚 𝜕𝑏

𝜕 𝑀𝑆𝐸
m :=m − λ
𝜕𝑚
目标
6
𝜕 𝑀𝑆𝐸
b ≔𝑏− λ 0
𝜕𝑏
损失曲线
16
𝜕 𝑀𝑆𝐸 𝜕 𝑀𝑆𝐸
=−7 =−3
𝜕𝑚 𝜕𝑏

𝜕 𝑀𝑆𝐸
m :=m − λ
𝜕𝑚
目标
λ=.005
𝜕 𝑀𝑆𝐸
b ≔𝑏− λ 0
𝜕𝑏
损失曲线

16

λ=.1

目标
b ≔ 5 +3 λ= 4.7

53
www.nvidia.com/dli
学习更多 DLI 课程,请访问 nvidia.cn/DLI

You might also like