没有合适的资源?快使用搜索试试~ 我知道了~
Deep Learning邹晓艺1
需积分: 0 0 下载量 177 浏览量
2022-08-08
20:36:57
上传
评论
收藏 4.62MB DOCX 举报
温馨提示
试读
180页
Deep Learning邹晓艺1
资源详情
资源评论
资源推荐
浅谈深度学习(Deep Learning)的基本思想和方法
深度学习(Deep Learning),又叫 Unsupervised Feature Learning 或者 Feature
Learning,是目前非常热的一个研究主题。
本文将主要介绍 Deep Learning 的基本思想和常用的方法。
一. 什么是 Deep Learning?
实际生活中,人们为了解决一个问题,如对象的分类(对象可是是文档、图像等),首先必
须做的事情是如何来表达一个对象,即必须抽取一些特征来表示一个对象,如文本的处理中,
常常用词集合来表示一个文档,或把文档表示在向量空间中(称为 VSM 模型),然后才能
提出不同的分类算法来进行分类;又如在图像处理中,我们可以用像素集合来表示一个图像,
后来人们提出了新的特征表示,如 SIFT,这种特征在很多图像处理的应用中表现非常良好,
特征选取得好坏对最终结果的影响非常巨大。因此,选取什么特征对于解决一个实际问题非
常的重要。
然而,手工地选取特征是一件非常费力、启发式的方法,能不能选取好很大程度上靠经验和
运气;既然手工选取特征不太好,那么能不能自动地学习一些特征呢?答案是能!Deep
Learning 就是用来干这个事情的,看它的一个别名 Unsupervised Feature Learning,就可
以顾名思义了,Unsupervised 的意思就是不要人参与特征的选取过程。因此,自动地学习
特征的方法,统称为 Deep Learning。
二. Deep Learning 的基本思想
假设我们有一个系统 S,它有 n 层(S1,...Sn),它的输入是 I,输出是 O,形象地表示为: I
=>S1=>S2=>.....=>Sn => O,如果输出 O 等于输入 I,即输入 I 经过这个系统变化之后没有
任何的信息损失,保持了不变,这意味着输入 I 经过每一层 Si 都没有任何的信息损失,即
在任何一层 Si,它都是原有信息(即输入 I)的另外一种表示。现在回到我们的主题 Deep
Learning,我们需要自动地学习特征,假设我们有一堆输入 I(如一堆图像或者文本),假
设我们设计了一个系统 S(有 n 层),我们通过调整系统中参数,使得它的输出仍然是输入
I,那么我们就可以自动地获取得到输入 I 的一系列层次特征,即 S1,..., Sn。
另外,前面是假设输出严格地等于输入,这个限制太严格,我们可以略微地放松这个限制,
例如我们只要使得输入与输出的差别尽可能地小即可,这个放松会导致另外一类不同的
Deep Learning 方法。上述就是 Deep Learning 的基本思想。
三.Deep Learning 的常用方法
a). AutoEncoder
最简单的一种方法是利用人工神经网络的特点,人工神经网络(ANN)本身就是具有层次
结构的系统,如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参
数,得到每一层中的权重,自然地,我们就得到了输入 I 的几种不同表示(每一层代表一种
表示),这些表示就是特征,在研究中可以发现,如果在原有的特征中加入这些自动学习得
到的特征可以大大提高精确度,甚至在分类问题中比目前最好的分类算法效果还要好!这种
方法称为 AutoEncoder。当然,我们还可以继续加上一些约束条件得到新的 Deep Learning
方法,如如果在 AutoEncoder 的基础上加上 L1 的 Regularity 限制(L1 主要是约束每一层
中的节点中大部分都要为 0,只有少数不为 0,这就是 Sparse 名字的来源),我们就可以
得到 Sparse AutoEncoder 方法。
b). Sparse Coding
如果我们把输出必须和输入相等的限制放松,同时利用线性代数中基的概念,即 O = w1*B1
+ W2*B2+....+ Wn*Bn, Bi 是基,Wi 是系数,我们可以得到这样一个优化问题:
Min |I - O|
通过求解这个最优化式子,我们可以求得系数 Wi 和基 Bi,这些系数和基础就是输入的另外
一种近似表达,因此,它们可以特征来表达输入 I,这个过程也是自动学习得到的。如果我
们在上述式子上加上 L1 的 Regularity 限制,得到:
Min |I - O| + u*(|W1| + |W2| + ... + |Wn|)
这种方法被称为 Sparse Coding。
c) Restrict Boltzmann Machine (RBM)
假设有一个二部图,每一层的节点之间没有链接,一层是可视层,即输入数据层(v),一层
是隐藏层(h),如果假设所有的节点都是二值变量节点(只能取 0 或者 1 值),同时假设全
概率分布 p(v, h)满足 Boltzmann 分布,我们称这个模型是 Restrict Boltzmann Machine
(RBM)。下面我们来看看为什么它是 Deep Learning 方法。首先,这个模型因为是二部图,
所以在已知 v 的情况下,所有的隐藏节点之间是条件独立的,即 p(h|v)
=p(h1|v).....p(hn|v)。同理,在已知隐藏层 h 的情况下,所有的可视节点都是条件独立的,
同时又由于所有的 v 和 h 满足 Boltzmann 分布,因此,当输入 v 的时候,通过 p(h|v) 可以
得到隐藏层 h,而得到隐藏层 h 之后,通过 p(v|h) 又能得到可视层,通过调整参数,我们
就是要使得从隐藏层得到的可视层 v1 与原来的可视层 v 如果一样,那么得到的隐藏层就是
可视层另外一种表达,因此隐藏层可以作为可视层输入数据的特征,所以它就是一种 Deep
Learning 方法。
如果,我们把隐藏层的层数增加,我们可以得到 Deep Boltzmann Machine (DBM);如果我
们在靠近可视层的部分使用贝叶斯信念网络(即有向图模型,当然这里依然限制层中节点之
间没有链接),而在最远离可视层的部分使用 Restrict Boltzmann Machine,我们可以得到
Deep Belief Net (DBN) 。
当然,还有其它的一些 Deep Learning 方法,在这里就不叙述了。总之,Deep Learning 能
够自动地学习出数据的另外一种表示方法,这种表示可以作为特征加入原有问题的特征集合
中,从而可以提高学习方法的效果,是目前业界的研究热点。
Deep Learning 的基本思想和方法
实际生活中,人们为了解决一个问题,如对象的分类(对象可是是文档、图像等),
首先必须做的事情是如何来表达一个对象,即必须抽取一些特征来表示一个对象,如文本的
处理中,常常用词集合来表示一个文档,或把文档表示在向量空间中(称为 VSM 模型),
然后才能提出不同的分类算法来进行分类;又如在图像处理中,我们可以用像素集合来表示
一个图像,后来人们提出了新的特征表示,如 SIFT,这种特征在很多图像处理的应用中表
现非常良好,特征选取得好坏对最终结果的影响非常巨大。因此,选取什么特征对于解决一
个实际问题非常的重要。
然而,手工地选取特征是一件非常费力、启发式的方法,能不能选取好很大程度上
靠经验和运气;既然手工选取特征不太好,那么能不能自动地学习一些特征呢?答案是能!
Deep Learning 就是用来干这个事情的,看它的一个别名 Unsupervised Feature Learning,
就可以顾名思义了,Unsupervised 的意思就是不要人参与特征的选取过程。因此,自动地
学习特征的方法,统称为 Deep Learning。
1)Deep Learning 的基本思想
假设我们有一个系统 S,它有 n 层(S1,…Sn),它的输入是 I,输出是 O,形象地表
示为: I =>S1=>S2=>…..=>Sn => O,如果输出 O 等于输入 I,即输入 I 经过这个系统
变化之后没有任何的信息损失,保持了不变,这意味着输入 I 经过每一层 Si 都没有任何的
信息损失,即在任何一层 Si,它都是原有信息(即输入 I)的另外一种表示。现在回到我们
的主题 Deep Learning,我们需要自动地学习特征,假设我们有一堆输入 I(如一堆图像或
者文本),假设我们设计了一个系统 S(有 n 层),我们通过调整系统中参数,使得它的输
出仍然是输入 I,那么我们就可以自动地获取得到输入 I 的一系列层次特征,即 S1,…, Sn。
另外,前面是假设输出严格地等于输入,这个限制太严格,我们可以略微地放松这个
限制,例如我们只要使得输入与输出的差别尽可能地小即可,这个放松会导致另外一类不同
的 Deep Learning 方法。上述就是 Deep Learning 的基本思想。
2)Deep Learning 的常用方法
a). AutoEncoder
最简单的一种方法是利用人工神经网络的特点,人工神经网络(ANN)本身就是具有
层次结构的系统,如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整
其参数,得到每一层中的权重,自然地,我们就得到了输入 I 的几种不同表示(每一层代表
一种表示),这些表示就是特征。在研究中可以发现,如果在原有的特征中加入这些自动学
习得到的特征可以大大提高精确度,甚至在分类问题中比目前最好的分类算法效果还要好!
这种方法称为 AutoEncoder。当然,我们还可以继续加上一些约束条件得到新的 Deep
Learning 方法,如在 AutoEncoder 的基础上加上 L1 的 Regularity 限制(L1 主要是约束每一
层中的节点中大部分都要为 0,只有少数不为 0,这就是 Sparse 名字的来源),我们就可
以得到 Sparse AutoEncoder 方法。
b). Sparse Coding
如果我们把输出必须和输入相等的限制放松,同时利用线性代数中基的概念,即 O =
w1*B1 + W2*B2+….+ Wn*Bn, Bi 是基,Wi 是系数,我们可以得到这样一个优化问题:
Min |I – O|
通过求解这个最优化式子,我们可以求得系数 Wi 和基 Bi,这些系数和基础就是输入的另外
一种近似表达,因此,它们可以特征来表达输入 I,这个过程也是自动学习得到的。如果我
们在上述式子上加上 L1 的 Regularity 限制,得到:
Min |I – O| + u*(|W1| + |W2|
+ … + |Wn|)
这种方法被称为 Sparse Coding。
c) Restrict Boltzmann Machine (RBM)
假设有一个二部图,每一层的节点之间没有链接,一层是可视层,即输入数据层(v),
一层是隐藏层(h),如果假设所有的节点都是二值变量节点(只能取 0 或者 1 值),同时假
设全概率分布 p(v, h)满足 Boltzmann 分布,我们称这个模型是 Restrict Boltzmann Machine
(RBM)。下面我们来看看为什么它是 Deep Learning 方法。首先,这个模型因为是二部图,
所以在已知 v 的情况下,所有的隐藏节点之间是条件独立的,即 p(h|v) =p(h1|v)…..p(hn|v)。
同理,在已知隐藏层 h 的情况下,所有的可视节点都是条件独立的,同时又由于所有的 v
和 h 满足 Boltzmann 分布,因此,当输入 v 的时候,通过 p(h|v) 可以得到隐藏层 h,而
得到隐藏层 h 之后,通过 p(v|h) 又能得到可视层,通过调整参数,我们就是要使得从隐藏
层得到的可视层 v1 与原来的可视层 v 如果一样,那么得到的隐藏层就是可视层另外一种表
达,因此隐藏层可以作为可视层输入数据的特征,所以它就是一种 Deep Learning 方法。
如果,我们把隐藏层的层数增加,我们可以得到 Deep Boltzmann Machine (DBM);
如果我们在靠近可视层的部分使用贝叶斯信念网络(即有向图模型,当然这里依然限制层中
节点之间没有链接),而在最远离可视层的部分使用 Restrict Boltzmann Machine,我们可
以得到 Deep Belief Net (DBN) 。
当然,还有其它的一些 Deep Learning 方法,在这里就不叙述了。总之,Deep Learning
能够自动地学习出数据的另外一种表示方法,这种表示可以作为特征加入原有问题的特征集
合中,从而可以提高学习方法的效果,是目前业界的研究热点。
原文链接:http://blog.csdn.net/xianlingmao/article/details/8478562
学习深度架构的突破
2006 年前,尝试训练深度架构都失败了:训练一个深度有监督前馈神经
网络趋向于产生坏的结果(同时在训练和测试误差中),然后将其变浅为 1(1 或者
2 个隐层)。
2006 年的 3 篇论文改变了这种状况,由 Hinton 的革命性的在深度信念网
(Deep Belief Networks, DBNs)上的工作所引领:
� Hinton, G. E., Osindero, S. and Teh, Y., A fast learning algorithm for deep belief
nets .Neural Computation 18:1527-1554, 2006
� Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle, Greedy
Layer-Wise Training of Deep Networks, in J. Platt et al. (Eds), Advances in Neural
Information Processing Systems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007
� Marc’Aurelio Ranzato, Christopher Poultney, Sumit Chopra and Yann
LeCun Efficient Learning of Sparse Representations with an Energy-Based Model,
in J. Platt et al. (Eds), Advances in Neural Information Processing Systems (NIPS
2006), MIT Press, 2007
在这三篇论文中以下主要原理被发现:
� 表示的无监督学习被用于(预)训练每一层;
� 在一个时间里的一个层次的无监督训练,接着之前训练的层次。在每一层学习到的
表示作为下一层的输入;
� 用无监督训练来调整所有层(加上一个或者更多的用于产生预测的附加层);
DBNs 在每一层中利用用于表示的无监督学习 RBMs。Bengio et al paper 探讨和对比
了 RBMs 和 auto-encoders(通过一个表示的瓶颈内在层预测输入的神经网络)。Ranzato et al
paper 在一个 convolutional 架构的上下文中使用稀疏 auto-encoders(类似于稀疏编码)。
剩余179页未读,继续阅读
南小鹏
- 粉丝: 33
- 资源: 289
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0