花书《Deep learning》学习笔记–Convolutional Networks-卷积神经网络
花书《Deep learning》学习笔记–Convolutional Networks
文章目录
-
花书《Deep learning》学习笔记--Convolutional Networks - 个人理解归纳
CNN
–Convolutional neural networks
The Convolution opeartion
The operate on the input with a kernel(weights) to produce an output map given by
未完待续:
……明天继续
个人理解归纳
卷积神经网络——
领域
图像识别、语音分析
优势
- 权值共享,降低复杂度,适应性更强
- 避免特征提取和数据重建,最小化数据预处理要求
- 网状(grid)拓扑,对平移、比例缩放、倾斜等变形具有高度不变性
- 对图像处理:输入图像与网络拓扑结构高度吻合,更加方便
卷积神经网络基本认识
基于感受野,将一个视觉模式分解成多个子模式,分层递阶式相连处理。视觉系统模型化。
两类神经元:C,S
网络结构
输入数据 ——> 通过n个滤波器和可加偏置进行卷积,产生三个特征映射 ——>C1层 ——> 特征映射中取m个像素求和,加权值,加偏置,通过Sigmoid函数——>S2层特征映射——>重复以上——>向量输入到传统神经网络——>输出
优势解释:训练参数如何减少?
- 在前面的层,并非全连接,而是每个神经元对应一个局部的感受野,只需要感受局部图像,之后,在更高层,将所有局部神经元进行综合即可。(如果每个神经元对每个区域有一个唯一的参数的话,the number is enormous)
- 虽然每个神经元感受局部区域,但是仍然有很多参数(一个区域一个连接权值参数),权值共享–每个神经元用同一个卷积核,即每个神经元这若干个参数是相同的。
- 但是若全部相同,特征就陷入单一。所以需要多种卷积核来提取多种特征。
隐层的参数个数也和神经元的个数有关,无重叠状态(步幅等相关参数理解见文章)神经元个数计算
为什么卷积?
通过卷积运算,可以使原信号增强,同时降低噪声
为什么下采样?
利用图像局部相关性的原理,对图像进行子抽样,可以减少数据处理量,同时保留有用信息。
子采样过程
每相邻m个像素求和变为一个像素,然后通过标量W加权,加偏置b,通过sigmoid函数。
为什么要用sigmoid函数?
抑制两头,对中间细微变化敏感。使NN对特征识别度更好
深度学习也可以用其他函数,如tanh,relu(具体看这里)
层间特征映射的连接组合?
C3中每个特征映射连接到S2中所有或者几个特征映射,也就是说本层的特征映射是上一层特征映射的组合(也可以不是),这是为什么呢?为什么不一一连接呢?
原因:
- 不完全连接机制将连接的而数量保持在合理范围内
- 更重要的是,其破坏了网络的对称性。由于不同的特征映射输入不同,所以迫使它们学习不同的特征(希望是互补的)
输出层是怎样的?
输出层是欧式径向基函数单元组成的。每类一个单元,每个单元有多个输入。每个输出RBF单元计算输入向量和参数向量之间的欧式距离。输入离参数向量越远,RBF输出的越大。
RBF参数向量起着目标向量的作用。成分是+1或者-1,这正好在sigmoid范围内,可以防止sigmoid函数饱和。
训练过程是怎样的?
- 向前传播阶段
- 从样本集中去除一个样本,将X输入网络
- 计算相应的实际输出
- 向后传播阶段
- 计算实际输出与相应的理想输出的差
- 按照极小化误差的方法反向传播调整权值矩阵