CN109448068B - 一种基于忆阻器交叉阵列的图像重构系统 - Google Patents

一种基于忆阻器交叉阵列的图像重构系统 Download PDF

Info

Publication number
CN109448068B
CN109448068B CN201811204705.XA CN201811204705A CN109448068B CN 109448068 B CN109448068 B CN 109448068B CN 201811204705 A CN201811204705 A CN 201811204705A CN 109448068 B CN109448068 B CN 109448068B
Authority
CN
China
Prior art keywords
memristor
array
image
pulse width
crossbar array
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
CN201811204705.XA
Other languages
English (en)
Other versions
CN109448068A (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.)
Southwest University
Original Assignee
Southwest 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 Southwest University filed Critical Southwest University
Priority to CN201811204705.XA priority Critical patent/CN109448068B/zh
Publication of CN109448068A publication Critical patent/CN109448068A/zh
Application granted granted Critical
Publication of CN109448068B publication Critical patent/CN109448068B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

本发明公开了一种基于忆阻器交叉阵列的图像重构系统,包括图像输入处理模块、稀疏编码模块以及图像输出处理模块,其中,稀疏编码模块包括第一忆阻器交叉阵列、计算转换单元以及第二忆阻器交叉阵列,本发明提供的系统通过两个忆阻器交叉阵列实现图像像素字典集,并基于这两个忆阻器交叉阵列进行稀疏编码从而实现图像重构,由于忆阻器功耗极低,因此相比于现有的方案而言降低了系统整体的功耗,此外,由于忆阻器处理数据速度快,同时,纳米忆阻器交叉阵列尺寸小、易于集成,且可高效便捷地实现稀疏编码中重要的向量‑矩阵运算,所以使得编码速度较快,从而提升了系统的工作效率,也为大规模硬件实现提供了有价值的参考方向。

Description

一种基于忆阻器交叉阵列的图像重构系统
技术领域
本发明涉及图像处理技术领域,更具体地说,涉及一种基于忆阻器交叉阵列的图像重构系统。
背景技术
图像重构技术开始是在放射医疗设备中应用,显示人体各部分的图像,即计算机断层摄影技术,简称CT技术,后逐渐在许多领域获得应用。目前,基于传统硬件的技术支持得到重构图像的过程十分耗能耗时,因此,如何在满足低功耗的前提下实现图像的重构成为了现在亟待解决的技术问题。
发明内容
为解决上述技术问题,本发明提供一种基于忆阻器交叉阵列的图像重构系统,该系统通过两个忆阻器交叉阵列进行稀疏编码从而实现图像重构,由于忆阻器功耗极低,因此可以保证系统整体功耗不至于过大。
为实现上述目的,本发明所采用的具体技术方案如下:
一种基于忆阻器交叉阵列的图像重构系统,包括图像输入处理模块、稀疏编码模块以及图像输出处理模块;
所述图像输入处理模块用于对原始图像进行转换处理得到与所述原始图像对应的多个脉冲宽度电压信号;
所述稀疏编码模块用于以迭代的形式完成对所述脉冲宽度电压信号的稀疏编码,所述稀疏编码模块包括第一忆阻器交叉阵列、计算转换单元和第二忆阻器交叉阵列;
对于第一次迭代,所述第一忆阻器交叉阵列用于正向接收各所述脉冲宽度电压信号,并根据自身对应的忆阻值和所述脉冲宽度电压信号输出各输出神经元的膜电势;所述计算转换单元用于根据各所述输出神经元的膜电势进行计算得到对应的稀疏系数,并将各所述稀疏系数转换成对应的电流信号;所述第二忆阻器交叉阵列用于反向接收所述电流信号,并基于所述电流信号和自身对应的忆阻值得到重构电压信号,并将所述重构电压信号反馈给所述第一忆阻器交叉阵列的输入端,所述第一忆阻器交叉阵列还用于将原始输入的所述脉冲宽度电压信号与所述重构电压信号的差作为下一轮迭代的输入信号,直至得到目标重构电压信号,所述目标重构电压信号为所述第一忆阻器交叉阵列的输出神经元的膜电势稳定且部分输出神经元的膜电势大于预设的神经元膜电势阈值时所述第二忆阻器交叉阵列输出的重构电压信号;
所述图像输出处理模块用于对所述目标重构电压信号进行转换处理得到相应的图像信号,并对所述图像信号进行组合得到重构图像。
进一步地,所述第一忆阻器交叉阵列和所述第二忆阻器交叉阵列中对应忆阻器的忆阻值相同。
进一步地,各所述脉冲宽度电压信号的脉冲宽度不同,幅值相同,且各脉冲宽度电压信号的电压小于组成所述第一忆阻器交叉阵列的忆阻器的阈值电压。
进一步地,所述第一忆阻器交叉阵列用于从横线方向上接收各所述脉冲宽度电压信号,并从纵线方向上输出所述膜电势;所述第二忆阻器交叉阵列用于从纵线方向上接收各所述电流信号,并从横线方向上输出所述重构电压信号。
进一步地,所述原始图像为二值图像或灰度图像。
进一步地,所述系统还包括忆阻值写入控制模块,所述忆阻值写入控制模块用于基于经训练得到的图像像素字典集完成所述第一忆阻器交叉阵列和所述第二忆阻器交叉阵列中忆阻器的忆阻值的写入。
进一步地,所述系统中还存储有经训练得到的二值图像像素字典集和经训练得到的灰度图像像素字典集,所述忆阻值写入控制模块还用于根据所述原始图像的类型选取对应的图像像素字典集,并基于选取的图像像素字典集将该图像像素字典集中的各像素元素转换成各自对应的脉冲写电压,并基于各脉冲写电压完成所述第一忆阻器交叉阵列和所述第二忆阻器交叉阵列中相应忆阻器的忆阻值的写入。
进一步地,所述脉冲写电压的脉冲宽度按照Wwrite=won+εg计算,其中Wwrite为脉冲写电压的脉冲宽度,won为初始脉冲宽度,ε为脉冲宽度系数,g为像素值。
进一步地,所述脉冲写电压的幅值大于组成所述第一忆阻器交叉阵列和所述第二忆阻器交叉阵列的忆阻器的阈值电压。
本发明提供的一种基于忆阻器交叉阵列的图像重构系统,包括图像输入处理模块、稀疏编码模块以及图像输出处理模块,其中,稀疏编码模块包括第一忆阻器交叉阵列、计算转换单元以及第二忆阻器交叉阵列,本发明提供的系统通过两个忆阻器交叉阵列进行稀疏编码从而实现图像重构,由于忆阻器功耗极低,因此相比于现有的方案而言降低了系统整体的功耗,此外,由于忆阻器处理数据速度快,所以使得编码速度较快,从而提升了系统的工作效率。此外,由于忆阻器处理数据速度快,同时,纳米忆阻器交叉阵列尺寸小、易于集成,且可高效便捷地实现稀疏编码中重要的向量-矩阵运算,所以使得编码速度较快,从而提升了系统的工作效率,也为大规模硬件实现提供了有价值的参考方向。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例提供的基于忆阻器交叉阵列的图像重构系统的结构示意图;
图2为本发明实施例提供的阈值自适应忆阻器的模型示意图;
图3为本发明实施例提供的阈值自适应忆阻器的等效电路图;
图4为本发明实施例提供的一种忆阻器交叉阵列的示意图;
图5为本发明实施例提供基于忆阻器交叉阵列的图像重构系统的具体示意框图;
图6a为本发明实施例提供的第一忆阻器交叉阵列中正向迭代的示意图;
图6b为本发明实施例提供的第二忆阻器交叉阵列中反向抑制的示意图;
图7a为本发明实施例提供的二值图像像素字典集的示意图;
图7b为本发明实施例提供的灰度图像像素字典集的示意图;
图8a为本发明实施例提供的原始图像示意图;
图8b为本发明实施例提供的对原始图像进行分割的示意图;
图9为本发明实施例提供的神经元迭代示意图;
图10为本发明实施例提供的重构图像的示意图。
具体实施方式
为了使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
忆阻器是一种纳米级电路元件,具有非易失性,二值、多值、模拟三种状态,以及类似于神经突触的电导(电阻)可塑性。信息的稀疏编码是生物神经系统处理大量复杂感知数据的关键机制,在信号处理、计算机视觉等领域具有重要应用,基于忆阻器与生物神经突触的极大相似性以及交叉阵列的存储、运算机制,可将忆阻器神经网络用于信息的稀疏编码图像重构技术,本发明融合忆阻器、神经网络、稀疏编码理论,提出了一种基于忆阻器交叉阵列的图像重构系统,其中使用忆阻器交叉阵列实现字典集,并利用忆阻器交叉阵列独特的向量-矩阵运算优势和仿生突触特性,通过便捷的模式匹配和生物的侧神经元抑制,实现智能的稀疏编码,采用阈值可变性,进一步提升编码的自适应能力。
具体的,本实施例提供的基于忆阻器交叉阵列的图像重构系统可以参见图1所示,包括图像输入处理模块11、稀疏编码模块12以及图像输出处理模块13;其中,图像输入处理模块11用于对原始图像进行转换处理得到与原始图像对应的多个脉冲宽度电压信号;稀疏编码模块12用于以迭代的形式完成对各脉冲宽度电压信号的稀疏编码,稀疏编码模块12包括第一忆阻器交叉阵列121、计算转换单元122和第二忆阻器交叉阵,对于第一次迭代,第一忆阻器交叉阵列121用于正向接收各脉冲宽度电压信号,并根据自身对应的忆阻值和脉冲宽度电压信号输出各输出神经元的膜电势,计算转换单元122用于根据各输出神经元的膜电势进行计算得到对应的稀疏系数,并将各稀疏系数转换成对应的电流信号,第二忆阻器交叉阵列123用于反向接收各电流信号,并基于各电流信号和自身对应的忆阻值得到重构电压信号,并将重构电压信号反馈给第一忆阻器交叉阵列121的输入端,第一忆阻器交叉阵列121还用于将原始输入的脉冲宽度电压信号与重构电压信号的差作为下一轮迭代的输入信号,直至得到目标重构电压信号,目标重构电压信号为第一忆阻器交叉阵列121的输出神经元的膜电势稳定且部分输出神经元的膜电势大于预设的神经元膜电势阈值时第二忆阻器交叉阵列123输出的重构电压信号;图像输出处理模块13用于对目标重构电压信号进行转换处理得到相应的图像信号,并对所述图像信号进行组合得到重构图像。
应当说明的是,本实施例中第一忆阻器交叉阵列121和第二忆阻器交叉阵列123中忆阻器的忆阻值应当是基于经训练得到的图像像素字典集得到的。
需要说明的是,本申请中的忆阻器为阈值自适应忆阻器,其对应的模型可以参见图2所示,简称为TEAM模型,典型的忆阻器由两层夹在Pt电极薄片中的TiO2和TiO2-x双层薄膜结构组成,其对应的忆阻值取决于隧道电阻Tunnel Barrier和一个串联电阻Rs,隧道电阻两端的电压为Vg,隧道宽度为w,TEAM模型对应的等效电路如图3所示,
在TEAM模型中,忆阻器的内部状态变量定义为隧道的宽度w,其动态方程如下:
Figure GDA0002432032480000061
其中,koff,kon表示幅度参数,koff为正值,kon为负值;匹配参数von和voff分别表示开关时的电流阈值。一组典型的取值为:koff=0.091m/s,kon=-216.2m/s,voff=0.2V,von=-1.45V。foff(w)和fon(w)分别表示用于表征离子漂移的窗函数:
Figure GDA0002432032480000071
其中,aoff=1.2±0.02nm,aon=1.8±0.01nm,wc=107±4pm,b=0.2V。
TEAM模型中的忆阻器的电压和电流之间的关系可表示为:
Figure GDA0002432032480000072
其中,
Figure GDA0002432032480000073
是忆阻值,RL和RH分别代表忆阻器的低阻值和高阻值。这里,忆阻值M(w)随着状态w呈线性变化:
Figure GDA0002432032480000074
所以,通过改变忆阻器的外加激励,可以对应改变忆阻器的阻值状态w。同时,阈值自适应忆阻器处理数据速度快,为纳秒量级,抗干扰能力强,且因电流阈值的存在,可有效阻止微弱信号对其阻值的意外影响。
本实施例中的忆阻器交叉阵列是指由忆阻器节点和纳米导线构成的交叉阵列,其是一种易扩展的规则结构,是实现超高密度非易失性存储器和低功耗超大规模神经形态计算芯片的理想技术,所以,基于忆阻器交叉阵列进行稀疏编码实现图像重构可以在满足系统低功耗的前提下实现数据的快速处理。
图4示出了一个4×4忆阻器交叉阵列的示意图,当该忆阻器交叉阵列为本实施例中的第一忆阻器交叉阵列121时,第一忆阻器交叉阵列121的输入信号可以从该交叉阵列的横线方向输入,而输出信号可以由交叉阵列的纵线方向输出,当该忆阻器交叉阵列为本实施例中的第二忆阻器交叉阵列123时,第二忆阻器交叉阵列123的输入信号可以从该交叉阵列的纵线方向输入,而输出信号可以由该交叉阵列的横线方向输出,一方面,忆阻器具有非易失性存储功能,若以忆阻器的电导状态——忆导值表示权值,可以实现权值的低功耗保存。本实施例中的忆导值为忆阻器的忆阻值的倒数。此时,假设输入忆阻器交叉阵列的信号为同维度的电压向量脉冲Vm,则第n列横线方向上收集到的电荷总量线性正比于流经该列忆阻器的加权输入信号,可以表示为:
Figure GDA0002432032480000081
其中,Gmn是第m行第n列忆阻器的忆导值。因此,忆阻器交叉阵列通过一个简单的读操作,便可以实现输入向量与权值向量的点乘和。输入矩阵与权值矩阵的乘积,则可由交叉阵列的并行操作模式高效执行,而该类向量、矩阵乘操作在传统的计算架构上,则需要复杂的运算和高昂的功耗。另一方面,忆阻器本身的易编程性,可模拟生物突触的可塑性,实现权值的灵活更新,大大提升计算架构的适应性和泛化能力。
在本实施例中,图像输入处理模块11可以将原始图像的像素值转换为适当的脉冲宽度电压信号x,通过与行线相连的输入神经元施加给交叉点处的忆阻器,并基于忆阻器的忆阻值得到对应的忆导值,从而与忆导值进行加权,基于累计-激发学习规则,与每条纵线方向相连的神经元上电流的积累,就决定了相应输出神经元的膜电势,膜电势的大小表征了相应输出神经元的活动状态,如果膜电势大于预设的神经元膜电势阈值,则表明相应的输出神经元处于活跃状态。
理论上,某一输出神经元的膜电势的动态变化受一个泄露项和来自其它活跃神经元的抑制作用的共同影响,可以表示为:
Figure GDA0002432032480000091
其中ui是第i个输出神经元的膜电势,αi是第i个输出神经元的稀疏系数(也是活跃系数),τ是时间常数,λ是输出神经元膜电势阈值,Tλ是软阈值函数,r是控制阈值转换速度的参数。Dm为第m行忆导值所组成的矩阵,Dn为第n列忆导值组成的矩阵,Dmn为忆导值矩阵,值得注意的是:
Figure GDA0002432032480000092
计算的是活跃神经元和其余神经元的感受野的相似性,与活跃神经元稀疏系数的乘积可表示为
Figure GDA0002432032480000093
其中I是单位矩阵。
Figure GDA0002432032480000094
作为一个抑制项,反应生物视觉系统中的侧神经元抑制作用,其强度正比于不同神经元感受野的相似度。正是具有该项特征,本申请所提供的系统得以通过阻止具有相同或者类似感受野的神经元同时激发,从而保证编码的稀疏性,使得α中非零元素尽可能少,α为稀疏系数组成的稀疏系数向量。然而,若基于传统的计算架构,抑制项中的Dmn TDmn计算强度大且内存占用率高。因此,可以将(7)改写(10)和(11),可有效减少计算强度。
Figure GDA0002432032480000095
其中,
Figure GDA0002432032480000096
是由稀疏系数向量α和忆导值矩阵Dmn表示的重构电压信号。传统的稀疏编码算法是通过神经元间的抑制突触来实现“去重复”,而本申请中的稀疏编码直接通过抑制神经元的活跃性,抑制相似神经元的重复表达。式(10)将抑制项重新定义为原始信号与重构电压信号的差值,并将其作为新一轮迭代的输入信号。这等价于将已激发的神经元表征的特征信息从输入中删去,进而可以抑制具有类似感受野的其它神经元的活动状态。并且通过式(11)将高维矩阵之间的点乘转换为了一维向量和多维矩阵之间的点乘,一定程度上降低了计算强度。而且,本实施例中利用忆阻器交叉阵列的独特结构优势,可以便捷地进行向量和矩阵的点乘,进一步显著降低计算复杂度,提高计算效率。
在本实施例中,第一忆阻器交叉阵列121和第二忆阻器交叉阵列123中对应忆阻器的忆导值相同,分别实现前向模式匹配和反向图像重构。本实施例提供的系统中采用两个忆阻器交叉阵列可以尽量减小读过程对忆阻器状态的影响,增强系统的鲁棒性,此外正向操作与反向操作可以同时进行,无需等待,可以提高处理速度。
具体的,本实施例提供的系统框图可以参见图5所示,图5示出的第一忆阻器交叉阵列MemA和第二忆阻器交叉阵列MemB为4×4忆阻器交叉阵列,图5中的M11,M12……M44表示了16种忆阻器,需要说明的是,图5中的两个忆阻器交叉阵列中,由相同符号表示的位置处的忆阻器的忆阻值相同。
应当说明的是,在其他的实施例中,可以采用其他大小的忆阻器交叉阵列。
图像输入处理模块11用于将原始图像转换成多个脉冲宽度不同,幅值相同的脉冲宽度电压信号,本实施例中各脉冲宽度电压信号的电压小于组成第一忆阻器交叉阵列的忆阻器的阈值电压,以使得脉冲宽度电压信号可以在系统中进行传输,对于图5而言,这多个脉冲宽度电压信号也即为x1、x2、x3、x4,输入第一忆阻器交叉阵列中,流经每一个忆阻器的电荷量线性正比于输入信号与忆导值的乘积,记为Qmn=xmDn,而且,基于基尔霍夫电流定理,流经同一列所有忆阻器的总的电荷为Qn=∑mxmDmn=xTDn,也即输入信号x正向传播可实现xTDmn,对应的,第一忆阻器交叉阵列则是正向接收各脉冲宽度电压信号,具体的,可以参见图6a所示,这里的x为输入的脉冲宽度电压信号矩阵,若输入信号为电压信号,也可写为Qn=GTVt,其中GT为该列忆阻器的忆导值,V为输入电压脉冲的幅度,t为脉冲宽度。换句话说,每一列对应的输出神经元上积累的电荷量正比于输入信号x与该神经元的感受野Dn的点乘和,反应了该输入向量与特征向量的匹配程度。因此,利用忆阻器阵列可以在一个读操作过程中高效的实现模式匹配。每次迭代得到的xTDn将累计到相应输出神经元的膜电势上,如果超过神经元膜电势阈值λ,该神经元便会激发,其中该忆阻器阵列可以随着神经元膜电势阈值λ的选取自适应调整,神经元膜电势阈值的大小将会直接影响稀疏编码的稀疏效果。需要注意的是,在这里,膜电势具有与电荷量相同的单位。一次前向迭代完成后,会得到所有输出神经元的膜电势向量,本实施例中的计算转换单元122用于基于转换规则式(8)和式(9)得到各输出神经元对应的稀疏系数,从而可以得到稀疏系数向量α。
接下来,进行反向迭代。计算转换单元122还用于将稀疏系数向量α转换成对应的电流信号,输入到第二忆阻器交叉阵列123中,类似的,基于各稀疏系数对应的电流信号经过反向传播,对应的,第二忆阻器交叉阵列123反向接收各电流信号实现
Figure GDA0002432032480000111
具体的可以参见图6b所示,每一行输出神经元上累积到的磁通量等于流经本行所有忆阻器的磁通量之和,即Fm=∑nDmnαi=DmαT,若α转换为幅度为I,宽度为t的电流脉冲,则有Fi=ITt/Gi=MiITt。因此,反向读操作执行了原输出神经元状态信号与其感受野之间的加权和操作,并且,得到输出列向量即为重构电压信号
Figure GDA0002432032480000112
Figure GDA0002432032480000113
一次反向迭代完成后,重构电压信号
Figure GDA0002432032480000122
将反馈到第一忆阻器交叉阵列的输入端,原输入信号与该重构电压信号的差
Figure GDA0002432032480000123
作为下一轮迭代的输入量。
在新一轮迭代中,因输入信号为残差项,则与已激发态神经元具有类似感受野的神经元因相似信号的剔除,其膜电势累计部分
Figure GDA0002432032480000121
而与此同时,因为衰减-u的存在,这些神经元的膜电势将越来越小,实现抑制作用。经过一定次数的双向迭代和阈值筛选后,得到稳定的输出神经元活动状态,本实施例中要实现稳定的输出神经元活动状态,需要保证第一交叉阵列所有输出神经元的膜电势稳定,且部分输出神经元的膜电势大于预设的神经元膜电势阈值,本实施例中大于预设的神经元膜电势阈值的输出神经元的数量与具体的神经元膜电势阈值有关,所以本实施例中可以选择合适的神经元膜电势阈值,使得重构电压信号的效果较好,最终的α即为所求的输入信号的稀疏系数向量,此时第二忆阻器交叉阵列输出的重构电压信号也即为目标重构电压信号。
需要注意的是,本实施例提供的系统还可以包括忆阻值写入控制模块,忆阻值写入控制模块用于在本系统进行稀疏编码之前,基于经训练得到的图像像素字典集完成第一忆阻器交叉阵列和第二忆阻器交叉阵列中忆阻器的忆阻值的写入,此时可以设定输入信号(读信号)低于忆阻器写阈值,则可以认为在稀疏编码的迭代过程中,相应的忆导值几乎保持不变。
本实施例中可以选择和忆阻器交叉阵列匹配度较好的Winner-Take-All和Oja’sRule训练方法,获得图像像素字典集DW。具体的,其理论表达式如下:
y=sTDW……(12)
ΔDW=β(s-yDW)y……(13)
其中,DW为图像像素字典集,ΔDW为训练过程中图像像素字典集的变化量,y为Winner-Take-All的神经元的输出,β为训练速率常数,s为训练集。按照上述字典训练的方法,在经过离线模拟训练之后,可以得到效果良好的图像像素字典集。本实施例中的原始图像可以是二值图像,也可以是灰度图像,相应的本实施例中图像像素字典集可以是二值图像像素字典集,如图7a所示,也可以是灰度图像像素字典集,如图7b所示。
进一步地,经训练得到的二值图像像素字典集和经训练得到的灰度图像像素字典集可以存储在系统中,此时,忆阻值写入控制模块还用于根据原始图像的类型选取对应的图像像素字典集,并基于选取的图像像素字典集将该图像像素字典集中的各像素元素转换成各自对应的脉冲写电压,并基于各脉冲写电压完成所述第一忆阻器交叉阵列和所述第二忆阻器交叉阵列中相应忆阻器的忆阻值的写入。
本实施例中还可以包括控制忆阻器交叉阵列读操作和写操作的读写电路,当读写电路为写状态时,施加写电压信号在忆阻器两端,进行写操作;读写电路为读状态时,施加相应的读电压信号于忆阻器两端,读出相应的电流数据。最终,字典图像的像素转为对应的忆阻值,存储在忆阻器交叉阵列中。
本实施例中脉冲写电压的脉冲宽度可以按照Wwrite=won+εg(14)计算,其中Wwrite为脉冲写电压的脉冲宽度,won为初始脉冲宽度,ε为脉冲宽度系数,g为像素值。本实施例中脉冲写电压的幅值大于组成第一忆阻器交叉阵列和第二忆阻器交叉阵列的忆阻器的阈值电压。
在一种示例中,基于二值图像像素字典集写入忆阻值的步骤可以如下:
步骤一:通入刷新电压Vref>von,将忆阻器交叉阵列的交叉点上的忆阻值置于高阻态;
步骤二:读取一个25×20的二值图像像素字典集(如图7a所示)对应的矩阵,对应选取20个5×5的忆阻器交叉阵列;
步骤三:选通写电路,将二值图像像素字典集矩阵中的每个值(0和1)根据式(14)转换为不同的电压脉冲;
步骤四:在写电压的作用下,忆阻器交叉阵列中的忆阻值对应改变,并最终稳定,完成写操作;
步骤五:重复以上步骤,完成20个忆阻器交叉阵列的忆阻值的写入。
在一种示例中,基于灰度图像像素字典集写入忆阻值的步骤可以如下:
步骤一:通入刷新电压Vref>von,将忆阻器交叉阵列的交叉点上的忆阻值置于高阻态;
步骤二:读取一个16×32的灰度字典集(如图7b所示)对应的矩阵,对应选取32个4×4的忆阻器交叉阵列;
步骤三:将所有的灰度值按照式(14)转换为对应的写电压脉冲,施加写电压,得到灰度值比较电流,用于之后的读操作;
步骤四:在写电压的作用下,交叉阵列中的忆阻值对应变化,根据所受激励不同,最终忆阻器的忆阻值被设置为不同阻值状态。
忆阻器具有纳米尺寸和非易失性,同时交叉阵列结构具有并行计算和易扩展优势,基于忆阻器交叉阵列的实现方案,可以满足大规模、高时效、低功耗的图像稀疏编码的要求。
为了验证本系统的正确性,将如图8a所示的图像作为本系统的原始输入图像,首先,得到整个输入图像的灰度矩阵。而整个灰度图像的像素相对于一个灰度图像像素字典集是巨大的,因此,可以将输入图像分割成多个小块。根据对应的图像像素字典集(如图7b),将原始图像分割为4×4的图像块,如图8b所示,因此可以采用16×32的忆阻器交叉阵列,也即是将整合后的灰度图像像素字典集存储在32个4×4大小的忆阻器交叉阵列中,这是进行稀疏编码之前的准备工作,也即是在忆阻器交叉阵列中根据整合后的灰度图像像素字典集完成忆阻器交叉阵列中忆阻器的忆阻值的写入,在完成忆阻值的写入之后,系统便可按照上面介绍的内容对原始图像进行稀疏编码,其中一小块图像的重构细节可以参见图9所示,图9中的横坐标表示迭代次数,纵坐标表示膜电势,U(1)、U(2)……U(32)表示32个输出神经元,这32个输出神经元的膜电势不断迭代,最终系统稳定出现始终活跃的输出神经元,最终合成的重构图像如图10所示,也即通过本实施例提供的系统,可以实现图像的重构。对于这一样例,分割块的大小与灰度图像像素字典集对应,不同神经元个数的字典集可以对灰度图像实现不同程度的稀疏化。字典集的选取应该根据实际需要选取,对于重构要求较高的图像处理,可以选择维度较大的超完备字典集。
要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (9)

1.一种基于忆阻器交叉阵列的图像重构系统,其特征在于,包括图像输入处理模块、稀疏编码模块以及图像输出处理模块;
所述图像输入处理模块用于对原始图像进行转换处理得到与所述原始图像对应的多个脉冲宽度电压信号;
所述稀疏编码模块用于以迭代的形式完成对所述脉冲宽度电压信号的稀疏编码,所述稀疏编码模块包括第一忆阻器交叉阵列、计算转换单元和第二忆阻器交叉阵列;
对于第一次迭代,所述第一忆阻器交叉阵列用于正向接收各所述脉冲宽度电压信号,并根据自身对应的忆阻值和所述脉冲宽度电压信号输出各输出神经元的膜电势;所述计算转换单元用于根据各所述输出神经元的膜电势进行计算得到对应的稀疏系数,并将各所述稀疏系数转换成对应的电流信号;所述第二忆阻器交叉阵列用于反向接收所述电流信号,并基于所述电流信号和自身对应的忆阻值得到重构电压信号,并将所述重构电压信号反馈给所述第一忆阻器交叉阵列的输入端,所述第一忆阻器交叉阵列还用于将原始输入的所述脉冲宽度电压信号与所述重构电压信号的差作为下一轮迭代的输入信号,直至得到目标重构电压信号,所述目标重构电压信号为所述第一忆阻器交叉阵列的输出神经元的膜电势稳定且部分输出神经元的膜电势大于预设的神经元膜电势阈值时所述第二忆阻器交叉阵列输出的重构电压信号;
所述图像输出处理模块用于对所述目标重构电压信号进行转换处理得到相应的重构图像。
2.如权利要求1所述的基于忆阻器交叉阵列的图像重构系统,其特征在于,所述第一忆阻器交叉阵列和所述第二忆阻器交叉阵列中对应忆阻器的忆阻值相同。
3.如权利要求1所述的基于忆阻器交叉阵列的图像重构系统,其特征在于,各所述脉冲宽度电压信号的脉冲宽度不同,幅值相同,且各脉冲宽度电压信号的电压小于组成所述第一忆阻器交叉阵列的忆阻器的阈值电压。
4.如权利要求1所述的基于忆阻器交叉阵列的图像重构系统,其特征在于,所述第一忆阻器交叉阵列用于从横线方向上接收各所述脉冲宽度电压信号,并从纵线方向上输出所述膜电势;所述第二忆阻器交叉阵列用于从纵线方向上接收各所述电流信号,并从横线方向上输出所述重构电压信号。
5.如权利要求1-4任一项所述的基于忆阻器交叉阵列的图像重构系统,其特征在于,所述原始图像为二值图像或灰度图像。
6.如权利要求1-4任一项所述的基于忆阻器交叉阵列的图像重构系统,其特征在于,所述系统还包括忆阻值写入控制模块,所述忆阻值写入控制模块用于基于经训练得到的图像像素字典集完成所述第一忆阻器交叉阵列和所述第二忆阻器交叉阵列中忆阻器的忆阻值的写入。
7.如权利要求6所述的基于忆阻器交叉阵列的图像重构系统,其特征在于,所述系统中还存储有经训练得到的二值图像像素字典集和经训练得到的灰度图像像素字典集,所述忆阻值写入控制模块还用于根据所述原始图像的类型选取对应的图像像素字典集,并基于选取的图像像素字典集将该图像像素字典集中的各像素元素转换成各自对应的脉冲写电压,并基于各脉冲写电压完成所述第一忆阻器交叉阵列和所述第二忆阻器交叉阵列中相应忆阻器的忆阻值的写入。
8.如权利要求7所述的基于忆阻器交叉阵列的图像重构系统,其特征在于,所述脉冲写电压的脉冲宽度按照Wwrite=won+εg计算,其中Wwrite为脉冲写电压的脉冲宽度,won为初始脉冲宽度,ε为脉冲宽度系数,g为像素值。
9.如权利要求8所述的基于忆阻器交叉阵列的图像重构系统,其特征在于,所述脉冲写电压的幅值大于组成所述第一忆阻器交叉阵列和所述第二忆阻器交叉阵列的忆阻器的阈值电压。
CN201811204705.XA 2018-10-16 2018-10-16 一种基于忆阻器交叉阵列的图像重构系统 Active CN109448068B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811204705.XA CN109448068B (zh) 2018-10-16 2018-10-16 一种基于忆阻器交叉阵列的图像重构系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811204705.XA CN109448068B (zh) 2018-10-16 2018-10-16 一种基于忆阻器交叉阵列的图像重构系统

Publications (2)

Publication Number Publication Date
CN109448068A CN109448068A (zh) 2019-03-08
CN109448068B true CN109448068B (zh) 2020-07-31

Family

ID=65546731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811204705.XA Active CN109448068B (zh) 2018-10-16 2018-10-16 一种基于忆阻器交叉阵列的图像重构系统

Country Status (1)

Country Link
CN (1) CN109448068B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10984860B2 (en) * 2019-03-26 2021-04-20 Hewlett Packard Enterprise Development Lp Self-healing dot-product engine
CN111507464B (zh) * 2020-04-19 2022-03-18 华中科技大学 一种基于忆阻器阵列的方程求解器及其操作方法
CN111950569B (zh) * 2020-08-24 2024-05-03 清华大学 基于忆阻器阵列实现图像连通区域标记的方法、电子装置
CN112150343A (zh) * 2020-09-29 2020-12-29 清华大学 基于忆阻器阵列实现二值形态学操作的方法及电子装置
CN114143412B (zh) * 2021-12-06 2023-05-02 清华大学 图像处理方法和图像处理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3025344B1 (fr) * 2014-08-28 2017-11-24 Commissariat Energie Atomique Reseau de neurones convolutionnels
CN106530210B (zh) * 2016-10-31 2019-09-06 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
CN107273972B (zh) * 2017-05-11 2019-09-13 北京大学 一种基于阻变器件和适应-激发神经元的神经形态系统及实现方法
CN107256554B (zh) * 2017-05-18 2020-08-04 西安电子科技大学 一种用于图像分割的单层脉冲神经网络结构

Also Published As

Publication number Publication date
CN109448068A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN109448068B (zh) 一种基于忆阻器交叉阵列的图像重构系统
US11861489B2 (en) Convolutional neural network on-chip learning system based on non-volatile memory
US10692570B2 (en) Neural network matrix multiplication in memory cells
US11361215B2 (en) Neural network circuits having non-volatile synapse arrays
US20210117769A1 (en) Monolithic multi-bit weight cell for neuromorphic computing
US11348002B2 (en) Training of artificial neural networks
US10430493B1 (en) Systems and methods for efficient matrix multiplication
US20220277199A1 (en) Method for data processing in neural network system and neural network system
CN113469334B (zh) 一种忆阻递归神经网络电路
DE102019116305A1 (de) Pipelining zur verbesserung der inferenzgenauigkeit neuronaler netze
US11544540B2 (en) Systems and methods for neural network training and deployment for hardware accelerators
Ji et al. Adaptive sparse coding based on memristive neural network with applications
JP2022554371A (ja) メモリスタに基づくニューラルネットワークの並列加速方法およびプロセッサ、装置
CN110852429A (zh) 一种基于1t1r的卷积神经网络及其操作方法
Huang et al. Memristor neural network design
WO2019147522A2 (en) Neural network circuits having non-volatile synapse arrays
WO2023217027A1 (zh) 利用基于忆阻器阵列的环境模型的策略优化方法和装置
CN111898329A (zh) 基于铁电晶体管FeFET的卷积计算方法
KR20210143614A (ko) 뉴럴 네트워크를 구현하는 뉴로모픽 장치 및 그 동작 방법
CN113837371A (zh) 用于实现神经网络的神经形态装置和方法
CN114365078A (zh) 重构mac运算
KR20200000686A (ko) 웨이트 행렬 입력 회로 및 웨이트 행렬 회로
CN117151176A (zh) 用于神经网络学习的突触阵列、运算电路及操作方法
US11556770B2 (en) Auto weight scaling for RPUs
Shukla et al. A case for multiple and parallel RRAMs as synaptic model for training SNNs

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