首页 » 漏洞 » 深度学习

深度学习

 

深度学习

深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。

深度学习的概念由Hinton等人于2006年提出。基于深度置信网络(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。


人工神经网络 ( Artifical Neural Network),标志着另外一种自下而上的思路。神经网络没有一个严格的正式定义。它的基本特点,是试图模仿大脑的神经元之间传递,处理信息的模式。

人工神经网络描述本质是一种特殊的有向图。这个有向图包括了一个或多个输入X,中间多个隐含层S,一个输出的结果Y。其中有向图的节点即是神经元,而连接弧即是神经。

这种流向图的一个特别属性是深度(depth):从一个输入到一个输出的最长路径的长度。

对于神经网络的有向图还具备如下特点:

a) 所有的节点都分层,每层节点通过弧连接指向下一层节点,但是同层没有弧连接。

b) 每条弧连接上都有权重值,根据权重值和上一个节点值就很容易计算出当前节点值。

c) 各层之间不能跨层进行弧连接。

d) 最终的神经元函数只能对输入变量线性组合结果进行一次非线性变换。

核心算法

人工神经网络在设计的时候有 两个重点,一个是它的结构,即网络分几层,每层分几个节点;第二个就是非线性函数f(.)的设计,常用的函数是指数函数。

神经网络的计算模型,依靠大量的数据来训练,在进行训练前首先要定义成本函数,而成本函数简单来说就是通过机器学习得出的结果和实际结果间的差距,或者说训练值本身的靠谱程度。

而学习和训练的算法即是根据成本函数的结果, 自学, 纠错, 最快地找到神经元之间最优化的加权值。 神经网络算法的核心就是:计算、连接、评估、纠错、疯狂培训。

对于学习的过程可以看到由于有多个S隐含层,因此隐含层越多,整个学习的复杂度和成本越大,整个学习过程也是一层一层逐步进行学习。

神经网络训练

整个神经网络的训练分为有监督的训练和无监督的训练。

有监督的训练: 即准备训练的数据样本的x输入,同时本身有y输出,我们需要的是将深度学习完成后的y1和我们期望的y进行差距比对,来最终确定训练结果中选择哪个权重系数最合适。简单来说,就是有了训练数据,定义了一个成本函数C,然后按照梯度下降法找到让成本达到最小值的那组参数。

而无监督的训练, 则是只有输入数据X,而没有对应的输出数据Y,这样上面的成本函数就无法定义。因此我们就需要定义一个新的成本函数,该成本函数能够在不知道正确的输出结果值的前提下,确定训练出来的模型究竟是好还是坏。

深度学习当前主要应用在计算机视觉,语音识别,自然语言处理等领域。

深度学习入门: https://www.zhihu.com/question/26006703

延伸阅读: http://tech.sina.com.cn/i/2016-02-23/doc-ifxprucu3124795.shtml

原文链接:深度学习,转载请注明来源!

0