未来智讯 > 神经网络论文 > LabVIEW中BP神经网络的兑现及应用

LabVIEW中BP神经网络的兑现及应用

发布时间:2019-01-22 01:06:01 文章来源:未来智讯    
    LabVIEW中BP神经网络的兑现及应用作者:未知   摘 要:BP(Back Propagation)神经网络是一种具有普遍应用性的前馈神经网络,LabVIEW是一种图形化编程说话,其为虚拟仪器设计者供给了一个便捷、轻快的设计情况,被工业界及切磋尝试室普遍接管。先容了两种在LabVIEW兑现BP神经网络谋略的要领,即Matlab Script节点和图形编程,Matlab Script节点选取在LabVIEW中直接导入Matlab步骤运行,而图形编程选取图形编程的体式格局兑现算法,并离别以神经网络在函数迫近和某设备分类中的应用讲明了各自的兑现流程,尝试了局切确且形象直观,充分体现了LabVIEW作为图形化编程说话的特点。
  关头词:BP神经网络;LabVIEW;图形化;Matlab
  中图分类号:TP183 文献标识码:B 文章编号:1004-373X(2009)04-072-04
  
  BP Neural Network′s Realization and Application in LabVIEW
  LIAO Shenqin1,PENG Liangyu1,JIANG Yong2
  (1.College of Phycics and Information,Hunan Normal University,Changsha,410081,China;
  2.Sunplus Prof-tek Technology (Shenzhen) Co.Ltd.,Shenzhen,518000,China)
  Abstract:BP neural network is a widely used feedforward neural network,LabVIEW is a graphical programming language,which provids a convenient and easy design environment,so it′s normally accepted by industrial sector and research liboratory.Two calculation methods of realizing BP neural network in LabVIEW are introduced,those are Matlab Script node and graphical programming,Matlab Script node imports the Matlab program and running it,graphical programming realizes the algorithm with the method of graphical programming,and takes the apply of BP neural network in function approach and distinguishing between categories as examples to explain the realization process of the two methods,and the results are precise and intuitive,fully reflect the feathures of LabVIEW as a graphical programming language.
  Keywords:BP neural network;LabVIEW;graphical;Matlab
  
  0 引 言
  
  LabVIEW是美国 NI公司开辟的高效图形化虚拟仪器开辟平台,它的图形化编程具有直观、简捷、急剧、易于开辟和维护等长处,在虚拟仪器设计和测控体系开辟等有关范畴获得了日益普遍的应用,它无需任何文本步骤代码,而是把纷乱、繁琐的说话编程简化成图形,用线条把种种图形联贯起来。BP神经网络属于前馈神经网络,它普遍应用函数迫近、模式辨认、分类和数据压缩等范畴,若将神经网络与虚拟仪器有机联合,则能够为提高虚拟仪器测控体系的本能供给严重的依据。
  1 BP神经网络进修算法
  BP模子是一种应用最普遍的多层前向拓扑布局,以三层BP神经网络作为理论依据进行编程,它由输入层、隐层和输出层组成。设输入层神经元个数为��I,隐层神经元个数为J,输出层神经元个数为K,进修样本有N个(X,Y)向量,表现为:输入向量X{x1,x2,…,xI},输出向量Y{y1,y2,…,yK},抱负输出向量为T{t1,t2,…,tK}。
  (1) 输入层节点i,其输出即是xi(i=1,2,…,I),将把握变量值传输到隐含层,则隐层第j�Ц錾窬�元的输入:
  �И�sj=∑Ii=1wjixi-θj=∑I+1i=1wjixi, j=1,2,…,J(1)�И�
  个中:��wji是隐层第j个神经元到输入层第i个神经元的联贯权值。
  (2) 隐层第j�Ц錾窬�元的输出:
  �И�hj=g(sj)=21+e-2sj-1, j=1,2,…,J(2)�И�
  (3) 神经网络输出层,第��k�Ц錾窬�元的输入为:
  �И�rk=∑Jj=1vkjhj, k=1,2,…,K(3)�И�
  个中:��vkj是输出层第k个神经元到隐层第j个神经元的联贯权值。
  (4)神经网络输出层,第k�Ц錾窬�元的输出为:
  �И�yk=g(rk)=11+e-rk, k=1,2,…,K(4)�И�
  (5) 设定网络偏差函数E:
  �И�E=1N∑Nk=1Ek�И�
  个中:
  �И�Ek=12∑j(tj-yj)2(5)�И�
  (6) 输出层到隐层的联贯权值调解量�Е�vkj:��
  �ИЕ�vkj=��E��vkj=(tk-yk)hj,
  j=1,2,…,J;k=1,2,…,K(6)�И�
  (7) 隐层到输入层的联贯权值调解量�Е�wji:��
  ��wji=��E��wji=
   ∑Kk=1(tk-yk)•vkj[hj(1-hj)]xi,
  j=1,2,…,J;i=1,2,…,I(7)��
  
  2 用LabVIEW兑现BP神经网络的两种要领
  
  用LabVIEW兑现BP神经网络的两种要领为:
  (1) 因为 Matlab具有壮大的数学运算才力以及在测控范畴的普遍应用。在 LabVIEW中供给了Matlab Script节点,用户可在节点中编纂Matlab步骤,并在LabVIEW中运行;也能够在LabVIEW步骤运行时直接挪用已经存在的 Matlab步骤,如使用节点则务必在体系中安装 Matlab5以上版本,在写入 Matlab节点前要将步骤先调试议决,并确保个中变量的数据类型匹配。
  (2) 因为LabVIEW的图形步骤是自力于运行平台的,并且是一种数据驱动的说话,能够利便地兑现算法且易修改,联合其 SubVI技艺能够添加步骤的行使率,是以能够选取图形编程的要领兑现前向网络的算法。
  2.1 行使Matlab Script节点兑现
  在此以对一个非线性函数的迫近作为例子来讲明兑现流程,个中输入矢量p=[-1∶0.05∶1];指标矢量t=sin(2*pi*p)+0.1randn(size(p))。行使Matlab Script节点兑现BP 算法的过程如下:
  (1) 新建一个LabVIEW vi,在框图步骤中增加Matlab Script 节点。
  (2) 在节点内增加Matlab的动量BP算法兑现代码,并离别在节点摆布边框离别增加对应的输入/输出参数,如图 1 所示。
  (3) 在vi的前面板增加响应的控件,配置输入参数,联贯输出控件。执行步骤, 了局如图 2、图3 所示。
  图1 Matlab Script兑现改良的BP算法
  图2 偏差曲线图
  图3 迫近曲线图
  此要领可以直接行使Matlab壮大的神经网络东西箱,步骤运行时会主动挪用体系中已安装的Matlab进行谋略,不必进行纷乱的编程,开辟效果很高。
  2.2 行使图形编程兑现
  LabVIEW是美国NI公司推出的基于图形化编程的虚拟仪器软件开辟东西,它无需任何文本步骤代码,而是把纷乱、繁琐的说话编程简化成图形,用线条把种种图形联贯起来。在此以一个设备状况分类器设计作为例子来讲明兑现流程输入,该设备有8个输入格外,即温度、湿度等外部前提;而输出状况则有3种,离别为正常、偏小、偏大。这里选取12个训练样本,每个样本有8个格外,3类输出离别编码为(0 1),(1 0),(1 1),以下即为输入样本及尺度输出数据(见图4、图5)。
  BP神经网络隐层输入在LabVIEW中的兑现。凭据BP进修算法中式(1)编写响应的步骤。个中x为输入样本;w为隐层输入权值,首要应用 LabVIEW中的函数-数学-线性代数-矩阵A×B兑现权值与输入样本的矩阵相乘,并议决 For轮回谋略获得 BP神经网络的隐层输入 H (见图6)。
  (2)BP神经网络隐层输出H的图形化步骤。凭据算法中的式(2)编写,因为在许多测试实践中参数间的关系长短线性的,这里首要应用Sigmoid型tansig函数作为隐层的传递函数,首要应用步骤面板中函数-数学-数值及基本与特殊函数等数学控件兑现(见图7)。
  图4 输入样本
  图5 尺度输出
  图6 隐层输入的步骤框图
  图7 隐层输出的步骤框图
  (3)BP神经网络输出层的输入及输出步骤框图与隐层的近似,离别凭据式(3)、式(4)编程即可兑现,在此不再反复。
  (4) 网络偏差函数��E的图形化步骤。凭据算法中式(5)编写步骤,个中:t为抱负输出,y��为网络输出。个中应用函数-数学-基本与特殊函数中的指数函数控件来兑现 (见图8)。
  (5) BP神经网络各参数调解量的图形化步骤凭据上述进修算法中的式(6)和式(7),个中:x为网络输入样本;y,t离别为网络现实输出和盼望输出;h为隐层输出;v为隐层输出权值。议决挪用 LabVIEW软件中数学谋略控件,颠末一系列数学谋略,离别获得网络隐层输出权值调解量Δv以及隐层输入权值调解量Δw,如图9、图10所示。
  图8 网络偏差函数步骤框图
  图9 Δv的图形化步骤
  图10 Δw的图形化步骤
  (6) 完整的进修算法的图形化步骤。将以上各个步骤模块综合在一同,能够获得完整的进修算法兑现步骤,如图 11所示。
  图11 完整的图形化步骤
  议决设定网络的输入样本x、输出盼望t、 隐层输入权值w,输出v的初始值,颠末一系列的矩阵运算,得到调解后隐层权值w,v参数值。
  运行了局如图12所示,由图能够很是直寓目出,网络输出与网络抱负输出相当接近,讲明网络训练的了局是中意的。
  
  3 结 语
  
  在行使LabVIEW兑现BP神经网络的谋略,要领一议决直接挪用Matlab步骤,简略易行,不过事先必要装有Matlab5.0以上的版本。要领二运用图形化编程对BP神经网络进行仿真,具有形象、直观、便于使用和领会的优于传统文本编程说话的特点。
  图12 运行了局
  
  参 考 文 献
  [1]Allerhand A,Galuska A D.Implementation of LabVIEW forComputer Controlled Experiments in General Chemistry Laboratory Instruction [J].Chem.Educator,2000,5(2):71-76.
  [2]飞思科技产物研发中心.神经网络理论与Matlab7兑现[M].北京:电子工业出书社,2005.
  [3]常晓丽.基于Matlab的BP神经网络的设计[J].机器工程与主动化,2006(4):36-37.
  [4]郭红梅,于佐军.LabVIEW与Matlab夹杂编程的过程把握应用 [J].把握工程,2007(14):131-132.
  [5]蔡清华,杨世锡,罗锡梁.基于虚拟仪器编程的BP神经网络进修算法仿真 [J].当代机器,2006(2):6-8.
  [6]周丽霞,熊瑞平,杨荣松.LabVIEW在BP神经网络阻碍诊断体系中的应用 [J].机床与液压,2007,35(4):215-216.
  [7]昝涛,王平易近,费仁元,等.LabVIEW中人造神经网络谋略的兑现及应用[J].微谋略机信息,2006,22(6):122-124.
  [8]粟钧,吴拓.基于虚拟仪器编程的BP神经网络算法进修算法仿真[J].广东轻工职业学院学报,2005,4(1):26-28.
  [9]殷莹.BP网络在设备阻碍诊断中的应用与兑现 [J].微谋略机信息,2007,23(10):31-34.
  [10]张雅丽,王宝光,赵海文,等.虚拟仪器在阻碍诊断中的应用 [J].机床与液压,2005(1):124-126.
  [11] 曾祥学,罗卫华,张斌.基于LabWindows/CVI的人造神经网络BP算法的兑现\.当代电子技艺,2005(2):21-23.
  作者简介 廖慎勤 女,1984年出身,湖南醴陵人,湖南师范大学硕士切磋生。首要切磋偏向为模仿电路阻碍诊断。
  彭良玉 女,1965年出身,湖南湘村夫,湖南师范大学传授,硕士生导师,北京航空航天大学博士后。首要切磋偏向为源滤波器的设计,模仿电路阻碍诊断,已颁发论文80余篇。
  江 勇 男,1985年出身,湖南醴陵人,凌阳科技公司通讯部工程师。首要切磋偏向为通讯终端设备开辟,已颁发论文1篇。
  注:本文中所涉及到的图表、注脚、公式等内容请以PDF格局涉猎原文。

转载请注明来源。原文地址:https://www.7428.cn/page/2019/0122/80351/
 与本篇相关的热门内容: