机器学习--常见神经网络及深度神经网络概述

来源:互联网 发布:linux 效率工具 编辑:程序博客网 时间:2024/06/11 00:06
1、无监督逐层训练:预训练:每次训练一层隐结点。训练时将上一层隐结点的输出作为输入,而本层隐结点的输出作为 下一层隐结点的输入。在预训练结束后,再对整个网络进行微调训练。
2、DNN:指深度神经网络,与RNN循环神经网络、CNN卷积神经网络的区别就是,DNN特指全连接的神经元结构,并不包含卷积单元 或时间上的关联。
一、DBN:(预训练+微调)
思想:整个网络看成是多个RBM的堆叠,在使用无监督逐层训练时,首先训练第一层,然后将第一层预训练好的隐结点视为第二层的输入节点,对第二层进行预训练,各层预训练完成后,再用BP算法对整个网络进行训练。
整体解释:预训练+微调 的做法可视为将大量参数分组,对每组先找到局部看起来比较好的位置,然后再基于这些局部较优的结果联合起来进行全局寻优。好处:利用了模型大量参数所提供的自由度,有效的节省了训练开销。
补充:是一个概率生成模型,与传统的判别神经网络不同的是,生成模型建立了观察数据和标签之间的联合分布,而判别模型只评估了条件概率。
DBN遇到的问题:需要为训练提供一个有标签的样本集;学习过程较慢;不适当的参数选择导致学习收敛于局部最优解。
二、CNN见博客(http://blog.csdn.net/qq_27923041/article/details/78407176)
三、DBN与CNN两者异同:
异:DBN:全连接,有pre-train过程;CNN:局部连接,没有预训练过程,但加了卷积。
同:无论是DBN还是CNN,这种多隐层堆叠,每层对上一层的输出进行处理的机制,可看作是在对输入信号进行逐层加工,从而把初始的、与输出目标之间联系不大的输入表示,转化成与输出目标联系密切的表示。即:通过多层处理,逐渐将初始的低层特征表示转化成高层的特征表示后,用“简单模型”就可以完成复杂的分类等学习任务。
四、RNN:
提出:DNN存在一个缺陷:无法对时间序列上的变化进行建模,然而,样本出现的时间顺序对于自然语言处理、语音识别等应用很重要;RNN解决了样本的处理在各个时刻独立的问题,可以对时间序列上的变化进行建模,深度是时间上的长度。神经元的输出可以在下一个时间戳直接作用到自身。即,某一层某一时刻神经元的输入,除了上一层神经元在该时刻的输出外,还有本身在上一时刻的输出。
缺点:时间轴上的“梯度消失”,为解决这个问题——>长短时记忆单元LSTM:通过门的开关实现时间上记忆功能,防止梯度消失。
五、LSTM:
核心:模仿一种细胞状态,类似传送带思想,直接在整个链上运行,只有一些少量的线性交互,信息在上面保持不变。利用一种“门”的结构来去除或增加信息到细胞状态的能力,有三个门。门:让信息选择通过的方法,包括sigmoid神经网络层和一个点乘操作。
第一步:忘记门层:决定从细胞状态中丢弃什么信息。读取本层的输入和上一层的输出,输出一个0到1之间的数值给每个细胞状态。
第二步:确定什么样的信息被存放在细胞状态中,包含两个部分:1)sigmoid“输入门层”,决定什么值将要更新。2)tanh层,创建一个新的候选值向量。会被加到状态中。
第三步:更新细胞状态。基于细胞状态确定输出什么值






阅读全文
0 0
原创粉丝点击