一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于电路仿真的忆阻器阵列神经网络的构建及优化方法与流程

2021-10-29 20:59:00 来源:中国专利 TAG:神经网络 人工智能 阵列 仿真 电路


1.本发明涉及人工智能技术领域,尤其涉及的是基于电路仿真的忆阻器阵列神经网络的构建及优化方法。


背景技术:

2.传统的基于冯
·
诺伊曼硬件架构的计算机在进行大量数据的交互计算时,面临着“内存墙”(memory wall)的严重制约,即内存的存取速度严重滞后于处理器的计算速度。尤其是在进行神经网络训练时,处理器与内存间庞大的数据交换,会产生巨大的能耗,而且运算速度较慢,无法有效处理实时数据。要从根本上解决问题,需要新的计算硬件技术。而忆阻器(记忆电阻器,memristor)被广泛认为是可以解决冯
·
诺依曼瓶颈的下一代计算硬件。
3.现有的忆阻器架构在神经网络的应用上仍存在着一些问题。在忆阻器的工作过程中,一些非理想的物理特性,诸如读写噪声、随机效应以及释放效应等等,都会对其运算的数据带来扰动,导致与理想计算结果的存在误差。因此,现有技术还有待改进和发展。


技术实现要素:

4.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于电路仿真的忆阻器阵列神经网络的构建及优化方法,旨在解决现有技术中在忆阻器的工作过程中,一些非理想的物理特性,诸如读写噪声、随机效应以及释放效应等等,都会对其运算的数据带来扰动,导致与理想计算结果的存在误差的问题。
5.本发明解决问题所采用的技术方案如下:
6.第一方面,本发明实施例提供一种基于电路仿真的忆阻器阵列神经网络的构建及优化方法,其中,所述方法包括:
7.获取已训练的神经网络模型;
8.根据已训练的神经网络模型和预设的忆阻器,得到忆阻器阵列神经网络模型;
9.基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果。
10.在一种实现方式中,其中,所述获取已训练的神经网络模型包括:
11.获取训练数据集;
12.构建第一网络模型;
13.根据所述训练数据集,对第一网络模型进行训练,得到已训练的神经网络模型。
14.在一种实现方式中,其中,所述构建第一网络模型包括:
15.获取模型参数,其中,所述模型参数用于表征网络模型的层数、学习速率、权重范围和位数等信息;
16.构建反向传播函数;
17.根据所述模型参数和所述反向传播函数,得到第一网络模型。
18.在一种实现方式中,其中,所述根据已训练的神经网络模型和预设的忆阻器,得到
忆阻器阵列神经网络模型包括:
19.获取忆阻器的计算仿真代码库;
20.获取忆阻器的物理仿真参数和噪声模型;
21.根据所述忆阻器计算仿真代码库,对已训练的神经网络模型的所述反向传播函数中的矩阵乘法进行更新,得到更新后的神经网络模型;
22.根据所述物理仿真参数、所述噪声模型和更新后的神经网络模型,得到忆阻器阵列神经网络模型。
23.在一种实现方式中,其中,所述根据所述忆阻器计算仿真代码库,对已训练的神经网络模型的所述反向传播函数中的矩阵乘法进行更新,得到更新后的神经网络模型包括:
24.将已训练的神经网络模型的所述反向传播函数中的矩阵乘法替换为所述忆阻器计算仿真代码库中模拟乘法阵列,得到更新后的神经网络模型。
25.在一种实现方式中,其中,所述根据所述物理仿真参数、所述噪声模型和更新后的神经网络模型,得到忆阻器阵列神经网络模型包括:
26.获取并行电路仿真器;
27.根据更新后的神经网络模型和所述并行电路仿真器,确定更新后的神经网络模型与所述并行电路仿真器之间的连接接口;
28.根据所述并行电路仿真器,对所述物理仿真参数和所述噪声模型进行仿真,得到忆阻器仿真结果;
29.根据所述连接接口和所述忆阻器仿真结果,对更新后的神经网络模型进行训练,得到忆阻器阵列神经网络模型。
30.在一种实现方式中,其中,所述基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果包括:
31.获取若干第一图像和若干所述第一图像的图像标签;
32.将若干所述第一图像输入至所述忆阻器阵列神经网络模型,得到若干网络模型输出数据;
33.根据若干所述网络模型输出数据和若干所述图像标签,得到图像识别率;
34.根据所述图像识别率,调整所述物理仿真参数和模型参数,得到更新后的物理仿真参数和更新后的模型参数;
35.对所述图像识别率、更新后的物理仿真参数和更新后的模型参数进行分析,得到识别率分析结果;
36.对所述识别率分析结果进行整合和优化,得到忆阻器阵列神经网络模型优化结果。
37.在一种实现方式中,其中,所述对所述图像识别率、更新后的物理仿真参数和更新后的模型参数进行分析,得到识别率分析结果包括:
38.对所述图像识别率、更新后的物理仿真参数和更新后的模型参数进行分析,确定所述图像识别率与更新后的物理仿真参数以及更新后的模型参数之间的数据关系;
39.对所述数据关系进行统计分析,得到识别率分析结果。
40.第二方面,本发明实施例还提供一种基于电路仿真的忆阻器阵列神经网络的构建及优化装置,其中,所述装置包括:
41.已训练的神经网络模型获取模块,用于获取已训练的神经网络模型;
42.忆阻器阵列神经网络模型获取模块,用于根据已训练的神经网络模型和预设的忆阻器,得到忆阻器阵列神经网络模型;
43.忆阻器阵列神经网络模型优化结果获取模块,用于基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果。
44.第三方面,本发明实施例还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的基于电路仿真的忆阻器阵列神经网络的构建及优化方法。
45.第四方面,本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的基于电路仿真的忆阻器阵列神经网络的构建及优化方法。
46.本发明的有益效果:本发明实施例首先获取已训练的神经网络模型;为后续构建忆阻器阵列神经网络模型做准备,然后根据已训练的神经网络模型和预设的忆阻器,得到忆阻器阵列神经网络模型;最后基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果,这样通过优化后的忆阻器阵列神经网络模型处理数据的准确率更高。
附图说明
47.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1为本发明实施例提供的基于电路仿真的忆阻器阵列神经网络的构建及优化方法流程示意图。
49.图2为本发明实施例提供的基于忆阻器的神经网络仿真示意图。
50.图3为本发明实施例提供的电路仿真器功能示意图。
51.图4为本发明实施例提供的由电路仿真器搭建的忆阻器阵列功能示意图。
52.图5为本发明实施例提供的一个忆阻器神经网络仿真平台的总体示意图。
53.图6为本发明实施例提供的为基于忆阻器的神经网络在mnist数据集上测试结果图示。
54.图7为本发明实施例提供的基于电路仿真的忆阻器阵列神经网络的构建及优化装置的原理框图。
55.图8为本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
56.本发明公开了一种基于电路仿真的忆阻器阵列神经网络的构建及优化方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
57.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
58.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
59.由于现有技术中,深度学习技术迅速发展,越来越多的神经网络模型被部署在硬件处理器上,用于实现诸如图片分类、物体识别、语音检测等复杂任务。随着神经网络不断进化,在模型训练和推理的过程中,庞大的数据计算量导致了硬件芯片层面的高额的功率开销和内存需求。因此,研究者们开始探索开发新一代的高效低功耗的神经网络硬件计算架构,其中忆阻器架构由于其将存储和计算融为一体的特点脱颖而出,成为研究热点。但是其自身物理非理想特性对计算的影响,使得如何在实际应用中真正部署忆阻器硬件成为了难题。
60.为了解决现有技术的问题,本实施例提供了一种基于电路仿真的忆阻器阵列神经网络的构建及优化方法,通过将神经网络模型与忆阻器阵列结合得到忆阻器阵列神经网络模型,并对忆阻器阵列神经网络模型进行优化,可以提高数据处理的准确率。具体实施时,首先获取已训练的神经网络模型;然后根据已训练的神经网络模型和预设的忆阻器,得到忆阻器阵列神经网络模型;最后基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果。
61.示例性方法
62.本实施例提供一种基于电路仿真的忆阻器阵列神经网络的构建及优化方法,该方法可以应用于人工智能的智能终端。具体如图1所示,所述方法包括:步骤s100、获取已训练的神经网络模型。
63.具体地,可以通过训练初始的网络得到已训练的神经网络模型,也可以通过在数据库中获取现有技术中已经存在的已训练的神经网络模型。
64.为了得到已训练的神经网络模型,所述获取已训练的神经网络模型包括如下步骤:
65.s101、获取训练数据集;
66.s102、构建第一网络模型;
67.s103、根据所述训练数据集,对第一网络模型进行训练,得到已训练的神经网络模型。
68.具体地,数据集可以是图片数据,用于图片分类或者物体识别。预处理的过程即是将数据集中的每个图片的像素和标签分开,用于后续输入神经网络。预处理后的数据集包
含着原每张图片的像素矢量和标签。然后构建第一网络模型,主要由软件代码实现(诸如python),具体流程如图2所示,用代码搭建第一网络模型,相应的,所述构建第一网络模型包括如下步骤:获取模型参数,其中,所述模型参数用于表征网络模型的层数、学习速率、权重范围和位数等信息;构建反向传播函数;根据所述模型参数和所述反向传播函数,得到第一网络模型。
69.具体地,在此阶段设计第一网络模型的层数、学习速率、权重范围、位数等参数,并设计反向传播算法的部分;根据所述模型参数和所述反向传播函数,得到第一网络模型。
70.得到训练数据集和第一网络模型后,根据所述训练数据集,对第一网络模型进行训练,此后将经过预处理的数据集输入神经网络,对神经网络进行初步的训练与测试。之后调整网络算法中的各个参数,这些参数是指诸如神经网络的学习速率、量化比特数、权重范围等等。在每次训练后,可以修改调整算法中的这些参数,重新训练模型,使得新训练出的模型达到更好的准确率。初步提升测试准确率。在本实施例中,网络的输出可以是图片的分类结果。比如如果采用mnist手写数字数据集,其输出结果就是0

9之中的类别。初步训练完成是指在损失值小于预设值的前提下,训练次数达到预设次数。
71.得到已训练的神经网络模型后,执行如图1所示的如下步骤:s200、根据已训练的神经网络模型和预设的忆阻器,得到忆阻器阵列神经网络模型。
72.具体地,得到已训练的神经网络模型后,可以将忆阻器和已训练的神经网络模型进行级联的方式,也可以将忆阻器嵌入至已训练的神经网络模型中,得到忆阻器阵列神经网络模型。
73.为了得到忆阻器阵列神经网络模型,所述根据已训练的神经网络模型和预设的忆阻器,得到忆阻器阵列神经网络模型包括如下步骤:
74.s201、获取忆阻器的计算仿真代码库;
75.s202、获取忆阻器的物理仿真参数和噪声模型;
76.s203、根据所述忆阻器计算仿真代码库,对已训练的神经网络模型的所述反向传播函数中的矩阵乘法进行更新,得到更新后的神经网络模型;
77.s204、根据所述物理仿真参数、所述噪声模型和更新后的神经网络模型,得到忆阻器阵列神经网络模型。
78.具体地,为了获取忆阻器计算仿真代码库(诸如计算机编程语言python)python提供了高效的高级数据结构,还能简单有效地面向对象编程。python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。然后获取忆阻器的物理仿真参数和噪声模型;例如,加入忆阻器运算的物理仿真参数和计算过程中的噪声模型,模拟忆阻器在计算时的非理想表现。接着根据所述忆阻器计算仿真代码库,对已训练的神经网络模型的所述反向传播函数中的矩阵乘法进行更新,得到更新后的神经网络模型;相应的,所述根据所述忆阻器计算仿真代码库,对已训练的神经网络模型的所述反向传播函数中的矩阵乘法进行更新,得到更新后的神经网络模型包括如下步骤:将已训练的神经网络模型的所述反向传播函数中的矩阵乘法替换为所述忆阻器计算仿真代码库中模拟乘法阵列,得到更新后的神经网络模型。
79.具体地,在初步训练完的网络模型后,为了得到基于忆阻器构架的网络模型,需要
找出原始网络反向传播算法中的矩阵乘法部分,将已训练的神经网络模型的所述反向传播函数中的矩阵乘法替换为所述忆阻器计算仿真代码库中模拟乘法阵列,利用忆阻器计算仿真代码库(诸如cross

sim[2])对该运算部分进行修改,得到更新后的神经网络模型。
[0080]
最后根据所述物理仿真参数、所述噪声模型和更新后的神经网络模型,得到忆阻器阵列神经网络模型。可以设置所述噪声模型的物理仿真参数然后和更新后的神经网络模型融合,也可以在所述噪声模型和更新后的神经网络模型融合后再设置物理仿真参数,得到忆阻器阵列神经网络模型。相应的,所述根据所述物理仿真参数、所述噪声模型和更新后的神经网络模型,得到忆阻器阵列神经网络模型包括如下步骤:获取并行电路仿真器;根据更新后的神经网络模型和所述并行电路仿真器,确定更新后的神经网络模型与所述并行电路仿真器之间的连接接口;根据所述并行电路仿真器,对所述物理仿真参数和所述噪声模型进行仿真,得到忆阻器仿真结果;根据所述连接接口和所述忆阻器仿真结果,对更新后的神经网络模型进行训练,得到忆阻器阵列神经网络模型。
[0081]
具体地,先获取并行电路仿真器,然后引入相应的电路仿真器(诸如xyce,synopsis等),设计忆阻器阵列的运算电路结构,并对计算过程进行电路模拟层面的仿真计算,其结构如图3所示。电路仿真器将会根据包含忆阻器各非理想参数的物理模型,根据输入电流和电压,分析其电学性能,得到忆阻器阵列的输出信号和模拟计算结果。在电路层面模拟忆阻器阵列的计算过程,仿真持续时间将会更长,但是其计算结果将会更接近实际情况的忆阻器阵列架构的表现。同时,借由电路仿真模块,我们也可以计算所设计的忆阻器架构的运行功耗。
[0082]
在下载安装完成电路仿真器后,需要在系统上设定相应的路径并测试电路仿真器的可用性。为了将电路仿真器引入忆阻器阵列的仿真计算,也需要用软件代码(诸如python)撰写相应的输入输出接口,将该电路仿真器和神经网络代码结合,利用电路仿真器搭建相应的忆阻器阵列。在进行数据计算时,由忆阻器构成的二维交叉阵列,可以接受外界输入多行或多列的电信号,输入信号和每个忆阻器的阻值产生耦合作用,并输出多行或多列信息,这个过程在数学上可以映射为矩阵

向量乘法操作。
[0083]
如图4所示,展示了一个节点数为n
×
m的忆阻器的二维阵列架构(此图中n为3,m为4),当在阵列的行方向输入维度为1
×
n的电压矢量信号后,根据基尔霍夫电流定律,第j行底端的输出电流为:其中v
i
为第i行的输入电压,r
i,j
对应着阵列中第i行第j列的忆阻器的电阻值(即代表神经网络的权重信息)。因此,阵列的行方向底端将输出维度为1
×
m的电流信号。利用这种二维交叉结构,忆阻器阵列实现了一个1
×
n的向量与一个n
×
m的矩阵的乘法操作。而矩阵

向量乘法在神经网络训练的经典反向传播算法中占了绝大部分,通过利用忆阻器网络,在一个时钟周期内就可以完成多重矢量运算,因此,可以极大地提升速度。得到忆阻器仿真结果之后,根据所述连接接口和所述忆阻器仿真结果,对更新后的神经网络模型进行训练,得到忆阻器阵列神经网络模型。实际中,将神经网络的代码程序与大规模并行电路仿真器结合,创建相应的接口,利用该电路仿真器对所设计的基于忆阻器的神经网络的运算进行仿真,在此基础上训练出基于忆阻器构架的网络模型并测试,得出该神经网络在硬件仿真层面上的测试准确率。在神经网络训练的过程中,需要进行矩阵

矢量乘法操作时,不仅会从忆阻器仿真库中调用根据忆阻器阵列各物理特性设定的模
拟乘法运算,同时也将调用并行电路仿真器在硬件电路层面进行真实的仿真模拟,得到更为接近忆阻器阵列运算的实际情况的仿真计算结果。在此过程中,需要明确输入电路仿真器所在的路径,忆阻器本身的各物理参数以及忆阻器所表示的权重范围等一系列信息。
[0084]
得到忆阻器阵列神经网络模型后,执行如图1所示的如下步骤:s300、基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果。
[0085]
具体地,基于电路仿真,可以对忆阻器阵列部分进行优化,也可以对已训练的神经网络模型进行优化,也可以同时对忆阻器阵列部分和已训练的神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果。
[0086]
为了得到忆阻器阵列神经网络模型优化结果,所述基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果包括如下步骤:
[0087]
s301、获取若干第一图像和若干所述第一图像的图像标签;
[0088]
s302、将若干所述第一图像输入至所述忆阻器阵列神经网络模型,得到若干网络模型输出数据;
[0089]
s303、根据若干所述网络模型输出数据和若干所述图像标签,得到图像识别率;
[0090]
s304、根据所述图像识别率,调整所述物理仿真参数和模型参数,得到更新后的物理仿真参数和更新后的模型参数;
[0091]
s305、对所述图像识别率、更新后的物理仿真参数和更新后的模型参数进行分析,得到识别率分析结果;
[0092]
s306、对所述识别率分析结果进行整合和优化,得到忆阻器阵列神经网络模型优化结果。
[0093]
具体地,先获取若干第一图像和若干所述第一图像的图像标签;所述图像标签与第一图像对应,是第一图像输入网络模型后最终要输出的目标结果。将若干所述第一图像输入至所述忆阻器阵列神经网络模型,得到若干网络模型输出数据;根据若干所述网络模型输出数据和若干所述图像标签,得到图像识别率;当网络模型输出数据与图像标签相同时,此时表明图像识别正确,否则判断为图像识别错误,将正确识别的图像除以总图像个数,就可以得到图像识别率。根据所述图像识别率,当图像识别率很低时,调整所述物理仿真参数和模型参数,得到更新后的物理仿真参数和更新后的模型参数;然后对所述图像识别率、更新后的物理仿真参数和更新后的模型参数进行分析,得到识别率分析结果。实际中,可以采用统计算法,也可以采用神经网络算法对所述图像识别率、更新后的物理仿真参数和更新后的模型参数进行分析,得到识别率分析结果。相应的,所述对所述图像识别率、更新后的物理仿真参数和更新后的模型参数进行分析,得到识别率分析结果包括如下步骤:对所述图像识别率、更新后的物理仿真参数和更新后的模型参数进行分析,确定所述图像识别率与更新后的物理仿真参数以及更新后的模型参数之间的数据关系;对所述数据关系进行统计分析,得到识别率分析结果。
[0094]
具体地,对所述图像识别率、更新后的物理仿真参数和更新后的模型参数进行分析,确定所述图像识别率与更新后的物理仿真参数以及更新后的模型参数之间的数据关系;例如:当图像识别率在所述物理仿真参数(如电流、电压、噪声模型等)和模型参数(如运算位数、权重范围、学习速率等)调整后变得更差时,说明参数调整方向错误,当图像识别率在所述物理仿真参数和模型参数调整后变得更优时,则说明参数调整方向正确。对所述数
据关系进行统计分析,得到识别率分析结果。将图像识别率因为更新后的物理仿真参数以及更新后的模型参数而提高或者降低的结果存储下来。此外,收集每次实验中的准确率结果,分析判断硬件层面上的忆阻器各物理参数和软件层面上的神经网络各模型参数的变化如何影响该准确率。最后,对所述识别率分析结果进行整合和优化,得到忆阻器阵列神经网络模型优化结果。也即整合结论,优化基于忆阻器的神经网络构架,尝试达到更好的表现效果。对未来在实际制造与应用中如何设计调整忆阻器的各个物理参数提出相应的建议。
[0095]
在本发明的另一种实现方式中,利用电路仿真器对网络训练过程进行仿真的设计。
[0096]
在本发明的另一种实现方式中,利用电路仿真器对网络推理过程进行仿真的设计。
[0097]
在本发明的另一种实现方式中,利用电路仿真器和忆阻器仿真库对网络训练进行仿真的设计。
[0098]
在本发明的另一种实现方式中,利用电路仿真器和忆阻器仿真库对网络推理进行仿真的设计。
[0099]
图5为一个忆阻器神经网络仿真平台的总体示意图。神经网络软件平台中的每层神经网络即对应着硬件层面上每层的忆阻器阵列。整个系统通过外部输入数值生成波形,由数模转换生成模拟电压,在忆阻器阵列上进行电路仿真后,将结果以电流形式输出,再进行模数转换,后处理输出结果。以此方式模拟计算出矩阵向量的乘积。需要权重更新时,则在行方向和列方向根据需要更新的权重生成电压波形,从而改写忆阻器阵列的阻值。
[0100]
实验结果:如图6所示,为了验证本发明中基于忆阻器的神经网络仿真效果,本发明在mnist数据集上进行了测试。项目整体主要由python代码实现,采用python 3.5版本及其相应的配套基本环境,包括numpy,matplotlib等python基本包。同时,为了在项目中仿真忆阻器的计算过程,我采用了忆阻器开源仿真库cross

sim。
[0101]
在实验中,在mnist数据集上首先训练出初步的神经网络模型。在网络结构方面,我设计了三层网络,第一层为输入层,共有784个节点,对应着每张图片的784的像素输入。第二层设置了256个节点,用于从输入像素信息中进一步提取图片的特征。而在输出层共设置了10个节点,代表了对手写图片分类的10个结果。
[0102]
在训练得到基于传统构架的模型之后,需要用cross

sim里面的基于忆阻器阵列的矩阵乘法计算替换原算法中理想运算的矩阵

矢量乘法。此后引入相应的电路仿真器,在忆阻器阵列的器件层面对计算过程进行电路硬件层面的仿真计算。我采用了同样由美国圣地亚国家实验室研发的高性能并行电路仿真器xyce。而后用python代码撰写接口,把电路仿真器xyce和忆阻器仿真库cross

sim接入神经网络,运行程序,让网络模型在mnist数据集上训练,最后初步得到基于忆阻器构架的神经网络模型。
[0103]
实验所训练出的模型在mnist测试集上达到了95.23%的准确率。这充分证明了,本项目所设计的基于忆阻器阵列的神经网络,在实际应用中可以达到与基于传统cmos架构的神经网络近乎相同的识别准确率。而且将xyce与cross

sim结合后,我们实现了在电路仿真层面模拟基于忆阻器的神经网络的乘法计算,使得整个实验的结果和结论更具说服力。本发明也有利证明了将忆阻器硬件架构的用于设计训练神经网络模型的可行性和巨大潜力。
[0104]
示例性设备
[0105]
如图7中所示,本发明实施例提供一种基于电路仿真的忆阻器阵列神经网络的构建及优化装置,该装置包括已训练的神经网络模型获取模块401、忆阻器阵列神经网络模型获取模块402和忆阻器阵列神经网络模型优化结果获取模块403,其中:
[0106]
已训练的神经网络模型获取模块401,用于获取已训练的神经网络模型;
[0107]
忆阻器阵列神经网络模型获取模块402,用于根据已训练的神经网络模型和预设的忆阻器,得到忆阻器阵列神经网络模型;
[0108]
忆阻器阵列神经网络模型优化结果获取模块403,用于基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果。
[0109]
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图8所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于电路仿真的忆阻器阵列神经网络的构建及优化方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
[0110]
本领域技术人员可以理解,图8中的原理图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0111]
在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0112]
获取已训练的神经网络模型;
[0113]
根据已训练的神经网络模型和预设的忆阻器,得到忆阻器阵列神经网络模型;
[0114]
基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果。
[0115]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0116]
综上所述,本发明公开了基于电路仿真的忆阻器阵列神经网络的构建及优化方
法、智能终端、存储介质,所述方法包括:获取已训练的神经网络模型;根据已训练的神经网络模型和预设的忆阻器,得到忆阻器阵列神经网络模型;基于电路仿真,对所述忆阻器阵列神经网络模型进行优化,得到忆阻器阵列神经网络模型优化结果。本发明实施例通过将神经网络模型与忆阻器阵列结合得到忆阻器阵列神经网络模型,并对忆阻器阵列神经网络模型进行优化,可以提高数据处理的准确率。
[0117]
基于上述实施例,本发明公开了一种基于电路仿真的忆阻器阵列神经网络的构建及优化方法,应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜