Ø 模拟生物神经元行为的机器,有与生物神经元相对应的部件,输入层接受外界输入信号传递给输出层, 输出层是M-P神经元(阈值逻辑单元)
Ø 结构包括权重(突触)、偏置(阈值)及激活函数(细胞体),输出为0或1(使用sgn阶跃函数时)。
l 单层感知机的学习能力非常有限, 只能解决线性可分问题
l 与、或、非问题是线性可分的, 因此感知机学习过程能够求得适当的权值向量. 而异或问题不是
线性可分的, 感知机学习不能求得合适解
l 对于非线性可分问题, 如何求解?
• 输出层与输入层之间的一层神经元, 被称之为隐层或隐藏层, 隐藏层
和输出层神经元都是具有非线性激活函数的功能神经元
• 前馈神经网络(全连接神经网络、多层感知机)
Ø 各神经元分别属于不同的层,层内无连接。
Ø 相邻两层之间的神经元全部两两连接。
Ø 隐藏层和输出层神经元都是具有非线性激活函数的功能神经元。
Ø 整个网络中无反馈,信号从输入层向输出层单向传播,可用一个有向无
环图表示
神经网络的参数求解-反向传播算法(BP)
与最优化方法(如梯度下降法)结合使用,
用来训练人工神经网络(参数求解)。
1.卷积神经网络
为什么需要卷积神经网络?
全连接前馈神经网络:权重矩阵的参数非常多
参数数量巨大,占用大量内存
神经网络训练耗时,难以收敛
全连接前馈神经网络:很难提取局部不变特征
自然图像中的物体都具有局部不变性特征:尺度缩放、平移、旋转等操作不影响其语义信息
生物学上感受野(Receptive Field)的机制
在视觉神经系统中,一个神经元的感受野是指视网膜上的特定区域,只有这个区域内的刺激才能够激活该神经元。
卷积神经网络的本质
• 一种前馈神经网络
• 用卷积层(局部连接)代替全连接层
特性:
• 局部连接
• 权重共享
• 空间或时间上的下采样
主要操作:
卷积和池化
(• 减少参数,加速训练• 提取局部不变特征)
• 一维卷积(convolution)
给定一个输入向量
x
x
x和滤波器
w
w
w(
w
w
w 是
K
K
K 维向量), 卷积的输出为:
y
t
=
∑
k
=
1
K
w
k
x
t
+
k
y_t=\sum^K_{k=1}w_kx_{t+k}
yt=k=1∑Kwkxt+k
w
k
w_k
wk是滤波器(filter)或卷积核(convolution kernel)负责特定步长内的特征提取(局部特征)
Filter取
[
1
,
0
,
−
1
]
[1,0,-1]
[1,0,−1]
• 一维卷积扩展
引入滤波器的滑动步长S 和零填充P
• 二维卷积
• 在图像处理中,图像是以二维矩阵的形式输入到神经网络中,因此需要二维卷积
输入矩阵
X
X
X和滤波器
W
(
W
∈
R
U
×
V
)
)
W( W ∈ R^{U×V}) )
W(W∈RU×V))的二维卷积定义为:
Y
=
W
X
Y=WX
Y=WX
Y
i
j
=
∑
u
=
1
U
∑
v
=
1
V
W
u
v
X
i
+
u
,
j
+
v
Y_{ij}=\sum^U_{u=1}\sum^V_{v=1}W_{uv}X_{i+u,j+v}
Yij=u=1∑Uv=1∑VWuvXi+u,j+v
负责特定区域内的特征提取(局部特征)
简单来说就是把一个矩形区域和另一个规定好的矩形相乘,中间的点的值用乘积来替换
如果是步长为1,每次只需要向右平移一步
需要注意的是,长宽会各自减少2,如果想得到的卷积层不变,最好原图像长宽也加2
像上图就是 5 × 5 5\times 5 5×5变为 3 × 3 3\times 3 3×3
如果是针对RGB图像,分成三个维度进行处理的话,要重复三次二维卷积(区别于三位卷积)
卷积总结:
• 通过滤波器提取图片中的局部特征,跟生物学中的感受野机制类似。
• 每种滤波器负责一种特征模式的提取。
池化
卷积虽然可以显著减少连接的个数,但每个滤波器得到的特征维度仍然比较高。
引入池化(pooling):一种下采样方法,可以大大降低特征的维度。
卷积神经网络结构
• 卷积神经网络是由卷积层、池化层、全连接层交叉堆叠而成。
Ø 趋向于小卷积、大深度
Ø 趋向于全卷积(设置不同步长,池化层比例降低)
Ø 卷积网络:可以堆叠N 个连续的卷积块,然后再接K 个全连接层(N 的取值区间比较大,比如1 ∼ 100或
者更大;K一般为0 ∼ 2)。
Ø 卷积块:连续M 个卷积层和b个池化层(M通常设置为2 ∼ 5,b为0或1)
2 卷积网络应用
非常成功的手写数字识别网络-LeNet-5 。
• 基于 LeNet-5 的手写数字识别系统在 90 年代被美国很多银行使用,用来识别支
票上面的手写数字。
• LeNet-5 共有 7 层(2池化、2卷积,3连接
• 2012 年图像分类比赛(ILSVRC)冠军-AlexNet
Ø top 5 错误率:冠军16% VS 亚军 26%
Ø 第一个现代深度卷积网络模型
• 首次使用了很多现代深度卷积网络的一些技术方法
– 使用GPU进行并行训练,采用了ReLU作为非线性激活函数,使
用Dropout防止过拟合,使用数据增强
Ø 5个卷积层、3个池化层和3个全连接层
AlphaGo
• 分布式系统:1202 个CPU 和176 块GPU
• 单机版:48 个CPU 和8 块GPU
• 走子速度:3 毫秒-2 微秒
3 循环神经网络(Recurrent Neural Network, RNN)
为什么需要循环神经网络?
前馈网络
• 连接存在层与层之间,每层的节点之间是无连接的。(无循环)
• 输入和输出的维数都是固定的,不能任意改变。无法处理变长的序列数据。
假设每次输入都是独立的,也就是说每次网络的输出只依赖于当前的输入。
有限状态自动机:状态(
S
t
S_t
St)依赖于当前的输入(
x
x
x)和上一步的状态 (
S
t
−
1
S_{t-1}
St−1)
循环神经网络使用带自反馈的神经元
• 能够处理任意长度的时序数据。
• 具有记忆能力,当前隐藏层表示(
h
t
h_t
ht)依赖于当前输入(
x
t
x_t
xt )和上一步隐藏层表示(
h
t
−
1
h_{t-1}
ht−1)
h
t
=
f
(
h
t
−
1
,
x
t
)
h_t=f(h_{t-1},x_t)
ht=f(ht−1,xt)
简单循环网络( Simple Recurrent Network , SRN )
状态更新:
h
T
=
f
(
U
h
t
−
1
+
W
x
t
+
b
)
h_T=f(Uh_{t-1}+Wx_t+b)
hT=f(Uht−1+Wxt+b)
• 一个完全连接的循环网络是任何非线性动力系统的近似器 。
定理6.1 循环神经网络通用近似定理
如果一个完全连接的循环神经网络有足够数量的sigmoid隐藏神经元,它可以任意准确率近似一个非线性动力系统
s
t
=
g
(
s
t
−
1
,
x
t
)
s_t=g(s_{t-1},x_t)
st=g(st−1,xt)
y
t
=
o
(
s
t
)
y_t=o(s_t)
yt=o(st)
s
t
s_t
st是时刻的隐状态,
x
t
x_t
xt是外部输入,
g
(
⋅
)
g(·)
g(⋅)是可测的状态转换函数,
o
(
⋅
)
o(·)
o(⋅)是连续输出函数,对状态空间的紧致性没有限制
FNN:模拟任何函数
RNN:模拟任何程序
(计算过程)
4 循环神经网络应用
同步的序列到序列模式
• 信息抽取(Information Extraction,IE)
Ø 从无结构的文本中抽取结构化的信息,形成知识
异步的序列到序列模式
卷积神经网络和循环神经网络比较
卷积神经网络 | 循环神经网络 | |
---|---|---|
结构 | 前馈网络,使用滤波器和池化 | 循环网络,使用带反馈的神经元,(上一步结果反馈) |
输入/输出 | 输入和输出维度固定(如图像分类中图像像素数固定,类别数固定) | 大小不固定(如机器翻译中输入文本长度不固定,输出的翻译文本长度不固定) |
理想的适用场景 | 空间数据(如图像) | 时序数据(如文本或视频) |
应用举例 | 图像识别和分类、图像分析等 | 自然语言处理(中文分词、机器翻译、情感分类等) |
• 卷积神经网络
• 卷积:提取局部特征
• 池化:下采样,降低特征维度
• 典型结构:卷积层、池化层、全连接层
• 应用:图像识别和分类、图像分析
• 循环神经网络
• 使用带反馈的神经元,具有记忆能力
• 状态更新: 输出依赖于当前输入和前一步输出
• 应用:自然语言处理(中文分词、机器翻译等