CS230 | Deep Learning Stanford University 系列内容 Awesome AI Courses Notes Cheat Sheets @ ShowMeAI
第一部分 卷积神经网络
/ Convolutional Neural Networks
- 1 -
第一部分 卷积神经网络
/ Convolutional Neural Networks
翻译&校正 | 韩信子@
ShowMeAI
编辑 | 南乔@
ShowMeAI
原文作者 |
https://stanford.edu/~shervine
本节原文超链
[1] 概述 / Overview
░▐ 传统 CNN 架构 Architecture of a traditional CNN
卷积神经网络(
Convolutional Neural Networks
CNNs
),是一种特定类型的神经
络,通常由以下几种网络层组成:
1 Convolution layer [ ] Pooling layer[ ] Fully connected
layer[全连接层]
备注
2
:卷层(
Convolution layer
CONV
)和化层
Pooling layer
POOL
)可
以通过超参数来进行微调(详见下文)。
[2] 网络层类别 / Types of layer
░▐ 卷积层
Convolution layer (CONV)
卷积层(
CONV
)利用卷积核在相应的维度上扫描输
I
,来实现卷积操作。它的超参
数包括卷积核的大小
F
和步长
S
。得到的输出结果
O
即为特征图或激活图。
广 (1D)
(3D) 的情况。
GIF
ShowMeAI
GitHub
░▐ 池化层
Pooling (POOL)
池化层(
POOL
)是一种下采样操作,通常接在卷积层之后,具有空间不变性。
最大化(Max poolingAverage pooling种特的池
分别取邻域内的最大值和平均值作为单元输出。
类型
最大池化 Max pooling
平均池化 Average pooling
目的
每个池化操作选择当前窗口中的最大值
每个池化操作计算当前窗口内的平均值
图例
注释
保留检测特征
最常用
特征图的下采
LeNet 中使用
░▐ 全连接层 Fully Connected (FC)
全连FC在展输入操作中每入都和所元连。如
果网络中存在全连结层的话,它通常出现在
CNN
网络结构的末尾处,可以用于目标函
数的优化,例如类别评分等。
GIF
点击
ShowMeAIGitHub
CS230 | Deep Learning Stanford University 系列内容 Awesome AI Courses Notes Cheat Sheets @ ShowMeAI
第一部分 卷积神经网络
/ Convolutional Neural Networks
- 2 -
[3] 卷积核超参数 / Filter Hyperparameters
卷积层中包含卷积核。对于这些卷积核,了解其超参数的含义是很重要的。
░▐ 卷积核的维度
Dimensions of a filter
一个
F×F
的卷应用
C
个通输入卷积体为
F×F×C
在输入大小为
I×I×C
上做卷积操作,生成大小为
O×O×1
的特征图(激活图)。
备注:用
K
F×F
大小的卷积核作用后得到大小为
O×O×K
的特征图
░▐ 步长 Stride
对于卷积或者池化操作,步长
S
表示的是卷积窗口在每次操作完成后移动的像素数。
░▐ 零填充
Zero-padding
零填表示在输的边增加
P
0
。这值可以手指定也可以通过下三种
式自动设置如下:
模式
Valid
Full
=
0
start
0, 1
end
= 1
图例
目的
无填充
如果维度不匹配丢
弃最后的卷积操作
最大填充使得末端卷积应用
输入的限制
卷积核看到端到端的输入
[4] 调整超参数 / Tuning Hyperparameters
░▐ 卷积层中的参数兼容性 Parameter compatibility in convolution layer
来表示输大小
表示卷积的长度,
表示零填的大小,
表示步长那么
沿着维度的输出特征图的大小
公式为:
=
+
start
+
end
+1
备注
1
:输入
[Input]
,卷积核
[Filter]
,输出
[Output]
2
P
start
=P
end
P
P
start
+
P
end
替换为
2P
░▐ 理解模型的复杂度
Understanding the complexity of the model
为了确定一个模型的复杂度,确定模型框架中包含的参数量通常很有帮助。在卷积神经
网络的给顶层中,其操作如下:
CONV
POOL
FC
图例
输入大小
××
××
in
输出大小
××
××
out
参数量
××+ 1
0
in
+ 1 ×
out
备注
每个卷积核一个偏置参数
在大多数情况 <
常见的
2
池化操作是按通道进行的
大多数情况下
=
输入层展开
每个神经元一个偏置参数
FC 层的神经元数量不受结
构限制
CS230 | Deep Learning Stanford University 系列内容 Awesome AI Courses Notes Cheat Sheets @ ShowMeAI
第一部分 卷积神经网络
/ Convolutional Neural Networks
- 3 -
░▐ 感受野
Receptive field
k
层的感受野是输入层中第
k
个激活图能够看到的像素,该区域记为
R
k
×R
k
F
j
表示
j
层的积核小,
S
i
表示
i
层的长值约定
S
0
=1
,第
k
层的受野
可以用一下的公式来计算:
=1+
=1
1
=0
−1
在下面这个例子中,
F
1
=F
2
=3
以及
S
1
=S
2
=1
,得到
R
2
=1+21+21=5
[5] 常用的激活函数 / Commonly Used Activation Functions
░▐ 修正线性单元 Rectified Linear Unit
修正线性元(ReLU是一激活函数在所有的输入有元素上使用它是为了
非线性引入到网络中。下表总结了其变体:
ReLU
Leaky ReLU
ELU
= max 0,
= max ,
with
1
= max
1
,
with
1
生物学上可以解释的
非线性复杂度
解决 ReLU 负值死亡的问
全局可导
░▐ Softmax
在网尾的 softmax 作,以看是适性更广逻辑(logistic)输入
分数向量,通过 softmax 函数输出概率向量。
=
1
其中 
=
=1
[6] 目标检测 / Object Detection
░▐ 模型类别
Types of models
3 中主要的目标检测算法,因此预测的目标是不同的。如下表:
图像分类
分类和定位
分类一张图片
预测物体的概
在图片中检测一个物体
预测物体的概率和所处位置
传统 CNN
简化的 YOLOR-CNN
░▐ 检测 Detection
在目中,们是的位检测杂的
状,采用不同的方法。下表中总结了两个主要的方法:
边框检测 Bounding box detection
关键点检测 Landmark detection
检测物体所在的图片区域
检测一个形状或者物体的特征(比如眼睛),更精细
边框中心
,
,高度
和宽度
参考点
1
,
1
, . . . ,

,

CS230 | Deep Learning Stanford University 系列内容 Awesome AI Courses Notes Cheat Sheets @ ShowMeAI
第一部分 卷积神经网络
/ Convolutional Neural Networks
- 4 -
░▐ 交并比
Intersection over Union
交并比,也称之为
IoU
,是一个用于衡量预测框
B
p
与实际边框
B
a
相交正确率的函数。
IoU
,
=
备注: 总有
IoU∈
0,1
。通常情况下,如果预测
B
p
IoU B
p
,B
a
0.5
,表明该预测
结果相当不错了。
░▐ 锚框 Anchor boxes
锚框是一种用于预测重叠边框的技术。在实际中,允许神经网络同时预测多个框,每个
预测框具有特定的几何参数(比如长宽比)。比如说,第一个预测可能是某个长宽比的
矩形框,而第二个可能是另一个长宽比的矩形框。
░▐ 非极大值抑制 Non-max suppression
非极种用相同界框择最那个
框。删除小于
0.6
预测概率的边框之后,重复执行以下步骤直至保留最终的边框:
对于一个给定的类型:
第一步:选择预测概率最大的边框。
第二步:去掉与上一个边框的
IoU≥0.5
的边框。
[Box predictions]
[Box selection of maximum
probability]
[ Overlap removal of same class]
[Final bounding boxes]
░▐ YOLO
You Only Look Once (YOLO)
是一个目标检测算法,执行步骤:
第一步:将输入图像分割为
G×G
的网格。
第二步:对于每个网格,运行 CNN 网络预测下面给定的
y
,重复
k
次。
y=
p
c
,b
x
,b
y
,b
k
,b
w
,c
1
,c
2
,...,c
p
,...
T
GxGxkx(5+p)
p
c
是检测物体的概率
b
x
,b
y
,b
,b
w
是检测边框的属性
c
1
,...,c
p
p
个类别的独热向量表示
k
是锚框的数量
第三步:运行非极大值抑制算法去除潜在的重叠边框。
备注 1原始[Original image]分成 G×G 网格[Division in GxG grid]边框预测
[Bounding box prediction]
,非极大值抑制
[Non-max suppression]
2
p
c
=0
b
x
,...,c
p
将被忽略。
░▐ R-CNN
R-CNN 是一个标检测法,首对图像进行割以找候选边框,然后运行检
算法以在候选边界框中找到最可能的目标对象。
CS230 | Deep Learning Stanford University 系列内容 Awesome AI Courses Notes Cheat Sheets @ ShowMeAI
第一部分 卷积神经网络
/ Convolutional Neural Networks
- 5 -
备注:尽管原始的 R-CNN 算法计算资源消耗大且速度慢,但是后面在它的基础上优化
的算法,例如 Fast R-CNN Faster R-CNN,有着更快的速度和更好的效果。
6.1 人脸验证和识别 Face Verification and Recognition
░▐ 模型类别
Types of models
下表中总结两个主要的模型类别:
人脸验证
Face verification
人脸识别
Face recognition
这是正确的人吗?一对一查
这是数据库中 K 个人的其中一个吗?一对多查询
░▐ 单样本学习 One Shot Learning
单样本学习是一种人脸验证算法,使用有限的训练数据集来学习一个能够衡量两张给定
图片的差异的相似度函数。通常将两张图片的相似度函数记作
d(image 1
image 2)
░▐ 孪生神经网络 Siamese Network
Siamese Networks神经)这经网可以如何进行码,
x
i
f x
i
░▐ 三元损失
Triplet loss
Triplet loss
A
P
本),
N
(负样本)的嵌入表示进行计算。
锚点同一,负一个果我距离
α
+
,三元损失可以进行定义:
,,
=max
, − , +,0
6.2 神经风格迁移 Neural Style Transfer
░▐ 动机 Motivation
神经风格迁移的目标是基于给定的图片内容
和图片风格
,生成具有
内容和
风格的
图片
░▐ 激活输出
Activation
在给定的网络层
l
,激活函数输出记作
a
l
,它的维度为
n
H
×n
w
×n
c
░▐ 内容代价函数 Content cost function
我们会用内容代价函数来衡量生成图片
G
和原始内容图片
C
的内容差异度。定义:
content
,
=
1
2
|
|
2
CS230 | Deep Learning Stanford University 系列内容 Awesome AI Courses Notes Cheat Sheets @ ShowMeAI
第一部分 卷积神经网络
/ Convolutional Neural Networks
- 6 -
░▐ 风格矩阵
Style matrix
同样第
层网络的风格矩阵
是一个
Gram
矩阵,矩阵中的每个元素

衡量通道
之间的相关程度。它是基于激活输出
计算得到的,计算方式:
G
kk′
l
=
i=1
n
H
l
j=1
n
w
l
a
ijk
l
a
ijk′
l
备注:风格图片的风格矩阵和生成图片分别记作
G
l S
G
l G
░▐ 风格代价函数 Style cost function
风格代价函数
style
,
用于衡量生成图片
和原始风格图片
之间的风格差异。
J
style
l
S,G =
1
2
n
H
n
w
n
c
2
|G
l S
G
l G
|
F
2
=
1
2
n
H
n
w
n
c
2
k,k′=1
n
c
(
G
kk′
l S
G
kk′
l G
)
2
░▐ 总的代价函数 Overall cost function
最终代价函数定义为内容代价函数和风格代价函数的加权和,权重参数为
,
=
content
, +
style
,
备注:较高的
α
值会使模型更加关注内容,而较高的
β
值会使模型更加关注风格。
6.3 使用计算技巧的架 Architectures Using Computational Tricks
░▐ 生成对抗网络 Generative Adversarial Network
生成对抗网络,也称之为 GANs,是由一个生成模型和判别模型构成,生成模型的目标
是生成最真实的结果,这个结果输入到判别模型中,判别模型需要努力区分生成的图片
和真实的图片。
备注:使用 GANs 变体的用例包括文本图像转换,音乐生成和语音合成。
░▐ 残差网络架构 ResNet
残差网络架构(也 ResNet)使用具有大量网络层的残差单元来减小训练误差。残
差单元具有以下特征方程式:
+2
=
+
+2
░▐ Inception 网络 Inception Network
inception
便
能。其中
1×1
是很特殊的卷积结构,可以降低计算量。
CS230 | Deep Learning Stanford University 系列内容 Awesome AI Courses Notes Cheat Sheets @ ShowMeAI
第一部分 卷积神经网络
/ Convolutional Neural Networks
- 7 -
Awesome AI Courses Notes Cheat Sheets
Machine Learning
CS229
Deep Learning
CS230
Natural Language Processing
CS224n
Computer Vision
CS231n
Neural Networks for NLP
CS11-747
DL for Self-Driving Cars
6.S094
...
Stanford
Stanford
Stanford
Stanford
CMU
MIT
...
ShowMeAI 度的 TOP20+ AI 课程在为
学习者提供一整套高品质中文速查表,可以点击【这里】查看
Stanford University Machine Learning CS229 Deep Learning
CS230)课程,是本系列的第一批产出
Shervine Amidi
结整理。原速查表为英文,可点击【这里】查看
ShowMeAI
对内容进行
了翻译、校对与编辑排版,整理为当前的中文版本。
有任何建议和反馈,也欢迎通过下方渠道和我们联络 (*3)
CS229 | Machine Learning @ Stanford University
CS230 | Deep Learning @ Stanford University
监督学习
Supervised Learning
无监督学习
Unsupervised Learning
深度学习
Deep Learning
机器学习技巧和经验
Tips and Tricks
卷积神经网
CNN
循环神经网
RNN
深度学习技巧与建议
Tips and Tricks
中文速查表链接
中文速查表链接
中文速查表链接
中文速查表链接
中文速查表链接
中文速查表链接
中文速查表链接
概率统计
Probabilities /Statistics
线性代数与微积分
Linear Algebra and Calculus
GitHub
ShowMeAI
https://github.com/
ShowMeAI-Hub/
ShowMeAI 研究中心
扫码回复
速查表
下载
最新
全套资料
中文速查表链接
中文速查表链接