浅谈深度学习
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 5 conv + 3 pooling + 2 LCN + 3 dense = 13层 • 纯有监督训练,back-prop + momentum • 大量超参数调节(hyperparameter tuning)
Krizhevsky et al. NIPS 2012 53
卷积网络(Convolutional Net)
– 一种高效的近似模型平均 (model averaging)
Hinton et al. arXiv 2012
56
相似图片搜索
测试图像
相似图像
57wenku.baidu.com
应用:Google+照片搜索
58
提纲
• • • • 为什么要深度学习?背景和动机 怎样深度学习?基本学习算法 深度学习有什么应用?典型应用举例 总结和展望
17
学习非线性特征
• 给定一组简单非线性函数:g1, …, gn • 方法1:线性组合
– SVM、核方法、Boosting
• 方法2:复合
– 深度学习
18
线性组合
缺点:需要指数 量级的模板
19
复合
将一系列简单非线 性函数复合构造高 度复杂非线性函数, 比浅层模型拥有更 强的表达能力 好处: 1、中间层特征的重用 2、分布式表示 更高效(指数级)
37
隐单元学习到的特征(要求稀疏)
38
训练过程
39
训练过程
40
训练过程
41
其他无监督特征学习算法
• 去噪声自编码器(Denoising Autoencoder)
– 在训练时损坏输入数据 – 训练网络重构完好输入
• Sparse coding、PSD、RICA等
42
小结
• 相比浅层模型,深层模型能更紧凑高效的表达现实问题 中的高度非线性特征 • 深度学习的主要思想
• 神经网络就是将许多个单一“神经元”联结在一起 • 下图神经网络的参数为:
25
反向传播算法(Back-Prop)
• • 计算每个样本的损失函数(实际输出与预期输出的差别)对各参数的梯度 应用链式求导法则
a f W (1) x
h softmax W 2 a
J logh
对数据的 理解(表示) 和判断(分类)
原始数据
• 对黑盒子的限定
– 深度:多层非线性信息处理
• Input => L1 => L2 => … => Ln => Output
– 学习:内部结构通过学习涌现
6
机器学习与特征表示
7
传统识别方法
图像/ 视频/ 语音
人工设计 特征提取
可训练 分类器
目标 分类
20
层次特征学习
• 每层从上层输出中提取特征 • 从原始数据直到分类器,各层结构基本相同 • 所有层的特征都用数据训练得到
图像/ 视频/ 语音
人工设计 特征提取
可训练 分类器
目标 分类
data
Layer 1
Layer 2
Layer 3
Simple Classifier
21
提纲
• 为什么要深度学习?背景和动机 • 怎样深度学习?基本学习算法
LuCun et al. Neural Computation, 1989
54
标准“配方”
• 大量有标签训练数据
– 用图像变换(data augmentation)得到更多训练数据
• 在两块GPU上训练 • 使用多个大隐层
– 前几个隐层是卷积的
• 更好的神经元(Rectified linear)
– 不会饱和,使梯度流更顺畅,更集中 底层神经元享受到更多训练信号
48
错误率(来自MSR、IBM、Google)
49
多层神经网络学 到了什么?
• 输入向量和学到的各层表 示可视化
– 6个说话人,两段录音/人
第8隐层
输入层
第1隐层
50
图像识别:ImageNet分类
• 120万张高分辨率训练图片,1000个分类
51
ILSVCR-2012竞赛中的误判率
52
网络结构
关键:抽象和迭代 从原始信号开始,从低级抽象向高级抽象迭代 原始信号(视网膜素)->初步处理(边缘和方向) ->抽象(轮廓和形状)->进一步抽象(谁的脸)
13
理想的特征是高度非线性的
14
理想的特征是高度非线性的
15
理想的特征是高度非线性的
16
学习非线性特征
• Q:我们应该考虑哪类非线性函数?
– 自动编码器(Autoencoder) – 受限玻尔兹曼机(RBM)
• 深度学习有什么应用?典型应用举例 • 总结和展望
22
历史回顾
Bomb Toy
• 70年代 第一代神经网络:感知机 • 80年代 第二代神经网络:BP算法 • 90年代 统计学习理论,支持向量机
23
单个神经元 & 逻辑回归(LR)
• 特征不是学到的 • 分类器一般是通用的(如SVM)
8
计算机视觉特征
9
语音信号特征
10
为什么要学特征?
• 人工设计特征的缺点
– 费时、费力
• 为了达到好的效果需要大量特征
– 依赖专业知识和直觉,有些领域难以实现
• 视频、频谱信息
– 难以设计多层特征
• 特征数量和质量成为识别系统的瓶颈
11
为什么要学多层特征?
1981 年的诺贝尔医学奖,颁发给了David Hubel 和Torsten Wiesel,以及 Roger Sperry。前两位的主要贡献, 是“发现了视觉系统的信息处理”:可视皮层是分级的: 这个发现激发了人们对于神经系统的进一步思考。 大脑的工作过程,或许是一个不断迭代、不断抽象的过程。
12
我们的大脑怎样工作?
J h
J J h ( 2) W h W ( 2 )
J J h a (1) W h a W (1)
J J h a h a
Rumelhart et al. Nature, 1986
26
学习过程
• 1、前向传播激励响应
• 2、和目标比较得到损失 • 3、反向传播修正权重
提纲
• 为什么要深度学习?背景和动机
– 特征学习的必要性 – 学习层次特征的好处
• 怎样深度学习?基本学习算法 • 深度学习有什么应用?典型应用举例 • 总结和展望
3
学术界
Geoffrey E Hinton 多伦多大学
Yoshua Bengio 蒙特利尔大学
Yann LeCun 纽约大学
Andrew Ng 斯坦福大学 4
– 帧序列,25ms帧长,10ms 帧率
• 输出
– 中间帧对应的HMM状态的 后验概率分布
Mohamed et al. IEEE Trans. on Audio, Speech, and Language Processing, 2012
47
训练方法
首先逐层训练若干个RBM (最底层为GRBM) 然后将它们组 装成一个DBN 最后加上输出层 用backprop整体 训练
59
对ImageNet网络的反思
• 突破为什么发生在现在?
– 卷积神经网已有接近40年的历史 – LeRU和dropout都是简单的trick
• 训练数据 = 能量 • 能量有品质高低
– 1焦耳热能做功 <?> 1焦耳电能做功 – 256x256位图 = 65536b <?> 1/1000类别标签 10b
• 用dropout正则化
55
dropout
• 当训练样本数 << 模型参数时, 一种避免过拟合的有效正则 化方法 • 用每个样本训练时,以0.5的 概率随机扔掉神经元
– 迫使每个神经元不依赖其他特 定神经元独立工作,从而学到 更有用的特征 – 每次从2H个网络中随机抽样
• 测试时保留所有神经元,将 激发强度乘以0.5
34
受限波尔兹曼机(RBM)
隐单元(模式检测) a w b i j
• 信念网
– 单向(隐单元->可见单元)
• Boltzmann机
– 双向(能量函数)
• 状态能量 -> 状态概率
– 能量越高,概率越低
可见单元(感知输入)
35
受限波尔兹曼机(RBM)
• 学习目标
a w b i j
– 最大输入数据似然
• 学习算法
– 梯度下降
• 快速近似算法
数据 数据
36
– Contrastive Divergence (CD)
用RBM学习数字类别模型
用数字“2”训练出 的模型的重构
数据
用数字“3”训练出 的模型的重构 100个隐单元 (模式)
j
j
si s j 0
i 数据
si s j 1
i 重构 256个可见单元 (像素)
• • 1、用原始输入x(k)训练第一个自编码器,学习得到原始输入的一阶特 征表示h(1)(k) 2、把上一层的一阶特征作为另一个稀疏自编码器的输入,使用它们 来学习二阶特征h(2)(k)
32
例子:两隐层自编码网络 MNIST手写数字识别
• • • 1、用原始输入x(k)训练第一个自编码器,学习得到原始输入的一阶特 征表示h(1)(k) 2、把上一层的一阶特征作为另一个稀疏自编码器的输入,使用它们 来学习二阶特征h(2)(k) 3、将二阶特征作为softmax分类器的输入,训练得到一个能将二阶特 征映射到数字标签的模型
– 语音识别 – 图像分类
• 总结和展望
44
语音识别和声学模型
45
基于深度神经网络的声学模型
state
46
数据集和网络结构
• TIMIT数据集
– 630个说话人,8种方言,10 个句子/人 – 目标:将一段给定语音信号转 化成音素序列
• 数据预处理
– 梅尔刻度式倒频谱参数 (MFCC)
• 输入
以监督学习为例,假设我们有训练样本集(xi, yi),神经网络算法能够提供一种非线 性的假设模型hw,b(x),它具有参数 W,b ,以此拟合数据 这个“神经元”是一个以x1,x2,x3及截距 +1为 输入值的运算单元,其输出为
函数
被称为“激活函数”
这里我们选用sigmoid函数作为激活函数
24
神经网络
An Overview of Deep Learning 浅谈深度学习
——大数据催生的新智慧物种
北京邮电大学 肖达 xiaoda99@gmail.com 2013.7.24
1
提纲
• • • • 为什么要深度学习?背景和动机 怎样深度学习?基本学习算法 深度学习有什么应用?典型应用举例 总结和展望
2
27
训练深层神经网络的问题
• • • 数据获取问题
– 训练依赖有标签数据,通常是稀缺的
局部极值问题
– 多层非线性 ->求解一个高度非凸的优化问题,非常容易陷入很坏的局部最小
梯度弥散问题
– 当深度较深时,梯度传到前面的时候严重衰减,前几层不能有效训练,训练 速度很慢
28
2006年的重大突破
• 采用逐层无监督训练的方式,能够训练 以前用单纯有监督方式无法训练的深层 网络 无监督特征学习算法
工业界
2012年6月,《纽约时报》披露了Google Brain项目,吸引了公众的广泛关注。
2012年11月,微软在中国天津的 一次活动上公开演示了一个全自动 的同声传译系统
2013年1月,在百度年会上,创始人兼 CEO李彦宏高调宣布要成立百度研究院 ,其中第一个成立的就是“深度学习研究所”
5
Deep Learning in a Nutshell 深度学习管窥
– 通过无监督数据逐层贪婪训练网络,获得一个好的初始值;之 后通过有监督的数据微调整个网络
• 有效解决了训练深层网络的两个问题
– 数据获取:利用大量无标签数据预训练网络,再利用少量有标 签数据微调 – 局部极值:通过预训练,获得一个比较接近好的结果的起点, 防止了收敛于坏的结果
43
提纲
• 为什么要深度学习?背景和动机 • 怎样深度学习?基本学习算法 • 深度学习有什么应用?典型应用举例
– 受限玻尔兹曼机(RBM) – 自编码器(Autoencoder) 及其变种 – 稀疏编码(Sparse Coding) 及其变种
•
•
基本思想
– 与其从离分类标签最近的顶层开始训练 ,为什么不从离数据最近的底层开始训 练?
29
自编码器(Autoencoder)
• 无监督学习算法 • 目标输出 = 输入
– 即重构输入 – 隐单元就是输入的另一 种表示,即特征
• 学习算法
– 反向传播
• 引入约束避免平凡解
– 隐单元个数 – 隐单元激活稀疏性
30
例子:两隐层自编码网络 MNIST手写数字识别
• 1、用原始输入x(k)训练第一个自编码器,学习得到原始输入的一阶特 征表示h(1)(k)
31
例子:两隐层自编码网络 MNIST手写数字识别
33
例子:两隐层自编码网络 MNIST手写数字识别
• • • • 1、用原始输入x(k)训练第一个自编码器,学习得到一阶特征表示h(1)(k) 2、把上一层的一阶特征作为另一个稀疏自编码器的输入,学习二阶特征h(2)(k) 3、将二阶特征作为softmax分类器的输入,训练得到一个能将二阶特征映射 到数字标签的模型 4、将这三层结合起来构成一个栈式自编码网络,做整体细调(fine-tuning)