一、DNN
神经网络是基于感知机的扩展,而DNN可以理解为有很多隐藏层的神经网络,DNN有时也叫多层感知机(Multi-Layer perceptron,MLP)。
由于DNN采用的是全连接的形式,结构中的连接带来了数量级的权值参数,这不仅容易导致过拟合,也容易造成陷入局部最优。
二、CNN
优点:针对DNN存在的参数数量膨胀问题,对于CNN,并不是所有的上下层神经元都能直接相连,而是通过“卷积核”作为中介。(减少了很多参数)
特点:卷积计算实质的过程是特征提取,同时也是一种信息压缩。
卷积的数学定义
TextCNN
特点:只理解局部(单词)的含义,不理解语序
三、RNN
基本RNN
循环神经网络的隐藏层的值St不仅仅取决于当前这次的输入Xt,还取决于上一次隐藏层的值St-1
双向RNN
对于语言模型来说,很多时候光看前面的词是不够的,比如下面这句话:
我的手机坏了,我打算 一部新的手机
我们这个时候就需要双向循环神经网络。
双向卷积神经网络的隐藏层要保存两个值,一个A参与正向计算,另一个值A’参与反向计算。
梯度消失和梯度爆炸
RNN并不能很好的处理较长的序列,在训练中很容易发生梯度爆炸和梯度消失,这导致梯度不能在较长序列中一直传递下去,从而使RNN无法捕捉到长距离的影响。
通常来说,梯度爆炸更容易处理一些。因为梯度爆炸的时候,我们的程序会收到NaN错误。我们也可以设置一个梯度阈值,当梯度超过这个阈值的时候可以直接截取。
梯度消失更难检测,而且也更难处理一些。总的来说,我们有三种方法应对梯度消失问题:
1、合理的初始化权重值。初始化权重,使每个神经元尽可能不要取极大或极小值,以躲开梯度消失的区域。
2、使用relu代替sigmoid和tanh作为激活函数。
3、使用其他结构的RNNs,比如长短时记忆网络(LTSM)和Gated Recurrent Unit(GRU),这是最流行的做法。
LSTM
输入门、遗忘门、输出门
GRU
reset门:决定在多大程度上“忽略”过去的隐藏状态
update门:更新隐藏状态,它扮演了 LSTM 的 forget 门和input 门两个角色
四、参考
https://www.cnblogs.com/LXP-Never/p/10391308.html