首页 > 编程知识 正文

前馈反向传播神经网络,前馈神经网络例题

时间:2023-05-03 09:07:21 阅读:180506 作者:1957

摘要

前馈神经网络是最简单的神经网络,各神经元按层次排列。 每个神经元只与前一层神经元相连。 接收上一层的输出并将其输出到下一层。 各层之间没有反馈。 是目前应用最广泛、发展最快的人工神经网络之一。 研究始于20世纪60年代,目前理论研究和实际应用达到了较高水平的[1]。 本节通过设计包含输入层、抑制层、输出层的前馈神经网络,实现XOR运算,根据计算数据和实验数据分析抑制层的决策面特征,总结前馈神经网络抑制层的作用

1.1神经网络结构设计1.1.1 XOR问题描述不同,或者对于两个操作数的一种逻辑分析类型,如果两个数值相同则为no,如果数值不同则为真。 异或真值表见表1-1。

表1-1异或真值表

1.1.2 XOR运算的网络结构设计为了利用前馈神经网络解决XOR问题,首先通过对比分析其他逻辑运算和XOR问题,设计出适合XOR运算求解的网络结构模型。 如图1-1和图1-2所示,图中的直线是决策边界。 在逻辑运算和/或运算中,我们总是可以找到直线并对它们进行正确的分类。 它们被分成线形。 但是,在图1-3所示的XOR问题中,无法找到正确分类的直线,XOR是线性不可分割的。 单层神经网络只能解决线性问题,不能解决非线性问题,异或问题是非线性问题,因此感知机不能解决异或问题[2]。 解决XOR运算问题需要生成非线性决策边界。 因此,我们利用多层感知机求解,在单层前馈神经网络的基础上,加入一层抑制层,即两层前馈神经网络进行XOR的运算。 在此,关于为什么加入1层抑制层可以解决非线性问题,将在1.2节中通过实验进行详细叙述。 网络结构设计如图1-4所示。 从图中可以看出,我们设计了两层前馈神经网络来求解XOR运算。 网络结构由输入层、抑制层、输出层构成。 其中,输入层有2个神经元,抑制层有2个神经元,输出层有1个神经元。

图1-1 AND图1-2 OR图1-3 XOR

隐含层的表达式如表达式1和表达式2所示。

H1=W11*X1W21*X2B11(1)

H2=W12*X1W22*X2B12(2)

输出层公式如公式3所示。

y=w'11*x1w'21*x2B11(3)

图1-4 XOR运算网络结构图

1.2隐含层决定面特征为了直观地表示隐含层决定面的特征,以XOR运算的解决为例,式1至式3的参数分别为w11=1、w21=1、b11=0.5、w12=-1、w22=-1、B12 得到x1 -1*x2 1.5及y=1*x1 1 x2-1.5,由此设计的网络的各节点的计算结果如表1-2所示。

表1-2求解xor网络各节点参数计算结果

从表中可以看出,设计的网络对于XOR的计算结果都是正确的。 这里,由隐含层h1确定的直线可识别一个半平面,而由隐含层h2确定的直线可识别另一个半平面。 另外,由于由输出层y决定的直线相当于对隐含层h1和隐含层h2进行了运算操作,所以可以识别由隐含层识别的两个半平面的交点构成的凸多边形。 因此,我们可以通过获得加入隐含层的神经网络使线性不可分问题成为线性可分问题,详细可视化描述见1.3节。 为了进一步挖掘抑制层的特征,在神经网络的学习率相同的情况下,分别使用包含不同数量神经元的一个抑制层的神经网络和包含不同数量神经元的多个抑制层的神经网络进行实验比较,结果见表1-1 比较图1-

5和图1-6,从图中对比我们可得随着神经网络隐含层数的增多,网络的非线性性能越强。但是从图中可以看出随着隐含层的增加,程序运行的时间增大,参数也随之增多,网络的复杂度变高。对比图1-5和图1-7可得,当隐含层的层数很大,神经元数量非常多时,对于较简单的问题易出现过拟合现象。因此,对于不同的问题应适当加入隐含层个数和神经元个数以及其它参数的调整,使得网络达到最优性能。

图1-5 一个隐含层的可视化结果

图1-6 两个隐含层的可视化结果

图1-7 八个隐含层的可视化结果

1.3 前馈神经网络隐含层的作用

        为了直观地看到隐含层的作用,我们分别采用一个没有加入隐含层的前馈神经网络和加入一个隐含层的神经网络来求解XOR问题进行对比,并将其进行了3D可视化操作,实验测试代码见论文最后的github。实验结果如图1-9和图1-10所示。

     图1-8 XOR可视化         图1-9 不含隐含层结果可视化             图1-10 含隐含层结果可视化

        图1-8是将XOR运算在3D图中的呈现结果,x轴表示输入x1,y轴表示输入x2,z轴表示x1 XOR x2的运算结果。红色圆表示输出结果为0,为第一类,蓝色圆表示输出结果为1,为第二类。图1-9表示不含隐含层网络下可视化结果,我们可以看出,找不到一个平面可以使红色样本点和蓝色样本点同时落在该平面上,它无法使决策面成曲面形式。说明不含隐含层的单层感知机不能解决异或这种非线性可分的问题。从图1-10中可得四个坐标点全部落在了对应的曲面上,决策面成功地将结果进行了分类。

1.4. 总结

        通过实验,我们可得隐含层的作用,隐含层隐藏层不直接接受外界的信号,也不直接向外界发送信号,它通过对输入的数据进行加权求和处理,将其转化为更能被输出层接受的形式,加入隐含层可以提高神经网络的非线性处理能力。

参考文献

[1] 乔俊飞, dydxf. 前馈神经网络分析与设计 : Analysis and design of feedforward neural networks[M]. 科学出版社, 2013.

[2] wjddt. 非线性权重线性激发函数前馈神经网络解XOR问题[C]// 中国神经网络学术大会. 1991.

论文实验代码见github:https://github.com/luhongchun/Feedforward_neural_networks_solve_XOR_problems

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。