版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章深度学习基础算法建模深度学习概述常见深度学习算法计算机视觉与深度学习自然语言处理与深度学习语音与深度学习常见深度学习算法深度学习中的核心就是各种各样的算法。常见的深度学习算法全连接神经网络;卷积神经网络;循环神经网络;对抗生成神经网络;迁移学习。全连接神经网络全连接神经网络是最基本的一种神经网络模型。其相邻两层之间任意两个节点之间都有连接。全连接神经网络——基本概念神经网络往往包含很多层,一层中又包含多个节点,每个节点是构成神经网络的最基本的单位,其中只含有单一节点的感知机模型被视为最简单的单层前向神经网络。复杂一点的神经网络含有全连接层和隐藏层。全连接神经网络——基本概念感知机1943年,美国神经生理学家WarrenSturgisMcCulloch和数理逻辑学家WalterPitts从生物神经元的结构上得到启发,提出了人工神经元的数学模型,并进一步被美国神经学家FrankRosenblatt发展并提出了感知机(Perceptron)模型。1957年,FrankRosenblatt在一台IBM-704计算机上面模拟实现了感知机模型,可以完成一些简单的视觉分类任务,如区分三角形、圆形、矩形等。全连接神经网络——基本概念图1为感知机模型的结构图图1全连接神经网络——基本概念感知机模型将一维向量
传入模型的输入层,每个输入节点拥有各自的通过权值,之后将各个输入层的输出进行加权汇集。图1中
称为感知机的偏置(Bias),各个输入节点的权值构成的一维向量
称为感知机的权值(Weight),各输入层的输出加权后的汇集结果称为感知机的净活性值(NetActivation)。将净活性值通过激活函数(Activationfunction)转换后得到活性值(Activation),最终得到二分类的结果。全连接神经网络——基本概念全连接层感知机模型的不可导特性严重约束了它的潜力,只能解决极其简单的任务。实际上,虽然现代深度学习的参数规模动辄数百万甚至上亿,但是核心结构与感知机并没有多大差别。在感知机的基础上,深度学习将不连续的阶跃激活函数换成了其他平滑连续激活函数,并通过堆叠多层网络层增强网络的表达能力。感知机通过替换激活函数,同时并行堆叠多个神经元实现多输入、多输出的网络层。由于每个输出节点与全部的输入节点相连接,这种网络层称为全连接层(Fully-connectedLayer),或者稠密连接层(DenseLayer)。全连接神经网络——基本概念全连接层的结构图2将2个神经元并行堆叠,即2个替换了激活函数的感知机,构成3输入节点和2个感知机的网络层。图2全连接神经网络——基本概念全连接层中的多个感知机同时接受一维向量
作为输入,之后对两个感知机
、
分别添加偏置
、
和激活函数后,最终得到一个输出向量
。整个网络层可以通过一次矩阵运算完成,即
,
为输入矩阵,
矩阵称为全连接层的权值矩阵,
向量叫做全连接层的偏置。全连接神经网络——基本概念隐藏层多层感知机是一种典型的全连接神经网络,在单层神经网络的基础上引入了一到多个隐藏层(HiddenLayer)。隐藏层位于输入层和输出层之间。全连接神经网络——基本概念图3为一个单隐藏层的多层感知机神经网络图图3全连接神经网络——基本概念在图3所示的多层感知机中,输入和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元(HiddenUnit)。由于输入层不涉及计算,所以此处的多层感知机的层数为2。隐藏层中的神经元和输入层中各个输入完全连接,输出层中的神经元和隐藏层中的各个神经元也完全连接。因此,多层感知机中的隐藏层和输出层都是全连接层。多层感知机的输入层接受一个小批量样本。之后隐藏层接受输入层的输出,得到隐藏层的输出(也称为隐藏层变量或隐藏变量)。最后隐藏层的输出传递至输出层,最终得到输出层的输出。全连接神经网络——基本概念激活函数神经网络中隐藏层和输出层都拥有激活函数,且不同层可以使用不一样的激活函数。常见的激活函数有Sigmoid、ReLU、LeakyReLU和Tanh等。全连接神经网络——基本概念函数名称定义函数曲线SigmoidReLU全连接神经网络——基本概念函数名称定义函数曲线LeakyReLUTanh全连接神经网络——常见算法常见的全连接神经网络有多层感知机、BP神经网络、RBF径向基神经网络等。算法名称简介多层感知机一种前向结构的人工神经网络,可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。多层感知机是感知器的推广,克服了感知器不能对线性不可分数据进行识别的弱点BP神经网络一种使用误差逆传播算法(BP算法)训练的神经网络,应用最为广泛的神经网络之一。BP算法对网络中所有权重计算损失函数的梯度,并反馈最优化方法,用于更新权值从而最小化损失函数RBF径向基神经网络一种单隐层前馈神经网络,使用径向基函数作为隐层神经元激活函数,输出层是对隐层神经元的输出的线性组合全连接神经网络——优缺点全连接神经网络的优点因为结构较为简单,因此更容易实现。通过增加隐藏层的层数能使得全连接网络更为灵活,能够应用于大部分的分类问题,具有广泛的应用领域。全连接神经网络的缺点需计算每层每个节点对应的权重参数,随着层数和节点的增加,权重和参数也会随之增加。特别是对于图像数据而言,使用全连接神经网络需要计算大量的权重和参数,这会极大的增加内存和计算量的消耗,同时更多的权重和连接也会引起过拟合的问题。卷积神经网络卷积神经网络(ConvolutionalNeuralNetwork)是含有卷积层(ConvolutionalLayer)的神经网络。卷积神经网络均使用最常见的二维卷积层。二维卷积层有高和宽两个空间维度,常用于处理图像数据。相比于全连接神经网络,卷积神经网络多出了卷积层(ConvolutionalLayer)和池化层(PoolingLayer)。卷积神经网络——基本概念卷积层卷积层由多个特征面(FeatureMap)组成,每个特征面由多个神经元组成,特征面的每一个神经元通过卷积核与上一层特征面的局部区域相连。卷积核是一个权值矩阵。卷积神经网络的卷积层通过卷积操作提取输入的不同特征,第一层卷积层提取低级特征,如边缘、线条、角落,更高层的卷积层提取更高级的特征。在二维卷积层中,一个二维输入数组和一个二维核(kernel)数组通过二维卷积计算输出一个二维数组。卷积神经网络——基本概念图4是一个二维卷积计算的例子输入是一个高和宽均为3的二维数组,形状记为3×3或(3,3)。核数组的高和宽分别为2,其在卷积计算中又称卷积核或过滤器(Filter)。卷积核窗口(又称卷积窗口)的形状取决于卷积核的高和宽,即2×2。上图的阴影部分从左到右分别为第一个输入子数组、核数组和第一个输出元素,其中第一个输出元素的计算为0×0+1×1+3×2+4×3=19。图4卷积神经网络——基本概念卷积窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动。当卷积窗口滑动到某一位置时,窗口中的输入子数组与核数组按元素相乘并求和,得到输出数组中相应位置的元素。卷积神经网络——基本概念池化层池化层的提出是为了缓解卷积层对位置的过度敏感性。在实际图像里,目标物体不会总出现在固定位置,即使连续拍摄同一个物体,也极有可能出现像素位置上的偏移。边缘像素偏移会导致同一个边缘对应的输出可能出现在卷积输出
中的不同位置,进而对后面的模式识别造成不便。与卷积层类似,池化层每次对输入数据的一个固定形状窗口(又称池化窗口)中的元素计算输出。计算池化窗口内元素的最大值或平均值的过程,分别称为最大池化或平均池化。卷积神经网络——基本概念二维最大池化层在二维最大池化层中,池化窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动。当池化窗口滑动到某一位置时,窗口中的输入子数组元素的最大值即输出数组中相应位置的元素。卷积神经网络——基本概念图5是池化窗口形状为2×2的最大池化图5卷积神经网络——基本概念二维平均池化层二维平均池化层的工作原理与二维最大池化层类似,区别在于二维最大池化层中的输出数组为输入子数组元素的最大值,而二维平均池化层中的输出数组为输入子数组元素的平均值。池化窗口形状为
的池化层称为
池化层,池化窗口形状为
的池化运算称为
池化。卷积神经网络——基本概念填充和步幅填充和步幅是卷积层和池化层的两个超参数。填充和步幅可以在给定形状的输入和卷积核的情况下改变输出形状。卷积神经网络——基本概念填充填充是指在输入数组高和宽的两侧分别填充元素(通常是0元素)。卷积神经网络通常使用的是高和宽相同且是奇数的卷积核,如1、3、5和7,因此两端上的填充个数是相等的。当卷积核的高和宽不同时,也可以通过设置高和宽上不同的填充数,使输出和输入具有相同的高和宽。池化层可以在输入的高和宽两侧进行填充,并调整窗口的移动步幅来改变输出形状。卷积神经网络——基本概念图6是对图4所示的输入数组进行填充在原输入数组的高和宽两侧分别添加了值为0的元素,使得输入数组的高和宽从3变成了5,并导致输出数组的高和宽由2增加到4。图6阴影部分从左到右分别为第一个输入子数组、核数组和第一个输出元素,其中第一个输出元素的计算为输入子数组与核数组的二维互相关计算,结果为0×0+0×1+0×2+0×3=0,即输入子数组与核数组按元素相乘并求和。图6卷积神经网络——基本概念步幅在二维卷积计算里,卷积窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动。每次滑动的行数和列数称为步幅。卷积神经网络——基本概念在图4所示的例子中,高和宽两个方向上步幅均为1,若在高上的步幅改为3、在宽上步幅改为2,其二维卷积运算如图7所示。图7卷积神经网络——基本概念输出第一列第二个元素时,卷积窗口向下滑动了3行,其计算为0×0+6×1+0×2+0×3=6。在输出第一行第二个元素时,卷积窗口向右滑动了2列,其计算为0×0+0×1+1×2+2×3=8。若卷积窗口在输入数组上再向右滑动2列时,由于输入元素无法填满窗口,则无结果输出。卷积神经网络——基本概念多输入通道当输入数据含多个通道时,需要构造一个输入通道数与输入数据的通道数相同的卷积核,从而能够与含多通道的输入数据做卷积运算。假设输入数据的通道数为,那么卷积核的输入通道数也为。设卷积核窗口形状为。当时,卷积核只包含一个形状为的二维数组;当时,会为每个输入通道各分配一个形状为的核数组。将这个数组在输入通道的维度上进行连结,得到一个形状为的卷积核。由于输入数据和卷积核各有个通道,可以在各个通道上对输入的二维数组和卷积核的二维核数组做互相关运算,再将这个互相关运算的二维输出按通道相加,得到一个二维数组。这就是含多个通道的输入数据与多输入通道的卷积核做二维互相关运算的输出。卷积神经网络——基本概念图8展示了含2个输入通道的二维卷积计算在每个通道上,二维输入数组与二维核数组做互相关运算,再按通道相加即得到输出。上图的阴影部分从左到右分别为第一个输入子数组、核数组和第一个输出元素,其中第一个输出元素的计算为(1×1+2×2+4×3+5×4)+(0×0+1×1+3×2+4×3)=56。图8卷积神经网络——基本概念多输出通道当输入通道有多个时,因为对各个通道的结果做了累加,所以不论输入通道数是多少,输出通道数总是为1。设卷积核输入通道数和输出通道数分别为
和
,高和宽分别为
和
。如果希望得到含多个通道的输出,那么可以为每个输出通道分别创建形状为
的核数组。将它们在输出通道上进行连结,卷积核的形状为
。在做卷积运算时,每个输出通道上的结果由卷积核在该输出通道上的核数组与整个输入数组计算而来。卷积神经网络——基本概念1×1卷积层存在一种特殊的多通道卷积层,其卷积窗口形状为1×1(
)。1×1卷积的主要计算发生在通道维上。将不同输入数组中在高和宽上相同位置的元素取出,在不同通道之间的按权重进行累加后将得到输出中每个对应的元素。假设将通道维当作特征维,将高和宽维度上的元素当成数据样本,那么1×1卷积层的作用与全连接层等价。卷积神经网络——基本概念图9为1×1卷积核的卷积计算图9卷积神经网络——基本概念池化层在处理多通道输入数据时,对每个输入通道分别池化,而不是像卷积层那样将各通道的输入按通道相加,这意味着池化层的输出通道数与输入通道数相等。卷积神经网络——常见算法常见的卷积神经网络有LeNet、AlexNet、ZFNet、VGGNet、GoogleNet和ResNet。算法名称简介LeNet第一个成功应用于数字识别问题的卷积神经网络,包含了深度学习的基本模块:卷积层,池化层,全连接层。LeNet是其他深度学习模型的基础,除去输入输出层,总共有6层网络AlexNet在2012年的ImageNet图像识别比赛中获得冠军,掀起了一波深度学习的热潮。AlexNet主要由5个卷积层和3个全连接层组成,使用了非线性激活函数ReLU,效果在深度较深的网络中超过Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题ZFNet通过使用可视化技术揭示了神经网络各层的作用和运作过程,可视化技术依赖于反卷积操作,即卷积的逆过程,将特征映射到像素上。ZFNet在AlexNet基础上进行改动,网络结构上并没有太大的突破,主要区别在于ZFNet是只用了一块GPU的稠密链接结构卷积神经网络——常见算法算法名称简介VGGNet有两种结构,分别为16层和19层。使用了3×3的卷积核和2×2最大池化核,通过不断加深网络结构提升性能,采用堆积的小卷积核优于采用大的卷积核,因为多层非线性层可以通过增加网络深层保证学习更复杂的模式,而且所需的参数较少GoogleNet采用9个Inception模块化的结构,共22层。主要思想是考虑怎样用容易获得的密集块结构近似覆盖卷积视觉网络的最优稀疏结构,增加了卷积神经网络的宽度,并在多个不同尺寸的卷积核上进行卷积后再聚合,还使用1×1卷积降维用于减少参数量ResNet针对网络加深时的退化问题而生,其基本思想是引入了能够跳过一层或多层“shortcutconnection”机制,不会给网络增加额外的参数和计算量,同时能够大大增加模型的训练速度,提高训练效果,并且当模型的层数加深时,能够很好的解决退化问题.常规的ResNet拥有5种深度,分别为18、34、50、101和152层卷积神经网络——优缺点比起全连接神经网络,卷积神经网络的每层中的神经元不再与上一层的所有神经元相连,并通过共享权重的连接方式,有效地减少了参数的计算量。通过共享的卷积核,使得卷积神经网络能够轻松的处理高维数据。无需手动选取特征,训练后自行获取的特征的分类效果较好。卷积神经网络的优点卷积神经网络需要手动调整超参数,且要求训练样本量足够多,在小规模样本上表现不好。通过使用GPU计算才能有效提升训练速度,且训练出的模型为“黑箱”模型,其卷积层提取的特征解释性不佳。卷积神经网络的缺点循环神经网络循环神经网络(RecurrentNeuralNetwork,RNN)是一类以序列数据为输入,在序列的演进方向根据之前时间步的信息进行递归且所有节点按链式连接的递归神经网络。循环神经网络——基本概念多层感知机通过添加隐藏状态变成循环神经网络。循环神经网络并非刚性地记忆所有固定长度的序列,而是通过隐藏状态来存储之前时间步的信息。循环神经网络——基本概念隐藏状态循环神经网络考虑输入数据存在时间相关性。循环神经网络会保存上一时间步的隐藏变量,并引入一个新的权重参数,用于描述当前时间步如何使用上一时间步的隐藏变量。时间步的隐藏变量的计算由当前时间步的输入和上一时间步的隐藏变量共同决定,这里的隐藏变量能够捕捉截止至当前时间步的序列中的历史信息,就像是神经网络当前时间步的状态或记忆一样。因此,该隐藏变量也称为隐藏状态。由于隐藏状态在当前时间步的定义使用了上一时间步的隐藏状态,因此隐藏状态的计算是循环的。使用循环计算的网络即循环神经网络。循环神经网络——基本概念循环神经网络有很多种不同的构造方法。含隐藏状态的循环神经网络是极为常见的一种。在某一时间步中,输出层的输出和多层感知机中的计算方法类似。循环神经网络的参数包括隐藏层的权重和偏置,以及输出层的权重和偏置。值得一提的是,即便在不同时间步,循环神经网络也始终使用这些模型参数。因此,循环神经网络模型参数的数量不随时间步的增加而增长。循环神经网络——基本概念图10循环神经网络在3个相邻时间步的计算逻辑图10循环神经网络——基本概念循环神经网络在3个相邻时间步的计算逻辑在时间步
,隐藏状态的计算可以看成是将输入
与前一时间步的隐藏状态
连结后,输入到一个激活函数为
的全连接输出层。该全连接层的输出就是当前时间步的隐藏状态
。当前时间步
的隐藏状态
将参与下一个时间步
的隐藏状态
的计算,并输入到当前时间步的全连接输出层。循环神经网络——基本概念通过时间反向传播通过时间反向传播(Back-PropagationThroughTime,BPTT)为循环神经网络中梯度的计算和存储方法。循环神经网络按时间步展开,从而得到模型变量和参数之间的依赖关系,并依据链式法则应用反向传播计算并存储梯度。循环神经网络——基本概念图11为循环神经网络模型计算图通过模型计算图可视化循环神经网络中模型变量和参数在计算中的依赖关系。其中时间步3的隐藏状态
的计算依赖模型参数
、
、上一时间步的隐藏状态
和当前时间步的输入
,其输出层变量为
,输出为
。图11循环神经网络——基本概念训练循环神经网络模型需要计算模型参数
、
和
的对应梯度
、
和
,根据图8中的依赖关系,可以按照其中箭头所指的反方向依次计算并存储梯度。循环神经网络中通过梯度的反向传播得到模型参数对应梯度的过程如下。计算目标函数有关各时间步输出层变量的梯度。循环神经网络——常见算法常见循环神经网络门控循环神经网络长短期记忆循环神经网络深度循环神经网络双向循环神经网络循环神经网络——常见算法门控循环神经网络当时间步数较大或者时间步较小时,循环神经网络的梯度较容易出现衰减或爆炸,循环神经网络在实际中较难捕捉时间步的序列中时间步距离较大的依赖关系。门控循环神经网络(GatedRecurrentNeuralNetwork)的提出,更好地捕捉时间步的序列中时间步距离较大的依赖关系。门控循环网络通过可以学习的门来控制信息的流动。门控循环单元(Gatedrecurrentunit,GRU)是一种常用的门控循环神经网络,引入了重置门(resetgate)和更新门(updategate)的概念,修改了循环神经网络中隐藏状态的计算方式。循环神经网络——常见算法重置门和更新门门控循环单元中的重置门为
,更新门为
,输入均为当前时间步的输入
与上一时间步的隐藏状态
,输出是通过sigmoid激活函数的全连接层计算得到的。sigmoid激活函数可以将元素的值变换到0和1之间。因此,重置门
和更新门
中每个元素的值域都为[0,1]。循环神经网络——常见算法图12为门控循环单元中重置门和更新门的计算图12循环神经网络——常见算法候选隐藏状态门控循环单元通过计算候选隐藏状态来辅助稍后的隐藏状态计算。将当前时间步的重置门的输出与上一时间步的隐藏状态按元素相乘(符号为)。如果重置门中元素值接近0,那么意味着重置对应隐藏状态元素为0,即丢弃上一时间步的隐藏状态。如果元素值接近1,那么表示保留上一时间步的隐藏状态。然后,将按元素乘法的结果与当前时间步的输入连结,再通过含tanh激活函数的全连接层计算出候选隐藏状态,其所有元素的值域为[−1,1]。循环神经网络——常见算法图13为门控循环单元中候选隐藏状态的计算图13循环神经网络——常见算法重置门控制了上一时间步的隐藏状态如何流入当前时间步的候选隐藏状态,而上一时间步的隐藏状态可能包含了时间步的序列截止至上一时间步的全部历史信息。因此,重置门可以用于丢弃与预测无关的历史信息。循环神经网络——常见算法隐藏状态使用当前时间步的更新门
对上一时间步的隐藏状态
和当前时间步的候选隐藏状态
做组合,可以计算时间步
的隐藏状态
。循环神经网络——常见算法图14为时间步
的隐藏状态
的计算图14循环神经网络——常见算法门控循环单元的设计特点重置门有助于捕捉时间步的序列里短期的依赖关系。更新门有助于捕捉时间步的序列里长期的依赖关系。循环神经网络——常见算法长短期记忆神经网络长短期记忆(LSTM)中引入了3个门,即输入门(InputGate)、遗忘门(ForgetGate)和输出门(OutputGate),以及与隐藏状态形状相同的记忆细胞,从而记录额外的信息。循环神经网络——常见算法图15为长短期记忆中输入门、遗忘门和输出门的计算图15循环神经网络——常见算法候选记忆细胞长短期记忆需要计算候选记忆细胞
,其计算与输入门
、遗忘门
和输出门
类似,区别在于计算
使用了值域在[−1,1]区间的tanh函数作为激活函数循环神经网络——常见算法图16为长短期记忆中候选记忆细胞的计算图16循环神经网络——常见算法记忆细胞可以通过元素值域在[0,1]的输入门、遗忘门和输出门控制隐藏状态中信息的流动,实质上也是通过使用按元素乘法(符号为
)实现。当前时间步记忆细胞的计算组合了上一时间步记忆细胞和当前时间步候选记忆细胞的信息,并通过遗忘门和输入门控制信息的流动。循环神经网络——常见算法图17图17为长短期记忆中记忆细胞的计算循环神经网络——常见算法图18图18为长短期记忆中隐藏状态
的计算循环神经网络——常见算法深度循环神经网络在深度学习应用中,通常会用到含有多个隐藏层的循环神经网络,即深度循环神经网络。循环神经网络——常见算法图19是一个有
个隐藏层的深度循环神经网络每个隐藏状态
不断传递至当前层的下一时间步
和当前时间步的下一层
。图19循环神经网络——常见算法与多层感知机类似,隐藏层个数
和隐藏单元个数
都是超参数。此外,如果将隐藏状态的计算换成门控循环单元或者长短期记忆的计算,那么可以得到深度门控循环神经网络。循环神经网络——常见算法双向循环神经网络有时当前时间步也可能由后面时间步决定。例如,人们写下一个句子时,可能会根据句子后面的词来修改句子前面的用词。双向循环神经网络通过增加从后往前传递信息的隐藏层更灵活地处理这类信息。循环神经网络——常见算法图20为一个简单的双向循环神经网络的架构图20循环神经网络——优缺点循环神经网络的优点循环神经网络的出现成功解决了输入数据序列化的问题,通过加入上一时刻隐藏层的输出,能够有效地处理时序问题。循环神经网络的缺点由于循环神经网络只能保存序列中比较短暂的内容,当序列较长时,序列在前的信息对后面序列的作用越来越弱,也就是梯度消失。而长短期记忆神经网络通过引入门机制,能够遗忘掉一部分梯度,在很大程度上减轻了梯度消失发生的概率。生成对抗网络原始的生成对抗网络(GenerativeAdversarialNetworks,GAN)是一种无监督学习方法,其巧妙地利用“博弈”的思想学习生成式模型,训练完成后即可生成全新的数据样本。生成对抗网络——基本概念GAN的基本原理非常简单,可以把GAN看作一个生成数据的工具,以生成图片数据为例说明其工作原理。假设生成网络为G(Generator)和判别网络为D(Discriminator)。生成网络G负责生成图片,接收一个随机的噪声z,通过z生成图片,将生成的图片记为G(z)。判别网络
负责判别一张图片x是不是“真实的”,输出D(x),其表示x为真实图片的概率,若D(x)=1,则表示x为真实图片的概率为100%,若D(x)=0,则表示x不可能是真实的图片。在训练过程中,生成网络G的目标是尽量生成真实的图片去欺骗判别网络D。而D的目标是尽量区分G生成的图片和真实的图片。G和D构成了一个动态的“博弈”,即GAN的基本思想。在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。D难以判定G生成的图片究竟是不是真实的,因此D(G(z))=0.5,此时得到了一个生成式的模型,可以用于生成图片。生成对抗网络——基本概念在上面的步骤中,每对
的参数更新一次,便紧跟着更新一次
的参数。有时还可以对
的参数更新
次后,再更新一次
的参数,这需要根据训练的实际情况进行调整。此外需要注意的是,由于
是希望损失越大越好,
是希望损失越小越好,所以
是加上梯度,
是减去梯度。当训练完成后,可以从噪声分布
中随机取出一个噪声,经过
运算后可以生成符合真实数据分布的新样本。生成对抗网络——常见算法除了最原始的GAN外,常见的生成对抗网络还有infoGAN、CGAN、DCGAN、WGAN、LSGAN和BEGAN等。算法名称简介infoGAN试图利用生成网络输入的连续噪声信号寻找一个可解释的表达。将连续噪声信号进行拆解,拆解为不可压缩的噪声和可解释的隐变量。通过约束隐变量与生成数据之间的关系,可以使得隐变量里面包含对数据的可解释的信息CGAN是对原始GAN的一个扩展,生成器和判别器都增加额外信息为条件,额外信息可以是任意类型的信息,如类别信息或其他状态信息。通过将额外信息输送给判别模型和生成模型,作为输入层的一部分,从而实现GGAN生成对抗网络——常见算法算法名称简介DCGAN是CGAN之后对GAN比较好的改进,其主要的改进的内容为网络结构。为GAN的训练提供了一个很好的网络拓扑结构,并表明生成的特征具有向量的计算特性,极大地提升了GAN训练的稳定性以及生成结果质量WGAN主要从损失函数的角度对GAN做了改进,WGAN在判别器最后一层去掉sigmoid激活函数,对生成器和判别器的损失不取log,对更新后的权重强制截断到一定范围内,如[−0.01,0.01],即使在全链接层上,损失函数改进之后的WGAN也能得到很好的表现结果LSGAN使用最小二乘损失函数代替了GAN的损失函数,认为使用JS散度并不能拉近真实分布和生成分布之间的距离,使用最小二乘损失函数可以将图像的分布尽可能的接近决策边界,缓解GAN训练不稳定和生成图像质量差且多样性不足的问题BEGAN提出了一种新的简单且强大的GAN,使用标准的训练方式,不添训练技巧也能很快且稳定的收敛。对于GAN中生成器G和判别器D的能力的平衡提出了一种均衡的概念,证明了GAN均衡点的存在,提出了一个准确的衡量指标说明GAN的均衡程度生成对抗网络——优缺点生成对抗网络能更好地针对数据分布构建模型,使得图像更为锐利和清晰。理论上GAN能训练任何一种生成网络,而其他的框架往往要求生成网络具有特定的函数形式。GAN无需利用马尔可夫链反复采样,无需在学习过程中进行推断,没有复杂的变分下界,避开了近似计算棘手的概率的难题。生成对抗网络的优点迁移学习迁移学习(TransferLearning)是机器学习的一个研究方向,主要研究如何将任务A学习到的知识迁移到任务B上,以提供任务B上的泛化性能。例如,任务A为猫和狗分类问题,需要训练一个分类器能够较好的分辨猫和狗的样本,任务B为牛和羊分类问题,可以发现,任务A和任务B存在大量的共享知识,如这些动物都可以从毛发、体型、形态等方面进行辨别,因此在任务A训练获得的分类器已经掌握了这部份知识,在训练任务B的分类器时,可以不从零开始训练,而是基于在任务A获得的知识的基础上进行训练或微调,这与“站在巨人的肩膀上”思想非常类似。通过迁移任务A的知识,在任务B上训练分类器可以使用更少的样本,以更少的训练代价获得不错的泛化能力。迁移学习——基本概念迁移学习的方法基本方法数据分布自始应特征选择子空间学习深度迁移学习…..迁移学习——基本概念迁移学习的基本方法可以分为4种,即基于样本的迁移、基于特征的迁移、基于模型的迁移及基于关系的迁移。基本方法说明基于样本的迁移根据一定的权重生成规则,对数据样本进行重用,来进行迁移学习。样本实例权重法具有较好的理论支撑、容易推导泛化误差上界,但这类方法通常只在领域间分布差异较小时有效,因此对自然语言处理、计算机视觉等任务效果并不理想基于特征的迁移指将通过特征变换的方式互相迁移,来减少源域(样本)和目标域之间的差距;或将源域和目标域的数据特征变换到统一特征空间中,然后利用传统的机器学习方法进行分类识别。根据特征的同构和异构性,又可以分为同构和异构迁移学习。基于特征的迁移学习方法大多与神经网络进行结合,在神经网络的训练中进行学习特征和模型的迁移迁移学习——基本概念基本方法说明基于模型的迁移指从源域和目标域中找到他们之间共享的参数信息,以实现迁移的方法。这种迁移方式要求的假设条件为源域中的数据与目标域中的数据可以共享一些模型的参数。目前大多数基于模型的迁移学习方法都与深度神经网络进行结合,这些方法对现有的一些神经网络结构进行修改,在网络中加入领域适配层,然后联合进行训练。因此这些方法也可以看作是基于模型、特征的方法的结合基于关系的迁移这种方法比较关注源域和目标域的样本之间的关系。基于关系的迁移学习方法的相关研究工作非常少,大部分都借助于马尔可夫逻辑网络(MarkovLogicNet)挖掘不同领域之间的关系相似性迁移学习——基本概念数据分布自适应数据分布自适应(DistributionAdaptation)是一类最常用的迁移学习方法。数据分布自适应方法的基本思想是,由于源域和目标域的数据概率分布不同,那么最直接的方式就是通过一些变换,将不同的数据分布的距离拉近。根据数据分布的性质,数据分布自适应可以分为边缘分布自适应、条件分布自适应和联合分布自适应。迁移学习——基本概念数据分布自适应的方法方法说明边缘分布自适应该方法的目标是通过减小源域和目标域的边缘概率分布的距离,从而完成迁移学习条件分布自适应该方法的目标是通过减小源域和目标域的条件概率分布的距离,从而完成迁移学习联合分布自适应该方法的目标是通过是减小源域和目标域的联合概率分布的距离,从而完成迁移学习迁移学习——基本概念特征选择特征选择法的基本假设为:源域和目标域中均含有一部分公共的特征,在这部分公共的特征上,源领域和目标领域的数据分布是一致的。特征选择方法的目标是通过机器学习方法,选择出这部分共享的特征,即可依据这些特征构建模型。迁移学习——基本概念子空间学习子空间学习法通常假设源域和目标域数据在变换后的子空间中会有着相似的分布。按照特征变换的形式,子空间学习法可分为基于统计特征变换的统计特征对齐方法和基于流形变换的流形学习方法两种。迁移学习——基本概念子空间学习法方法方法说明统计特征对齐该方法主要将数据的统计特征进行变换对齐。对齐后的数据可以利用传统机器学习方法构建分类器进行学习。子空间对齐(SubspaceAlignment,SA)方法实现比较简单,计算过程高效,是特征对齐方法中的代表性成果。SA方法直接寻求一个线性变换M,将不同的数据实现变换对齐流形学习该方法基本假设为现有的数据是从一个高维空间中采样得到,所以数据具有高维空间中的低维流形结构。在流形空间中的特征通常都有着很好的几何性质,可以避免特征扭曲。该方法把源域和目标域分别看成高维空间(即Grassmann流形)中的两个点,在这两个点的测地线距离上取多个中间点,然后依次连接起来,从而在源域和目标域就构成了一条测地线的路径。只需要找到合适的每一步的变换,就能从源域变换到目标域迁移学习——基本概念深度迁移学习对比传统的非深度迁移学习方法,深度迁移学习直接提升了在不同任务上的学习效果。由于深度学习直接对原始数据进行学习,所以其对比非深度方法还有两个优势:自动化地提取更具表现力的特征;满足实际应用中的端到端(End-to-End)需求。迁移学习——基本概念深度网络的Fine-Tune是最简单的深度网络迁移方法。Fine-Tune也称为微调或fine-tuning,是深度学习中的一个重要概念。Fine-Tune是利用已经训练好的网络,针对自己的任务再进行调整。假设准备采用的预训练好的网络非常复杂,若直接用来从头开始训练
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西中国舞培训教程课件
- 七年级道德与法治上册第三单元师长情谊第六课师生之间第1课时走近老师教案新人教版
- 三年级科学下册第四单元关心天气4今天刮什么风教案苏教版1
- 《读书考试法》课件
- 小学生语法精讲课件
- 工艺基础培训课件
- 《陈列无声的语言》课件
- 培训专员课件
- 小学生语文作文冬天课件
- 人教版七年级上册数学有理数计算题分类及混合运算练习题(200题)
- 高血压急症的紧急处理与护理
- 数字工程勘察信息平台构建
- 喷涂设备保养和维护操作规程
- 中国特色社会主义理论与实践复习资料-研究生
- 抖音学习考试题及答案
- 北师大附中2024届高一上数学期末联考试题含解析
- 后勤外包服务保密管理制度范文
- 小学国庆节主题活动方案设计(四篇)
- 行政事业单位内部控制培训课件
- 2009别克昂科雷维修手册gd扉页
- 数字化转型对企业创新能力的影响研究
评论
0/150
提交评论