您好,欢迎访问三七文档
DeepLearning目录深度学习简介深度学习的训练方法深度学习常用的几种模型和方法ConvolutionalNeuralNetworks卷积神经网络卷积神经网络(CNN)在脑机接口中的应用WhatisDeepLearning?Abriefintroduceofdeeplearning机器学习机器学习(MachineLearning)是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构市值不断改善自身的性能的学科,简单地说,机器学习就是通过算法,使得机器能从大量的历史数据中学习规律,从而对新的样本做智能识别或预测未来。机器学习在图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐等很多方面的发展还存在着没有良好解决的问题。特征的自学习传统的模式识别方法:通过传感器获取数据,然后经过预处理、特征提取、特征选择、再到推理、预测或识别。特征提取与选择的好坏对最终算法的确定性齐了非常关键的作用。而特征的样式目前一般都是靠人工提取特征。而手工选取特征费时费力,需要专业知识,很大程度上靠经验和运气,那么机器能不能自动的学习特征呢?深度学习的出现就这个问题提出了一种解决方案。深度学习自2006年,深度学习(DeepLearning)已经成为机器学习研究中的一个新兴领域,通常也被叫做深层结构学习或分层学习。其动机在于建立、模拟人脑进行分析学习的神经网络,它模拟人脑的机制来解释数据,例如图像,声音和文本,深度学习是无监督学习的一种。深度学习的概念源于人工神经网络的研究,含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,已发现数据的分布式特征表示。人脑的视觉机理1981年的诺贝尔医学奖获得者DavidHubel和TorstenWiesel发现了视觉系统的信息处理机制,他们发现了一种被称为“方向选择性细胞的神经元细胞,当瞳孔发现了眼前的物体的边缘,而且这个边缘指向某个方向时,这种神经元细胞就会活跃。由此可知人的视觉系统的信息处理是分级的,高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或者意图,抽象层面越高,存在的可能猜测就越少,就越利于分类。浅层学习与深度学习传统机器学习和信号处理技术探索仅含单层非线性变换的浅层学习结构。浅层模型的一个共性是仅含单个将原始输入信号转换到特定问题空间特征的简单结构。典型的浅层学习结构包括传统隐马尔科夫模型(HMM)、条件随机场(CRFs)、最大熵模型(MaxEnt)、支持向量机(SVM)、核回归及仅含单隐层的多层感知器(MLP)等。浅层结构的局限性在于有限的样本和计算单元情况下对复杂的函数表示能力有限,针对复杂分类问题其泛化能力受到一定的制约。受到大脑结构分层的启发,神经网络的研究发现多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;而深度神经网络在训练上的难度,可以通过“逐层初始化”来有效克服。深度学习可以通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,并展现了强大的从少数样本中集中学习数据及本质特征的能力。深度学习的实质通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。深度学习与浅层学习的区别强调了模型结构的深度,通常有5-10多层的隐层节点;明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。深度学习的训练方法与神经网络的异同深度学习与神经网络的异同神经网络深度学习深度学习与神经网络的异同相同点二者均采用分层结构,系统包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个logistic回归模型。不同点:采用不同的训练机制神经网络:采用BP算法调整参数,即采用迭代算法来训练整个网络。随机设定初值,计算当前网络的输出,然后根据当前输出和样本真实标签之间的差去改变前面各层的参数,直到收敛;深度学习:BP算法不适合深度神经网络,如果对所有层同时训练,时间复杂度会太高,如果每次训练一层,偏差逐层传递会出现过拟合。因此深度学习整体上是是一个分层训练机制。深度学习的训练过程自下而上的非监督学习:从底层开始,一层一层的往顶层训练,分别得到各层参数。采用无标签数据分层训练各层参数(可以看作是特征学习的过程)。自上而下的监督学习基于第一步的得到的各层参数进一步调整整个多层模型的参数,这一步是一个有监督的训练过程。深度学习的几种常用模型AutoEncoder(自动编码器)SparseCoding(稀疏编码)RestrictedBoltzmannMachine(限制玻尔兹曼机)DeepBeliefNetworks(深度信任网络)ConvolutionalNeuralNetworks(卷积神经网络)ConvolutionalNeuralNetworks(CNN)ConvolutionalNeuralNetworks(CNN)卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。卷积神经网络原理图如图所示,输入图像(Input)通过和三个可训练的卷积核和可加偏置进行卷积,卷积后在C1层产生三个特征映射图(Featuremap)然后,C1层的Featuremap在经过子采样(Subsampling)后,加权值,加偏置,再通过一个Sigmoid函数得到三个S2层的特征映射图。CNN的Convolution过程如图,原图像是5*5大小,有25个神经元,用一个3*3的卷积核对它进行卷积,得到了如右图所示的卷积后的Featuremap。该特征图大小为3*3。假设一种卷积核只提取出图像的一种特征,所以一般要多个卷积核来提取不同的特征,所以每一层一般都会有多张Featuremap。同一张Featuremap上的神经元共用一个卷积核,这大大减少了网络参数的个数。CNN的Pooling过程如果人们选择图像中的连续范围作为池化区域,并且只是池化相同(重复)的隐藏单元产生的特征,那么,这些池化单元就具有平移不变性(translationinvariant)。这就意味着即使图像经历了一个小的平移之后,依然会产生相同的(池化的)特征。图像具有一种“静态性(stationarity)”的属性,可以对图像某一个区域上的特征取平均值(或最大值)。这种聚合的操作就叫做池化(pooling)。CNN的优点参数减少与权值共享如下图所示,如果我们有1000x1000像素的图像,有1百万个隐层神经元,那么他们全连接的话(每个隐层神经元都连接图像的每一个像素点),就有个连接,也就是10^12个权值参数。12100010001000000=10局部连接网络,每一个节点与上层节点同位置附近10x10的窗口相连接,则1百万个隐层神经元就只有,即10^8个参数。其权值连接个数比原来减少了四个数量级。861010010卷积神经网络避免了显式的特征取样,隐式地从训练数据中进行学习。这使得卷积神经网络明显有别于其他基于神经网络的分类器,通过结构重组和减少权值将特征提取功能融合进多层感知器。它可以直接处理灰度图片,能够直接用于处理基于图像的分类。卷积神经网络较一般神经网络在图像处理方面有如下优点:a)输入图像和网络的拓扑结构能很好的吻合;b)特征提取和模式分类同时进行,并同时在训练中产生;c)权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。经典例子:文字识别系统LeNet-51.输入图像是32x32的大小,卷积核的大小是5x5的,则C1层的大小是28x28。这里设定有6个不同的C1层,每一个C1层内的权值是相同的。2.S2层是一个下采样层,由4个点下采样为1个点,也就是4个数的加权平均,加权系数也需要通过学习得到。这个过程也叫做Pool。3.我们很容易得到C3层的大小为10x10,不过,C3层有16个10x10网络!我们只需要按照一定的规则来组合S2的特征图。具体的组合规则在LeNet-5系统中给出了下面的表格:4.S4层是在C3层基础上进行下采样,前面已述。在后面的层中每一层节点个数比较少,都是全连接层,这里不再赘述。小结:经过计算,LeNet-5系统总共需要大约13万个参数,这与前面提到的全连接系统每个隐藏层就需要百万个参数有着天壤之别,极大地减少了计算量。在以上的识别系统中,每个特征图提取后都紧跟着一个用来求局部平均与二次提取的亚取样层。这种特有的两次特征提取结构使得网络对输入样本有较高的畸变容忍能力。也就是说,卷积神经网络通过局部感受野、共享权值和亚取样来保证图像对位移、缩放、扭曲的鲁棒性。ConvolutionalNeuralNetworksforP300DetectionwithApplicationtoBrain-ComputerInterfacesP300检测P300检测:检测P300的响应。二分类:信号呈一个P300波形,则认为检测到;否则,检测不到。挑战性:尽管我们可以从实验中的范例得知P300的预期响应在什么时候,但是P300的响应取决于被试者。实际上,即使一个P300响应可以被预测为在一个特定的时间点,但是被试者很可能不会在像人工产品一样在正确的时刻产生P300响应。输入正则化原始信号:由电极采集的EEG信号输入数据正则化:1.从EEG信号样本中提取子样本,从而降低数据的大小以便分析。等同于把信号用120HZ的抽样率采样。2.用0.1到20HZ的带通滤波器处理输入数据CNN的输入:一个矩阵。其中是我们采集EEG信号时所有的电极的数量。是每个电极采集到的EEG信号正则化以后长度。我们令。每个样本代表一部分经过650ms频闪灯后采集的信号。神经网络拓扑结构网络拓扑结构是分类器的关键特征。网络由五层组成,每一层由一个或多个特征图组成。一个特征图代表一层的本质,含有一个特殊的语义:1.第一层隐层的每个特征图代表一个电极通道的特征。2.第二层隐层时间域上对信号进行下采样和变换。神经网络拓扑结构CNN的学习规律2020/2/23在卷积神经网络的学习过程当中,主要运用前向传播和反向传播两种学习法则来优化权值,学习到一个最优的滤波器来提取特征。(1)前向传播如果用l来表示当前的网络层,那么当前网络层的输出为:其中,为网络的输出激活函数。输出激活函数一般选用sigmoid函数或者选用双曲线正切函数。llllllbxWuufx1)(,其中(.)f(2)反向传播算法我们假设训练集有N个训练样本,一共分成2类。对于每一个训练样本,我们会给予一个标签,通过调整网络输出与给定标签之间的误差来训练与改变权值。在代价函数方面,我们选择采用平方误差代价函数。因此N个训练样本的代价函数如下:NnknknkNytE1212)(212020/2/23对于N个训练样本中的第n个训练样本,它的代价函数表示为:22212n21)(21nnknknkytytE接下来需要根据每个样本的输出误差来反向调节每一层当中的权值系数,即计算代价函数对应于卷积神经网络中的每个权值的偏导数:buuEbE1buuEbE可以看到误差对于bias基b的灵敏度和误
本文标题:深度学习详解
链接地址:https://www.777doc.com/doc-3947207 .html