Gradient-Based Learning Applied to Document Recognition阅读笔记
)
Gradient-Based Learning Applied to Document Recognition
Summary
Problem Statement
全连接的问题
- 图像都很大,全连接需要很大的空间来存储参数,还需要算力来进行计算。 手写通常会在单词级别上进行标准化,导致单个字符的大小,倾斜度和位置变化同时,由于每个人书写风格不同,最终导致输入对象中不同feature位置的会变化
- 全连接架构会使输入数据的拓扑结构完全被忽略,输入变量可以按任何顺序显示,而不会影响训练的结果。但如果输入在空间或时间上相邻的变量(或像素)高度相关,具有很强的2D局部结构,例如图像(或语音的时频表示)此时效果就不会很好
Research Objective
手写识别中最困难的问题之一,并不是识别出每个单词,而是把单个单词从句子中分割出来(segmentation) 目标:learning in the feature extractor itself.
Methods
feature extractor: 把输入转化成低维的向量或由符号组成的短字符串 缺点:基于先验知识和特定任务 feature classifier:模型的精度很大程度上取决于设计者想出来的特征集,这个特征集对不同问题不具有普遍性
卷积网络
卷积网络结合三种架构思想来确保位移(shift)、缩放(scale)、距离(distortion)不变性:
-
局部感受野 local receptive fields 局部连接的神经元可以提取基本的视觉特征,比如定向边缘、端点、角。这些特征会被更高层组合以得到更高级的特征。
-
权值共享 shared weights (or weight replication)
-
- 一个feature map的所有单元在图像的不同位置共享相同的权值;一个完整的卷积层由多个权值不同的feature maps,用来提取不同的特征
-
- 当特征被检测到以后,它的绝对位置就不是很重要了,反而是与其他特征的相对位置会比较重要,比如用左上角,右上角,下方的检测到的特征可以确定7
-
- 减少了自由参数的数量,从而减少了机器的“容量”,并减小了测试误差和训练误差之间的差距[34]。 图2中的网络包含340,908个连接,但是由于权重共享,因此仅包含60,000个可训练的自由参数。
-
空间或时间二次抽样 spatial or temporal sub-sampling. 降低特征图的空间分辨率,降低对位移和距离的敏感度
卷积网络鲁棒性的体现:如果输入图像移位,则特征图输出将移位相同的量,否则将保持不变。训练的系数和偏差控制了sigmoid的非线性影响。
如果系数较小,那么这个单元就相当于执行线性函数(sigmoi中间的一段可以看做线性)+ 如果参数较大,就相当于执行OR或AND(取决于bias的值)
通过逐渐增加representation(特征图的数量) 的丰富度来补偿空间分辨率的这种逐渐减小,可以实现输入的几何变换的高度不变性。
LeNet-5
不加输入层,有七层结构
- input:32*32的像素图,输入的图片比原来的图片(28*28)大,主要是因为需要检测图像的边界特征信息,比如角、点等。
- C1为卷积层 6@28*28 每个特征图的每个单元是卷积核与input中的一个5*5区域卷积得到的,即卷积核大小为5*5,最后得到6个28*28的特征图,156个参数,122,304个连接数
- S2为下采样层 6@14*14 每个特征图的每个单元和C1中的一个2*2的区域连接,把这四个值加起来,乘系数,再加偏置。由于每个2*2的局部感受野不重叠,最后特征图在行列上都减少为原来的一半。12个参数, 5,880 连接数.
- C3为卷积层
不把S2中每个特征图连接到每个C3的特征图的原因- 不完全的连接机制将连接数量保持在合理的范围内。
- 这样能够破坏网络的对称性symmetry
C3层的第0个特征图和S2层的第0、1、2个feature map相连接,计算过程为:用三个卷积模板分别于S2层的三个features map卷积,将卷积结果求和+b,取sigmoid得到卷积后对应的feature map。有的是三个卷积模板,有的是四个,有的是6个,最后的参数个数:(5*5*3+1)*6+(5*5*4+1)*9+(5*5*6+1)=1516
- S4为下采样层 16@5*5 每个特征图的每个单元和C中的一个2*2的区域连接,32 个参数, 2,000 个连接数
- C5位卷积层 120@1*1 kernel = 5*5,48120个参数,有481201*1个连接。
- F6为全连接层 包含84个单元,F6层包含120*84+84=10164个参数。
- 输出层 欧几里德径向基函数单位 Euclidean Radial Basis Function units (RBF), 10个单元,分别输出10个数字的类别概率。
每个RBF 84个输入,按下式计算输出,计算出来的就是输入向量与参数向量欧氏距离。 y i = ∑ j ( x j − w i j ) 2 y_{i}=\sum_{j}^{}\left ( x_{j}-w_{ij}\right )^2\\ yi=j∑(xj−wij)2这种方法对辨认独立的字符较好,但对于想0O这种相近的字符效果不太好。
分类器 不仅仅用来辨认字符,而且也用来筛掉非字符 RBF的参数向量起F6层目标向量的作用。 这些向量的分量是1或-1,这恰好在F6的S型范围内,且1和-1是S型曲线的最大曲率点。 这迫使F6单元在最大非线性范围内运行。 必须避免出现S形饱和,因为已知这会导致收敛缓慢和损失函数变差。
损失函数
最简单的损失函数 Minimum Mean Squared Error (MSE)
y
D
P
y_{DP}
yDP是第p层RBF单元的输出。它适合大多数情况,但缺少几个属性
- 如果我们允许RBF的参数调整,E(W)将会采用一种很挑剔但是完全不可接受的解决方案:即所有的RBF参数相等,此时相当于忽略了输入,输出接近0 。如果我们不允许RBF参数调整,这种情况将不会出现
- 各类之间没有竞争。可以通过使用更具区分性(discrminative)的训练标准(称为MAP(最大后验)标准)来实现此类竞争,类似于有时用于训练HMM的最大互信息标准。这种方法除了降低像MSE准则这样的正确类别的惩罚之外,还拉高了不正确类别的惩罚:此外,这个有区别性的训练标准避免了1中的问题,因为她始终保持RBF中心彼此分开。