CN114067157A - 基于忆阻器的神经网络优化方法、装置及忆阻器阵列 - Google Patents
基于忆阻器的神经网络优化方法、装置及忆阻器阵列 Download PDFInfo
- Publication number
- CN114067157A CN114067157A CN202111360525.2A CN202111360525A CN114067157A CN 114067157 A CN114067157 A CN 114067157A CN 202111360525 A CN202111360525 A CN 202111360525A CN 114067157 A CN114067157 A CN 114067157A
- Authority
- CN
- China
- Prior art keywords
- binary
- weight
- binarization
- neural network
- memristor
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 69
- 238000005457 optimization Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 73
- 238000004364 calculation method Methods 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims abstract description 33
- 230000004913 activation Effects 0.000 claims description 62
- 238000013527 convolutional neural network Methods 0.000 claims description 35
- 238000005070 sampling Methods 0.000 claims description 21
- 238000009825 accumulation Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000012549 training Methods 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 36
- 210000002569 neuron Anatomy 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241001089723 Metaphycus omega Species 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational 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Ω,参数σv需要满足σv=μ×rv,其中rv表示阻值波动的范围。通过所述阻值波动模型使得忆阻器阵列中处于GRHS或GLRS状态下的忆阻器的电阻并不完全等同于1MΩ或1KΩ,而是在1MΩ或1KΩ的附近进行波动。
对于神经元的输出变化问题,采用了神经元输出波动模型V~N(μl,σ2),其中,μl表示神经元输出电压的期望值,即+VCC和0V,其中参数σ表示正态分布的标准差,其反映了神经元输出波动的范围。通过所述神经元输出波动模型使得由二值激活函数输出的值(“0”和“1”)所对应的硬件神经元输出的电压值(0V和+VCC)不能完全对应,而是对应于在电压值0V和+VCC附近的电压值。
当然,上述仿真实验设置均可以根据具体的忆阻器使用情况来进行更替变换,上述非理想特性模型也只是用于模拟实际使用时的情况进行的参数设置,具体数值均可以根据实际使用过程中的参数变化进行调整,上述设定均不是唯一限定。
参考图1,为本申请实施例提供的一种基于忆阻器的神经网络优化方法的方法流程示意图,如图1所示,所述基于忆阻器的神经网络优化方法包括:
步骤S101,获取待处理图像;
在具体实施例中,从预设的图像数据库中获取待处理图像,所述待处理图像可以为能够适用于二值卷积神经网络的任意类型图像,此处不对所述待处理图像的类型作限定。
所述预设的图像数据库可以为混合国家标准和技术研究所数据库(MixedNationalInstitute of Standards and Technology database,简称MNIST),具体的,在本申请实施例中所使用的MNIST数据集包括训练图像数据集、验证图像数据集和测试图像数据集。
可以使用所述训练图像数据集中的图像数据来训练二值卷积神经网络,使用所述验证图像数据集和测试图像数据集中的图像数据来验证和测试经过优化后二值卷积神经网络的特性。
步骤S102,对所述待处理图像进行二值化处理,以得到二进制图像数据;
在具体实施例中,获取所述待处理图像数据后,需要对所述待处理图像的像素值进行二值化处理,以便于二值卷积神经网络后续运算图像处理过程。
通过二值化处理函数处理所述待处理图像的像素值,即能将所述待处理图像处理成为0或1值的二进制图像数据,根据本申请实施例的一种具体实施方式,所述对所述待处理图像进行二值化处理的处理函数为:
其中,x为所述待处理图像的像素值。
步骤S103,将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;
在具体实施例中,在得到二进制图像数据后,即能够通过二值卷积神经网络处理所述二进制图像数据以得到图像分类结果。所述二值卷积神经网络通过卷积层对所述二进制图像数据进行卷积计算以得到多组特征图像数据。对多组特征图像数据进行激活处理后即能够得到待输入全连接层的激活输出。通过全连接层对所述激活输出进行乘积累加计算,就能够得到对应待处理图像的图像分类结果。
本申请实施例在对二值卷积神经网络中的二值化权重进行了加噪处理,并根据加噪处理后的预设二值化权重进行了卷积层的卷积计算和全连接层的乘积累加计算。
根据本申请实施例的一种具体实施方式,所述二值卷积神经网络包括卷积层和全连接层,所述预设二值化权重包括第一加噪权重和第二加噪权重,所述将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值化卷积神经网络当中计算得到图像分类结果的步骤包括:
向卷积层输入所述二进制图像数据,以使所述卷积层根据所述二进制图像数据和所述第一加噪权重进行卷积计算,以得到对应所述二进制图像数据的多组特征图像的待激活数据;
根据预设的激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出;
向全连接层输入各组特征图像的二值激活输出,以使所述全连接层根据各组特征图像的二值激活输出和所述第二加噪权重进行乘积累加计算,以得到对应所述二进制图像数据的图像分类结果。
在具体实施例中,如图2所示,所述二值卷积神经网络的卷积层在接收所述二进制图像数据后,即能根据各二进制图像数据进行卷积计算,并得到对应所述二进制图像数据的多组特征图像的待激活数据,其中,所得到的特征图像数量由实际使用的卷积计算公式和待处理图像原本的像素值来确定,此处不作具体限定。
在不对二值化权重进行加噪的情况下,二值卷积神经网络中权重参数的二值化形式为+1或-1,处理函数如下:
其中,x为二进制图像数据的二进制值;
在卷积层进行卷积计算的过程中,需要对二进制图像数据进行一个加权运算,而本申请实施例中,对所述卷积计算过程中使用的二值化权重参数进行了加噪处理。所述加噪处理后的权重被用于在二值化卷积神经网络的训练过程中代替原始二值化权重与所述二进制图像进行加权运算。
在全连接层进行乘积累加计算的过程中,需要对激活输出进行一次加权运算,在本申请实施例中,对所述乘积累加计算过程中的二值化权重参数进行了加噪处理。所述加噪处理后的权重被用于在二值化卷积神经网络的训练过程中代替原始二值化权重与所述加噪二值激活输出进行加权运算。
对卷积层和全连接层中的原始二值化权重进行加噪处理,并使用加噪后的预设二值化权重进行卷积层的卷积运算和全连接层的乘积累加运算,能够提高卷积二值神经网络在具有非理想特性的忆阻器阵列中运行时的性能,以使卷积二值神经网络的卷积层和全连接层对器件的非理想特性具有更好的包容性。
根据本申请实施例的一种具体实施方式,所述第一加噪权重或所述第二加噪权重的获取步骤,包括:
获取所述卷积神经网络中的初始权重;
从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对所述初始权重进行加噪处理,以得到所述第一加噪权重或所述第二加噪权重。
在具体实施例中,若卷积层中的初始权重经二值处理后变为WB_conv,全连接层中的初始权重经二值处理后变为WB_fully。从服从正态分布的高斯噪声中获取高斯噪声采样值Noise,并分别对卷积层和全连接层中的经二值处理后的初始权重进行加噪处理,即能得到第一加噪权重Wconv=WB_conv+Noise和第二加噪权重Wfully=WB_fully+Noise。
本申请实施例对加入了第一加噪权重和第二加噪权重后的二值卷积神经网络性能进行了验证。基于非理想特性模型,分析了采用高斯噪声注入二值化权重后训练的二值卷积神经网络的鲁棒性。
表1给出了在网络的训练过程中使用预设二值化权重后训练得到的二值卷积神经网络在离线识别过程中的性能。
表1
从表1可以知道,当高斯噪声参数σ1在0.1到0.6之间变化时,网络的识别率达到97.5%以上。如图3和图4所述,图3为不同噪声采样值在不同忆阻阵列良率的识别率曲线,图4位不同噪声采样值在不同忆阻器电阻变化的识别率曲线,从图3和图4中可以看出,随着高斯采样噪声参数σ1的增大,所述二值卷积神经网络对忆阻器阵列良率和忆阻器电阻变化的鲁棒性显著提高。
也就是说在网络的训练过程中对卷积层和全连接层的权重参数进行加噪处理后,能够显著提高二值卷积神经网络对忆阻器阵列良率和忆阻器电阻变化的鲁棒性。
根据本申请实施例的一种具体实施方式,根据预设的激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出的步骤之后,所述方法还包括:从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对各组特征图像的二值激活输出进行加噪处理。
在具体实施例中,在二值卷积神经网络计算图像分类结果的过程中,对于激活函数处理各组图像的待激活数据时,对于各组特征图像的二值激活输出同样进行了加噪处理,以得到加噪二值激活输出。
并使用所述加噪二值激活输出进行后续全连接层的乘积累加计算。
二进制激活函数的原始输出只有两种类型的值,分别为0和1,激活的二值化函数表示如下:
其中,x为二进制图像数据的二进制值;
具体加噪过程如图5所示,从服从正态分布的高斯噪声中获取的高斯噪声采样值是浮点类型的,从而对于各组图像的二值激活输出进行加噪处理后,即能够将原始激活输出变为像素值为浮点类型的特征图像。
所述高斯噪声采样值的获取步骤包括,由Tensorflow调用服从正态分布的高斯函数生成的随机值矩阵,并提前在所述高斯函数中将所述随机值矩阵的维度设置成与多维特征图的维度一样。
表2为当注入二值化权重的高斯噪声参数σ1=0.6时,改变注入到各组特征图像的激活输出的高斯噪声参数σ2,二值卷积神经网络的网络性能参数。其中,所述高斯噪声参数为Tensorflow所调用的服从正态分布的高斯函数的标准差。
表2
从表2可以看出,随着高斯噪声参数σ1为0.6和高斯噪声参数σ2的增加,网络对神经元输出变化的容忍度逐渐增加。同时,为了保持网络性能优良,提高网络对神经元输出变化的容忍度,将噪声参数σ2设置为0.5。图6、图7和图8显示了单独将在高斯噪声参数σ1=0.6情况下得到的采样值注入二值化权重时,二值卷积神经网络在面对忆阻器缺陷和神经元变化时的识别率,即σ1=0.6,σ2=0对应曲线。图6、图7和图8还显示了将在高斯噪声参数σ1=0.6的情况下得到的采样值注入二值化权重和并将在高斯噪声参数σ2=0.5得到的采样值注入激活输出时,二值卷积神经网络在面对忆阻器缺陷和神经元变化时的识别率即σ1=0.6,σ2=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 (10)
1.一种基于忆阻器的神经网络优化方法,其特征在于,所述方法包括:
获取待处理图像;
对所述待处理图像进行二值化处理,以得到二进制图像数据;
将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;
根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;
根据所述目标二值化权重调整忆阻器阵列的特征参数。
2.根据权利要求1所述的方法,其特征在于,所述二值卷积神经网络包括卷积层和全连接层,所述预设二值化权重包括第一加噪权重和第二加噪权重,所述将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果的步骤包括:
向卷积层输入所述二进制图像数据,以使所述卷积层根据所述二进制图像数据和所述第一加噪权重进行卷积计算,以得到对应所述二进制图像数据的多组特征图像的待激活数据;
根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出;
向全连接层输入各组特征图像的二值激活输出,以使所述全连接层根据各组特征图像的二值激活输出和所述第二加噪权重进行乘积累加计算,以得到对应所述二进制图像数据的图像分类结果。
3.根据权利要求2所述的方法,其特征在于,所述第一加噪权重或所述第二加噪权重的获取步骤,包括:
获取所述卷积神经网络中的初始权重;
从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对所述初始权重进行加噪处理,以得到所述第一加噪权重或所述第二加噪权重。
4.根据权利要求2所述的方法,其特征在于,根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出的步骤之后,所述方法还包括:
从服从正态分布的高斯噪声中获取高斯噪声采样值;
根据所述高斯噪声采样值对各组特征图像的二值激活输出进行加噪处理,以得到加噪二值激活输出。
5.根据权利要求1所述的方法,其特征在于,所述根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重的步骤包括:
根据所述图像分类结果与所述图像分类标签值计算二值卷积神经网络的损失函数;
根据预设梯度下降算法和所述损失函数更新所述预设二值化权重,以获得所述目标二值化权重,其中,所述预设梯度下降算法中的二元激活函数的梯度采用双曲正切函数的梯度。
7.一种基于忆阻器的神经网络优化装置,其特征在于,所述装置包括:
获取模块,用于获取待处理图像;
二值化模块,用于对所述待处理图像进行二值化处理,以得到二进制图像数据;
计算模块,用于将所述二进制图像数据与预设二值化权重输入加载到基于忆阻器的二值卷积神经网络中计算得到图像分类结果,其中,所述预设二值化权重为经过预设加噪处理的二值化权重;
更新模块,用于根据所述图像分类结果和图像分类标签值执行反向传播权值更新处理,以得到目标二值化权重;
调整模块,用于根据所述目标二值化权重调整忆阻器阵列的特征参数。
8.根据权利要求7所述的神经网络优化装置,其特征在于,所述计算模块,具体用于:
向卷积层输入所述二进制图像数据,以使所述卷积层根据所述二进制图像数据和所述预设二值化权重进行卷积计算,以得到对应所述二进制图像数据的多组特征图像的待激活数据;
根据预设的二元激活函数处理各组特征图像的待激活数据,以得到各组特征图像的二值激活输出;
向全连接层输入各组特征图像的二值激活输出,以使所述全连接层根据各组特征图像的二值激活输出和所述预设二值化权重进行乘积累加计算,以得到对应所述二进制图像数据的图像分类结果。
9.一种忆阻器阵列,其特征在于,用于执行权利要求1-6任一项所述的基于忆阻器的神经网络优化方法。
10.一种终端设备,其特征在于,包括权利要求9所述忆阻器阵列。
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 true CN114067157A (zh) | 2022-02-18 |
CN114067157B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114463161A (zh) * | 2022-04-12 | 2022-05-10 | 之江实验室 | 一种基于忆阻器的神经网络处理连续图像的方法和装置 |
CN114781628A (zh) * | 2022-03-29 | 2022-07-22 | 清华大学 | 基于忆阻器噪声的数据增强方法、装置、电子设备及介质 |
CN116805370A (zh) * | 2022-03-15 | 2023-09-26 | 清华大学 | 图像识别方法、装置及相关设备 |
WO2023217027A1 (zh) * | 2022-05-09 | 2023-11-16 | 清华大学 | 利用基于忆阻器阵列的环境模型的策略优化方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800870A (zh) * | 2019-01-10 | 2019-05-24 | 华中科技大学 | 一种基于忆阻器的神经网络在线学习系统 |
CN110659731A (zh) * | 2018-06-30 | 2020-01-07 | 华为技术有限公司 | 一种神经网络训练方法及装置 |
US20200175379A1 (en) * | 2018-12-02 | 2020-06-04 | Tsinghua University | Generative adversarial network device and training method thereof |
US20200193300A1 (en) * | 2018-12-18 | 2020-06-18 | Hewlett Packard Enterprise Development Lp | Systems for introducing memristor random telegraph noise in hopfield neural networks |
CN113610220A (zh) * | 2021-08-27 | 2021-11-05 | 中国人民解放军国防科技大学 | 神经网络模型的训练方法、应用方法及装置 |
-
2021
- 2021-11-17 CN CN202111360525.2A patent/CN114067157B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659731A (zh) * | 2018-06-30 | 2020-01-07 | 华为技术有限公司 | 一种神经网络训练方法及装置 |
US20200175379A1 (en) * | 2018-12-02 | 2020-06-04 | Tsinghua University | Generative adversarial network device and training method thereof |
US20200193300A1 (en) * | 2018-12-18 | 2020-06-18 | Hewlett Packard Enterprise Development Lp | Systems for introducing memristor random telegraph noise in hopfield neural networks |
CN109800870A (zh) * | 2019-01-10 | 2019-05-24 | 华中科技大学 | 一种基于忆阻器的神经网络在线学习系统 |
CN113610220A (zh) * | 2021-08-27 | 2021-11-05 | 中国人民解放军国防科技大学 | 神经网络模型的训练方法、应用方法及装置 |
Non-Patent Citations (3)
Title |
---|
李智炜: "基于忆阻器阵列的二值化MLP网络研究", 中国博士学位论文全文数据库 信息科技辑, pages 135 - 35 * |
李清江,刘海军,徐晖: "忆阻器的发展现状与未来", 国防科技, vol. 37, no. 6, pages 9 - 16 * |
沈林耀,王琴,蒋剑飞,景乃锋: "一种面向忆阻器加速器的神经网络模型压缩框架", 微电子学与计算机, vol. 38, no. 8, pages 20 - 27 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116805370A (zh) * | 2022-03-15 | 2023-09-26 | 清华大学 | 图像识别方法、装置及相关设备 |
CN114781628A (zh) * | 2022-03-29 | 2022-07-22 | 清华大学 | 基于忆阻器噪声的数据增强方法、装置、电子设备及介质 |
CN114463161A (zh) * | 2022-04-12 | 2022-05-10 | 之江实验室 | 一种基于忆阻器的神经网络处理连续图像的方法和装置 |
WO2023217027A1 (zh) * | 2022-05-09 | 2023-11-16 | 清华大学 | 利用基于忆阻器阵列的环境模型的策略优化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114067157B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114067157A (zh) | 基于忆阻器的神经网络优化方法、装置及忆阻器阵列 | |
CN109791626B (zh) | 神经网络权重编码方法、计算装置及硬件系统 | |
CN106919942B (zh) | 用于手写汉字识别的深度卷积神经网络的加速压缩方法 | |
CN107749757B (zh) | 一种基于堆栈式自编码和pso算法的数据压缩方法及装置 | |
CN112508243B (zh) | 电力信息系统多故障预测网络模型的训练方法及装置 | |
CN108009594A (zh) | 一种基于变分组卷积的图像识别方法 | |
Zhou et al. | Online filter clustering and pruning for efficient convnets | |
CN113538281B (zh) | 图像去噪方法、装置、计算机设备和存储介质 | |
CN109543029B (zh) | 基于卷积神经网络的文本分类方法、装置、介质和设备 | |
CN113837959B (zh) | 图像去噪模型训练方法、图像去噪方法及系统 | |
CN111353534B (zh) | 一种基于自适应分数阶梯度的图数据类别预测方法 | |
EP3520034A1 (en) | Convolutional neural network | |
US11704604B2 (en) | Optimization method, apparatus, computer device and storage medium for engine model | |
CN109409508B (zh) | 一种基于生成对抗网络使用感知损失解决模型崩塌的方法 | |
CN113592078A (zh) | 一种基于人工智能的深度学习网络训练方法 | |
CN116362351A (zh) | 利用噪声扰动训练预训练语言模型的方法及装置 | |
CN109325140B (zh) | 从图像中提取哈希码的方法、装置及图像检索方法、装置 | |
Kim et al. | Tweaking deep neural networks | |
WO2020087254A1 (zh) | 卷积神经网络的优化方法及相关产品 | |
US20230409960A1 (en) | Image embeddings via deep learning and adaptive batch normalization | |
CN110830939A (zh) | 基于改进的cpn-wlan指纹定位数据库的定位方法 | |
CN112784967B (zh) | 信息处理方法、装置以及电子设备 | |
CN109145132B (zh) | 从图像中提取哈希码的方法、装置及图像检索方法、装置 | |
CN117413281A (zh) | 用于神经网络的数据感知模型修剪 | |
CN114528810A (zh) | 数据编码生成方法、装置、电子设备及存储介质 |
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 |