DNN,CNN和RNN优缺点/区别

DNN,CNN和RNN优缺点/区别在这里插入图片描述

  1. 感知机
    包含有输入层、输出层和一个隐藏层。输入的特征向量通过隐藏层变换到达输出层,由输出层得到分类结果。
    问题:它对稍微复杂一些的函数都无能为力

  2. 多层感知机
    使用sigmoid或tanh等连续函数模拟神经元对激励的响应,在训练算法上则使用Werbos发明的反向传播BP算法。这就是现在所说的神经网络NN。
    问题:
    其一,随着神经网络层数的加深,优化函数越来越容易陷入局部最优解,并且这个“陷阱”越来越偏离真正的全局最优。利用有限数据训练的深层网络,性能还不如较浅层网络。
    其二,随着网络层数增加,“梯度消失”现象更加严重。(具体来说,我们常常使用sigmoid作为神经元的输入输出函数。对于幅度为1的信号,在BP反向传播梯度时,每传递一层,梯度衰减为原来的0.25。层数一多,梯度指数衰减后低层基本上接受不到有效的训练信号。)

  3. DNN形成
    为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。
    问题:全连接DNN(见下图)的结构里下层神经元和所有上层神经元都能够形成连接,从而导致参数数量膨胀
    在这里插入图片描述

  4. CNN
    共享卷积核,对高维数据处理无压力。图像通过卷积操作后仍然保留原先的位置关系。

  5. RNN
    DNN无法对时间序列上有变化的情况进行处理。然而,样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。因此出现了——循环神经网络RNN。
    在普通的全连接网络或CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被成为前向神经网络(Feed-forward Neural Networks)。而在RNN中,神经元的输出可以在下一个时间段直接作用到自身,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!(如下图)
    在这里插入图片描述
    (t+1)时刻网络的最终结果O(t+1)是该时刻输入和所有历史共同作用的结果!
    但是出现了一个问题——“梯度消失”现象又要出现了,只不过这次发生在时间轴上。
    所以RNN存在无法解决长时依赖的问题。为解决上述问题,提出了LSTM(长短时记忆单元),通过cell门开关实现时间上的记忆功能,并防止梯度消失.

猜你喜欢

转载自blog.csdn.net/qq_42219077/article/details/88043384