CN114067157B - 基于忆阻器的神经网络优化方法、装置及忆阻器阵列 - Google Patents

基于忆阻器的神经网络优化方法、装置及忆阻器阵列 Download PDF

Info

Publication number
CN114067157B
CN114067157B CN202111360525.2A CN202111360525A CN114067157B CN 114067157 B CN114067157 B CN 114067157B CN 202111360525 A CN202111360525 A CN 202111360525A CN 114067157 B CN114067157 B CN 114067157B
Authority
CN
China
Prior art keywords
binary
weight
neural network
memristor
preset
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.)
Active
Application number
CN202111360525.2A
Other languages
English (en)
Other versions
CN114067157A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202111360525.2A priority Critical patent/CN114067157B/zh
Publication of CN114067157A publication Critical patent/CN114067157A/zh
Application granted granted Critical
Publication of CN114067157B publication Critical patent/CN114067157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • G06N3/045Combinations of networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例公开了一种基于忆阻器阵列的神经网络优化方法、装置及忆阻器阵列,所述方法包括:获取待处理图像;对所述待处理图像进行二值化处理,以得到二进制图像数据;将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;根据所述目标二值化权重调整忆阻器阵列的特征参数。通过在网络的训练过程中对二值卷积神经网络中的权重进行加噪处理,有效提升了忆阻器阵列中二值卷积神经网络的鲁棒性和网络性能。

Description

基于忆阻器的神经网络优化方法、装置及忆阻器阵列
技术领域
本发明涉及神经网络技术领域,尤其涉及一种基于忆阻器的神经网络优化方法、装置及忆阻器阵列。
背景技术
近年来,基于忆阻的二值卷积神经网络由于具有处理能力强、功耗低、计算效率高等优点而得到了广泛的研究,但由于忆阻器制造技术尚不成熟,其在嵌入式神经形态计算领域尚未得到广泛应用。
现有技术中所制造的器件存在着许多不理想的特性,如忆阻阵列的产率、忆阻变化率等,这降低了在基于忆阻器的计算系统上运行的应用程序的性能。
发明内容
为了解决上述技术问题,本申请实施例提供了一种基于忆阻器的神经网络优化方法、装置及忆阻器阵列,具体方案如下:
第一方面,本申请实施例提供了一种基于忆阻器的神经网络优化方法,所述方法包括:
获取待处理图像;
对所述待处理图像进行二值化处理,以得到二进制图像数据;
将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;
根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;
根据所述目标二值化权重调整忆阻器阵列的特征参数。
根据本申请实施例的一种具体实施方式,所述二值卷积神经网络包括卷积层和全连接层,所述预设二值化权重包括第一加噪权重和第二加噪权重,所述将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果的步骤包括:
向卷积层输入所述二进制图像数据,以使所述卷积层根据所述二进制图像数据和所述第一加噪权重进行卷积计算,以得到对应所述二进制图像数据的多组特征图像的待激活数据;
根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出;
向全连接层输入各组特征图像的二值激活输出,以使所述全连接层根据各组特征图像的二值激活输出和所述第二加噪权重进行乘累加计算,以得到对应所述二进制图像数据的图像分类结果。
根据本申请实施例的一种具体实施方式,所述第一加噪权重或所述第二加噪权重的获取步骤,包括:
获取所述卷积神经网络中的初始权重;
从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对所述初始权重进行加噪处理,以得到所述第一加噪权重或所述第二加噪权重。
根据本申请实施例的一种具体实施方式,根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出的步骤之后,所述方法还包括:
从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对各组特征图像的二值激活输出进行加噪处理,以得到加噪二值激活输出。
根据本申请实施例的一种具体实施方式,所述根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重的步骤包括:
根据所述图像分类结果与所述图像分类标签值计算二值卷积神经网络的损失函数;
根据预设梯度下降算法和所述损失函数更新所述预设二值化权重,以获得所述目标二值化权重,其中,所述预设梯度下降算法中的二元激活函数的梯度采用双曲正切函数的梯度。
根据本申请实施例的一种具体实施方式,所述对所述待处理图像进行二值化处理的处理函数为:
其中,x为所述待处理图像的像素值。
第二方面,本申请实施例提供了一种基于忆阻器的神经网络优化装置,所述装置包括:
获取模块,用于获取待处理图像;
二值化模块,用于对所述待处理图像进行二值化处理,以得到二进制图像数据;
计算模块,用于将所述二进制图像数据与预设二值化权重到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;
更新模块,用于根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;
调整模块,用于根据所述目标二值化权重调整忆阻器阵列的特征参数。
根据本申请实施例的一种具体实施方式,所述计算模块,具体用于:
向卷积层输入所述二进制图像数据,以使所述卷积层根据所述二进制图像数据和所述预设二值化权重进行卷积计算,以得到对应所述二进制图像数据的多组特征图像的待激活数据;
根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出;
向全连接层输入各组特征图像的二值激活输出,以使所述全连接层根据各组特征图像的二值激活输出和所述预设二值化权重进行乘积累加计算,以得到对应所述二进制图像数据的图像分类结果。
第三方面,本申请实施例提供了一种忆阻器阵列,用于执行第一方面所述的基于忆阻器的神经网络优化方法。
第四方面,本申请实施例提供了一种终端设备,包括第三方面所述的忆阻器阵列。
本申请实施例提供了一种基于忆阻器阵列的神经网络优化方法、装置及忆阻器阵列,所述方法包括:获取待处理图像;对所述待处理图像进行二值化处理,以得到二进制图像数据;将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;根据所述目标二值化权重调整忆阻器阵列的特征参数。通过在网络的训练过程中对二值卷积神经网络中的权重进行加噪处理,有效提升了忆阻器阵列中二值卷积神经网络的鲁棒性和网络性能。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例提供的一种基于忆阻器的神经网络优化方法的方法流程示意图;
图2示出了本申请实施例提供的一种基于忆阻器的神经网络优化方法中二值卷积神经网络的交互示意图;
图3、图4、图6、图7和图8分别示出了本申请实施例提供的一种基于忆阻器的神经网络优化方法中二值卷积神经网络的部分性能示意图;
图5示出了本申请实施例提供的一种基于忆阻器的神经网络优化方法中对二值激活输出进行加噪处理的计算示意图;
图9示出了本申请实施例提供的一种基于忆阻器的神经网络优化装置的装置模块示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
二值卷积神经网络以其优异的计算效率和较少的存储消耗而受到广泛关注。然而,当面对复杂的任务时,神经网络的深度会越来越深,这就增加了对通信带宽的要求。并且冯·诺伊曼体系结构中存在内存墙的问题,使得计算速度和能源效率难以进一步提高。
通过存内处理(processing-in-memory,简称PIM)体系结构,解决了冯·诺伊曼体系结构中存在的内存墙问题。由于PIM体系结构的核心计算组件忆阻阵列不仅用于存储神经网络的权值,还用于执行矩阵向量乘法器,避免了内存与计算单元之间的数据传输,从而降低了对通信带宽的要求,提高了计算速度和能效。
然而,目前忆阻器的制造技术还不成熟,所制造的器件存在着许多不理想的特性,如忆阻阵列的产率、忆阻变化率等,这降低了在基于忆阻器的计算系统上运行的应用程序的性能。针对这种情况,我们提出了一种用于优化运行在基于忆阻器计算系统上的二值卷积神经网络性能的方法。
具体的,所述二值卷积神经网络处理图像的过程包括三个过程,分别为前向处理过程、反向处理过程和权值更新过程,本申请实施例中对于所述二值卷积神经网络的优化主要体现在前向处理过程中。
在本实施例中,所述二值卷积神经网络的前向处理过程包括输入图像,对图像进行卷积计算以得到多张特征图像,对得到的所述多张特征图像进行激活输出处理,最后将经过激活输出处理的激活结果传输到全连接层,从而能够得到经二值卷积神经网络的分类结果。
基于忆阻器阵列的二值卷积神经网络往往因为器件的缺陷和网络性能而受到影响,这些影响因子分别体现在忆阻阵列的良率、忆阻电阻的变化和神经元输出的变化上。
为方便描述,本申请实施例中采用了如下仿真实验设置来训练二值卷积神经网络。
其中,使用Tensorflow开源库对二值化神经网络进行训练,利用Python实现蒙特卡罗仿真方法得到了仿真结果。
对于忆阻模型参数,使用了两个Pt/HfO2:Cu/Cu结构的忆阻器构成差分对的形式对二值化卷积神经网络中的一个权值进行表示。该结构的忆阻器在高阻状态(HRS)和低阻状态(LRS)下的平均电阻值分别为1MΩ和1KΩ。
对于二值化卷积神经网络训练参数,图像数据集分为三个子集,分别是包含55000张图像的训练集、包含5000张图像的验证集和包含10000张图像的测试集。网络在整个训练集上的迭代数为100,梯度下降优化算法的批量大小为100。此外,采用指数衰减学习率,初始学习率为0.01。
对于非理想特性模型,即面临的器件缺陷及网络性能上的影响,分别进行了对应设置。
对于忆阻阵列的良率问题,将本申请实施例中的忆阻器阵列中部分忆阻器电阻随机改变为损坏状态,所述损坏状态包括GHRS或GLRS,其中GHRS为处于高阻态下忆阻器对应的电导,GLRS为处于低阻态下忆阻器对应的电导值。且损坏状态为GHRS或GLRS的可能性均为50%。
对于忆阻器的阻值波动问题,使用阻值波动模型,其中,/>表示忆阻器处于高阻态或低阻态时所对应的平均电阻值,即处于GHRS时为1MΩ,处于GLRS时为1KΩ,参数/>需要满足/>,其中/>表示阻值波动的范围。通过所述阻值波动模型使得忆阻器阵列中处于GRHS或GLRS状态下的忆阻器的电阻并不完全等同于1MΩ或1KΩ,而是在1MΩ或1KΩ的附近进行波动。
对于神经元的输出变化问题,采用了神经元输出波动模型,其中,/>表示神经元输出电压的期望值,即+VCC和0V,其中参数/>表示正态分布的标准差,其反映了神经元输出波动的范围。通过所述神经元输出波动模型使得由二值激活函数输出的值(“0”和“1”)所对应的硬件神经元输出的电压值(0V和+VCC)不能完全对应,而是对应于在电压值0V和+VCC附近的电压值。
当然,上述仿真实验设置均可以根据具体的忆阻器使用情况来进行更替变换,上述非理想特性模型也只是用于模拟实际使用时的情况进行的参数设置,具体数值均可以根据实际使用过程中的参数变化进行调整,上述设定均不是唯一限定。
参考图1,为本申请实施例提供的一种基于忆阻器的神经网络优化方法的方法流程示意图,如图1所示,所述基于忆阻器的神经网络优化方法包括:
步骤S101,获取待处理图像;
在具体实施例中,从预设的图像数据库中获取待处理图像,所述待处理图像可以为能够适用于二值卷积神经网络的任意类型图像,此处不对所述待处理图像的类型作限定。
所述预设的图像数据库可以为混合国家标准和技术研究所数据库(MixedNational Institute of Standards and Technology database,简称MNIST),具体的,在本申请实施例中所使用的MNIST数据集包括训练图像数据集、验证图像数据集和测试图像数据集。
可以使用所述训练图像数据集中的图像数据来训练二值卷积神经网络,使用所述验证图像数据集和测试图像数据集中的图像数据来验证和测试经过优化后二值卷积神经网络的特性。
步骤S102,对所述待处理图像进行二值化处理,以得到二进制图像数据;
在具体实施例中,获取所述待处理图像数据后,需要对所述待处理图像的像素值进行二值化处理,以便于二值卷积神经网络后续运算图像处理过程。
通过二值化处理函数处理所述待处理图像的像素值,即能将所述待处理图像处理成为0或1值的二进制图像数据,根据本申请实施例的一种具体实施方式,所述对所述待处理图像进行二值化处理的处理函数为:
其中,x为所述待处理图像的像素值。
步骤S103,将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;
在具体实施例中,在得到二进制图像数据后,即能够通过二值卷积神经网络处理所述二进制图像数据以得到图像分类结果。所述二值卷积神经网络通过卷积层对所述二进制图像数据进行卷积计算以得到多组特征图像数据。对多组特征图像数据进行激活处理后即能够得到待输入全连接层的激活输出。通过全连接层对所述激活输出进行乘积累加计算,就能够得到对应待处理图像的图像分类结果。
本申请实施例在对二值卷积神经网络中的二值化权重进行了加噪处理,并根据加噪处理后的预设二值化权重进行了卷积层的卷积计算和全连接层的乘积累加计算。
根据本申请实施例的一种具体实施方式,所述二值卷积神经网络包括卷积层和全连接层,所述预设二值化权重包括第一加噪权重和第二加噪权重,所述将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值化卷积神经网络当中计算得到图像分类结果的步骤包括:
向卷积层输入所述二进制图像数据,以使所述卷积层根据所述二进制图像数据和所述第一加噪权重进行卷积计算,以得到对应所述二进制图像数据的多组特征图像的待激活数据;
根据预设的激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出;
向全连接层输入各组特征图像的二值激活输出,以使所述全连接层根据各组特征图像的二值激活输出和所述第二加噪权重进行乘积累加计算,以得到对应所述二进制图像数据的图像分类结果。
在具体实施例中,如图2所示,所述二值卷积神经网络的卷积层在接收所述二进制图像数据后,即能根据各二进制图像数据进行卷积计算,并得到对应所述二进制图像数据的多组特征图像的待激活数据,其中,所得到的特征图像数量由实际使用的卷积计算公式和待处理图像原本的像素值来确定,此处不作具体限定。
在不对二值化权重进行加噪的情况下,二值卷积神经网络中权重参数的二值化形式为+1或-1,处理函数如下:
其中,x为二进制图像数据的二进制值;
在卷积层进行卷积计算的过程中,需要对二进制图像数据进行一个加权运算,而本申请实施例中,对所述卷积计算过程中使用的二值化权重参数进行了加噪处理。所述加噪处理后的权重被用于在二值化卷积神经网络的训练过程中代替原始二值化权重与所述二进制图像进行加权运算。
在全连接层进行乘积累加计算的过程中,需要对激活输出进行一次加权运算,在本申请实施例中,对所述乘积累加计算过程中的二值化权重参数进行了加噪处理。所述加噪处理后的权重被用于在二值化卷积神经网络的训练过程中代替原始二值化权重与所述加噪二值激活输出进行加权运算。
对卷积层和全连接层中的原始二值化权重进行加噪处理,并使用加噪后的预设二值化权重进行卷积层的卷积运算和全连接层的乘积累加运算,能够提高卷积二值神经网络在具有非理想特性的忆阻器阵列中运行时的性能,以使卷积二值神经网络的卷积层和全连接层对器件的非理想特性具有更好的包容性。
根据本申请实施例的一种具体实施方式,所述第一加噪权重或所述第二加噪权重的获取步骤,包括:
获取所述卷积神经网络中的初始权重;
从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对所述初始权重进行加噪处理,以得到所述第一加噪权重或所述第二加噪权重。
在具体实施例中,若卷积层中的初始权重经二值处理后变为,全连接层中的初始权重经二值处理后变为/>。从服从正态分布的高斯噪声中获取高斯噪声采样值Noise,并分别对卷积层和全连接层中的经二值处理后的初始权重进行加噪处理,即能得到第一加噪权重/>和第二加噪权重/>
本申请实施例对加入了第一加噪权重和第二加噪权重后的二值卷积神经网络性能进行了验证。基于非理想特性模型,分析了采用高斯噪声注入二值化权重后训练的二值卷积神经网络的鲁棒性。
表1给出了在网络的训练过程中使用预设二值化权重后训练得到的二值卷积神经网络在离线识别过程中的性能。
表1
从表1可以知道,当高斯噪声参数在0.1到0.6之间变化时,网络的识别率达到97.5%以上。如图3和图4所述,图3为不同噪声采样值在不同忆阻阵列良率的识别率曲线,图4位不同噪声采样值在不同忆阻器电阻变化的识别率曲线,从图3和图4中可以看出,随着高斯噪声参数/>的增大,所述二值卷积神经网络对忆阻器阵列良率和忆阻器电阻变化的鲁棒性显著提高。
也就是说在网络的训练过程中对卷积层和全连接层的权重参数进行加噪处理后,能够显著提高二值卷积神经网络对忆阻器阵列良率和忆阻器电阻变化的鲁棒性。
根据本申请实施例的一种具体实施方式,根据预设的激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出的步骤之后,所述方法还包括:从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对各组特征图像的二值激活输出进行加噪处理。
在具体实施例中,在二值卷积神经网络计算图像分类结果的过程中,对于激活函数处理各组图像的待激活数据时,对于各组特征图像的二值激活输出同样进行了加噪处理,以得到加噪二值激活输出。
并使用所述加噪二值激活输出进行后续全连接层的乘积累加计算。
二进制激活函数的原始输出只有两种类型的值,分别为0和1,激活的二值化函数表示如下:
其中,x为二进制图像数据的二进制值;
具体加噪过程如图5所示,从服从正态分布的高斯噪声中获取的高斯噪声采样值是浮点类型的,从而对于各组图像的二值激活输出进行加噪处理后,即能够将原始激活输出变为像素值为浮点类型的特征图像。
所述高斯噪声采样值的获取步骤包括,由Tensorflow调用服从正态分布的高斯函数生成的随机值矩阵,并提前在所述高斯函数中将所述随机值矩阵的维度设置成与多维特征图的维度一样。
表2为当注入二值化权重的高斯噪声参数=0.6时,改变注入到各组特征图像的激活输出的高斯噪声参数/>,二值卷积神经网络的网络性能参数。其中,所述高斯噪声参数为Tensorflow所调用的服从正态分布的高斯函数的标准差。
表2
从表2可以看出,随着高斯噪声参数为0.6和高斯噪声参数/>的增加,网络对神经元输出变化的容忍度逐渐增加。同时,为了保持网络性能优良,提高网络对神经元输出变化的容忍度,将高斯噪声参数/>设置为0.5。图6、图7和图8显示了单独将在高斯噪声参数=0.6情况下得到的采样值注入二值化权重时,二值卷积神经网络在面对忆阻器缺陷和神经元变化时的识别率,即/>=0.6,/>=0对应曲线。图6、图7和图8还显示了将在高斯噪声参数/>=0.6的情况下得到的采样值注入二值化权重和并将在高斯噪声参数/>=0.5得到的采样值注入激活输出时,二值卷积神经网络在面对忆阻器缺陷和神经元变化时的识别率即/>=0.6,/>=0.5对应曲线。
从图6、图7和图8中可以看出,在为激活输出添加高斯噪声采样值后,进一步提高了二值卷积神经网络的鲁棒性。
步骤S104,根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;
在具体实施例中,所述图像分类标签值是对应所述待处理图像的图像分类结果的验证参数。
在具体实施例中,所述反相传播权值更新的步骤包括:
根据所述图像分类结果与所述图像分类标签值计算二值卷积神经网络损失函数的损失值;
根据预设梯度下降算法和所述损失函数更新所述预设二值化权重,以获得所述目标二值化权重,其中,所述预设梯度下降算法中的二元激活函数的梯度采用双曲正切函数的梯度。
在具体实施例中,在二值卷积神经网络的前向传播处理过程输出图像分类结果后,即可以通过计算所述图像分类结果和所述图像分类标签值的交叉熵的方式,计算所述二值卷积神经网络损失函数的损失值。
在得到图像分类结果和图像分类标签值的损失函数损失值后,根据梯度下降算法和所述损失函数对预设二值化权重进行更新,并得到再次输入所述二值卷积神经网络的目标二值化权重。
另外,由于二元激活函数在非零点处的梯度为0,而零点处的梯度为无穷大,因此使用双曲正切函数tanh的梯度来进行二元激活函数的计算,从而使得非零点处的梯度不为0,以方便反向传播权值更新过程对所述预设二值化权重进行更新。
步骤S105,根据所述目标二值化权重调整忆阻器阵列的特征参数。
在具体实施例中,得到目标二值化权重后,即能将所述目标二值化权重重新输入加载在所述忆阻器阵列中的二值卷积神经网络中,并用于下一次目标二值卷积神经网络的计算。
另外,还可以根据所述目标二值化权重参数更改所述忆阻器阵列的排列方式和阻值大小,以贴合更新后的二值卷积神经网络。
本申请实施例提出的基于忆阻器的神经网络优化方法通过对二值卷积神经网络的二值化权重进行加噪处理,对二元激活函数的激活输出进行加噪处理,能够极大缓解忆阻器的二值卷积神经网络在面对忆阻器缺陷时的影响,显著提升了忆阻器阵列中二值卷积神经网络的鲁棒性。
参考图9,为本申请实施例提供的一种基于忆阻器的神经网络优化装置900的装置模块示意图,如图9所示,所述基于忆阻器的神经网络优化装置900包括:
获取模块901,用于获取待处理图像;
二值化模块902,用于对所述待处理图像进行二值化处理,以得到二进制图像数据;
计算模块903,用于将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值化卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;
更新模块904,用于根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;
调整模块905,用于根据所述目标二值化权重调整忆阻器阵列的特征参数。
根据本申请实施例的一种具体实施方式,所述计算模块903,具体用于:
向卷积层输入所述二进制图像数据,以使所述卷积层根据所述二进制图像数据和所述预设二值化权重进行卷积计算,以得到对应所述二进制图像数据的多组特征图像的待激活数据;
根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出;向全连接层输入各组特征图像的二值激活输出,以使所述全连接层根据各组特征图像的二值激活输出和所述预设二值化权重进行乘积累加计算,以得到对应所述二进制图像数据的图像分类结果。
另外,本申请实施例还提供了一种忆阻器阵列,用于执行上述实施例中所述的基于忆阻器的神经网络优化方法。
本申请实施例还提供了一种终端设备,包括上述实施例中所述的忆阻器阵列。
综上所述,本申请实施例提供了一种基于忆阻器的神经网络优化方法、装置及忆阻器阵列,本申请实施例的基于忆阻器的二值卷积神经网络,在忆阻器阵列良率为80%的情况下,通过二值卷积神经网络识别MNIST的图片集中仍能达到96.75%以上的识别率,当忆阻器的阻值波动为26%时,其识别率为94.53%,当神经元输出变化量为0.8时,其识别率为94.66%。也就是说,通过本申请实施例中神经网络优化方法得到的基于忆阻器的二值卷积神经网络具有高鲁棒性。所提供的基于忆阻器的神经网络优化装置、忆阻器阵列和终端设备的具体实施过程,可以参见上述方法实施例的具体实施过程,在此不再一一赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (6)

1.一种基于忆阻器的神经网络优化方法,其特征在于,所述方法包括:
获取待处理图像;
对所述待处理图像进行二值化处理,以得到二进制图像数据;
将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;
根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;
根据所述目标二值化权重调整忆阻器阵列的特征参数;
所述基于忆阻器的二值卷积神经网络包括卷积层和全连接层,所述预设二值化权重包括第一加噪权重和第二加噪权重,所述将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果的步骤包括:
向卷积层输入所述二进制图像数据,以使所述卷积层根据所述二进制图像数据和所述第一加噪权重进行卷积计算,以得到对应所述二进制图像数据的多组特征图像的待激活数据;
根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出;
向全连接层输入各组特征图像的二值激活输出,以使所述全连接层根据各组特征图像的二值激活输出和所述第二加噪权重进行乘积累加计算,以得到对应所述二进制图像数据的图像分类结果;
所述第一加噪权重或所述第二加噪权重按以下步骤获取,包括:
获取所述基于忆阻器的二值卷积神经网络中的初始权重;
从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对所述初始权重进行加噪处理,以得到所述第一加噪权重或所述第二加噪权重;
所述根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重的步骤包括:
根据所述图像分类结果与所述图像分类标签值计算二值卷积神经网络的损失函数;
根据预设梯度下降算法和所述损失函数更新所述预设二值化权重,以获得所述目标二值化权重,其中,所述预设梯度下降算法中的二元激活函数的梯度采用双曲正切函数的梯度。
2.根据权利要求1所述的方法,其特征在于,根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出的步骤之后,所述方法还包括:
从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对各组特征图像的二值激活输出进行加噪处理,以得到加噪二值激活输出。
3.根据权利要求1所述的方法,其特征在于,所述对所述待处理图像进行二值化处理的处理函数为:
其中,x为所述待处理图像的像素值。
4.一种基于忆阻器的神经网络优化装置,其特征在于,所述装置包括:
获取模块,用于获取待处理图像;
二值化模块,用于对所述待处理图像进行二值化处理,以得到二进制图像数据;
计算模块,用于将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;
更新模块,用于根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;
调整模块,用于根据所述目标二值化权重调整忆阻器阵列的特征参数;
所述基于忆阻器的二值卷积神经网络包括卷积层和全连接层,所述预设二值化权重包括第一加噪权重和第二加噪权重;
所述计算模块,还用于:向卷积层输入所述二进制图像数据,以使所述卷积层根据所述二进制图像数据和所述第一加噪权重进行卷积计算,以得到对应所述二进制图像数据的多组特征图像的待激活数据;根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出;向全连接层输入各组特征图像的二值激活输出,以使所述全连接层根据各组特征图像的二值激活输出和所述第二加噪权重进行乘积累加计算,以得到对应所述二进制图像数据的图像分类结果,根据所述图像分类结果与所述图像分类标签值计算二值卷积神经网络的损失函数,根据预设梯度下降算法和所述损失函数更新所述预设二值化权重,以获得所述目标二值化权重,其中,所述预设梯度下降算法中的二元激活函数的梯度采用双曲正切函数的梯度;
所述获取模块,还用于获取所述卷积神经网络中的初始权重,从服从正态分布的高斯噪声中获取高斯噪声采样值,根据所述高斯噪声采样值对所述初始权重进行加噪处理,以得到第一加噪权重或第二加噪权重。
5.一种忆阻器阵列,其特征在于,用于执行权利要求1-3任一项所述的基于忆阻器的神经网络优化方法。
6.一种终端设备,其特征在于,包括权利要求5所述忆阻器阵列。
CN202111360525.2A 2021-11-17 2021-11-17 基于忆阻器的神经网络优化方法、装置及忆阻器阵列 Active CN114067157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111360525.2A CN114067157B (zh) 2021-11-17 2021-11-17 基于忆阻器的神经网络优化方法、装置及忆阻器阵列

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111360525.2A CN114067157B (zh) 2021-11-17 2021-11-17 基于忆阻器的神经网络优化方法、装置及忆阻器阵列

Publications (2)

Publication Number Publication Date
CN114067157A CN114067157A (zh) 2022-02-18
CN114067157B true CN114067157B (zh) 2024-03-26

Family

ID=80273296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111360525.2A Active CN114067157B (zh) 2021-11-17 2021-11-17 基于忆阻器的神经网络优化方法、装置及忆阻器阵列

Country Status (1)

Country Link
CN (1) CN114067157B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116805370A (zh) * 2022-03-15 2023-09-26 清华大学 图像识别方法、装置及相关设备
CN114781628A (zh) * 2022-03-29 2022-07-22 清华大学 基于忆阻器噪声的数据增强方法、装置、电子设备及介质
CN114463161B (zh) * 2022-04-12 2022-09-13 之江实验室 一种基于忆阻器的神经网络处理连续图像的方法和装置
CN114819093A (zh) * 2022-05-09 2022-07-29 清华大学 利用基于忆阻器阵列的环境模型的策略优化方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800870A (zh) * 2019-01-10 2019-05-24 华中科技大学 一种基于忆阻器的神经网络在线学习系统
CN110659731A (zh) * 2018-06-30 2020-01-07 华为技术有限公司 一种神经网络训练方法及装置
CN113610220A (zh) * 2021-08-27 2021-11-05 中国人民解放军国防科技大学 神经网络模型的训练方法、应用方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109543827B (zh) * 2018-12-02 2020-12-29 清华大学 生成式对抗网络装置及训练方法
US11580411B2 (en) * 2018-12-18 2023-02-14 Hewlett Packard Enterprise Development Lp Systems for introducing memristor random telegraph noise in Hopfield neural networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659731A (zh) * 2018-06-30 2020-01-07 华为技术有限公司 一种神经网络训练方法及装置
CN109800870A (zh) * 2019-01-10 2019-05-24 华中科技大学 一种基于忆阻器的神经网络在线学习系统
CN113610220A (zh) * 2021-08-27 2021-11-05 中国人民解放军国防科技大学 神经网络模型的训练方法、应用方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种面向忆阻器加速器的神经网络模型压缩框架;沈林耀,王琴,蒋剑飞,景乃锋;微电子学与计算机;第38卷(第8期);20-27 *
基于忆阻器阵列的二值化MLP网络研究;李智炜;中国博士学位论文全文数据库 信息科技辑;I135-35 *
忆阻器的发展现状与未来;李清江,刘海军,徐晖;国防科技;第37卷(第6期);9-16 *

Also Published As

Publication number Publication date
CN114067157A (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN114067157B (zh) 基于忆阻器的神经网络优化方法、装置及忆阻器阵列
CN106919942B (zh) 用于手写汉字识别的深度卷积神经网络的加速压缩方法
US10380479B2 (en) Acceleration of convolutional neural network training using stochastic perforation
US20180005110A1 (en) Resistive processing units and neural network training methods
US20210081798A1 (en) Neural network method and apparatus
CN112508243B (zh) 电力信息系统多故障预测网络模型的训练方法及装置
CN109361404B (zh) 一种基于半监督深度学习网络的ldpc译码系统及译码方法
CN112734012B (zh) 脉冲神经网络训练方法、数据处理方法、电子设备和介质
CN109918204B (zh) 数据处理系统及方法
CN108009594A (zh) 一种基于变分组卷积的图像识别方法
CN113837959B (zh) 图像去噪模型训练方法、图像去噪方法及系统
Zhou et al. Online filter clustering and pruning for efficient convnets
CN109993026B (zh) 亲属识别网络模型的训练方法及装置
CN112598123A (zh) 神经网络的权值的量化方法、量化装置及存储介质
CN111353534B (zh) 一种基于自适应分数阶梯度的图数据类别预测方法
WO2023250322A1 (en) Image embeddings via deep learning and adaptive batch normalization
CN109325140B (zh) 从图像中提取哈希码的方法、装置及图像检索方法、装置
WO2020087254A1 (zh) 卷积神经网络的优化方法及相关产品
CN117413281A (zh) 用于神经网络的数据感知模型修剪
CN115908909A (zh) 基于贝叶斯卷积神经网络的进化神经架构搜索方法及系统
US20200372363A1 (en) Method of Training Artificial Neural Network Using Sparse Connectivity Learning
CN114528810A (zh) 数据编码生成方法、装置、电子设备及存储介质
CN113177627A (zh) 优化系统、重新训练系统及其方法及处理器和可读介质
CN116502640B (zh) 基于上下文的文本表征模型训练方法及装置
Choi et al. Rq-dnn: Reliable quantization for fault-tolerant deep neural 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