神经网络及深度学习简介
10 /33
Reliability Research Group
深度学习框架
问题1: 如何解决梯度消失以及易陷入最优 解问题?
神经网络层数越多,刻画 现实能力越强 问题2: 使用何种方法从低层次特征中学习 高层次特征?
11 /33
Reliability Research Group
问题1解决方法
12 /33
Reliability Research Group
问题1解决方法
第二阶段:
第二个阶段开始的标志就是2012年IMAGENET比赛中,CNN以压 倒性优势取得胜利,自此开始深度学习才真正引人关注起来。虽然都叫深 度学习,但其侧重点完全不同,通过一些手段,比如relu, dropout等小技巧, 第二波深度学习算法已经基本抛弃了预训练的做法。所以里面除了自编码 网络基本没有逐层预训练这种东西。 传统Sigmoid系激活函数 稀疏性激活函数ReLU
5 /33
Reliability Research Group
举例
BP(Back Propagation)神经网络
BP神经网络是一种多层的前馈神经网络,其 主要的特点是:信号是前向传播的,而误差是反 向传播的。具体来说,对于如下的只含一个隐层 的神经网络模型: BP神经网络的过程主要分为两 个阶段,第一阶段是信号的前 向传播,从输入层经过隐含层, 最后到达输出层;第二阶段是 误差的反向传播,从输出层到 隐含层,最后到输入层,依次 调节隐含层到输出层的权重和 偏置,输入层到隐含层的权重 和偏置。
3 /33
Reliability Research Group
人工神经网络
定义:在机器学习和认知科学领域,人工神经网络(artificial neural network,缩写ANN),简称神经网络(neural network,缩写 NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统, 特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估 计或近似。神经网络由大量的人工神经元联结进行计算。大多数情况下 人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。 现代神经网络是一种非线性统计性数据建模工具。
17 /33
Reliability Research Group
问题2解决方法
问题2: 使用何种方法从低层次特征 中学习高层次特征?
深度学习特征 表示
18 /33
Reliability Research Group
卷积神经网络
卷积神经网络
卷积神经网络(convolutional neuron networks,CNN)由一个或多个卷 积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重 和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据 的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方 面能够给出更优的结果。这一模型也可以使用反向传播算法进行训练。相比 较其他深度、前馈神经网络,卷积神经网络需要估计的参数更少,使之成为 一种颇具吸引力的深度学习结构。
7 /33
Reliability Research Group
BP神经网络2、隐含层的输出 Nhomakorabea如上面的三层BP网络所示,隐含层的输出 为
3、输出层的输出
5、权值的更新
权值的更新公式为:
4、误差的计算 我们取误差公式为:
6、偏置的更新
偏置的更新公式为: 其中 为期望输出。我们记 ,则 可以表示为
8 /33
19 /33
Reliability Research Group
卷积神经网络
上图中CNN要做的事情是:给定一张图片,是车还是马未知,是什么车也未 知,现在需要模型判断这张图片里具体是一个什么东西,总之输出一个结果: 如果是车 那是什么车
20 /33
Reliability Research Group
14 /33
Reliability Research Group
问题1解决方法
Dropout:
训练神经网络模型时,如果训练样本较少,为了防止模型过拟合, Dropout可以作为一种trikc供选择。Dropout是hintion最近2年提出的, 源于其文章Improving neural networks by preventing co-adaptation of feature detectors.中文大意为:通过阻止特征检测器的共同作用来提高 神经网络的性能。 Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作, 不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重 得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得 工作了。
第一阶段:
2006年Hinton提出的逐层预训练方法,为了解决深层神经网络的训 练问题,一种有效的手段是采取无监督逐层训练(unsupervised layerwise training),其基本思想是每次训练一层隐节点,训练时将上一层隐节 点的输出作为输入,而本层隐节点的输出作为下一层隐节点的输入,这被 称之为“预训练”(pre-training);在预训练完成后,再对整个网络进行 “微调”(fine-tunning)训练。 事实上,“预训练+微调”的训练方式可被视为是将大量参数分组, 对每组先找到局部看起来较好的设置,然后再基于这些局部较优的结果联 合起来进行全局寻优。这样就在利用了模型大量参数所提供的自由度的同 时,有效地节省了训练开销。
理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意 味着它能完成更复杂的学习任务。神经网络的层数直接决定了它对现实的 刻画能力——利用每层更少的神经元拟合更加复杂的函数。但是随着神经 网络层数的加深,优化函数越来越容易陷入局部最优解(即过拟合,在训 练样本上有很好的拟合效果,但是在测试集上效果很差),并且这个“陷 阱”越来越偏离真正的全局最优。利用有限数据训练的深层网络,性能还 不如较浅层网络。 9 /33
神经网络简介 深度学习框架简介
3. 应用实例
4. 总结
2 /33
Reliability Research Group
背景及意义
神经网络(Neural Network, NN)是机器学习的一个分支; 神经网络的基本理论形成于上世纪40年代后期,心理学家唐纳德·赫 布根据神经可塑性的机制创造了一种对学习的假说,现在称作赫布型 学习; 深度学习框架(Deep Learning)可以追溯到1980年福岛邦彦提出的 新认知机; 深度学习可以说是神经网络的品牌重塑;
6 /33
Reliability Research Group
BP神经网络
在知道了BP神经网络的特点后,我们需要依据信号的前 向传播和误差的反向传播来构建整个网络。
1、网络的初始化 假设输入层的节点个数为 ,隐含层的节点个数 为 ,输出层的节点个数为 。输入层到隐含层的权 重 ,隐含层到输出层的权重为 ,输入层到隐含 层的偏置为 ,隐含层到输出层的偏置为 。学习速 率为 ,激励函数为 。其中激励函数为取Sigmoid 函数。形式为:
Reliability Research Group
深度学习框架
基本概念
深度学习的基础是机器学习中的分散表示(distributed representation)。 分散表示假定观测值是由不同因子相互作用生成。在此基础上,深度学习 进一步假定这一相互作用的过程可分为多个层次,代表对观测值的多层抽 象。不同的层数和层的规模可用于不同程度的抽象。 深度学习运用了这分层次抽象的思想,更高层次的概念从低层次的概念 学习得到。这一分层结构常常使用贪婪算法逐层构建而成,并从中选取有 助于机器学习的更有效的特征. 不少深度学习算法都以无监督学习的形式出现,因而这些算法能被应用 于其他算法无法企及的无标签数据,这一类数据比有标签数据更丰富,也 更容易获得。这一点也为深度学习赢得了重要的优势。
卷积神经网络
最左边是数据输入层,对数据做一些处理,比如去均值(把输入数据各个维度都 中心化为0,避免数据过多偏差,影响训练效果)、归一化(把所有的数据都归 一 到同样的范围)、PCA/白化等等。CNN只对训练集做“去均值”这一步。 CONV:卷积计算层,线性乘积 求和。 RELU:激励层,上文中有提到:ReLU是激活函数的一种。 POOL:池化层,简言之,即取区域平均或最大。 FC:全连接层
Reliability Research Group
传统神经网络问题
福岛邦彦提出的新认知机引入了使用无监督学习训练的卷积神经网络。 燕乐存将有监督的反向传播算法应用于这一架构。事实上,从反向传播算 法自20世纪70年代提出以来,不少研究者都曾试图将其应用于训练有监督 的深度神经网络,但最初的尝试大都失败。赛普· 霍克赖特在其博士论文 中将失败的原因归结为梯度消失,这一现象同时在深度前馈神经网络和递 归神经网络中出现,后者的训练过程类似深度网络。 在分层训练的过程中,本应用于修正模型参数的误差随着层数的增加 指数递减,这导致了模型训练的效率低下。
13 /33
Reliability Research Group
问题1解决方法
Relu:
第一,对于深层网络,sigmoid函数反向传播时,很容易就会出现 梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0, 这种情况会造成信息丢失),从而无法完成深层网络的训练。第二, Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且 减少了参数的相互依存关系,缓解了过拟合问题的发生。 传统Sigmoid系激活函数 稀疏性激活函数ReLU
激励函数(Activity Rule): 大部分神 经网络模型具有一个短时间尺度的动力 学规则,来定义神经元如何根据其他神 经元的活动来改变自己的激励值。一般 激励函数依赖于网络中的权重(即该网 络的参数)。