网站制作顺序,wordpress文章引用格式,淘宝代运营去哪里找,网络营销学校哪个比较好文章目录目录1. 深度学习基础1.1 深度学习总览1.2 深度网络训练过程1.2.1 传统神经网络的训练方法为什么不能用在深度神经网络1.2.2 deep learning训练过程1.3 数学知识#xff1a;2. 九种深度学习模型2.1 受限玻尔兹曼机RBM2.2 自编码器AE#xff08;降维#xff09;2.3 深…
文章目录目录1. 深度学习基础1.1 深度学习总览1.2 深度网络训练过程1.2.1 传统神经网络的训练方法为什么不能用在深度神经网络1.2.2 deep learning训练过程1.3 数学知识2. 九种深度学习模型2.1 受限玻尔兹曼机RBM2.2 自编码器AE降维2.3 深层信念网络DBN2.4 深层玻尔兹曼机DBM2.5 循环神经网络RNN2.6 卷积神经网络CNN2.7 其他模型3. 深度学习的混合模型广泛应用和开发工具目录
1. 深度学习基础
1.1 深度学习总览
1.应用计算机视觉、自然语言处理NLP 2.硬件显卡的处理器GPU图形处理器 3.流行卷积神经网络CNN、循环神经网络RNN 4.框架TensorFlowPython、CaffeC 5.基础Hopefield网络、玻尔兹曼机BM、限制玻尔兹曼机RBM 6.起因浅层神经网络可以近似任意函数而高层可以综合应用低层信息 ;低层关注局部高层关注全局。 7.稀疏编码用几个较少的基将信号表示出来重复迭代的过程 8.训练机制layer-wise BP机制对于7层以上残差传到最前面层很小出现梯度扩散
1.2 深度网络训练过程
1.2.1 传统神经网络的训练方法为什么不能用在深度神经网络
BP算法作为传统训练多层网络的典型算法实际上对仅含几层网络该训练方法就已经很不理想。深度结构涉及多个非线性处理单元层非凸目标代价函数中普遍存在的局部最小是训练困难的主要来源。
BP算法存在的问题 梯度越来越稀疏从顶层越往下误差校正信号越来越小收敛到局部最小值尤其是从远离最优区域开始的时候随机值初始化会导致这种情况的发生一般我们只能用有标签的数据来训练但大部分的数据是没标签的而大脑可以从没有标签的的数据中学习
1.2.2 deep learning训练过程 一是自底向上无监督预训练每次训练一层网络逐层构建单层神经元二是自顶向下有监督调优 当所有层训练完后使用wake-sleep算法调优 无监督预训练的过程特征学习的过程 参考博客
1.3 数学知识 矩阵论、概率论贝叶斯公式、信息论熵、概率图模型 概率有向图模型贝叶斯网络、信念网络概率无向图模型马尔可夫网络、马尔可夫随机场部分有向无圈图模型链图模型
2. 九种深度学习模型
2.1 受限玻尔兹曼机RBM 2.2 自编码器AE降维 2AE学习算法
2.3 深层信念网络DBN
1.初识深度信念网络深度信念网络是一个概率生成模型与传统的判别模型的神经网络相对生成模型是建立一个观察数据和标签之间的联合分布对P(Observation|Label)和 P(Label|Observation)都做了评估而判别模型仅仅而已评估了后者也就是P(Label|Observation)。 DBNs由多个限制玻尔兹曼机Restricted Boltzmann Machines层组成一个典型的网络结构如图1所示。这些网络被“限制”为一个可视层和一个隐层层间存在连接但层内的单元间不存在连接。隐层单元被训练去捕捉在可视层表现出来的高阶数据的相关性。 图12.需要面对的问题
对于在深度神经网络应用传统的BP算法的时候DBN遇到了以下问题
1需要为训练提供一个有标签的样本集
2学习过程较慢
3不适当的参数选择会导致学习收敛于局部最优解。
Solution 首先先不考虑最顶构成一个联想记忆associative memory的两层一个DBN的连接是通过自顶向下的生成权值来指导确定的RBMs就像一个建筑块一样相比传统和深度分层的sigmoid信念网络它能易于连接权值的学习。 最开始的时候通过一个非监督贪婪逐层方法去预训练获得生成模型的权值非监督贪婪逐层方法被Hinton证明是有效的并被其称为对比分歧contrastive divergence。 图2在这个训练阶段在可视层会产生一个向量v通过它将值传递到隐层。反过来可视层的输入会被随机的选择以尝试去重构原始的输入信号。最后这些新的可视的神经元激活单元将前向传递重构隐层激活单元获得h在训练过程中首先将可视向量值映射给隐单元然后可视单元由隐层单元重建这些新可视单元再次映射给隐单元这样就获取新的隐单元。执行这种反复步骤叫做吉布斯采样。这些后退和前进的步骤就是我们熟悉的Gibbs采样而隐层激活单元和可视层输入之间的相关性差别就作为权值更新的主要依据。 训练时间会显著的减少因为只需要单个步骤就可以接近最大似然学习。增加进网络的每一层都会改进训练数据的对数概率我们可以理解为越来越接近能量的真实表达。这个有意义的拓展和无标签数据的使用是任何一个深度学习应用的决定性的因素。 在最高两层权值被连接到一起这样更低层的输出将会提供一个参考的线索或者关联给顶层这样顶层就会将其联系到它的记忆内容。而我们最关心的最后想得到的就是判别性能例如分类任务里面。 在预训练后DBN可以通过利用带标签数据用BP算法去对判别性能做调整。在这里一个标签集将被附加到顶层推广联想记忆通过一个自下向上的学习到的识别权值获得一个网络的分类面。这个性能会比单纯的BP算法训练的网络好。这可以很直观的解释DBNs的BP算法只需要对权值参数空间进行一个局部的搜索这相比前向神经网络来说训练是要快的而且收敛的时间也少。
3.详细训练算法流程 图3在训练时, Hinton采用了逐层无监督的方法来学习参数。如图3所示首先把数据向量x和第一层隐藏层作为一个RBM, 训练出这个RBM的参数(连接x和h1的权重, x和h1各个节点的偏置等等), 然后固定这个RBM的参数, 把h1视作可见向量, 把h2视作隐藏向量, 训练第二个RBM, 得到其参数, 然后固定这些参数, 训练h2和h3构成的RBM, 具体的训练算法如下: CD的训练过程中用到了Gibbs 采样即在训练过程中首先将可视向量值映射给隐单元然后用隐层单元重建可视向量接着再将可视向量值映射给隐单元……反复执行这种步骤。 k-Gibbs的过程如下 其中P是model distribution是training set distribution DBN训练算法 DBN运用CD算法逐层进行训练得到每一层的参数Wi和ci用于初始化DBN之后再用监督学习算法对参数进行微调。 4.经典网络结构 经典的DBN网络结构是由若干层 RBM 和一层 BP 组成的一种深层神经网络, 结构如下图4所示. 图4DBN 在训练模型的过程中主要分为两步: 第 1 步分别单独无监督地训练每一层 RBM 网络,确保特征向量映射到不同特征空间时,都尽可能多地保留特征信息; 第 2 步在 DBN 的最后一层设置 BP 网络,接收 RBM 的输出特征向量作为它的输入特征向量,有监督地训练实体关系分类器.而且每一层 RBM 网络只能确保自身层内的 权值对该层特征向量映射达到最优,并不是对整个 DBN 的特征向量映射达到最优,所以反向传播网络还将错误信息自顶向下传播至每一层 RBM,微调整个 DBN 网络.RBM 网络训练模型的过程可以看作对一个深层 BP 网络权值参数的初始化,使DBN 克服了 BP 网络因随机初始化权值参数而容易陷入局部最优和训练时间长的缺点. 上述训练模型中第一步在深度学习的术语叫做预训练第二步叫做微调。最上面有监督学习的那一层根据具体的应用领域可以换成任何分类器模型而不必是BP网络。
5.拓展 DBN的灵活性使得它的拓展比较容易。一个拓展就是卷积DBNsConvolutional Deep Belief Networks(CDBN)。DBN并没有考虑到图像的2维结构信息因为输入是简单的从一个图像矩阵一维向量化的。而CDBN就是考虑到了这个问题它利用邻域像素的空域关系通过一个称为卷积RBM的模型区达到生成模型的变换不变性而且可以容易得变换到高维图像。DBN并没有明确地处理对观察变量的时间联系的学习上虽然目前已经有这方面的研究例如堆叠时间RBMs以此为推广有序列学习的dubbed temporal convolutionmachines这种序列学习的应用给语音信号处理问题带来了一个让人激动的未来研究方向。 目前和DBN有关的研究包括堆叠自动编码器它是通过用堆叠自动编码器来替换传统DBN里面的RBM。这就使得可以通过同样的规则来训练产生深度多层神经网络架构但它缺少层的参数化的严格要求。与DBN不同自动编码器使用判别模型这样这个结构就很难采样输入采样空间这就使得网络更难捕捉它的内部表达。但是降噪自动编码器却能很好的避免这个问题并且比传统的DBN更优。它通过在训练过程添加随机的污染并堆叠产生场泛化性能。训练单一的降噪自动编码器的过程和RBM训练生成模型的过程一样。 2.4 深层玻尔兹曼机DBM
DBM生成学习算法
DBM是概率无向图模型采用经过编辑的RBM进行逐层预训练。逐层预训练完成后通过权值减半处理重新编辑成一个DBM作为逐层预训练的结果。调优先采用平均场算法估计DBM的后验概率。然后用类CD算法更新参数。 2.5 循环神经网络RNN 2.6 卷积神经网络CNN 2.7 其他模型
和积网络SPN 深层堆叠网络DSN 长短时记忆网络LSTM
3. 深度学习的混合模型广泛应用和开发工具