RNN与CNN的特点及区别
作者:互联网
从应用方面上来看,CNN用到做图像识别比较多,而RNN在做到语言处理多一点,如果拿来比喻的话,CNN如同眼睛一样,正是目前机器用来识别对象的图像处理器。相应地,RNN则是用于解析语言模式的数学引擎,就像耳朵和嘴巴。
对于CNN神经网络,有一个基础的假设——人类的视觉总是会关注视线内特征最明显的点
RNN的假设——事物的发展是按照时间序列展开的,即前一刻发生的事物会对未来的事情的发展产生影响。
CNN
1.结构层次
卷积神经网络主要分数据输入层(Input Layer)、卷积计算层(CONV Layer)、ReLU激励层(ReLU Layer)、池化层(Pooling Layer)、全连接层(FC Layer)五个层次,这五个层次都是依次相连,每一层都接受上一层的输出特征数据来提供给下一层。其中数据输入层是对输入数据的特征进行提取;卷积计算层是对这些特征进行卷积映射;激励层是利用非线性激励函数对神经元进行激励达到条件将特征信息传递到下一个神经元;池化层则是用来压缩数据和参数的量,从而减小过拟合情况;全连接层就是连接所有输出层的特征信息,并对这些信息进行汇总整理完成输出。
1.1输入层
和神经网络/机器学习一样,都需要对输入的数据进行预处理操作,以便于后面的层对数据的操作。
1.2卷积计算层
在将卷积层之前,首先大致了解下卷积神经网络。卷积神经网络是保存了层级的网络结构,以至于使得不同的层次有不同的形式或者运算与功能。而卷积神经网络是主要适用于图片信息处理的场景,而卷积层就是识别图像中一个最为关键的步骤或者层级。类似人的大脑在识别图片的过程中,不同的脑皮质层会处理来自不同方面的数据,例如颜色、形状等,然后通过不同皮质层的处理结果进行合并并且映射操作,从而得出最终的结果。也就是说第一部分实质上是一个局部的观察结果,第二部分是一个整体的结果合并。因此卷积神经网络就是基于人的大脑识别图片的过程,每个神经元就没有必要对全局的图像进行感知,只需要对局部的图像进行感知即可,最后在更高层次对局部的信息进行综合操作得出全局的信息。
卷积层参数:
1局部关联:每个神经元看作是一个filter,进行,作用就是对局部数据进行识别;
2.窗口(receptive field)滑动,也就是将filter对局部数据进行计算,滑动预先会设定步长,移动位置来得到下一个窗口;
3.对于窗口中滑动过程中,有深度(depth)、步长(stride)、填充值(zero-padding)这几个重要参数,深度即转换的次数(结果产生的depth);步长就是设定每一步移动多少;填充值就是在矩阵周边添加一些扩充值(目的就是解决图片输入不规整)。
卷积计算:
卷积计算过程中有一个重要机制就是参数共享机制,假设每个神经元连接数据窗的权重是固定的,也就是固定每个神经元的连接权重,因此就可以将神经元看成一个模块;也就是每个神经元只关注一个特性,从而使得需要计算的权重个数会大大的减少。而卷积计算就是将一组固定的权重和不同窗口内数据做内积,就叫卷积。
1.3激励层
激励层,顾名思义就是加一个激励函数对其神经元进行刺激或者激励,也就是使用映射函数来完成非线性的映射。在卷积神经网络中,激励函数是非线性的。激励层是接在卷积层后面的一层网络,负责将卷积层的输出结果做一次非线性的映射,即激励。
1.4池化层
池化层存在于连续的卷积层中间,它的主要功能就是通过逐步减小表征的空间尺寸从而减小参数量和网络中的计算复杂度;并且池化层都是在每一个特征图上独立进行操作。所以使用池化层有一个明显的优势就是可以压缩数据和参数的量,来解决过拟合问题。
在池化层中,一般采用两种策略去进行压缩来减少特征数量,分别为最大池化(Max Pooling)和平均池化(Average Pooling)。
1.5 全连接层(FC Layer)
卷积神经网络中的池化层(FC)中的神经元跟之前层次的所有激活输出都是连接着的,也就是说两层之间所有的神经元都有权重连接;作为最终的连接整体输出,对每层的输出结果进行汇总计算,全连接层只会在卷积神经网络的尾部出现。
RNN
这个网络在t时刻接收到输入St之后,隐藏层的值是 ,输出值是 。关键一点是, 的值不仅仅取决于 ,还取决于 。
标签:Layer,池化层,RNN,区别,卷积,神经网络,CNN,连接,神经元 来源: https://blog.csdn.net/qq_41903673/article/details/122172925