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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.概述与背景
1.1 人工智能、机器学习、深度学习、数据挖掘之间的关系
数据挖掘
深度学习 机器学习
人工智能
1.2 神经网络兴衰史
1.概述与背景
第一次兴起(1958年):感知机,由于 没有引入非线性,不能求解异或问题。
第二次兴起(1986年):将BP(Back Propagation)神经网络的提出。
深度(Depth) 深度就是卷积操作中用到的滤波 器个数。这里对图片用了两个不 同的滤波器,从而产生了两个特 征映射。你可以认为这两个特征 映射也是堆叠的2d矩阵,所以这 里特征映射的“深度”就是2。
3.2 基本单元-----非线性(激励层)
3.卷积神经网络-CNN
激活函数一般用于卷积层和全连接层之后 激活函数是深度网络非线性的主要来源
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
Sigmoid 梯度消失问题
ReLU
解决梯度消失问题 收敛速度非常快 神经元死亡问题
3.2 基本单元-----池化层
3.卷积神经网络-CNN
空间池化,也叫亚采样或下采样降低了每个特征映射的维度,但是保留了最重要的信息。
空间池化可以有很多种形式:最大(Max),平均(Average),求和(Sum)等等。最大池化成效最好。
目录
人脑视觉机理
01
与特征表示
03
概述与背景
02
卷积神经 网络
TensorFlow的 相关介绍
04
3.1 初探----LeLeCun 1998年,LeCun提出LeNet,并成功应用于美国手写数字识别。测试误差小于1%。 麻雀虽小,但五脏俱全,卷积层、pooling层、全连接层,这些都是现代CNN网络的基本组件。
前向传播
卷积+池化 = 特征提取器 全连接层= 分类器
反向传播
3.3 前向传播与反向传播
3.卷积神经网络-CNN
• 几个人站成一排,第一个人看一幅画(输入数据),描述给第二 个人(隐层)……依此类推,到最后一个人(输出)的时候,画 出来的画肯定不能看了(误差较大)。
• 反向传播就是,把画拿给最后一个人看(求取误差),然后最后 一个人就会告诉前面的人下次描述时需要注意哪里(权值修正)。
2.3浅层学习和深度学习
2.人脑视觉机理与特征表示
深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而 最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习, 深度学习的不同在于: 1)强调了模型结构的深度,通常有5层、6层,甚至几十层的隐层节点; 2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个 新特征空间,从而使分类或预测更加容易。这种分层结构,是比较接近人类大脑的结构的。 与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。
权重的调整程度与其对总误差的贡献成正比。
如滤波器个数、滤波器尺寸、网络架构这些参数,是在Step 1之前就已经固定的,且不会在训练过程中改变—
—只有滤波矩阵和神经元权重会更新。
目录
01
概述与背景
人脑视觉机理
与特征表示
03
02
卷积神经
网络
TensorFlow的 相关介绍
04
4.1 深度学习框架
Step 3: 计算输出层的总误差 总误差=1/2 ∑ (目标概率−输出概率)^2
Step 4: 反向传播算法计算误差相对于所有权重的梯度,并用梯度下降法更新所有的滤波器/权重和参数的值,以使
输出误差最小化。
wj
wj
w j
Etotal
其中wj是要更新的权重,α称为学习率,Etotal是总的误差
2.人脑视觉机理与特征表示
神经元的模型
分层处理信息
特征的分层表达
训练: during the training phase, a neural network is fed thousands of labeled images of various animals, learning to classify them
池化层的功能 ✓ 减少网络中的参数计算数量,从而 遏制过拟合 ✓ 增强网络对输入图像中的小变形、 扭曲、平移的鲁棒性(输入里的微小 扭曲不会改变池化输出——因为我 们在局部邻域已经取了最大值/平均 值)。 ✓ 帮助我们获得不因尺寸而改变的等 效图片表征。这非常有用,因为这 样我们就可以探测到图片里的物体, 不论那个物体在哪。
3.2 基本单元-----全连接层
3.卷积神经网络-CNN
使用softmax激励函数作为输出层。
全连接表示上一层的每一个神经元,都和下一层的每一个神经元是相互连接的。 卷积层和池化层的输出代表了输入图像的高级特征,全连接层的目的就是利用这些特征进行分类。
3.3 前向传播与反向传播
3.卷积神经网络-CNN
• 梯度下降法。
3.4 反向传播训练
3.卷积神经网络-CNN
Step 1: 用随机数初始化所有的滤波器和参数/权重
Step 2: 网络将训练图片作为输入,执行前向步骤(卷积,ReLU,池化以及全连接层的前向传播)并计算每个类别 的对应输出概率。 假设船图的输出概率是[0.2, 0.4, 0.1, 0.3] 因为第一个训练样本的权重都是随机的,所以这个输出概率也跟随机的差不多
神经元
人工神经网络
树突
输入
神经元 接收信号
隐含层输入
神经元激活 轴突发出信号
隐含层输出
大脑神经元信号传输的模拟
2.人脑视觉机理与特征表示
2.1 人脑视觉机理---大脑识别物体过程
➢ 从原始信号摄入开始(瞳孔 摄入像素 Pixels);
➢ 接着做初步处理(大脑皮层 某些细胞发现边缘和方向);
➢ 然后抽象(大脑判定,眼前 的物体的形状);
3.2 基本单元-----卷积层
3.卷积神经网络-CNN
如上图是LeNet-5,它的第一个卷积层含有6的feature map,每一个feature map对应一个卷积核,也就
对应提取了图像的一种特征。这里注意最终的feature map并不是做完卷积后的结果,然后还要加一个 非线性激活的操作,一般用ReLU函数,这个过程一般叫做detector stage。
4.3 TensorFlow基础-数据流图
4.TensorFlow的相关介绍
➢ 数据流图是描述有向图中的数值计算过程。有向图中的节点通常代表数学运算,但也可以表示数据的输入、输出 和读写等操作;有向图中的边表示节点之间的某种联系,它负责传输多维数据(Tensors)。图中这些tensors的flow 也就是TensorFlow的命名来源。
第三次兴起(2012年):深度学习的兴 起,一直到现在。
• 发展基础: ✓ 数据爆炸:图像数据、文本数据、 语音数据、社交网络数据、科学计 算等 ✓ 计算性能大幅提高
目录
01
概述与背景
人脑视觉机理 与特征表示
02
03
卷积神经 网络
TensorFlow的 相关介绍
04
2.人脑视觉机理与特征表示
2.1 人脑视觉机理---大脑神经元的信号传输
4.TensorFlow的相关介绍
TensorFlow具有最高的关注度和 评分。 Caffe在目标识别和目标分割领 域应用最广 主流框架基本都支持Python
4.1 深度学习框架
4.TensorFlow的相关介绍
库名
TensorFlo w Caffe CNTK MXNet Torch Theano Neon
3.2 基本单元-----卷积层
3.卷积神经网络-CNN
步幅(Stride) 步幅是每次滑过的像 素数。当Stride=2的 时候每次就会滑过2 个像素。步幅越大, 特征映射越小。
补零(Zero-padding) 边缘补零,对图像矩阵 的边缘像素也施加滤波 器。补零的好处是让我 们可以控制特征映射的 尺寸。补零也叫宽卷积, 不补零就叫窄卷积。
卷积层--convolution 池化层--pooling 全连接层—fully connected
3.1 初探----完整的CNN
3.卷积神经网络-CNN
输入层
卷积层 +ReLU
池化层
卷积层 +ReLU
池化层
全连接 层
全连接 层
把图片分入四个类别:狗,猫,船,鸟
卷积神经网络主要执行了四个操作:
sudo pip install tensorflow-gpu。
4.3 TensorFlow基础
4.TensorFlow的相关介绍
TensorFlow的特点:
■ 将计算流程表示成图; ■ 通过Sessions来执行图计算; ■ 将数据表示为tensors; ■ 分别使用feeds和fetches来填充数据和抓取任意的操作结果;
➢ 一个Tensor是一个多维数组,例如,你可以将一批图像表示为一个四维的数组[batch, height, width, channels],数 组中的值均为浮点数。 (第一维列,第二维行)
例如:计算a=(b+c)∗(c+2),我们可以将算式拆分成一下:
d和e是不相关的,也就是可以并行计算。
4.4 TensorFlow的基础语法
4.TensorFlow的相关介绍
step1. 系统要求: Linux(Ubuntu 14.04/16.04),Windows;
step2. GPU驱动:在Linux系统最容易出现问题的地方; step3. CUDA:NVIDIA推出的通用并行计算架构(cuDNN ); step4. 安装Python、依赖库和TensorFlow:
➢ 然后进一步抽象(大脑进一 步判定该物体)。
Low-level sensing
Preprocessing
Feature extraction
Feature selection
Inference: prediction, recognition
2.2 特征表示
2.人脑视觉机理与特征表示
手工地选取特征是一件非常费力、启发式(需要专 业知识)的方法,而且它的调节需要大量的时间。
输入: 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的相关介绍
用Tensorflow计算a=(b+c)∗(c+2) 1. 定义数据:
Tensorflow可以自动进行数据类型检测,比如:赋值2.0就默认为tf.float32
2. 定义运算(也称TensorFlow operation):
卷积
当获得一张船图作为输入的时候,网络正确的给船的分 非线性(ReLU)
类赋予了最高的概率(0.94)。输出层的各个概率相加应
池化或下采样
为1.
分类(全连接层)
输出层
3.1 初探----CNN结构演变
3.卷积神经网络-CNN
CNN的应用也很广泛,其中包括图像分类,目标检测,目标识别,目标跟踪,文本检测和识别以及位置估计等。
➢ 既然手工选取特征不太好,那么能不能自动地学习一些 特征?
➢ 学习出特征能否很好的表征目标?
2.2 特征表示
2.人脑视觉机理与特征表示
✓ 在不同对象上做训练时, 所得的边缘基底 是非常 相似的,但对象部分和模 型 就会完全不同了。
特征表示也可以分层
结构性特征 抽象层面越高,存在的可 能猜测就越少,就越利于 分类 初级(浅层)特征表示
学习材料 丰富程度
★★★
★ ★ ★★ ★ ★★ ★
CNN建模 能力
★★★
★★ ★★★ ★★ ★★★ ★★ ★★
RNN建模 能力
★★
★ ★★★
★ ★★ ★★ ★
易用程度
★★★
★ ★ ★★ ★★ ★ ★
运行速度
★★
★ ★★ ★★ ★★★ ★★ ★★
多GPU支持 程度
★★
★ ★ ★★★ ★★ ★★ ★★
4.2 TensorFlow的安装
相关文档
最新文档