【神经网络】第一篇 BP神经网络 && 卷积神经网络(onvolutional Neural Network) && 循环神经网络(Recurrent Neural Network)

【引言】BP神经网络

         人工神经网络无需事先确定输入和输出之间映射的数学函数关系,仅通过自身的训练,学习某种规则,使得在给定某种输入时,能给出特定的输出值。

        BP(Back-Propagation)神经网络是一种按误差反向传播(简称误差反传)训练的多层前馈网络,其算法称为BP算法,它的基本思想是梯度下降法,利用梯度搜索技术,以期使网络的实际输出值和期望输出值的误差均方差为最小。

        基本BP算法包括信号的前向传播和误差的反向传播两个过程。即计算误差输出时按从输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行。正向传播时,输入信号通过隐含层作用于输出节点,经过非线性变换,产生输出信号,若实际输出与期望输出不相符,则转入误差的反向传播过程。误差反传是将输出误差通过隐含层向输入层逐层反传,并将误差分摊给各层所有单元,以从各层获得的误差信号作为调整各单元权值的依据。通过调整输入节点与隐层节点的联接强度和隐层节点与输出节点的联接强度以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息

        在人工神经网络的实际应用中,绝大部分的神经网络模型都采用BP网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。

        BP网络主要用于以下四个方面。

1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。

2)模式识别:用一个待定的输出向量将它与输入向量联系起来。

3)分类:把输入向量所定义的合适方式进行分类。

4)数据压缩:减少输出向量维数以便于传输或存储

        BP神经网络无论在网络理论还是在性能方面已比较成熟。其突出优点就是具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但是BP神经网络也存在以下的一些主要缺陷

①学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛。

②容易陷入局部极小值。

③网络层数、神经元个数的选择没有相应的理论指导。

④网络推广能力有限。

 

【CNN】convolutional Neural Networks

CNN是一种包含卷积计算且具有深度结构的前馈神经网络。

CNN具有三个显著特征:1)局部区域感知;2)权重共享;3)空间或时间上的采样。

CNN一般采用卷积层与采样层交替设置,即一层卷积层,一层采样层。卷积层提取特征,再进行组合形成更抽象的特征,最后形成对图片对象的描述特征。

https://www.cnblogs.com/wj-1314/p/9754072.html作者写的简洁成体系,可以迅速读懂CNN。

CNN是有监督学习。先利用带标签的数据提取特征图像。再用这些K个特征图对待预测的图片进行卷积运算,得到k张feature map 。然后进行池化(也就是采样运算),可采取池化窗口内的平均值或最大值为采样值。最大池化保留了图像中最佳匹配结果,通过池化大大降低了运算量。池化结束后,用激活函数对k张feature map进行处理。激活函数的作用是加入非线性的因素,将上述卷积层的输出结果做非线性映射。常用的激活函数有sigmod、tanh、relu等。前两者主要用于全连接层,Relu(the rectified Liner Unit)常见于卷积层。特点是计算简单,收敛快。计算公式也很简单,max(0,T),即对于输入的负值,输出全为0,对于正值,则原样输出。

将上述提到的卷积,池化,激活函数组合起来,加入更多的层,就会得到越来越小的feature map矩阵。最后进入全连接层。全连接层进行最后的分类判断。将最后得到的各个feature map矩阵串联起来。由于CNN是监督学习,在训练时候有对各个像素点的权重。按权重进行计算。得到各个结果的预测值。然后取值最大的为预测结果。

CNN总结

CNN本质上就是一个输入到输出的映射。他不能给出精确的数学关系,但是能通过大量输入和输出的映射关系得到一种映射关系。从而在遇到待分类的样本时能够计算出分类结果。

【RNN】循环神经网络(Recurrent Neural Network)

https://www.cnblogs.com/wj-1314/articles/9921268.html

https://zybuluo.com/hanbingtao/note/541458

即神经网络隐藏层的输入除了有上一级的输出外,还有中间结果。

你可能感兴趣的:(神经网络)