当前位置:文档之家› 深度学习与卷积神经网络基础理论与实例分析

深度学习与卷积神经网络基础理论与实例分析

2.1 人脑视觉机理---大脑神经元的信号传输
神经元 人工神经网络
树突
输入
神经元 接收信号
隐含层输入
神经元激活 轴突发出信号
隐含层输出
大脑神经元信号传输的模拟
2.人脑视觉机理与特征表示
2.1 人脑视觉机理---大脑识别物体过程 从原始信号摄入开始(瞳孔 摄入像素 Pixels); 接着做初步处理(大脑皮层 某些细胞发现边缘和方向); 然后抽象(大脑判定,眼前 的物体的形状);
4.TensorFlow的相关介绍
4.3 TensorFlow基础
TensorFlow的特点:
■ 将计算流程表示成图; ■ 通过Sessions来执行图计算; ■ 将数据表示为tensors; ■ 分别使用feeds和fetches来填充数据和抓取任意的操作结果;
4.TensorFlow的相关介绍
4.3 TensorFlow基础-数据流图


数据流图是描述有向图中的数值计算过程。有向图中的节点通常代表数学运算,但也可以表示数据的输入、输出 和读写等操作;有向图中的边表示节点之间的某种联系,它负责传输多维数据(Tensors)。图中这些tensors的flow 也就是TensorFlow的命名来源。 一个Tensor是一个多维数组,例如,你可以将一批图像表示为一个四维的数组[batch, height, width, channels],数 组中的值均为浮点数。 (第一维列,第二维行)
输入: An unlabeled image is shown to the pre-trained network
First Layer: the neurons respond to different simple shapes, like edges
High Layer: the neurons respond to more complex structures
4.TensorFlow的相关介绍
4.1 深度学习框架
库名
TensorFlo w Caffe
学习材料 丰富程度 ★★★ ★
CNN建模 能力 ★★★ ★★
RNN建模 能力 ★★ ★
易用程度
★★★ ★
运行速度
★★ ★
多GPU支持 程度 ★★ ★
CNTK
MXNet Torch Theano Neon

★★ ★ ★★ ★
3.卷积神经网络-CNN
3.2 基本单元-----全连接层 使用softmax激励函数作为输出层。 全连接表示上一层的每一个神经元,都和下一层的每一个神经元是相互连接的。
卷积层和池化层的输出代表了输入图像的高级特征,全连接层的目的就是利用这些特征进行分类。
3.卷积神经网络-CNN
3.3 前向传播与反向传播
3.1 初探----CNN结构演变
3.卷积神经网络-CNN
CNN的应用也很广泛,其中包括图像分类,目标检测,目标识别,目标跟踪,文本检测和识别以及位置估计等。
3.卷积神经网络-CNN
3.2 基本单元-----卷积层

如上图是LeNet-5,它的第一个卷积层含有6的feature map,每一个feature map对应一个卷积核,也就
既然手工选取特征不太好,那么能不能自动地学习一些 特征? 学习出特征能否很好的表征目标?
2.人脑视觉机理与特征表示
2.2 特征表示
在不同对象上做训练时, 所得的边缘基底 是非常 相似的,但对象部分和模 型 就会完全不同了。
特征表示也可以分层
结构性特征 抽象层面越高,存在的可 能猜测就越少,就越利于 分类
★★★
★★ ★★★ ★★ ★★
★★★
★ ★★ ★★ ★

★★ ★★ ★ ★
★★
★★ ★★★ ★★ ★★

★★★ ★★ ★★ ★★
4.TensorFlow的相关介绍
4.2 TensorFlow的安装
step1. 系统要求: Linux(Ubuntu 14.04/16.04),Windows; step2. GPU驱动:在Linux系统最容易出现问题的地方; step3. CUDA:NVIDIA推出的通用并行计算架构(cuDNN ); step4. 安装Python、依赖库和TensorFlow: sudo pip install tensorflow-gpu。
• •
3.卷积神经网络-CNN
3.4 反向传播训练
Step 1: 用随机数初始化所有的滤波器和参数/权重
Step 2: 网络将训练图片作为输入,执行前向步骤(卷积,ReLU,池化以及全连接层的前向传播)并计算每个类别 的对应输出概率。 假设船图的输出概率是[0.2, 0.4, 0.1, 0.3] 因为第一个训练样本的权重都是随机的,所以这个输出概率也跟随机的差不多 Step 3: 计算输出层的总误差 总误差=1/2 ∑ (目标概率−输出概率)^2
3.卷积神经网络-CNN
3.2 基本单元-----非线性(激励层)
激活函数一般用于卷积层和全连接层之后 激活函数是深度网络非线性的主要来源
ReLU Sigmoid
梯度消失问题
解决梯度消失问题 收敛速度非常快 神经元死亡问题
3.卷积神经网络-CNN
3.2 基本单元-----池化层 空间池化,也叫亚采样或下采样降低了每个特征映射的维度,但是保留了最重要的信息。 空间池化可以有很多种形式:最大(Max),平均(Average),求和(Sum)等等。最大池化成效最好。 池化层的功能 减少网络中的参数计算数量,从而 遏制过拟合 增强网络对输入图像中的小变形、 扭曲、平移的鲁棒性(输入里的微小 扭曲不会改变池化输出——因为我 们在局部邻域已经取了最大值/平均 值)。 帮助我们获得不因尺寸而改变的等 效图片表征。这非常有用,因为这 样我们就可以探测到图片里的物体, 不论那个物体在哪。
例如:计算a=(b+c)∗(c+2),我们可以将算式拆分成一下:
d和e是不相关的,也就是可以并行计算。
前向传播
反向传播
卷积+池化 = 特征提取器 全连接层= 分类器
3.卷积神经网络-CNN
3.3 前向传播与反向传播

几个人站成一排,第一个人看一幅画(输入数据),描述给第二 个人(隐层)……依此类推,到最后一个人(输出)的时候,画 出来的画肯定不能看了(误差较大)。 反向传播就是,把画拿给最后一个人看(求取误差),然后最后 一个人就会告诉前面的人下次描述时需要注意哪里(权值修正)。 梯度下降法。
补零(Zero-padding) 边缘补零,对图像矩阵 的边缘像素也施加滤波 器。补零的好处是让我 们可以控制特征映射的 尺寸。补零也叫宽卷积, 不补零就叫窄卷积。
深度(Depth) 深度就是卷积操作中用到的滤波 器个数。这里对图片用了两个不 同的滤波器,从而产生了两个特 征映射。你可以认为这两个特征 映射也是堆叠的2d矩阵,所以这 里特征映射的“深度”就是2。
Top Layer: the neurons respond to highly complex, abstract concepts that we would identify as different animals
输出: The network predicts what the object most likely is, based on its training
对应提取了图像的一种特征。这里注意最终的feature map并不是做完卷积后的结果,然后还要加一个 非线性激活的操作,一般用ReLU函数,这个过程一般叫做detector stage。
3.卷积神经网络-CNN
3.2 基本单元-----卷积层
步幅(Stride) 步幅是每次滑过的像 素数。当Stride=2的 时候每次就会滑过2 个像素。步幅越大, 特征映射越小。
初级(浅层)特征表示
2.人脑视觉机理与特征表示
神经元的模型
分层处理信息 特征的分层表达
训练: during the training phase, a neural network is fed thousands of labeled images of various animals, learning to classify them
与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。
目 录
0 1
概述与背景 人脑视觉机理 与特征表示
0 2
0 3
卷积神经 网络
TensorFlow的 相关介绍
0 4
3.卷积神经网络-CNN
3.1 初探----LeNet框架

LeCun
1998年,LeCun提出LeNet,并成功应用于美国手写数字识别。测试误差小于1%。 麻雀虽小,但五脏俱全,卷积层、pooling层、全连接层,这些都是现代CNN网络的基本组件。
第三次兴起(2012年):深度学习的兴 起,一直到现在。
• 发展基础: 数据爆炸:图像数据、文本数据、 语音数据、社交网络数据、科学计 算等 计算性能大幅提高
目 录
人脑视觉机理 与特征表示
0 1
概述与背景
0 2
0 3
卷积神经 网络
TensorFlow的 相关介绍
0 4
2.人脑视觉机理与特征表示
Step 4: 反向传播算法计算误差相对于所有权重的梯度,并用梯度下降法更新所有的滤波器/权重和参数的值,以使 输出误差最小化。
wj wj
其中wj是要更新的权重,α称为学习率,Etotal是总的误差 权重的调整程度与其对总误差的贡献成正比。 如滤波器个数、滤波器尺寸、网络架构这些参数,是在Step 1之前就已经固定的,且不会在训练过程中改变— —只有滤波矩阵和神经元权重会更新。
相关主题