深度学习要点———神经网络的类型

CNN(Convolutional Neural Network)

  (1)CNN的概念

  CNN,常被称作卷积神经网络,经常被用于图像处理。

  CNN最关键的两个步骤是:卷积与池化。以下是它的过程图:

 CNN之所以能够进行卷积,有两点理由:1.图像的模式会远远的小于整张图片;2.图像中相同的模式会出现在不同的位置。

    CNN之所以能够进行池化,主要是因为图像中有很多冗余点,即使我们对它进行subsamble也不会改变整张图片的模式。

  (2)卷积

    所谓卷积,就是预定义比原始矩阵更小的矩阵,然后用这个矩阵与原来的输入矩阵进行矩阵乘法。可想而知,通过卷积之后矩阵的大小肯定会变小。假设原来的矩阵大小的是m*m,卷积的矩阵大小是n*n,那么卷积之后的矩阵大小为(m-n+1)(m-n+1)。如果你想要保持卷积后的矩阵的大小和原来的矩阵大小相等,那么你就要使用zero padding技术。

  (3)池化

    这里的池化一般指的是最大池化。最大池化,就是预先定义一个k*k的矩阵,然后确定卷积后的矩阵在这个k*k的矩阵中的最大值。池化后的矩阵大小为(m-n+1)/k*(m-n+1)/k。

扫描二维码关注公众号,回复: 422284 查看本文章

  (4)应用

    CNN主要运用于图像处理,在Playing go中,运用了CNN的卷积技术,但是没有用到池化技术。

RNN(Recureent nertual network)

  RNN,也叫做循环神经网络模型。RNN用于处理时序数据,因为它能够记住历史信息。

  RNN的类型有很多,典型的RNN模型指的是:当前隐层节点的输出被存贮,而后作用于当前层节点。

  由RNN衍生出了很多不同类型的RNN,不同类型的特征和定义,请参考同一分类下RNN类型文章:

  (1)Bidirectional RNN

(2)LSTM

(3)训练过程

  因为利用了历史信息,所有RNN的训练不能简单的使用后向传播算法,而是要使用改进的BPTT(Back Propagation through time)。

  RNN在训练的过程也会存在梯度消失的问题,LSTM可以克服这个问题。只要LSTM的forget gated还在的话,就不会出现梯度小时问题。比RNN更简单的GRU也有这种效果。

  (4)应用

  机器翻译,video caption generation, 看图说话。。。。

猜你喜欢

转载自www.cnblogs.com/xzm123/p/9019047.html