CN109977470B - 忆阻Hopfield神经网络稀疏编码的电路及其操作方法 - Google Patents
忆阻Hopfield神经网络稀疏编码的电路及其操作方法 Download PDFInfo
- Publication number
- CN109977470B CN109977470B CN201910135036.3A CN201910135036A CN109977470B CN 109977470 B CN109977470 B CN 109977470B CN 201910135036 A CN201910135036 A CN 201910135036A CN 109977470 B CN109977470 B CN 109977470B
- Authority
- CN
- China
- Prior art keywords
- memristor
- voltage
- terminal
- operational amplifier
- bias
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- 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/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Geometry (AREA)
- Amplifiers (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明公开了一种基于忆阻Hopfield神经网络实现稀疏编码的电路及其操作方法;通过基于Hopfield神经网络硬件电路解决了稀疏编码的问题。本发明是忆阻交叉阵列方式,电路整体结构更加简单灵活,功耗更低,体积更小;并且忆阻器具有良好的非易失性,能将存储和运算相结合,有望突破传统冯诺依曼体系架构的瓶颈。传统解决稀疏编码问题都是通过软件来实现,硬件电路实现相比于软件实现所需的时间更短,功耗更低,速度更快,同时由于忆阻器的阻值可以改变,灵活性更高,从而可以解决各种不同的稀疏编码问题。硬件电路的实现对于神经形态的计算提供了基础,实际生产过程中的操作效率大幅度提升,提高了操作的灵活性,同时所需的芯片体积相较于传统结构要小很多。
Description
技术领域
本发明属于电路设计领域,更具体地,涉及一种忆阻Hopfield神经网络稀疏编码的电路及其操作方法。
背景技术
1959年,David Hubel和Toresten Wiesel通过对猫的视觉条纹皮层简单细胞感受野的研究得出一个结论:主视皮层V1区神经元的感受野能对视觉感知信息产生一种“稀疏表示”。稀疏编码的目的是在大量的数据集中,选取很小部分作为元素来重建新的数据。稀疏编码的难点是其最优化目标函数的求解。Hopfield神经网络是一个解决最优化问题很好的方法。Hopfield神经网络是一种单层反馈全连接的神经网络,通过将优化问题转换为能量函数最小化,从初始状态按能量函数减小的方向进行演化,直到达到稳定状态,稳定状态即为网络的输出。连续型Hopfield神经网络使用的是电阻作为权重,一旦权重确定下来,这个网络的功能就无法改变。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于忆阻Hopfield神经网络实现稀疏编码的电路,旨在解决现有技术中由于电阻的电导值固定后无法修改,只能处理一种字典固定的稀疏编码导致无法处理不同的稀疏编码的问题。
本发明提供了一种基于忆阻Hopfield神经网络实现稀疏编码的电路,包括:n个单元,每个单元具有n个电压输入端和一个输出端,n个单元的第一电压输入端均连接后用于接收第一初始输入电压V1,n个单元的第二电压输入端均连接后用于接收第二初始输入电压V2,……n个单元的第n电压输入端均连接后用于接收第n初始输入电压Vn;每个单元均包括:积分模块、开关单元以及n个忆阻器,n个忆阻器依次记为第一忆阻器、第二忆阻器,……,第n忆阻器;n个忆阻器的一端均与所述积分模块的一端连接,第一忆阻器的另一端作为第一电压输入端,第二忆阻器的另一端作为第二电压输入端,……第n忆阻器的另一端作为第n电压输入端,开关单元的一端与所述积分模块的另一端连接,开关单元的另一端作为所述单元的输出端。
其中,积分模块包括:运算放大器An、电容Cn、偏置电阻RIn和反馈电阻Rn;所述运算放大器An的反相输入端作为所述积分模块的输入端,所述运算放大器An的输出端作为所述积分模块的输出端,所述电容Cn连接在所述运算放大器An的反相输入端与输出端之间,所述反馈电阻Rn与所述电容Cn并联连接,所述偏置电阻RIn的一端连接至所述运算放大器An的反相输入端,所述偏置电阻RIn的另一端连接偏置电压VIn,所述运算放大器An的正相输入端接地。
其中,开关单元包括:激活开关Sn,其一端连接积分模块,另一端作为所述单元的输出端。
本发明还提供了一种基于忆阻Hopfield神经网络实现稀疏编码的电路,包括:第一忆阻器G11、第二忆阻器G12、第三忆阻器G13、第四忆阻器G21、第五忆阻器G22、第六忆阻器G23、第七忆阻器G31、第八忆阻器G32、第九忆阻器G33、第一运算放大器A1、第二运算放大器A2、第三运算放大器A3、第一电容C1、第二电容C2、第三电容C3、第一偏置电压VI1、第二偏置电压VI2、第三偏置电压VI3、第一偏置电阻RI1、第二偏置电阻RI2、第三偏置电阻RI3、第一反馈电阻R1、第二反馈电阻R2、第三反馈电阻R3、第一激活开关S1、第二激活开关S2、第三激活开关S3、第一初始输入电压V1、第二初始输入电压V2和第三初始输入电压V3;所述第一忆阻器G11的第一端、所述第四忆阻器G21的第一端和所述第七忆阻器G31的第一端与第一激活开关S1的输出端So1相连、所述第二忆阻器G12的第一端、所述第五忆阻器G22的第一端和所述第八忆阻器G32的第一端与第二激活开关S2的输出端So2相连、所述第三忆阻器G13的第一端、所述第六忆阻器G23的第一端和所述第九忆阻器G33的第一端与第三激活开关S3的输出端So3相连;所述第一忆阻器G11的第二端、所述第二忆阻器G12的第二端、所述第三忆阻器G13的第二端、所述第一偏置电阻RI1的第二端、所述第一反馈电阻R1的第二端和所述第一电容C1的第二端均与所述第一运算放大器A1的反向输入端相连,第一运算放大器A1的正向输入端接地;所述第四忆阻器G21的第二端、所述第五忆阻器G22的第二端、所述第六忆阻器G23的第二端、所述第二偏置电阻RI2的第二端、所述第二反馈电阻R2的第二端和所述第二电容C2的第二端均与所述第二运算放大器A2的反向输入端相连,第二运算放大器A2的正向输入端接地;所述第七忆阻器G31的第二端、所述第八忆阻器G32第二端、所述第九忆阻器G33的第二端、所述第三偏置电阻RI3的第二端、所述第三反馈电阻R3的第二端和所述第三电容C3的第二端均与所述第三运算放大器A3的反向输入端相连,第三运算放大器A3的正向输入端接地。
其中,第一偏置电阻RI1的第一端与第一偏置电压VI1相连、第二偏置电阻RI2的第一端与第二偏置电压VI2相连、第三偏置电阻RI3的第一端与第三偏置电压VI3相连;第一电容C1的第一端、第一反馈电阻R1的第一端与第一运算放大器A1的输出端相连,第二电容C2的第一端、第二反馈电阻R2的第一端与第二运算放大器A2的输出端相连,第三电容C3的第一端、第三反馈电阻R3的第一端与第三运算放大器A3的输出端相连。
其中,第一忆阻器G11、第二忆阻器G12、第三忆阻器G13、第四忆阻器G21、第五忆阻器G22、第六忆阻器G23、第七忆阻器G31、第八忆阻器G32和第九忆阻器G33的电导值可以根据不同的稀疏编码任务要求进行相应地的设置。
本发明还提供了一种基于上述的基于Hopfield神经网络实现稀疏编码的操作方法,包括下述步骤:
(1)通过在所述第一忆阻器G11的第一端、第四忆阻器G21的第一端和第七忆阻器G31的第一端施加初始电压V1,通过在所述第二忆阻器G12的第一端、第五忆阻器G22的第一端和第八忆阻器G32的第一端施加初始电压V2,通过在所述第三忆阻器G13的第一端、第六忆阻器G23的第一端和第九忆阻器G33的第一端施加初始电压V3,通过在所述第一偏置电阻RI1的第一端施加第一偏置电压VI1、通过在所述第二偏置电阻RI2的第一端施加第二偏置电压VI2、通过在所述第三偏置电阻RI3的第一端施加第三偏置电压VI3从而完成整个电路的初始化过程;
(2)所述第一激活开关S1输出端So1的电压施加在所述第一忆阻器G11第一端、所述第四忆阻器G21第一端和所述第七忆阻器G31第一端、所述第二激活开关S2输出端So2的电压施加在所述第二忆阻器G12第一端、所述第五忆阻器G22第一端和所述第八忆阻器G32第一端、所述第三激活开关S3输出端So3的电压施加在所述第三忆阻器G13第一端、所述第六忆阻器G23第一端和所述第九忆阻器G33第一端。
本发明还提供了一种基于忆阻Hopfield神经网络的交叉阵列电路,包括:由n条水平纳米线和n条垂直纳米线构成的交叉阵列,以及n*n个忆阻器;n*n个忆阻器分别设置在所述交叉阵列的交叉点处。
其中,通过选择所述交叉阵列电路中某n行n列的n*n个忆阻器处于工作状态实现稀疏编码的功能。
总体而言,通过本发明所构思的以上技术方案,由于忆阻器良好的性能和基于忆阻Hopfield神经网络的特性,该基于Hopfield神经网络硬件电路实现稀疏编码电路和方法能够取得下列优良效果:
(1)本发明的基于忆阻Hopfield神经网络实现稀疏编码的电路,能够充分地发挥神经网络的并行处理能力,在硬件电路上采用的是全并行处理,相比于软件的串行处理实现稀疏编码的功能,极大的提高了稀疏编码的速度和准确性。
(2)本发明的基于忆阻Hopfield神经网络实现稀疏编码的电路,神经网络权重使用的是忆阻的电导不是传统Hopfield神经网络的电阻的电导,在Hopfield神经网络中,使用忆阻替代电阻可以得到不同的电导值,从而能够处理不同的稀疏编码问题,使整体电路结构更加简单灵活,体积更小,功耗更低。
(3)本发明的基于忆阻Hopfield神经网络实现稀疏编码的电路,能够应用于超大规模的集成电路,可以与现有的人工智能芯片相结合实现神经形态计算或类脑计算的功能。
附图说明
图1为本发明实施例提供的基于忆阻Hopfield神经网络实现稀疏编码的电路原理图。
图2为本发明实施例提供的基于忆阻Hopfield神经网络实现稀疏编码的电路中积分模块的结构图。
图3为本发明实施例提供的基于忆阻Hopfield神经网络实现稀疏编码的电路的具体电路图。
图4为本发明实施例提供的开关单元的激活函数的示意图。
图5为本发明实施例提供的稀疏编码实验使用的稀疏编码字典20幅字典图像,本实验采用发明中5*5的交叉阵列。
图6为本发明实施例提供的稀疏编码实验的结果,图中O表示原图,R表示复原出来的结果,总共是50幅图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明利用忆阻Hopfield神经网络这个电路实现了稀疏编码问题的求解,将忆阻的电导值作为神经网络的权重,同电阻的电导相比作为神经网络的权重的好处是,忆阻的电导值可以改变,而电阻的电导值一旦固定,电阻的电导值就无法修改,使用电阻只能处理一种字典固定的稀疏编码问题。对于处理不同的稀疏编码问题,忆阻电导值可变的特性更加的灵活。由于忆阻是纳米级器件,忆阻的体积相比电阻更小,功耗也更低。
本发明提出了采用忆阻替代电阻,从而使Hopfield神经网络更加灵活处理不同的任务。作为新型的具有很多优良性能的纳米级器件的忆阻器,自1971年被预言存在、2008年被首次成功制备出物理实物以来,开始受到科研工作者的广泛关注,忆阻器的“阻变”性及类似“开关”的特性使得其能够取代传统的晶体管器件,并有望解决其技术瓶颈的难题。
在神经网络技术的发展过程中,神经网络硬件实现技术的研究远滞后于应用研究,以至于当前绝大部分应用不得不采用串行计算机进行软件模拟,几十年来,应用人工神经网络的人们尚未有机会真正体会到基于神经网络并行结构的种种优越性。旨在解决目前的稀疏编码都是通过冯诺依曼计算机串行软件来实现,无法快速的进行大规模运算的技术问题。
本发明基于忆阻Hopfield神经网络硬件电路实现稀疏编码的功能。传统的冯诺依曼计算机存储与运算是分开的,软件的处理是串行处理的,这就导致速度上没有硬件处理的速度快。硬件实现的神经网络中每个处理单元以及各个处理单元之间的连接均具有对应的物理器件,因而其最大优点是能够充分体现并行系统的固有优越性。利用硬件的并行处理能力极大的提高了稀疏编码的速度和准确性。利用忆阻的纳米级尺寸以及低功耗等诸多优良特性,提供了一种基于忆阻Hopfield神经网络硬件电路实现稀疏编码的功能;
稀疏编码问题可以转化为下面数学符号表述:
以解决图像的稀疏编码为例,s代表原图像,D代表稀疏编码的字典,λ是正则化参数,a代表经过稀疏编码之后得到的稀疏向量。求解的过程就是求解这个表达式的最优解。
LCA算法将上述问题转化为以下表达式用于求解稀疏编码问题。LCA算法的表达式如下:
a(t)=Tλ(u(t))
其中驱动输入向量b(t)=[b1(t),b2(t),…,bM(t)]=DTs(t)。内部状态变量u(t)=[u1(t),u2(t),…,uM(t)],字典元素在(N×M)中对应的矩阵是D=[D1,D2,…,DM],I是单位矩阵,稀疏之后得到的稀疏向量是a(t)=[a1(t),a2(t),…,aM(t)]。本发明是基于上述算法进行修改得到的电路设计。其中在本发明中,b(t)=[b1(t),b2(t),…,bM(t)]对应的是对应的是电路中的V1,V2,…,Vn和VI1,VI2,…,VIn。(DTD﹣I)对应的是电路中的Gnn方阵。
如图1所示,本发明提供了一种基于忆阻Hopfield神经网络实现稀疏编码的电路,包括:n个单元,每个单元具有n个电压输入端和一个输出端,n个单元的第一电压输入端均连接后用于接收第一初始输入电压V1,n个单元的第二电压输入端均连接后用于接收第二初始输入电压V2,……n个单元的第n电压输入端均连接后用于接收第n初始输入电压Vn;
每个单元均包括:积分模块、开关单元以及n个忆阻器,n个忆阻器依次记为第一忆阻器、第二忆阻器,……,第n忆阻器;n个忆阻器的一端均与所述积分模块的一端连接,第一忆阻器的另一端作为第一电压输入端,第二忆阻器的另一端作为第二电压输入端,……第n忆阻器的另一端作为第n电压输入端,开关单元的一端与所述积分模块的另一端连接,开关单元的另一端作为所述单元的输出端。
本申请与现有技术相比,具有如下技术优点:(1)硬件电路全并行的方式实现稀疏编码。硬件电路的全并行处理相比于软件的串行处理速度要快出很多,更有利于未来的神经形态计算和类脑计算。(2)采用忆阻作为神经网络的权重表示。传统的神经网络的硬件实现都是采用电阻作为突触,电阻的电导表示突触的权重,当电阻的电导一旦确定下来了,就无法修改权重。忆阻作为一种新兴的器件,电导值可以根据需要进行改变,对于解决不同的稀疏编码问题可以作出相应的修改。
如图2所示,积分模块包括:运算放大器An、电容Cn、偏置电阻RIn和反馈电阻Rn;所述运算放大器An的反相输入端作为所述积分模块的输入端,所述运算放大器An的输出端作为所述积分模块的输出端,所述电容Cn连接在所述运算放大器An的反相输入端与输出端之间,所述反馈电阻Rn与所述电容Cn并联连接,所述偏置电阻RIn的一端连接至所述运算放大器An的反相输入端,所述偏置电阻RIn的另一端连接偏置电压VIn,所述运算放大器An的正相输入端接地。
其中,开关单元包括:激活开关Sn,其一端连接积分模块,另一端作为所述单元的输出端。
如图3所示,当n为3时,本发明提供的基于忆阻Hopfield神经网络实现稀疏编码的电路包括:第一忆阻器G11、第二忆阻器G12、第三忆阻器G13、第四忆阻器G21、第五忆阻器G22、第六忆阻器G23、第七忆阻器G31、第八忆阻器G32、第九忆阻器G33、第一运算放大器A1、第二运算放大器A2、第三运算放大器A3、第一电容C1、第二电容C2、第三电容C3、第一偏置电压VI1、第二偏置电压VI2、第三偏置电压VI3、第一偏置电阻RI1、第二偏置电阻RI2、第三偏置电阻RI3、第一反馈电阻R1、第二反馈电阻R2、第三反馈电阻R3、第一激活开关S1、第二激活开关S2、第三激活开关S3、第一初始输入电压V1、第二初始输入电压V2和第三初始输入电压V3;
所述第一忆阻器G11的第一端、所述第四忆阻器G21的第一端和所述第七忆阻器G31的第一端与第一激活开关S1的输出端So1相连、所述第二忆阻器G12的第一端、所述第五忆阻器G22的第一端和所述第八忆阻器G32的第一端与第二激活开关S2的输出端So2相连、所述第三忆阻器G13的第一端、所述第六忆阻器G23的第一端和所述第九忆阻器G33与第三激活开关S3的输出端So3相连;
所述第一忆阻器G11的第二端、所述第二忆阻器G12的第二端、所述第三忆阻器G13的第二端、所述第一偏置电阻RI1的第二端、所述第一反馈电阻R1的第二端和所述第一电容C1的第二端均与所述第一运算放大器A1的反向输入端相连,所述第一运算放大器A1的正向输入端接地,所述第一电容C1的第一端、所述第一反馈电阻R1的第一端与所述第一运算放大器A1的输出端相连;
所述第四忆阻器G21的第二端、所述第五忆阻器G22的第二端、所述第六忆阻器G23的第二端、所述第二偏置电阻RI2的第二端、所述第二反馈电阻R2的第二端和所述第二电容C2的第二端均与所述第二运算放大器A2的反向输入端相连,所述第二运算放大器A2的正向输入端接地,所述第二电容C2的第一端、所述第二反馈电阻R2的第一端与所述第二运算放大器A2的输出端相连;
所述第七忆阻器G31的第二端、所述第八忆阻器G32第二端、所述第九忆阻器G33的第二端、所述第三偏置电阻RI3的第二端、所述第三反馈电阻R3的第二端和所述第三电容C3的第二端均与所述第三运算放大器A3的反向输入端相连,所述第三运算放大器A3的正向输入端接地,所述第三电容C3的第一端、所述第三反馈电阻R3的第一端与所述第三运算放大器A3的输出端相连。
更进一步地,所述第一忆阻器G11、所述第二忆阻器G12、所述第三忆阻器G13、所述第四忆阻器G21、所述第五忆阻器G22、所述第六忆阻器G23、所述第七忆阻器G31、所述第八忆阻器G32和所述第九忆阻器G33的电导值可以根据不同的任务要求进行相应地的设置,所述第一偏置电阻RI1的第一端与第一偏置电压VI1相连、所述第二偏置电阻RI2的第一端与第二偏置电压VI2相连、所述第三偏置电阻RI3的第一端与第三偏置电压VI3相连。
本发明还提供了一种基于上述稀疏编码电路的操作方法,包括下述步骤:
(1)初始化过程,通过在所述第一忆阻器G11的第一端、第四忆阻器G21的第一端和第七忆阻器G31的第一端施加初始电压V1,通过在所述第二忆阻器G12的第一端、第五忆阻器G22的第一端和第八忆阻器G32的第一端施加初始电压V2,通过在所述第三忆阻器G13的第一端、第六忆阻器G23的第一端和第九忆阻器G33的第一端施加初始电压V3,从而完成整个电路的初始化过程。
(2)所述第一激活开关S1输出端So1的电压施加在所述第一忆阻器G11第一端、所述第四忆阻器G21第一端和所述第七忆阻器G31第一端、所述第二激活开关S2输出端So2的电压施加在所述第二忆阻器G12第一端、所述第五忆阻器G22第一端和所述第八忆阻器G32第一端、所述第三激活开关S3输出端So3的电压施加在所述第三忆阻器G13第一端、所述第六忆阻器G23第一端和所述第九忆阻器G33第一端。
本发明还提供了一种基于忆阻Hopfield神经网络的交叉阵列电路,包括:由n条水平纳米线和n条垂直纳米线构成的交叉阵列,以及n*n个忆阻器;n*n个忆阻器分别设置在所述交叉阵列的交叉点处;n的大小可以根据实际的任务需要自行选定。
在本发明实施例中,稀疏编码电路则是根据实际需要在交叉阵列电路中选定某3行和某3列中的3*3个忆阻器处于工作状态,这9个忆阻器如上述,所述第一忆阻器G11的第一端、所述第四忆阻器G21的第一端和所述第七忆阻器G31的第一端与第一激活开关S1的输出端So1相连、所述第二忆阻器G12的第一端、所述第五忆阻器G22的第一端和所述第八忆阻器G32的第一端与第二激活开关S2的输出端So2相连、所述第三忆阻器G13的第一端、所述第六忆阻器G23的第一端和所述第九忆阻器G33与于第三激活开关S3的输出端So3相连;
所述第一忆阻器G11的第二端、所述第二忆阻器G12的第二端、所述第三忆阻器G13的第二端、所述第一偏置电阻RI1的第二端、所述第一反馈电阻R1的第二端和所述第一电容C1的第二端均与所述第一运算放大器A1的反向输入端相连,所述第一运算放大器A1的正向输入端接地,所述第一电容C1的第一端、所述第一反馈电阻R1的第一端与所述第一运算放大器A1的输出端相连;
所述第四忆阻器G21的第二端、所述第五忆阻器G22的第二端、所述第六忆阻器G23的第二端、所述第一偏置电阻RI2的第二端、所述第二反馈电阻R2的第二端和所述第二电容C2的第二端均与所述第二运算放大器A2的反向输入端相连,所述第二运算放大器A2的正向输入端接地,所述第二电容C2的第一端、所述第二反馈电阻R2的第一端与所述第二运算放大器A2的输出端相连;
所述第七忆阻器G31的第二端、所述第八忆阻器G32第二端、所述第九忆阻器G33的第二端、所述第一偏置电阻RI3的第二端、所述第三反馈电阻R3的第二端和所述第三电容C3的第二端均与所述第三运算放大器A3的反向输入端相连,所述第三运算放大器A3的正向输入端接地,所述第三电容C3的第一端、所述第三反馈电阻R3的第一端与所述第三运算放大器A3的输出端相连。
本发明及上述附图中的术语“第一”、“第二”等(如果存在)是区别类似的对象,而不必用于描述特定的顺序或先后次序,但是某个对象的外部施加电压需要与该特定的对象相一致。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明利用忆阻器纳米级尺寸的特点,结合Hopfield神经网络具有解决优化问题的能力,采用硬件电路实现解决稀疏编码的方案,发明了基于忆阻的Hopfield神经网络实现稀疏编码的电路。
本发明提供了一种基于忆阻Hopfield神经网络实现稀疏编码的电路,包括:第一忆阻器G11、第二忆阻器G12、第三忆阻器G13、第四忆阻器G21、第五忆阻器G22、第六忆阻器G23、第七忆阻器G31、第八忆阻器G32、第九忆阻器G33、第一运算放大器A1、第二运算放大器A2、第三运算放大器A3、第一电容C1、第二电容C2、第三电容C3、第一偏置电压VI1、第二偏置电压VI2、第三偏置电压VI3、第一偏置电阻RI1、第二偏置电阻RI2、第三偏置电阻RI3、第一反馈电阻R1、第二反馈电阻R2、第三反馈电阻R3、第一激活开关S1、第二激活开关S2、第三激活开关S3、第一初始输入电压V1、第二初始输入电压V2和第三初始输入电压V3;
其中,第一忆阻器G11的第一端、第四忆阻器G21的第一端和第七忆阻器G31的第一端与第一激活开关S1相连、第二忆阻器G12的第一端、第五忆阻器G22的第一端和第八忆阻器G32的第一端与第二激活开关S2相连、第三忆阻器G13的第一端、第六忆阻器G23的第一端和第九忆阻器G33与第三激活开关S3相连;
第一忆阻器G11的第二端、第二忆阻器G12的第二端、第三忆阻器G13的第二端、第一偏置电阻RI1的第二端、第一反馈电阻R1的第二端和第一电容C1的第二端均与第一运算放大器A1的反向输入端相连,第一运算放大器A1的正向输入端接地,第一电容C1的第一端、第一反馈电阻R1的第一端与第一运算放大器A1的输出端相连;
第四忆阻器G21的第二端、第五忆阻器G22的第二端、第六忆阻器G23的第二端、第二偏置电阻RI2的第二端、第二反馈电阻R2的第二端和第二电容C2的第二端均与第二运算放大器A2的反向输入端相连,第二运算放大器A2的正向输入端接地,第二电容C2的第一端、第二反馈电阻R2的第一端与第二运算放大器A2的输出端相连;
第七忆阻器G31的第二端、第八忆阻器G32第二端、第九忆阻器G33的第二端、第三偏置电阻RI3的第二端、第三反馈电阻R3的第二端和所述第三电容C3的第二端均与所述第三运算放大器A3的反向输入端相连,第三运算放大器A3的正向输入端接地,第三电容C3的第一端、第三反馈电阻R3的第一端与第三运算放大器A3的输出端相连;
第一偏置电阻RI1的第一端与第一偏置电压VI1相连、第二偏置电阻RI2的第一端与第二偏置电压VI2相连、第三偏置电阻RI3的第一端与第三偏置电压VI3相连。
基于Hopfield神经网络硬件电路实现稀疏编码的电路操作过程为:第一步初始化过程,通过在所述第一忆阻器G11的第一端、第四忆阻器G21的第一端和第七忆阻器G31的第一端施加初始电压V1,通过在所述第二忆阻器G12的第一端、第五忆阻器G22的第一端和第八忆阻器G32的第一端施加初始电压V2,通过在所述第三忆阻器G13的第一端、第六忆阻器G23的第一端和第九忆阻器G33的第一端施加初始电压V3,从而完成整个电路的初始化过程。第二步反馈过程所述第一激活开关S1输出So1的电压施加在所述第一忆阻器G11第一端、所述第四忆阻器G21第一端和所述第七忆阻器G31第一端、所述第二激活开关S2的输出So2的电压施加在所述第二忆阻器G12第一端、所述第五忆阻器G22第一端和所述第八忆阻器G32第一端、所述第三激活开关S3输出So3的电压施加在所述第三忆阻器G13第一端、所述第六忆阻器G23第一端和所述第九忆阻器G33第一端。
下面结合附图以及实施例对本发明进行详细说明。
图3为本发明内容解释所使用的图例。包括:第一忆阻器G11、第二忆阻器G12、第三忆阻器G13、第四忆阻器G21、第五忆阻器G22、第六忆阻器G23、第七忆阻器G31、第八忆阻器G32、第九忆阻器G33、第一运算放大器A1、第二运算放大器A2、第三运算放大器A3、第一电容C1、第二电容C2、第三电容C3、第一偏置电压VI1、第二偏置电压VI2、第三偏置电压VI3、第一偏置电阻RI1、第二偏置电阻RI2、第三偏置电阻RI3、第一反馈电阻R1、第二反馈电阻R2、第三反馈电阻R3、第一激活开关S1、第二激活开关S2、第三激活开关S3、第一初始输入电压V1、第二初始输入电压V2和第三初始输入电压V3。
在第一忆阻器G11的第一端、第四忆阻器G21的第一端和第七忆阻器G31的第一端施加第一初始输入电压V1、在第二忆阻器G12的第一端、第五忆阻器G22的第一端和第八忆阻器G32的第一端施加第二初始输入电压V2的第一端、在第三忆阻器G13的第一端、第六忆阻器G23的第一端和第九忆阻器G33的第一端施加第三初始输入电压V3,在第一偏置电阻RI1的第一端施加第一偏置电压VI1、在第二偏置电阻RI2的第一端施加第二偏置电压VI2、在第三偏置电阻RI3的第一端施加第三偏置电压VI3。经过电路的初始化之后,电路就可以进入到自循环的状态,直到整个电路系统达到稳定,稳定的输出结果即为稀疏编码之后的结果。
如图4所示,图中表示的是激活开关的函数表示,当激活开关的输入电压小于1V时,激活开关的输出为0V,当激活开关的输入电压大于1V时,激活开关输出的电压值就等于激活开关输入的电压值。
如图5所示,图中20幅图表示的是稀疏编码的字典,图中白色表示灰度为1,黑色表示灰度为0。稀疏编码是利用已有的字典,将一幅图像利用这20幅图像中的某几幅来表示,从而达到稀疏编码的目的。
如图6所示,把需要稀疏编码的图像通过本发明电路稀疏化表示,然后再将稀疏化表示的向量,通过字典来进行复原,复原的结果和原图像一致。图中用O表示原图像,用R表示稀疏之后复原的图像,图中白色的灰度值是1,灰色的灰度值是0.5,黑色的灰度值是0。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种忆阻Hopfield神经网络稀疏编码的电路,其特征在于,包括:n个单元,每个单元具有n个电压输入端和一个输出端,n个单元的第一电压输入端均连接后用于接收第一初始输入电压V1,n个单元的第二电压输入端均连接后用于接收第二初始输入电压V2,……n个单元的第n电压输入端均连接后用于接收第n初始输入电压Vn;
每个单元均包括:积分模块、开关单元以及n个忆阻器,n个忆阻器依次记为第一忆阻器、第二忆阻器,……,第n忆阻器;n个忆阻器的一端均与所述积分模块的一端连接,第一忆阻器的另一端作为第一电压输入端,第二忆阻器的另一端作为第二电压输入端,……第n忆阻器的另一端作为第n电压输入端,开关单元的一端与所述积分模块的另一端连接,开关单元的另一端作为所述单元的输出端;
所述积分模块包括:运算放大器An、电容Cn、偏置电阻RIn和反馈电阻Rn;
所述运算放大器An的反相输入端作为所述积分模块的输入端,所述运算放大器An的输出端作为所述积分模块的输出端,所述电容Cn连接在所述运算放大器An的反相输入端与输出端之间,所述反馈电阻Rn与所述电容Cn并联连接,所述偏置电阻RIn的一端连接至所述运算放大器An的反相输入端,所述偏置电阻RIn的另一端连接偏置电压VIn,所述运算放大器An的正相输入端接地。
2.如权利要求1所述的电路,其特征在于,所述开关单元包括:激活开关Sn,其一端连接积分模块,另一端作为所述单元的输出端。
3.一种忆阻Hopfield神经网络稀疏编码的电路,其特征在于,包括:第一忆阻器G11、第二忆阻器G12、第三忆阻器G13、第四忆阻器G21、第五忆阻器G22、第六忆阻器G23、第七忆阻器G31、第八忆阻器G32、第九忆阻器G33、第一运算放大器A1、第二运算放大器A2、第三运算放大器A3、第一电容C1、第二电容C2、第三电容C3、第一偏置电压VI1、第二偏置电压VI2、第三偏置电压VI3、第一偏置电阻RI1、第二偏置电阻RI2、第三偏置电阻RI3、第一反馈电阻R1、第二反馈电阻R2、第三反馈电阻R3、第一激活开关S1、第二激活开关S2、第三激活开关S3、第一初始输入电压V1、第二初始输入电压V2和第三初始输入电压V3;
所述第一忆阻器G11的第一端、所述第四忆阻器G21的第一端和所述第七忆阻器G31的第一端与第一激活开关S1的输出端So1相连、所述第二忆阻器G12的第一端、所述第五忆阻器G22的第一端和所述第八忆阻器G32的第一端与第二激活开关S2的输出端So2相连、所述第三忆阻器G13的第一端、所述第六忆阻器G23的第一端和所述第九忆阻器G33的第一端与第三激活开关S3的输出端So3相连;
所述第一忆阻器G11的第二端、所述第二忆阻器G12的第二端、所述第三忆阻器G13的第二端、所述第一偏置电阻RI1的第二端、所述第一反馈电阻R1的第二端和所述第一电容C1的第二端均与所述第一运算放大器A1的反向输入端相连,第一运算放大器A1的正向输入端接地;
所述第四忆阻器G21的第二端、所述第五忆阻器G22的第二端、所述第六忆阻器G23的第二端、所述第二偏置电阻RI2的第二端、所述第二反馈电阻R2的第二端和所述第二电容C2的第二端均与所述第二运算放大器A2的反向输入端相连,第二运算放大器A2的正向输入端接地;
所述第七忆阻器G31的第二端、所述第八忆阻器G32第二端、所述第九忆阻器G33的第二端、所述第三偏置电阻RI3的第二端、所述第三反馈电阻R3的第二端和所述第三电容C3的第二端均与所述第三运算放大器A3的反向输入端相连,第三运算放大器A3的正向输入端接地。
4.如权利要求3所述的电路,其特征在于,所述第一偏置电阻RI1的第一端与第一偏置电压VI1相连、所述第二偏置电阻RI2的第一端与第二偏置电压VI2相连、所述第三偏置电阻RI3的第一端与第三偏置电压VI3相连。
5.如权利要求3所述的电路,其特征在于,所述第一忆阻器G11、所述第二忆阻器G12、所述第三忆阻器G13、所述第四忆阻器G21、所述第五忆阻器G22、所述第六忆阻器G23、所述第七忆阻器G31、所述第八忆阻器G32和所述第九忆阻器G33的电导值根据不同的任务要求进行相应地的设置。
6.一种基于权利要求3所述的电路稀疏编码的操作方法,其特征在于,包括下述步骤:
(1)通过在所述第一忆阻器G11的第一端、第四忆阻器G21的第一端和第七忆阻器G31的第一端施加初始电压V1,通过在所述第二忆阻器G12的第一端、第五忆阻器G22的第一端和第八忆阻器G32的第一端施加初始电压V2,通过在所述第三忆阻器G13的第一端、第六忆阻器G23的第一端和第九忆阻器G33的第一端施加初始电压V3,通过在所述第一偏置电阻RI1的第一端施加第一偏置电压VI1、通过在所述第二偏置电阻RI2的第一端施加第二偏置电压VI2、通过在所述第三偏置电阻RI3的第一端施加第三偏置电压VI3从而完成整个电路的初始化过程;
(2)所述第一激活开关S1输出端So1的电压施加在所述第一忆阻器G11第一端、所述第四忆阻器G21第一端和所述第七忆阻器G31第一端、所述第二激活开关S2输出端So2的电压施加在所述第二忆阻器G12第一端、所述第五忆阻器G22第一端和所述第八忆阻器G32第一端、所述第三激活开关S3输出端So3的电压施加在所述第三忆阻器G13第一端、所述第六忆阻器G23第一端和所述第九忆阻器G33第一端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910135036.3A CN109977470B (zh) | 2019-02-20 | 2019-02-20 | 忆阻Hopfield神经网络稀疏编码的电路及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910135036.3A CN109977470B (zh) | 2019-02-20 | 2019-02-20 | 忆阻Hopfield神经网络稀疏编码的电路及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109977470A CN109977470A (zh) | 2019-07-05 |
CN109977470B true CN109977470B (zh) | 2020-10-30 |
Family
ID=67077338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910135036.3A Active CN109977470B (zh) | 2019-02-20 | 2019-02-20 | 忆阻Hopfield神经网络稀疏编码的电路及其操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977470B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766139A (zh) * | 2019-10-21 | 2020-02-07 | 哈尔滨工业大学 | 一种复合神经网络模型及其建模方法 |
CN111384943B (zh) * | 2020-03-10 | 2022-04-22 | 西安交通大学 | 一种柔性仿神经元电路及基于其的脉冲神经网络 |
CN115062583B (zh) * | 2022-06-15 | 2024-05-31 | 华中科技大学 | 一种求解优化问题的hopfield网络硬件电路及操作方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104916312A (zh) * | 2015-06-03 | 2015-09-16 | 华中科技大学 | 一种基于运算放大器的忆阻器编程电路及其操作方法 |
CN105701541A (zh) * | 2016-01-13 | 2016-06-22 | 哈尔滨工业大学深圳研究生院 | 一种基于忆阻器脉冲神经网络的电路结构 |
CN106779059A (zh) * | 2016-12-30 | 2017-05-31 | 华中科技大学 | 一种基于忆阻的巴普洛夫联想记忆的人工神经网络电路 |
CN106845634A (zh) * | 2016-12-28 | 2017-06-13 | 华中科技大学 | 一种基于忆阻器件的神经元电路 |
CN109063833A (zh) * | 2018-10-29 | 2018-12-21 | 南京邮电大学 | 一种基于忆阻器阵列的神经网络突触觉结构 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10171084B2 (en) * | 2017-04-24 | 2019-01-01 | The Regents Of The University Of Michigan | Sparse coding with Memristor networks |
-
2019
- 2019-02-20 CN CN201910135036.3A patent/CN109977470B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104916312A (zh) * | 2015-06-03 | 2015-09-16 | 华中科技大学 | 一种基于运算放大器的忆阻器编程电路及其操作方法 |
CN105701541A (zh) * | 2016-01-13 | 2016-06-22 | 哈尔滨工业大学深圳研究生院 | 一种基于忆阻器脉冲神经网络的电路结构 |
CN106845634A (zh) * | 2016-12-28 | 2017-06-13 | 华中科技大学 | 一种基于忆阻器件的神经元电路 |
CN106779059A (zh) * | 2016-12-30 | 2017-05-31 | 华中科技大学 | 一种基于忆阻的巴普洛夫联想记忆的人工神经网络电路 |
CN109063833A (zh) * | 2018-10-29 | 2018-12-21 | 南京邮电大学 | 一种基于忆阻器阵列的神经网络突触觉结构 |
Non-Patent Citations (2)
Title |
---|
《Sparse coding with memristor networks》;Patrick M. Sheridan等;《NATURE NANOTECHNOLOGY》;20170522;第784-790页 * |
《基于忆阻器交叉阵列的卷积神经网络电路设计》;胡飞等;《计算机研究与发展》;20180515;第1097-1107页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109977470A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10692570B2 (en) | Neural network matrix multiplication in memory cells | |
CN109977470B (zh) | 忆阻Hopfield神经网络稀疏编码的电路及其操作方法 | |
Li et al. | Merging the interface: Power, area and accuracy co-optimization for rram crossbar-based mixed-signal computing system | |
Kim et al. | A digital neuromorphic VLSI architecture with memristor crossbar synaptic array for machine learning | |
CN110807519B (zh) | 基于忆阻器的神经网络的并行加速方法及处理器、装置 | |
WO2021004466A1 (zh) | 一种基于多位并行二进制突触阵列的神经形态计算电路 | |
CN110991629B (zh) | 一种基于忆阻器的神经元电路 | |
Zhang et al. | An in-memory-computing DNN achieving 700 TOPS/W and 6 TOPS/mm 2 in 130-nm CMOS | |
US11922169B2 (en) | Refactoring mac operations | |
CN210627259U (zh) | 实现液体状态机的脉冲神经网络数模混合电路系统 | |
CN111125616B (zh) | 一种二维离散傅里叶变换运算电路及运算方法 | |
Roy et al. | Scaling deep spiking neural networks with binary stochastic activations | |
Sun et al. | Low-consumption neuromorphic memristor architecture based on convolutional neural networks | |
Li et al. | Reduction 93.7% time and power consumption using a memristor-based imprecise gradient update algorithm | |
CN112734022B (zh) | 一种具有识别和排序功能的四字符忆阻神经网络电路 | |
KR20210143614A (ko) | 뉴럴 네트워크를 구현하는 뉴로모픽 장치 및 그 동작 방법 | |
Guo et al. | Pruning and quantization algorithm with applications in memristor-based convolutional neural network | |
Hussain et al. | Multiclass classification by adaptive network of dendritic neurons with binary synapses using structural plasticity | |
Sun et al. | Quaternary synapses network for memristor-based spiking convolutional neural networks | |
Tang et al. | Energy efficient spiking neural network design with RRAM devices | |
CN109711537B (zh) | 一种基于忆阻神经网络的预测电路 | |
CN116468090A (zh) | 一种基于忆阻器实现的硬件卷积神经网络模型 | |
US20210097391A1 (en) | Network model compiler and related product | |
CN114861902A (zh) | 处理单元及其操作方法、计算芯片 | |
Li et al. | A compact and accelerated spike-based neuromorphic VLSI chip for pattern recognition |
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 |