卷积神经网络

Report
卷积神经网络
张朝阳
2014/11/05
Logistic模型
• y=g z =
1
1
=
⋯ ⋯(1)
1+ − 1+ −
• ′  = ()(1 − ())
• 训练时令y={-1,+1},则   =  
• 对数似然函数

L  =
• 其中 =



=0  
ln (  )
=1
⋯ ⋯ (2)
= =1   (−  ) ⋯ ⋯ (3)
• 测试时用公式(1),y>0.5时分到第1类,否则为第2类.
Softmax Regression多分类器
(
   ;  = (

(



1
J  =−


1
=−



= 1|  ; )
= 2|  ; ) =
⋮
= |  ; )

=1
   ()

=1 
=  log
=1 =1

1

 

 ()

 

 1 
 ()
 2 
⋮
 ()
  
  

   

 
==  −  


+
2


=1
=1
==    ; 
 2
+ 
• J是损失函数,即似然函数的相反数,使用L-BFGS求
解最优化问题时先把目标函数转换成求极小值的问
题。
BP神经网络
BP神经网络
• 隐藏层的净输入 =

=0  
• 隐藏层的输出 = ( )
• 输出层的净输入 =

=0  
• 输出层的输出 = ( )
• 从隐藏层到输出层实际上就是一个softmax
分类器
BP神经网络
• 单个样本的误差
1
=
2

( −  )2
=1
• 权值调整

 
∆ = −
= −

 

 
∆ = −
= −

 
BP神经网络
• 残差
 = −
 =

=

 −   ′  ……(1)

−
=[ =1(

 )] ′  ……(2)
• 对于多层全连接的神经网络,公式(2)是残差计算的递推公式,
即当前层的残差是下一层残差的加权和。
• 权值调整
∆ =   = ( −  ) (1 −  ) 
∆ =   = [

=1
  ] (1 −  )
卷积运算
•
一维卷积
∞
w x ∗  =
  ( − ) 
−∞
•
二维卷积
∞
∞
w x,  ∗  ,  =
 ,  ( − ,  − )  
−∞ −∞
•
二维离散卷积
 ,  ∗  ,  =
 ,    − ,  − 


当给定关于原点对称的积分区间时:
 ,  ∗  ,  =


−
−
 ,    − ,  − 
图像卷积
 ,  ∗  ,  =


−
−
 ,    − ,  − 
其中 =  ,  代表一张图像,  ,  是图像是第x行第y列像素的灰度值,
 ,  为卷积核。
令U=V=2,下图所示的卷积运算就是:2 × 8 + 8 × 7 + 6 × 5 + 5 × 9 + 8 × 4 +
3 × 0 + 6 × 8 + ⋯⋯
y
W
x
2
8
6
5
8
8
7
5
9
4
3
6
9
7
5
0
8
6
3
2
5
7
4
9
6
6
1
3
1
6
9
7
8
5
8
9
8
6
5
0
1
0
8
7
4
7
1
3
2
0
∗
用卷积提取图像特征
•
用同一个卷积核对图像的每一个像素进行卷积运算,可以得到与原图像同等
大小的特征图。
•
水平梯度的卷积算子
•
竖直梯度的卷积算子
•
一个图像里目标特征主要体现在像素与周围像素之间形成的关系,这些邻域
像素关系形成了线条、角点、轮廓等。而卷积运算正是这种用邻域点按一定
权重去重新定义该点值的运算。
卷积神经网络
卷积神经网络
• 每一层由多个map组成,每个map由多个神经单元组成
• 输入层和输出层分别只有一个
• 输入层之后有若干个“卷积层C--下采样层S”的交替
• 卷积层上的map数逐渐增多
• 一个采样层map到一个卷积层map上的所有神经元共享同一个
卷积核
•  上每个map的输入是−1 上所有map的某种组合
• 输出层前面的若干层是全连接层
• BP神经网络中的一个权重 对应卷积神经网络的一个卷积核

卷积神经网络
• 卷积层的作用
根据深度学习关于人的视觉分层的理论,人的视觉
对目标的辨识是分层的,低层会提取一些边缘特征,
然后高一些层次进行形状或目标的认知,更高层的
会分析一些运动和行为。也就是说高层的特征是低
层特征的组合,从低层到高层的特征表示越来越抽
象,越来越能表现语义或者意图。而抽象层面越高,
存在的可能猜测就越少,就越利于分类。
卷积神经网络
• 卷积层convolutional
– 输入: =  −1 ,  + 
– 输出:out  =  
卷积神经网络
• 子采样层subsampling
– 把输入 map划分成若干个scale*scale的小区域,求
每个小区域内灰度的均值。输出map是输入map规
模的1/scale。
卷积神经网络
• 权值调整的关键在于计算各层的残差,输
出层和全连接层的残差计算公式与BP网络
完全相同,不再赘述。
• 卷积层的残差
当前层的残差是下一层残差的加权和,因
为一个卷积层的map只和一个采样层的map
相连,所以 =  ∗  ,此处 要进行克
罗内克扩展。
卷积神经网络
• 下一层为采样层的卷积层的残差
卷积神经网络
• 采样层的残差
因为当前层的残差是下一层残差的加权和,一个采样层
的map与多个卷积层的map相连,所以 =
 ( ,  ), 是与当前采样层的map相连的卷积
层的map。此处 要旋转180度, 要进行扩展。
• “加权和”包含了相乘和相加两种运算,从BP网络推广
到卷积网络时,相乘演化为矩阵的卷积,相加演化为矩
阵的加法。
卷积神经网络
• 下一层为卷积层的采样层的残差
实验对比
• MNIST手写数字数据集,60000张训练数据,10000张测
试数据,28*28像素,0到9十个数字分布接近均等。
算法
准确率
耗时
Logistic
95%(二分类,区分7和9)150秒
Softmax
89%,90%
360秒,1980秒
BP
9%
20秒
CNN
95%
300秒
• 复杂的算法不一定有效(对比Softmax和BP)。
• 由于CNN内置了优良的特征选择方法,所以分类效果远
超BP。
参考资料
• http://www.cnblogs.com/ronny/p/ann_03.ht
ml
• http://www.cnblogs.com/fengfenggirl/p/cnn_i
mplement.html
• https://github.com/BigPeng/JavaCNN
• Maven
<groupId>com.bj58.xxzl.dm</groupId>
<artifactId>xxzl.dm.core</artifactId>

similar documents