深度学习(Deep Learning)
2016-05-26 22:01
232 查看
1.1概述
1.1.1深度学习概念
深度学习利用多层神经网络结构,从大数据中学习现实世界中各类事务能直接被用于计算机计算的表示形式,被认为是智能机器可能的“大脑结构”。
简单的说,深度学习,就是使用多层神经网络来进行机器学习。
神经网络,它是一个带参数的函数,通过调整参数,可以拟合不同的函数。
而机器学习,就是一种让计算机自动调整函数参数以拟合想要的函数的过程。
对于深度学习,其使用的人工神经网络是一种多层前馈神经网络。用数学的语言描述,就是说神经网络所对应的函数是一个多个函数嵌套而成的函数。例如:f(x)=g3(g2(g1(x;w1);w2);w3).
虽然该模型被提出很久,但是学者们一直都无法找到很好的方法用以调整各个层次函数中的参数。近年,学者终于找到了第一种能够有效训练参数的方法,即逐层预训练并最后进行微调。所谓逐层预训练,就是用一种方法逐个训练。对于上式,就是用不同的方法分别确定参数w1,w2,w3的值,最后合在一起进行微调。
1.1.2深度学习的用武之地
深度学习可以用来干什么?
1)分类。分类任务的输出为一个离散的量。例如:垃圾邮件自动过滤系统,图像识别等
2)结构分类。结构分类是一类特殊的分类问题,其输出不是一个简单的离散的量,而是有多个离散的量构成的结构。例如:语音识别、句法分析、情感分析、机器翻译等
3)回归。回归问题不同与分类问题,它的输出不是离散的量,而是连续的实数。
1.2激活函数
不同的激活函数适合不同的具体问题和神经网络参数学习算法。如果期望得到离散的输出,可以使用阶跃激活函数
s(u)=1 (u>0) ; s(u)=0(u<=0)
如果期望得到连续的输出,可以使用一类被称为sigmoid的S型函数,例如Logistic函数:
g(u) = 1/(1+e^(-u))
1.3参数学习
1.3.1模型的评价
我们定义输出与期望输出的差别作为评价神经网络好坏的指标,例如我们可以将两个向量的距离的平方定义为这个差别。
我们在机器学习中称评价参数好坏的样本集为测试集。
1.3.2有监督的学习
损失函数可以用来评价模型的好坏,那么让损失函数的值最小的那组参数就应该是最好的参数。
在这里,我们定义两个集合,一个是测试集、另一个是训练集,参数的学习只针对训练集,找到使训练集损失尽量小的参数,然后在测试集上测试该组参数面对训练集之外样本的表现。
1.3.3梯度下降方法
处理参数优化问题,一个常用的方法是梯度下降法。
梯度下降法是一种迭代方法。首先任意选取一组参数,然后一次次地对这组参数进行微小的调整,不断使得新的参数的损失函数更小。
注意,梯度下降法是一个可以用来处理任何非约束优化问题的方法,但它并不能彻底解决该问题。它最大的不足是无法保证最终得到全局最优的结果。
1.4多层前馈网络
信号由左至右向前单向传播,每一列神经元构成一层,因为被称为多层前馈网络。网络相邻两层的任意神经元之间都有连接,此外没有层间连接或者跨越多层的连接。网络的输入输出数目和形式根据具体题目指定,网络层数和每层神经元的个数也是需要人为指定的。
我们用后向传播算法计算梯度。
计算梯度所使用的后向传播算法就是微积分中最为普通的链式法则的具体应用。
1.5深度学习的特征和不足之处
1.5.1深度学习带来了什么
1)强调了数据的抽象
2)强调了特征的自动学习
3)对连接主义的重视
连接主义:将本来是符号表示的对象还原成向量形式的”信号”再进行处理。
1.5.2深度学习尚未做到什么
1)缺少完善的理论
比如说,通过不断调整的参数获得了比较好的效果,但是我们不能解释为什么这样效果会好。
2)缺少更为宏观的框架
1.1.1深度学习概念
深度学习利用多层神经网络结构,从大数据中学习现实世界中各类事务能直接被用于计算机计算的表示形式,被认为是智能机器可能的“大脑结构”。
简单的说,深度学习,就是使用多层神经网络来进行机器学习。
神经网络,它是一个带参数的函数,通过调整参数,可以拟合不同的函数。
而机器学习,就是一种让计算机自动调整函数参数以拟合想要的函数的过程。
对于深度学习,其使用的人工神经网络是一种多层前馈神经网络。用数学的语言描述,就是说神经网络所对应的函数是一个多个函数嵌套而成的函数。例如:f(x)=g3(g2(g1(x;w1);w2);w3).
虽然该模型被提出很久,但是学者们一直都无法找到很好的方法用以调整各个层次函数中的参数。近年,学者终于找到了第一种能够有效训练参数的方法,即逐层预训练并最后进行微调。所谓逐层预训练,就是用一种方法逐个训练。对于上式,就是用不同的方法分别确定参数w1,w2,w3的值,最后合在一起进行微调。
1.1.2深度学习的用武之地
深度学习可以用来干什么?
1)分类。分类任务的输出为一个离散的量。例如:垃圾邮件自动过滤系统,图像识别等
2)结构分类。结构分类是一类特殊的分类问题,其输出不是一个简单的离散的量,而是有多个离散的量构成的结构。例如:语音识别、句法分析、情感分析、机器翻译等
3)回归。回归问题不同与分类问题,它的输出不是离散的量,而是连续的实数。
1.2激活函数
不同的激活函数适合不同的具体问题和神经网络参数学习算法。如果期望得到离散的输出,可以使用阶跃激活函数
s(u)=1 (u>0) ; s(u)=0(u<=0)
如果期望得到连续的输出,可以使用一类被称为sigmoid的S型函数,例如Logistic函数:
g(u) = 1/(1+e^(-u))
1.3参数学习
1.3.1模型的评价
我们定义输出与期望输出的差别作为评价神经网络好坏的指标,例如我们可以将两个向量的距离的平方定义为这个差别。
我们在机器学习中称评价参数好坏的样本集为测试集。
1.3.2有监督的学习
损失函数可以用来评价模型的好坏,那么让损失函数的值最小的那组参数就应该是最好的参数。
在这里,我们定义两个集合,一个是测试集、另一个是训练集,参数的学习只针对训练集,找到使训练集损失尽量小的参数,然后在测试集上测试该组参数面对训练集之外样本的表现。
1.3.3梯度下降方法
处理参数优化问题,一个常用的方法是梯度下降法。
梯度下降法是一种迭代方法。首先任意选取一组参数,然后一次次地对这组参数进行微小的调整,不断使得新的参数的损失函数更小。
注意,梯度下降法是一个可以用来处理任何非约束优化问题的方法,但它并不能彻底解决该问题。它最大的不足是无法保证最终得到全局最优的结果。
1.4多层前馈网络
信号由左至右向前单向传播,每一列神经元构成一层,因为被称为多层前馈网络。网络相邻两层的任意神经元之间都有连接,此外没有层间连接或者跨越多层的连接。网络的输入输出数目和形式根据具体题目指定,网络层数和每层神经元的个数也是需要人为指定的。
我们用后向传播算法计算梯度。
计算梯度所使用的后向传播算法就是微积分中最为普通的链式法则的具体应用。
1.5深度学习的特征和不足之处
1.5.1深度学习带来了什么
1)强调了数据的抽象
2)强调了特征的自动学习
3)对连接主义的重视
连接主义:将本来是符号表示的对象还原成向量形式的”信号”再进行处理。
1.5.2深度学习尚未做到什么
1)缺少完善的理论
比如说,通过不断调整的参数获得了比较好的效果,但是我们不能解释为什么这样效果会好。
2)缺少更为宏观的框架
相关文章推荐
- 个人logo 以前的设计
- 一些凌乱的小知识
- Linux系统安装VMware-Workstation-Full-12.1.0-3272444.x86_64.bundle
- java动态代理jdk与cglib详细讲解
- Android圆形头像。简单实用零依赖,拷贝即可使用
- 数据挖掘学习札记:KNN算法(一)
- 如何在SQL中实现条件判断功能?
- Java获得相对路径 - Eclipse下, 运行时, Tomcat下
- https 建立连接过程
- OpenCv显示一张图片
- Knockout.js用jquery的val设置值不更新
- 解决open-vm-tools安装时Failed to get unit file state for run-vmblockx2dfuse.mount
- 基础概念2
- TimesTen可以运行在VMware上吗?
- 基础概念2
- Linux基本命令
- 单例模式及php实现
- leetcode---Permutations
- 考研复习第三天-线性代数-矩阵运算
- URL如何编码与解码