作家
登录

深度学习概述:从感知机到深度网络

作者: 来源: 2017-04-14 10:55:12 阅读 我要评论

今朝为止,我们已经学会了常见神经收集中最重要的元素了,然则我只写了很少的在实现过程中所碰到的挑衅。

梯度降低很常用,但在神经收集中,输入参数是一个练习误差的曲线。每个权重的最佳值应当是误差曲线中的全局最小值(上图中的 global minimum)。在练习过程中,权重以异常小的步幅改变(在每个样本或每小组样本练习完成后)以找到全局最小值,但这可不轻易,练习平日会停止在局部最小值上(上图中的local minima)。如例子中的,如不雅当前权重值为0.6,那么要向0.4偏向移动。

这个图表示的是最简单的情况,误差只依附于单个参数。然则,收集误差依附于每一个收集权重,误差函数异常、异常复杂。

可以看一下这个经由过程 testMLPSigmoidBP 办法用Java实现的简单(4-2-3)前馈神经收集,它将 IRIS 数据集进行了分类。这个数据集中包含了三类鸢尾属植物,特点包含花萼长度,花瓣长度等等。每一类供给50个样本给这个神经收集练习。特点被赋给输入神经元,每一个输出神经元代表一类数据集(“1/0/0” 表示这个植物是Setosa,“0/1/0”表示 Versicolour,而“0/0/1”表示 Virginica)。分类的缺点率是2/150(即每分类150个,错2个)。

好消息是反向传播算法供给了一种经由过程应用输出误差来修改两个神经元之间权重的办法。关系本身十分复杂,但对于一个给定结点的权重建改按如下办法(简单):

个中 E 是输出误差, w_i 是输入 i 的权重。

本质上这么做的目标是应用权重 i 来修改梯度的偏向。关键的处地点于误差的导数的应用,这可不必定好计算:你怎么样能给一个大年夜型收集中随机一个结点中的随机一个权重求导数呢?

谜底是:经由过程反向传播。误差的初次计算很简单(只要对预期值和实际值做差即可),然后经由过程一种奇妙的办法反向传回收集,让我们有效的在练习过程中修改权宿疾(期望)达到一个最小值。

隐含层

隐含层十分有趣。根据普适切近亲近道理,一个具有有限数量神经元的隐含层可以被练习成可切近亲近随便率性随机函数。换句话说,一层隐含层就强大年夜到可以进修任何函数了。这解释我们在多隐含层(如深度收集)的实践中可以获得更好的结不雅。

隐含层存储了练习数据的内涵抽象表示,和仁攀类大年夜脑(简化的类比)保存有对真实世界的抽象一样。接下来,我们将用各类办法来搞一下这个隐含层。

一个收集的例子

大年夜范围收集中的难题

神经收集中可以有多个隐含层:如许,在更高的隐含层里可以对其之前的隐含层构建新的抽象。并且像之前也提到的,如许可以更好的进修大年夜范围收集。增长隐含层的层数平日会导致两个问题:

1、梯度消掉:跟着我们添加越来越多的隐含层,反向传播传递给教逑点的信息会越来越少。实际上,因为信息向前反馈,不合层次间的梯度开端消掉,对收集中权重的影响也会变小。

2、过度拟合:也许这是机械进修的核心难题。扼要来说,过度拟合指的是对练习数据有着过于好的辨认效不雅,这时导至模型异常复杂。如许的结不雅会导致对练习数据有异常好的辨认较不雅,而对真实样本的辨认效不雅异常差。

下面我们来看看一些深度进修的算法是若何面对这些难题的。

自编码器

大年夜多半的机械进修入门课程都邑让你放弃前馈神经收集。然则实际上这琅绫擎大年夜有可为——请接着看。

自编码器就是一个典范的前馈神经收集,它的目标就是进修一种对数据集的紧缩且分布式的表示办法(编码思惟)。

大年夜概念上讲,神经收集的目标是要练习去“从新建立”输入数据,似乎输入和目标输出数据是一样的。换句话说:你正在让神经收集的输出与输入是同一样器械,只是经由了紧缩。这照样不好懂得,先来看一个例子。

紧缩输入数据:灰度图像

这里有一个由28x28像素的灰度图像构成的练习集,且每一个像素的值都作为一个输入层神经元的输入(这时输入层就会有784个神经元)。输出层神经元要有雷同的数量(784),且每一个输出神经元的输出值和输入图像的对应像素灰度值雷同。

在如许的算法架构背后,神经收集进修到的实际上并不是一个练习数据到标记的“映射”,而是去进修数据本身的内涵构造和特点(也恰是因为这,隐含层也被称作特点探测器(feature detector))。平日隐含层中的神经元数量要比输入/输入层的少,这是为了使神经收集只去进修最重要的特点并实现特点的降维。

我们想在中心层用很少的结点去在概念层上进修数据、产生一个紧致的表示办法。

为了更好的描述自编码器,再看一个应用。

此次我们应用一个简单的数据集,个中包含一些感冒的症状。如不雅感兴趣,这个例子的源码宣布在这里。

数据构造如下:

  • 输入数据一共六个二进制位
  • 前三位是病的证状。例如,1 0 0 0 0 0 代表病人发烧;0 1 0 0 0 0 代表咳嗽;1 1 0 0 0 0 代表即咳嗽又发烧等等。
  • 后三位表示抵抗才能,如不雅一个病人有这个,代表他/她不太可能患此病。例如,0 0 0 1 0 0 代表病人接种过流感疫苗。一个可能的组合是:0 1 0 1 0 0 ,这代表着一个接种过流感疫苗的咳嗽病人,等等。

当一个病人同时拥用前三位中的两位时,我们认为他生病了;如不雅至少拥用后三位中的两位,那么他是健康的,如:

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)