CN113240075A - 一种基于msvl的bp神经网络的构建和训练方法及系统 - Google Patents

一种基于msvl的bp神经网络的构建和训练方法及系统 Download PDF

Info

Publication number
CN113240075A
CN113240075A CN202110439442.6A CN202110439442A CN113240075A CN 113240075 A CN113240075 A CN 113240075A CN 202110439442 A CN202110439442 A CN 202110439442A CN 113240075 A CN113240075 A CN 113240075A
Authority
CN
China
Prior art keywords
neural network
msvl
training
constructing
architecture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110439442.6A
Other languages
English (en)
Other versions
CN113240075B (zh
Inventor
赵亮
冯哲
段振华
王小兵
田聪
张南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202110439442.6A priority Critical patent/CN113240075B/zh
Publication of CN113240075A publication Critical patent/CN113240075A/zh
Application granted granted Critical
Publication of CN113240075B publication Critical patent/CN113240075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于BP神经网络技术领域,公开了一种基于MSVL的BP神经网络的构建和训练方法及系统,所述基于MSVL的BP神经网络的构建和训练方法包括:根据BP神经网络基本的层次化结构和属性行为特征,构建基于MSVL的BP神经网络的底层结构方法库;根据用户的定制需求,利用结构方法库中的MSVL结构体,构建BP神经网络的初始架构;读取样本数据,利用结构方法库中MSVL方法,对初始架构进行训练,得到BP神经网络的形式化架构。本发明涵盖了矩阵运算、反向传播、权值更新等多种神经网络系统的基本行为,可直接用于模型检测、插桩验证等形式化验证技术,并支持与这些行为相关的多方面性质的验证,从而系统的安全可信性能够得到有效的保障。

Description

一种基于MSVL的BP神经网络的构建和训练方法及系统
技术领域
本发明属于BP神经网络技术领域,尤其涉及一种基于MSVL的BP神经网络的构建和训练方法及系统。
背景技术
目前,随着神经网络系统的不断发展和广泛应用,这类系统是否安全可靠成为了一个人们越来越关注的问题。作为一种计算机系统,神经网络系统自身可能存在缺陷或漏洞,也可能遭到不同种类的恶意攻击,且这样的情形并不少见。尤其是许多系统应用在安全攸关的场景中,其细小的错误都可能导致严重的后果。2018年3月,美国亚利桑那州坦佩市一辆Uber无人驾驶汽车与行人发生碰撞,造成一名49岁女性重伤后救治无效死亡。2019年12月,一家名为Kneron的人工智能公司宣称使用3D面具突破了支付宝、微信的人脸识别系统,还骗过了国内某火车站的闸机,成功刷脸进站。
因此,检验并保障神经网络系统的安全性是非常必要的。目前,绝大多数神经网络系统采用测试的手段进行安全性检验。然而,测试不能确保系统不存在缺陷,而诸多的安全问题也说明了通过测试的系统仍不够可靠。另一种检验手段是形式化验证,采用模型检测、定理证明等形式化方法对系统满足预期性质进行严格的逻辑推导,能够保障系统的安全可信。
近年来,学术界对神经网络系统的形式化验证开展研究,形成了一些初步的技术。现有技术一面向BP神经网络,通过定义一组操纵对标准样本的邻域空间离散化,由此建立一组逻辑约束,并使用可满足性模理论逻辑求解方法来检验标准样本邻域空间中是否存在对抗样本。现有技术二面向BP神经网络和卷积神经网络,借助于由浮点多面体和区间所组成的抽象域及其变换操作,推导和检验这些网络的前条件、后条件和健壮性。现有技术三面向部署在云端的神经网络,通过一定的交互式证明协议实现了正确性的验证,但是对神经网络的结构做了一些限制,例如仅采用二次激活函数等。
在现有的神经网络形式化验证技术中,神经网络绝大多数是以Python、C等通用的程序设计语言所编写。这些语言不具备形式化的语义理论基础,不支持直接的数学逻辑推导,与形式化验证存在一定的技术鸿沟。这使得不同的验证技术不得不采用间接的方式,针对特定的神经网络和性质进行数学建模,并做出不同程度的简化限定。它们的技术内容较分散,适用范围偏小。
通过上述分析,现有技术存在的问题及缺陷为:待验证的神经网络采用非形式化的程序设计语言编写,缺乏数学逻辑基础,无法直接用于形式化验证,技术内容较分散,适用范围偏小,限定了各项神经网络验证技术只能针对特定方面的问题进行建模和推导,难以形成一套有机的方法理论体系。
解决以上问题及缺陷的难度为:解决上述技术问题的途径是采用形式化的方法来开发神经网络架构,包括网络的构建和训练。然而,神经网络的运行依赖于由机器学习而得到的各项参数,其行为被普遍认为是不透明、不可解释的。如何为其建立形式化的框架是不小的挑战。此外,神经网络的训练样本集和参数集往往规模庞大,这无疑增加了形式化的难度。
解决以上问题及缺陷的意义为:采用形式化的方法开发出的神经网络架构可直接用于形式化验证,这避免了非形式化的程序设计与语言与形式化的逻辑推导之间的技术鸿沟。此外,采用形式化方法开发出的神经网络架构支持神经网络的矩阵运算、反向传播、权值更新等多种行为,从而支持对神经网络多方面的性质进行检验,有助于形成一套有机的方法理论体系。
MSVL是一种形式化的程序开发语言,其语句由投影时序逻辑PTL所定义,具备严格的数学逻辑基础。本发明提出一种使用MSVL语言来构建和训练BP神经网络的形式化方法,支持可直接验证的BP神经网络架构的开发,旨在为这类神经网络系统的安全性和可信性提供保障。
发明内容
针对现有技术存在的问题,本发明提供了一种基于MSVL的BP神经网络的构建和训练方法及系统,尤其涉及一种基于MSVL的基于MSVL的BP神经网络的构建和训练方法及系统,旨在解决目前大多数神经网络系统采用非形式化的语言开发、无法直接进行验证的问题。
本发明是这样实现的,一种基于MSVL的BP神经网络的构建和训练方法,所述基于MSVL的BP神经网络的构建和训练方法包括以下步骤:
步骤一,根据BP神经网络基本的层次化结构和属性行为特征,构建基于MSVL的BP神经网络的底层结构方法库;构建结构方法库是整个方案的基础,为(后续步骤)构建和训练BP神经网络架构提供必要的MSVL结构体和方法支持。
步骤二,根据用户的定制需求,利用结构方法库中的MSVL结构体,构建BP神经网络的初始架构;构建BP神经网络的初始架构,把BP神经网络初始的形式化架构搭建起来,这个架构包括了神经网络的所有层次结构。
步骤三,读取样本数据,利用结构方法库中MSVL方法,对初始架构进行训练,得到BP神经网络的形式化架构。训练BP神经网络架构,是对架构中的大量权值进行调整和优化,使得整个架构适合在实际中使用。
进一步,步骤一中,所述层次化的神经网络结构包含两层实体,所述底层的基础计算单元层以及层次结构层和网络级结构层所组成的上层;与结构相对应,所述神经网络行为还包含两层实体,所述底层的基础操作行为层以及上层的预测和训练行为层,由此构成基于MSVL的BP神经网络底层的结构方法库。
进一步,步骤一中,所述基于MSVL的BP神经网络底层的结构方法库,包括:
(1)神经网络层次化结构体:
①矩阵结构体;
②BP神经网络层次结构体;
③数据集结构体;
④用户需求结构体;
⑤优化参数结构体。
(2)神经网络属性行为方法:
①基础运算方法;
②权值初始化方法;
③激活函数方法;
④损失函数方法。
进一步,步骤二中,所述用户可根据自己的需求构建出形式化的BP神经网络结构并进行预测或者训练,所述针对BP神经网络构建与预测或者训练相关的用户需求,包括:
(1)训练、测试样本数;
(2)样本特征数;
(3)BP神经网络隐藏层数;
(4)各层神经元个数;
(5)各层激活函数;
(6)分类类别数;
(7)损失函数;
(8)权值初始化方式;
(9)训练迭代次数。
进一步,步骤三中,所述根据用户需求产生BP神经网络,包括:
(1)构建神经网络的基本架构:
①用户需求读取;
②数据集构建;
③神经网络初始化。
(2)自动化地训练神经网络:
①正向传播;
②反向传播;
③权值更新。
进一步,所述基于MSVL的BP神经网络的构建和训练方法,还包括:
BP神经网络的行为方法中,损失函数、激活函数和权值初始化方式的选择均采用整型值映射规则,且对核心的运算方法矩阵乘法经过多轮优化包括寄存器优化、多级缓存优化以及稀疏优化。
本发明的另一目的在于提供一种应用所述的基于MSVL的BP神经网络的构建和训练方法的基于MSVL的BP神经网络的构建和训练系统,所述基于MSVL的BP神经网络的构建和训练系统包括:
底层结构方法库构建模块,用于根据BP神经网络基本的层次化结构和属性行为特征,构建基于MSVL的BP神经网络的底层结构方法库;
网络初始架构构建模块,用于根据用户的定制需求,利用结构方法库中的MSVL结构体,构建BP神经网络的初始架构;
网络形式化架构获取模块,用于读取样本数据,利用结构方法库中MSVL方法,对初始架构进行训练,得到BP神经网络的形式化架构。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
根据BP神经网络基本的层次化结构和属性行为特征,构建基于MSVL的BP神经网络的底层结构方法库;根据用户的定制需求,利用结构方法库中的MSVL结构体,构建BP神经网络的初始架构;读取样本数据,利用结构方法库中MSVL方法,对初始架构进行训练,得到BP神经网络的形式化架构。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的基于MSVL的BP神经网络的构建和训练系统。
本发明的另一目的在于提供一种所述的基于MSVL的BP神经网络的构建和训练方法在神经网络系统的形式化验证领域的应用。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的基于MSVL的BP神经网络的构建和训练方法,其结果BP神经网络框架可直接用于形式化验证,能够解决目前大多数神经网络系统采用非形式化的语言开发、无法直接进行验证的问题。
本发明的另一目的在于使用形式化语言MSVL开发具有多种行为的BP神经网络架构,支持对多方面的性质进行验证,旨在改进目前各项神经网络形式化验证技术针对特定性质、适用范围偏小的现状。
本发明提供的利用形式化语言MSVL进行BP神经网络开发的方法。可根据用户的定制需求,自动化地构建与训练BP神经网络的形式化架构。架构涵盖了矩阵运算、反向传播、权值更新等多种神经网络系统的基本行为,可直接用于模型检测、插桩验证等形式化验证技术,并支持与这些行为相关的多方面性质的验证,从而系统的安全可信性能够得到有效的保障。同时,本发明的应用领域为神经网络系统的形式化验证。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于MSVL的BP神经网络的构建和训练方法流程图。
图2是本发明实施例提供的基于MSVL的BP神经网络的构建和训练系统结构框图;
图中:1、底层结构方法库构建模块;2、网络初始架构构建模块;3、网络形式化架构获取模块。
图3是本发明实施例提供的底层的结构方法库总览图。
图4是本发明实施例提供的结构方法库的基础行为概览图。
图5是本发明实施例提供的BP神经网络的构建流程图。
图6是本发明实施例提供的BP神经网络的训练流程图。
图7是本发明实施例提供的BP神经网络架构的验证结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的实施例为开发一个实现手写数字识别任务的BP神经网络。手写数字识别任务是一项分辨手写体数字的10分类任务。本实施例选取的样本集由70000张手写体0~9数字图片组成,划分为60000张训练样本和10000张预测样本。利用此数据集,基于MSVL构建并训练一个的BP神经网络,该神经网络的需求(可由用户定制)如表1所示。
表1神经网络的需求
基本属性信息 选择值 基本属性信息 选择值
隐藏层数 2 特征数 784
分类数 10 隐藏层神经元数 512,256
隐藏层激活函数 ReLU,ReLU 输出层激活函数 Softmax
损失函数 CrossEntropy 优化方法 Adam
批量大小 200 训练epochs 40
下面结合这一实施例和附图,对本发明的具体技术方案进行展开说明。
如图1所示,本发明实施例提供的基于MSVL的BP神经网络的构建和训练方法包括以下步骤:
S101,根据BP神经网络基本的层次化结构和属性行为特征,构建基于MSVL的BP神经网络的底层结构方法库;
S102,根据用户的定制需求,利用结构方法库中的MSVL结构体,构建BP神经网络的初始架构;
S103,读取样本数据,利用结构方法库中MSVL方法,对初始架构进行训练,得到BP神经网络的形式化架构。
如图2所示,本发明实施例提供的基于MSVL的BP神经网络的构建和训练系统包括:
底层结构方法库构建模块1,用于根据BP神经网络基本的层次化结构和属性行为特征,构建基于MSVL的BP神经网络的底层结构方法库;
网络初始架构构建模块2,用于根据用户的定制需求,利用结构方法库中的MSVL结构体,构建BP神经网络的初始架构;
网络形式化架构获取模块3,用于读取样本数据,利用结构方法库中MSVL方法,对初始架构进行训练,得到BP神经网络的形式化架构。
本实施例开发BP神经网络架构的理论基础是形式化语言MSVL。MSVL是投影时序逻辑PTL的可执行子集,具备严格的逻辑基础,并包含众多的语句以及丰富的数据类型。
MSVL语言的基本语句有:
终止语句:empty;
单位区间语句:skip;
赋值语句:
Figure BDA0003034449640000081
单位赋值语句:le:=e;
变量声明语句:Tx;
框架语句:frame(x);
合取语句:p and q;
选择语句:p or q;
下一个状态语句:next p;
ALWAYS语句:alw p;
顺序语句:p;q;
并行语句:p||q;
投影语句:(p1,...,pm)prjq;
条件语句:if b then p else q;
循环语句:while b do p;
方法调用语句:f(e1,...,en);
MSVL基本的数据类型有:
整型及其指针类型:int,int*;
浮点型及其指针类型:float,float*;
字符串及其指针类型:string,string*;
结构体及其指针类型:struct,struct*;
数组类型:array。
图3所示的是本发明实施例构建的BP神经网络底层的结构方法库总览图。BP神经网络的结构被形式化为MSVL结构体,其行为被形式化为MSVL方法。在层次化结构方面,底层的基础运算单元分为向量、矩阵和张量。其中矩阵为核心且被形式化名为Mat的MSVL结构体,向量用一维矩阵来表示,三维张量用矩阵数组来表示。全连接层、BP神经网络层以及数据集为上层实体且分别形式化为FCLayer、BPNN和DataSet的MSVL结构体。与层次化结构相对应的是基础行为方法,包括底层的基础操作包括矩阵运算操作、权值初始化操作、激活操作以及损失计算操作;以及前向传播、反向传播和权值更新为上层的核心行为。
图4所示的是本发明实施例提供的结构方法库的基础行为概览图。基本行为操作为特定行为模式奠定了基础。在本实施例中,利用矩阵结构体来形式化四类基本操作:矩阵操作,权重初始化,激活操作和损失计算。对于矩阵X,XT表示X的转置,而加号X+表示X的扩展,其中所有1的一个偏置列都在左侧。对于相同大小的两个矩阵X和Y,
Figure BDA0003034449640000102
表示X和Y在相同位置上的乘积。例如,
Figure BDA0003034449640000101
根据图中所示,将一组矩阵运算形式化产生MSVL运算方法。MatCreate用于创建矩阵,而MatDelete用于删除矩阵。MatAdd,MatSub,MatMul和MatProduct分别用于按两个矩阵的位置
Figure BDA0003034449640000103
进行加,减,乘和乘积。此外,MatNumMul将矩阵乘以常数,即矩阵的每个元素都乘以该数字。MatNumAdd的含义类似。此外,MatCopy用于矩阵复制。MatPlusCol和MatTrans分别计算矩阵X的扩展X+和转置XT
神经网络权重初始化的主要方法有四种:随机初始化,全零初始化,Xavier初始化和凯明初始化。并分别形式化为四个MSVL方法MatInitRandomNorm,MatInitZero,MatInitXavier和MatInitHe。在本实施例中,还产生了权重初始化的通用方法NNWeightInit,该方法根据整数参数选择这些具体方法之一。
在实施例中,正式确定了五个激活方法:MatSoftmax,MatSigmoid,MatTanh,MatRelu和MatLeakyRelu。它们分别描述了广泛使用的激活函数Softmax,Sigmoid,Tanh,Relu和Leaky Relu。此外,还产生了通用激活的MSVL方法MatActivate,该方法会参考整数参数从五个操作中选择一个。同样,对于损失计算,将两个运算CE和MSE形式化,分别计算交叉熵损失和均方误差损失。根据特定参数,在常规方法LossFunction中选择两者之一。
图5所示的是本发明实施例提供的构建BP神经网络的流程图。该流程具体分为三步。第一步是用户需求读取,即读取表1所示的若干参数。这些参数被组织为临时结构体Custom,并输入到流程中。然后,可以分配这些参数至框架数据结构的相应属性中,并将此操作形式化为MSVL方法LoadParaFromCustom。第二步是数据集构建。计算与批次相关的参数,例如批次块数量和最后一个批次块的大小,并参考这些参数分配所需的空间。之后,再创建数据空间并将数据集导入到DataSet结构体空间中。将这步中的操作形式化为MSVL方法DatasetConstruction。第三步是神经网络初始化。在此步骤中,创建神经网络参数空间包括为BP神经网络的所有参数分配了空间,和为矩阵运算的中间结果分配了辅助空间。之后,初始化神经网络的权重。在这步当中形成的MSVL方法有CreateNNSpaceAndLoadinPara2FCLayer和NNWeightinit。至此,构建了BP神经网络的初始架构。
图6所示的是本发明实施例提供的训练BP神经网络的流程图。在训练阶段,针对特定数量的N次epochs执行迭代训练过程。每次epoch过程均是顺序复合,包括:正向传播NNforward以计算损失,反向传播NNBackward来计算梯度以及根据梯度进行权重更新。
具体而言,正向传播处理所有批次的训练样本。根据它们的输出,通过调用方法LossFunction计算损失。反向传播分两个阶段计算损失的权值梯度:输出层梯度的计算,然后是隐藏层梯度的计算。这里给出正向传播NNForward和反向传播NNBackwrad的具体计算方法。设BP神经网络具有H个隐藏层,将输入层称为第0层,将输出层称为第H+1层。令N(i),W(i)
Figure BDA0003034449640000111
S(i),A(i)和σ(i)分别表示第i层(0≤i≤H+1)的神经元个数,权重矩阵,权重偏置矩阵,求和矩阵,激活矩阵和激活函数。表2呈现了一次epoch过程中神经网络矩阵流的具体情况。
表2一次epoch过程中神经网络矩阵流的具体情况
Figure BDA0003034449640000112
Figure BDA0003034449640000121
正向传播可以概括为:输入是大小为M×N(0)的矩阵X,记为A(0),表示一组大小相同的M个向量。同时处理它们,并且输出也是大小为M×K的矩阵,指示输入属于K类的概率。正向传播如下所示,其中,A(0)为输入矩阵,
Figure BDA0003034449640000122
为激活操作,
Figure BDA0003034449640000123
为MatPlusCol操作,而
Figure BDA0003034449640000124
指向下一层。在正向传播操作过程中,所用到的矩阵变量的维度在上表中具体给出。
Figure BDA0003034449640000125
另外,设Y为标记矩阵,它可以由一组独热向量组成。
Figure BDA0003034449640000126
表示损失函数。假设(·)′计算函数g的导数,而
Figure BDA0003034449640000127
计算出函数相对于矩阵Wb中权重的梯度。反向传播计算过程如下所示。首先,对于输出层,即第H+1层,梯度计算如下。
Figure BDA0003034449640000128
在这里,使用辅助矩阵Δ(i)记录每个层i(0≤i≤H+1)的某些中间结果。然后,第i个隐藏层1≤i≤H的计算取决于其下一层的结果。该计算实际上是从H层到第1层向后执行的。而整个反向传播过程中的中间变量Δ和梯度矩阵的具体维度在上表中也已给出。
Figure BDA0003034449640000129
至此,完成了神经网络的正反向传播且得到了权重的梯度,而后,所有权重均根据其相应的梯度进行更新。为了获得良好的训练率,更新需要采用一定的优化策略。常用的优化策略有三种,分别是批量梯度下降、小批量梯度下降和Adam优化,它们都被实现为MSVL方法。根据需求,本实施例具体采用的优化策略是Adam。
面向手写数字识别任务,本实施例训练得到了一个基于MSVL语言的BP神经网络形式化架构。其主方法main核心代码展示如下。该主方法可由MSVL编译器MC编译和执行,实现BP神经网络的预测等功能,也可作为输入用于不同的形式化验证技术。
Figure BDA0003034449640000131
Figure BDA0003034449640000141
为了说明本发明开发出的BP神经网络架构可直接用于形式化验证,进一步对实施例的BP神经网络的分类效果进行了验证。衡量神经网络分类效果的主要指标为损失(loss)和准确度(accuracy)。采用插桩验证技术,得到如图7所示的验证结果。如图中所示,在前一半epochs的阶段,损失随着epoch数的增加而急剧下降,而准确率在此时期显著上升;在后一半epochs的阶段,损失则缓慢下降至接近于0,相对应地准确率缓慢上升最终稳定在0.982。这一结果说明了本实施例的BP神经网络架构达到了理想的分类效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种基于MSVL的BP神经网络的构建和训练方法,其特征在于,所述基于MSVL的BP神经网络的构建和训练方法包括:
根据BP神经网络基本的层次化结构和属性行为特征,构建基于MSVL的BP神经网络的底层结构方法库;
根据用户的定制需求,利用结构方法库中的MSVL结构体,构建BP神经网络的初始架构;
读取样本数据,利用结构方法库中MSVL方法,对初始架构进行训练,得到BP神经网络的形式化架构。
2.如权利要求1所述的基于MSVL的BP神经网络的构建和训练方法,其特征在于,所述层次化的神经网络结构包含两层实体,所述底层的基础计算单元层以及层次结构层和网络级结构层所组成的上层;与结构相对应,所述神经网络行为还包含两层实体,所述底层的基础操作行为层以及上层的预测和训练行为层,由此构成基于MSVL的BP神经网络底层的结构方法库。
3.如权利要求1所述的基于MSVL的BP神经网络的构建和训练方法,其特征在于,所述基于MSVL的BP神经网络底层的结构方法库,包括:
(1)神经网络层次化结构体:
①矩阵结构体;
②BP神经网络层次结构体;
③数据集结构体;
④用户需求结构体;
⑤优化参数结构体;
(2)神经网络属性行为方法:
①基础运算方法;
②权值初始化方法;
③激活函数方法;
④损失函数方法。
4.如权利要求1所述的基于MSVL的BP神经网络的构建和训练方法,其特征在于,所述用户可根据自己的需求构建出形式化的BP神经网络结构并进行预测或者训练,所述针对BP神经网络构建与预测或者训练相关的用户需求,包括:
(1)训练、测试样本数;
(2)样本特征数;
(3)BP神经网络隐藏层数;
(4)各层神经元个数;
(5)各层激活函数;
(6)分类类别数;
(7)损失函数;
(8)权值初始化方式;
(9)训练迭代次数。
5.如权利要求1所述的基于MSVL的BP神经网络的构建和训练方法,其特征在于,所述根据用户需求产生BP神经网络,包括:
(1)构建神经网络的基本架构:
①用户需求读取;
②数据集构建;
③神经网络初始化;
(2)自动化地训练神经网络:
①正向传播;
②反向传播;
③权值更新。
6.如权利要求1所述的基于MSVL的BP神经网络的构建和训练方法,其特征在于,所述基于MSVL的BP神经网络的构建和训练方法,还包括:BP神经网络的行为方法中,损失函数、激活函数和权值初始化方式的选择均采用整型值映射规则,且对核心的运算方法矩阵乘法经过多轮优化包括寄存器优化、多级缓存优化以及稀疏优化。
7.一种应用如权利要求1~6任意一项所述的基于MSVL的BP神经网络的构建和训练方法的基于MSVL的BP神经网络的构建和训练系统,其特征在于,所述基于MSVL的BP神经网络的构建和训练系统包括:
底层结构方法库构建模块,用于根据BP神经网络基本的层次化结构和属性行为特征,构建基于MSVL的BP神经网络的底层结构方法库;
网络初始架构构建模块,用于根据用户的定制需求,利用结构方法库中的MSVL结构体,构建BP神经网络的初始架构;
网络形式化架构获取模块,用于读取样本数据,利用结构方法库中MSVL方法,对初始架构进行训练,得到BP神经网络的形式化架构。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
根据BP神经网络基本的层次化结构和属性行为特征,构建基于MSVL的BP神经网络的底层结构方法库;根据用户的定制需求,利用结构方法库中的MSVL结构体,构建BP神经网络的初始架构;读取样本数据,利用结构方法库中MSVL方法,对初始架构进行训练,得到BP神经网络的形式化架构。
9.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述的基于MSVL的BP神经网络的构建和训练系统。
10.一种如权利要求1~6任意一项所述的基于MSVL的BP神经网络的构建和训练方法在神经网络系统的形式化验证领域的应用。
CN202110439442.6A 2021-04-23 2021-04-23 一种基于msvl的bp神经网络的构建和训练方法及系统 Active CN113240075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110439442.6A CN113240075B (zh) 2021-04-23 2021-04-23 一种基于msvl的bp神经网络的构建和训练方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110439442.6A CN113240075B (zh) 2021-04-23 2021-04-23 一种基于msvl的bp神经网络的构建和训练方法及系统

Publications (2)

Publication Number Publication Date
CN113240075A true CN113240075A (zh) 2021-08-10
CN113240075B CN113240075B (zh) 2023-08-22

Family

ID=77128979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110439442.6A Active CN113240075B (zh) 2021-04-23 2021-04-23 一种基于msvl的bp神经网络的构建和训练方法及系统

Country Status (1)

Country Link
CN (1) CN113240075B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991428A (zh) * 2023-09-28 2023-11-03 飞腾信息技术有限公司 一种编译方法、装置、编译器、计算设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110443348A (zh) * 2019-06-26 2019-11-12 西安电子科技大学 一种基于msvl的神经网络系统的建模和验证方法
CN110619676A (zh) * 2019-09-18 2019-12-27 东北大学 一种基于神经网络的端到端的三维人脸重建方法
WO2020232905A1 (zh) * 2019-05-20 2020-11-26 平安科技(深圳)有限公司 基于超对象信息的遥感图像目标提取方法、装置、电子设备及介质
WO2021057056A1 (zh) * 2019-09-25 2021-04-01 华为技术有限公司 神经网络架构搜索方法、图像处理方法、装置和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020232905A1 (zh) * 2019-05-20 2020-11-26 平安科技(深圳)有限公司 基于超对象信息的遥感图像目标提取方法、装置、电子设备及介质
CN110443348A (zh) * 2019-06-26 2019-11-12 西安电子科技大学 一种基于msvl的神经网络系统的建模和验证方法
CN110619676A (zh) * 2019-09-18 2019-12-27 东北大学 一种基于神经网络的端到端的三维人脸重建方法
WO2021057056A1 (zh) * 2019-09-25 2021-04-01 华为技术有限公司 神经网络架构搜索方法、图像处理方法、装置和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIAOBING WANG等: ""Towards Formal Verification of Neural Networks: A Temporal Logic Based Framework"", 《SOFL+MSVL 2019: STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD 》, pages 73 - 87 *
祁威;许少华;: "基于SAE的深度过程神经网络模式识别与预测", 软件导刊, no. 05 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991428A (zh) * 2023-09-28 2023-11-03 飞腾信息技术有限公司 一种编译方法、装置、编译器、计算设备及存储介质
CN116991428B (zh) * 2023-09-28 2023-12-15 飞腾信息技术有限公司 一种编译方法、装置、编译器、计算设备及存储介质

Also Published As

Publication number Publication date
CN113240075B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
Bar-Sinai et al. Learning data-driven discretizations for partial differential equations
Chen et al. Theory-guided hard constraint projection (HCP): A knowledge-based data-driven scientific machine learning method
US11870462B2 (en) Fault tolerant and error correction decoding method and apparatus for quantum circuit, and chip
Gobet Monte-Carlo methods and stochastic processes: from linear to non-linear
Donoho et al. Message-passing algorithms for compressed sensing
CN111352965B (zh) 序列挖掘模型的训练方法、序列数据的处理方法及设备
Davis et al. The use of mixture density networks in the emulation of complex epidemiological individual-based models
Zhang et al. Numerical P systems with migrating variables
Luo et al. Deep convolutional neural networks for uncertainty propagation in random fields
Mohammadinejad et al. DiffRNN: differential verification of recurrent neural networks
Maler Algorithmic verification of continuous and hybrid systems
Haasdonk et al. A new certified hierarchical and adaptive RB-ML-ROM surrogate model for parametrized PDEs
Song et al. Elastic structural analysis based on graph neural network without labeled data
CN113240075A (zh) 一种基于msvl的bp神经网络的构建和训练方法及系统
Yang et al. In-context operator learning with data prompts for differential equation problems
Huang et al. LordNet: An efficient neural network for learning to solve parametric partial differential equations without simulated data
CN108475346A (zh) 神经随机访问机器
US20220027722A1 (en) Deep Relational Factorization Machine Techniques for Content Usage Prediction via Multiple Interaction Types
US20220083907A1 (en) Data generation and annotation for machine learning
Archibald et al. Numerical analysis for convergence of a sample-wise backpropagation method for training stochastic neural networks
Parvu et al. Automatic validation of computational models using pseudo-3D spatio-temporal model checking
Rand et al. Formal verification vs. quantum uncertainty
Livieris et al. An advanced conjugate gradient training algorithm based on a modified secant equation
Zhuo et al. Transferring knowledge from another domain for learning action models
Wen et al. Sparse solution of nonnegative least squares problems with applications in the construction of probabilistic Boolean networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant