CN113592081A - 数据处理装置及数据处理方法 - Google Patents
数据处理装置及数据处理方法 Download PDFInfo
- Publication number
- CN113592081A CN113592081A CN202110918726.3A CN202110918726A CN113592081A CN 113592081 A CN113592081 A CN 113592081A CN 202110918726 A CN202110918726 A CN 202110918726A CN 113592081 A CN113592081 A CN 113592081A
- Authority
- CN
- China
- Prior art keywords
- memristor
- neural network
- processing layer
- weight value
- data processing
- 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.)
- Pending
Links
Images
Classifications
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Semiconductor Memories (AREA)
Abstract
一种数据处理装置及数据处理方法。该数据处理装置用于神经网络的数据处理,神经网络包括至少一个第一处理层和至少一个第二处理层,数据处理装置包括:第一忆阻器阵列,包括阵列排布的多个第一忆阻器单元,且被配置为存储对应于至少一个第一处理层的权重值矩阵;第二忆阻器阵列,包括阵列排布的多个第二忆阻器单元,且被配置为存储对应于至少一个第二处理层的权重值矩阵;其中,多个第一忆阻器单元的数据保持性优于多个第二忆阻器单元的数据保持性,和/或多个第二忆阻器单元的耐久性优于多个第一忆阻器单元的耐久性。该数据处理装置采用两种具有不同的耐久性及数据保持性的忆阻器单元,便于对忆阻器单元有不同需求的神经网络权重层的灵活实现。
Description
技术领域
本公开的实施例涉及一种数据处理装置及数据处理方法。
背景技术
神经网络给智慧出行、智能医疗等众多领域带来了众多变化。目前神经网络的主要硬件实现平台仍旧是基于传统的冯诺依曼架构的CPU和GPU,基于忆阻器的存算一体技术有望突破经典计算系统的冯诺依曼架构瓶颈,带来硬件算力、能效的爆发式增长,进一步促进人工智能的发展和落地,是最具潜力的下一代硬件芯片技术之一。
发明内容
本公开至少一实施例提供一种数据处理装置,用于神经网络的数据处理,神经网络包括至少一个第一处理层和至少一个第二处理层,至少一个第一处理层相对于至少一个第二处理层更靠近神经网络的输入端,数据处理装置包括:第一忆阻器阵列,包括阵列排布的多个第一忆阻器单元,且被配置为存储对应于至少一个第一处理层的权重值矩阵;第二忆阻器阵列,包括阵列排布的多个第二忆阻器单元,且被配置为存储对应于至少一个第二处理层的权重值矩阵;其中,多个第一忆阻器单元的数据保持性优于多个第二忆阻器单元的数据保持性,和/或,多个第二忆阻器单元的耐久性优于多个第一忆阻器单元的耐久性。
例如,在本公开至少一实施例提供的数据处理装置中,多个第一忆阻器单元和/或多个第二忆阻器单元为阻变式存储器(RRAM)。
例如,在本公开至少一实施例提供的数据处理装置中,多个第一忆阻器单元和多个第二忆阻器单元制备在同一半导体衬底上。
例如,在本公开至少一实施例提供的数据处理装置中,第一忆阻器单元中的阻变式存储器器件具有TiN/Ta2O5/TaOx/TiN的材料结构;和/或,第二忆阻器单元中的阻变式存储器器件具有TiN/HfO2/Ti/TiN的材料结构。
例如,本公开至少一实施例提供的数据处理装置还包括控制驱动电路,其中,控制驱动电路配置为,对多个第一忆阻器单元存储的权值数据和/或多个第二忆阻器单元的权值数据分别进行设置。
例如,在本公开至少一实施例提供的数据处理装置中,至少一个第二处理层包括神经网络的最后一个处理层。
本公开至少一实施例提供一种数据处理方法,应用于本公开至少一实施例提供的数据处理装置,数据处理方法包括:将对应于至少一个第一处理层中的权重值矩阵映射到第一忆阻器阵列中;将对应于至少一个第二处理层中的权重值矩阵映射到第二忆阻器阵列中。
例如,本公开至少一实施例提供的数据处理方法还包括:对至少一个第二处理层中至少一个权重值进行修正,将修正后的至少一个第二处理层中的权重值映射到第二忆阻器阵列中。
例如,在本公开至少一实施例提供的数据处理方法中,对至少一个第二处理层中至少一个权重值进行修正,将修正后的至少一个第二处理层中的权重值映射到第二忆阻器阵列中,包括:获取待训练图像和待训练图像对应的标准输出值;利用神经网络对待训练图像进行处理,以得到训练结果;基于训练结果和标准输出值,计算神经网络的损失值;以及基于损失值对至少一个第二处理层中至少一个权重值进行修正,将修正后的至少一个第二处理层中的权重值映射到第二忆阻器阵列中。
例如,在本公开至少一实施例提供的数据处理方法中,在对至少一个第二处理层中的权重值进行修正的过程中,第一忆阻器单元的忆阻器的阻值保持不变。
例如,本公开至少一实施例提供的数据处理方法还包括:对目标神经网络进行预训练,以得到训练后或训练中的神经网络,由此获得用于至少一个第一处理层的权重值矩阵和至少一个第二处理层中的权重值矩阵。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了一种忆阻器阵列结构的示意图;
图2示出了一种1T1R结构的忆阻器单元的示意图;
图3示出了一种示例性的神经网络结构的示意图;
图4示出了本公开至少一实施例提供的一种数据处理装置的示意性框图;
图5示出了一种神经网络映射到忆阻器阵列的示意图;
图6示出了一种基于TiN/Ta2O5/TaOx/TiN和TiN/HfO2/Ti/TiN堆叠结构的1T1R单元结构的示意图;
图7A示出了基于TiN/Ta2O5/TaOx/TiN堆叠结构的RRAM器件的数据保持性的测试图;
图7B示出了基于TiN/Ta2O5/TaOx/TiN堆叠结构的RRAM器件的耐久性的测试图;
图8示出了本公开至少一实施例提供的一种神经网络的数据处理方法的示意性流程图;
图9示出了本公开至少一实施例提供的数据处理方法的处理流程图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
下面通过几个具体的实施例对本公开进行说明。为了保持本公开实施例的以下说明清楚且简明,可省略已知功能和已知部件的详细说明。当本公开实施例的任一部件在一个以上的附图中出现时,该部件在每个附图中由相同的参考标号表示。
现有的神经网络的数据处理的硬件实现平台仍旧是基于传统的冯诺依曼架构的CPU(中央处理器,Central Processing Unit)和GPU(图形处理器,Graphics ProcessingUnit),这种计算单元与存储单元分离的架构使得在计算过程中,图像信息需要先从存储单元中取出,再送入到计算单元中,这种数据的存取过程造成了不必要的能耗和处理时间的浪费。
忆阻器(例如,阻变存储器、相变存储器、导电桥存储器等)是一种可以通过施加外部激励,调节其电导状态的非易失型器件。忆阻器作为一种二端器件,具有电阻可调节且非挥发的特性,因此被广泛应用于存算一体计算。根据基尔霍夫电流定律和欧姆定律,由忆阻器构成的阵列可以并行的完成乘累加计算,且存储和计算都发生在阵列各器件中。基于这种计算架构,可以实现不需要大量数据搬移的存算一体计算。
阻变式存储器(Resistive Random Access Memory,简称RRAM)是忆阻器的一种,它的电阻可以通过施加电压进行调节,具有非挥发、密度小、与传统CMOS工艺兼容等优点。近年来RRAM器件由于其和生物突触的相似性受到众多研究者的关注,广泛用于神经网络的硬件实现中。
然而RRAM器件并非理想器件,例如有些损坏的器件无法被编程到目标电阻状态,RRAM器件的电导会不断漂移。RRAM器件的可靠性指标包括器件的耐久性和器件的数据保持性,例如,器件的耐久性指的是忆阻器的阻值能够在高阻态和低阻态之间切换的次数;器件的数据保持性指的是忆阻器被编程到某个电阻状态后,例如高阻态,忆阻器的电阻值能在一段时间内保持相对稳定。
基于RRAM器件的研究工作表明,它的数据保持性和耐久性之间存在一定的制约,例如,数据保持性较好的RRAM器件存在耐久性较差的问题,而耐久性较好的RRAM器件通常存在数据保持性不佳的问题。
乘累加是运行神经网络需要的核心计算任务。因此,使用阵列中的忆阻器的电导表示权重值,可以基于这种存算一体计算实现高能效的神经网络运算。但是,神经网络在忆阻器阵列中编程后,由于存在忆阻器的非理想因素,例如单元良率、编程误差、器件阻值漂移等问题,这些非理想因素会导致映射到忆阻器上的神经网络的权重和理想权重之间的偏差较大,也即是权重值在映射到对应的忆阻器上后的电阻值与权重值偏差较大。
目前,对忆阻器的非理想因素的改进方案包括例如在线训练方案,即在忆阻器阵列上在线训练权重,但是这种方案的训练开销较大,对于处理边缘计算任务的电路的能耗和时间都提出了较高的挑战。
本公开至少一实施例提供一种数据处理装置,用于神经网络的数据处理,神经网络包括至少一个第一处理层和至少一个第二处理层,至少一个第一处理层相对于至少一个第二处理层更靠近神经网络的输入端,数据处理装置包括:第一忆阻器阵列,包括阵列排布的多个第一忆阻器单元,且被配置为存储对应于至少一个第一处理层的权重值矩阵;第二忆阻器阵列,包括阵列排布的多个第二忆阻器单元,且被配置为存储对应于至少一个第二处理层的权重值矩阵;其中,多个第一忆阻器单元的数据保持性优于多个第二忆阻器单元的数据保持性,和/或多个第二忆阻器单元的耐久性优于多个第一忆阻器单元的耐久性。
该数据处理装置采用两种具有不同的数据保持性和耐久性的忆阻器单元存储神经网络不同处理层的权值矩阵,从而便于对忆阻器器件有不同需求的神经网络权重层的灵活实现。
图1示出了一种忆阻器阵列的示意图。如图1所示,该忆阻器阵列由多个忆阻器单元构成,该多个忆阻器单元构成一个M行N列的阵列,M和N均为正整数。每个忆阻器单元包括开关元件和一个或多个忆阻器。在图1中,WL<1>、WL<2>……WL<M>分别表示第一行、第二行……第M行的字线,每一行的忆阻器单元电路中的开关元件的控制极(例如晶体管的栅极)和该行对应的字线连接;BL<1>、BL<2>……BL<N>分别表示第一列、第二列……第N列的位线,每列的忆阻器单元电路中的忆阻器和该列对应的位线连接;SL<1>、SL<2>……SL<M>分别表示第一行、第二行……第M行的源线,每一行的忆阻器单元电路中的晶体管的源极和该行对应的源线连接。
图1所示的M行N列的忆阻器阵列可以表示一个M行N列大小的神经网络权重矩阵。例如,第一层神经元层具有N个神经元节点,与图1所示的忆阻器阵列的N列位线对应连接;第二层神经元层具有M个神经元节点,与图1所示的忆阻器阵列的M行源线对应连接。通过向第一层神经元层并行输入电压激励,可以在第二层神经元层得到由电压激励向量和忆阻器阵列的电导矩阵(电导为电阻的倒数)相乘得到的输出电流。
具体地,根据基尔霍夫定律,忆阻器阵列的输出电流可以根据下述公式得出:
其中,j=1,…,n,k=1,…,m。
在上述公式中,vk表示第一层神经元层中的神经元节点k输入的电压激励,ij表示第二层神经元层的神经元节点j的输出电流,gk,j表示忆阻器阵列的电导矩阵。
根据基尔霍夫定律可知,忆阻器阵列可以并行地完成乘累加计算。
需要说明的是,例如在某些示例中,神经网络权重矩阵的每个权重也可以使用两个忆阻器来实现。也就是说,可以通过忆阻器阵列中的两列忆阻器实现一列输出电流的输出。在此情况下,表示一个m行n列大小的神经网络权重矩阵需要m行2n列的忆阻器阵列。
需要说明的是,忆阻器阵列输出的电流为模拟电流,在一些示例中,可以通过模数转换电路(ADC)将模拟电流转换为数字电压传递给第二层神经元层,从而第二层神经元层还可以通过数模转换电路(DAC)将数字电压转换为模拟电压,并通过另一忆阻器阵列与另一层神经元层连接;在另一些示例中,还可以通过采样保持电路将模拟电流转换为模拟电压传输给第二层神经元层。
图1的忆阻器阵列中的忆阻器单元例如可以为1T1R结构或者2T2R结构,其中,1T1R结构的忆阻器单元包括一个开关晶体管和一个忆阻器,2T2R结构的忆阻器单元包括两个开关晶体管和两个忆阻器,本公开的实施例对采用的忆阻器的类型不作限定。
需要说明的是,本公开的实施例中采用的晶体管均可以为薄膜晶体管或场效应晶体管(例如MOS场效应晶体管)或其他特性相同的开关器件。这里采用的晶体管的源极、漏极在结构上可以是对称的,所以其源极、漏极在结构上可以是没有区别的。本公开的实施例对采用的晶体管的类型不作限定。
图2示出了一种1T1R结构的忆阻器单元的示意图。如图2所示,1T1R结构的忆阻器单元包括一个晶体管M1和一个忆阻器R1。
下面的实施例以晶体管M1采用N型晶体管为例进行说明。
字线端WL的作用是对晶体管M1的栅极施加相应电压,从而控制晶体管M1导通或关闭。在对忆阻器R1进行操作时,例如进行置位操作或复位操作,均需要先开启晶体管M1,即需要通过字线端WL对晶体管M1的栅极施加导通电压。在晶体管M1导通后,例如,可以通过在源线端SL和位线端BL向忆阻器R1施加电压,以改变忆阻器R1的阻态。例如,可以通过位线端BL施加置位电压,以使得该忆阻器R1处于低阻态;又例如,可以通过源线端SL施加复位电压,以使得该忆阻器R1处于高阻态。例如,高阻态的电阻值为低阻态的电阻值100倍以上,例如1000倍以上。
需要说明的是,在本公开的实施例中,通过字线端WL和位线端BL同时施加电压,可以使得忆阻器R1的电阻值越来越小,即忆阻器R1从高阻态变为低阻态,将使得忆阻器R1从高阻态变为低阻态的操作称为置位操作;通过字线端WL和源线端SL同时施加电压,可以使得忆阻器R1的电阻值越来越大,即忆阻器R1从低阻态变为高阻态,将使得忆阻器R1从低阻态变为高阻态的操作称为复位操作。例如,忆阻器R1具有阈值电压,在输入电压幅度小于忆阻器R1的阈值电压时,不会改变忆阻R1的电阻值(或电导值)。在这种情况下,可以通过输入小于阈值电压的电压,利用忆阻器R1的电阻值(或电导值)进行计算;可以通过输入大于阈值电压的电压,改变忆阻器R1的电阻值(或电导值)。
例如,神经网络可以为任意结构的神经网络,例如全卷积网络、深度卷积网络、U型网络(U-Net)等,本公开对神经网络的结构不作限制。
例如,神经网络通常包括输入端、输出端以及多个处理层。例如,输入端用于接收待处理的数据,例如待处理图像等,输出端用于输出处理结果,例如处理后图像等,多个处理层可以包括卷积层、全连接层等主要包括乘累加计算的处理层,根据神经网络的结构不同,处理层可以包括不同的内容。输入数据输入神经网络后,经过若干个处理层得到对应的输出,例如,输入数据可以通过若干个处理层完成卷积、上采样、下采样、标准化、全连接、平坦化等操作,本公开对此不作限制。
图3示出了一种示例性的神经网络结构的示意图。如图3所示,该神经网络包括3层神经元层,分别为输入层101、隐藏层102和输出层103。输入层101具有4个输入,隐藏层102具有3个输出,输出层103具有2个输出。
例如,输入层101的4个输入可以为4幅图像,或者1幅图像的四种特征图像。隐藏层102的3个输出可以为经过输入层101输入的图像的特征图像。
例如,如图3所示,该神经网络包括两个处理层,分别是第一卷积层201和第二卷积层202。如图3所示,卷积层具有权重和偏置权重表示卷积核,偏置是叠加到卷积层的输出的标量,其中,k是表示输入层101或隐藏层102的标签,i和j分别是输入层101的单元和隐藏层102的单元的标签。例如,第一卷积层201包括第一组卷积核(图3中的)和第一组偏置(图3中的)。第二卷积层202包括第二组卷积核(图3中的)和第二组偏置(图3中的)。通常,每个卷积层包括数十个或数百个卷积核,若卷积神经网络为深度卷积神经网络,则其可以包括至少五层卷积层。
神经网络中的卷积计算和全连接计算等计算过程主要包括乘累加计算,因此,卷积层和全连接层等功能层可以通过忆阻器阵列实现。例如,卷积层和全连接层的权重均可以通过忆阻器阵列的阵列电导表示,同时卷积层和全连接层的输入可以通过对应的电压激励表示,从而可以根据前述基尔霍夫定律分别实现卷积计算和全连接计算。例如,采用不同的参数映射方式,可以用一个忆阻器阵列来实现一个处理层的乘累加计算,也可以用一个忆阻器阵列实现多个处理层的乘累加计算,本公开对此不作限制。
图4示出了本公开至少一实施例提供的一种数据处理装置的示意性框图。该数据处理装置用于神经网络的数据处理,例如,神经网络包括至少一个第一处理层和至少一个第二处理层,至少一个第一处理层相对于至少一个第二处理层更靠近神经网络的输入端。
例如,神经网络的结构如图3所示,神经网络包括第一卷积层201和第二卷积层202,第二卷积层202相对于第一卷积层201更靠近神经网络的输出端,则第一卷积层为第一处理层,第二卷积层为第二处理层。
例如,在另一些实施例中,神经网络可以包括5个处理层,沿输入端至输出端的方向依次为第一处理层1、第一处理层2、第一处理层3、第二处理层1和第二处理层2,例如,第一处理层1至第一处理层3可以均为卷积层,第二处理层1和第二处理层2可以为卷积层或全连接层。
例如,第二处理层包括神经网络的最后一个处理层,也即神经网络中最靠近输出端的包括乘累加计算的处理层。第一处理层包括神经网络中除最靠近神经网络的输出端的第二处理层以外的其他处理层。
对于大规模神经网络,为应对忆阻器的非理想因素,可以采用混合训练策略,例如,先对神经网络进行训练,将软件训练出的神经网络的理想权重映射到忆阻器阵列后,对神经网络的第二处理层的权重进行在线微调,由于可以仅对第二处理层的权重进行调整,而对第一处理层的权重值不进行调整,可以以较小的训练开销克服忆阻器的非理想因素,并有效地提升神经网络的效果。
但是神经网络的训练过程对忆阻器器件的寿命也有一定要求,例如针对一个简单的双层人工神经网络(ANN),需要对其执行超过5000次的迭代训练,如果考虑到训练的高精度、学习率的降低,则权重的迭代更新的次数会更多。
因此,在上述训练方式中,由于部分忆阻器单元中的数据需要被长久保存,而另一部分忆阻器单元由于需要根据实际的神经网络效果进行微调,若忆阻器阵列仅包括同一种结构的忆阻器,这会对忆阻器器件的数据保持性和耐久性均提出了较高的要求,且实现不易。
例如,如图4所示,本公开至少一实施例提供的数据处理装置400包括第一忆阻器阵列401、第二忆阻器阵列402,第一忆阻器阵列401包括阵列排布的多个第一忆阻器单元,且被配置为存储对应于至少一个第一处理层的权重值矩阵;第二忆阻器阵列402包括阵列排布的多个第二忆阻器单元,且被配置为存储对应于至少一个第二处理层的权重值矩阵。
例如,第一忆阻器阵列401和第二忆阻器阵列402的结构可以参考图1的相关内容,这里不再赘述。
例如,多个第一处理层的权重值矩阵可以是由各个第一处理层的权重按照一定顺序排列得到的权重值矩阵,例如,多个第二处理层的权重值矩阵可以是由各个第二处理层的权重按照一定顺序排列得到的权重值矩阵,关于处理层权重的概念可以参考图3的相关内容,这里不再赘述。
例如,多个第一忆阻器单元的数据保持性优于多个第二忆阻器单元的数据保持性并且多个第二忆阻器单元的耐久性优于多个第一忆阻器单元的耐久性,例如,多个第一忆阻器单元的数据保持性优于多个第二忆阻器单元的数据保持性,或者多个第二忆阻器单元的耐久性优于多个第一忆阻器单元的耐久性。
也就是说,采用不同数据保持性和耐久性的忆阻器实现不同处理层,例如,采用数据保持性较好但是耐久性相对较差的忆阻器实现神经网络的更靠近输入端的多个第一处理层,从而保持神经网络的多个第一处理层的权重在训练过程中尽可能地保持不变,以减少后续的训练次数;采用耐久性较好但是数据保持性相对较差的忆阻器实现更靠近输出端的第二处理层,也即需要微调训练的处理层,在训练过程中不断调整第二处理层的权重,以适应非理想因素的干扰。两种不同特性的忆阻器集成在同一硬件结构中,便于对忆阻器有不同需求的神经网络处理层的灵活实现。
图5示出了一种神经网络映射到忆阻器阵列的示意图。
如图5所示,该神经网络包括两个处理层,分别为图5所示的第一处理层和第二处理层。第一处理层的权重值矩阵为第二处理层的权重值矩阵为第一处理层的权重值矩阵被映射到第一忆阻器阵列中,第二处理层的权重值矩阵被映射到第二忆阻器阵列中。第一忆阻器阵列包括阵列排布的多个第一忆阻器单元,且被配置为存储权重值矩阵第二忆阻器阵列包括阵列排布的多个第二忆阻器单元,且被配置为存储权重值矩阵
例如,第一忆阻器阵列由数据保持性更好的忆阻器构成,第二忆阻器阵列由耐久性更好的忆阻器构成。例如,第一忆阻器单元和第二忆阻器单元的结构还可以是2T2R,也就是说,本公开对忆阻器单元的结构不作限制,只要保证第一忆阻器单元具有更好的数据保持性,第二忆阻器单元具有更好的耐久性即可。
第一忆阻器阵列还包括字线驱动器(图5中的WL驱动器1)、位线驱动器(图5中的BL驱动器1),类似地,第二忆阻器阵列还包括字线驱动器(图5中的WL驱动器2)、位线驱动器(图5中的BL驱动器2),关于字线驱动器、位线驱动器的介绍可以参考图1的相关内容,这里不再赘述。
例如,权重值矩阵映射至忆阻器阵列中的具体方式可以采用任意可行的方式,本公开对权重值的映射位置、权重值写入忆阻器的方法等不作具体限制。
例如,多个第一忆阻器单元和/或多个第二忆阻器单元为阻变式存储器(RRAM)。
例如,第一忆阻器单元中的RRAM器件具有TiN/Ta2O5/TaOx/TiN的材料堆叠结构,并且在该堆叠解结构两侧再提供例如金属电极;第二忆阻器单元中的RRAM器件具有TiN/HfO2/Ti/TiN的材料堆叠结构,并且在该堆叠解结构两侧再提供例如金属电极。
如前所述,RRAM器件的耐久性和数据保持性之间存在一定的制约,数据保持性较好的器件存在耐久性较差的问题,而耐久性较好的器件存在数据保持性较差的问题。基于TiN/Ta2O5/TaOx/TiN堆叠结构的RRAM器件展现出了良好的数据保持性(117℃下保持十年),耐久性只有104个周期,而基于TiN/HfO2/Ti/TiN材料的RRAM器件展现出较好的耐久性(108个周期),数据仅能在78℃下保持十年。
图6示出了一种基于TiN/Ta2O5/TaOx/TiN堆叠结构和TiN/HfO2/Ti/TiN堆叠结构的1T1R单元结构的示意图。
例如,多个第一忆阻器单元和多个第二忆阻器单元制备在同一半导体衬底上,例如制备在同一个硅晶圆上,例如在用于制备晶体管的半导体衬底上依次沉积TiN、Ta2O5、TaOx、TiN、HfO2、Ti、TiN层,这种制备方式比单独制备具有一种材料堆叠结构的RRAM器件的过程再多几个光刻步骤,但是降低了总的制备成本,提高了集成度。而且,例如,两种器件集成在同一款芯片中,便于对器件有不同需求的神经网络权重层的灵活实现。
图7A示出了基于TiN/Ta2O5/TaOx/TiN堆叠结构的RRAM器件的数据保持性的测试图。
如图7A所示,基于TiN/Ta2O5/TaOx/TiN堆叠结构的RRAM器件展现出良好的数据保持性,在250℃的情况下,基于TiN/Ta2O5/TaOx/TiN堆叠结构的RRAM器件在较长的时间段(106s)内保持其电阻值在低阻态(LRS)和高阻态(HRS)。
图7B示出了基于TiN/Ta2O5/TaOx/TiN堆叠结构的RRAM器件的耐久性的测试图。
如图7B所示,基于TiN/Ta2O5/TaOx/TiN堆叠结构的RRAM器件展现出不良的耐久性,其存储的数据在高阻态(HRS)和低阻态(LRS)之间切换的次数达到大约104的周期时,其电阻值发生较大的改变,即,其耐久性大约仅有104个周期。
例如,如图4所示,该数据处理装置还包括控制驱动电路403,该控制驱动电路403配置为对多个第一忆阻器单元存储的权重值数据和/或多个第二忆阻器单元存储的权重值数据分别进行设置,例如可以通过数据处理电路、单片机等实现。
例如,控制驱动电路403配置为设置所述忆阻器阵列,将至少一个第一处理层对应的权重值矩阵映射至第一忆阻器阵列中对应的忆阻器单元,将至少一个第二处理层对应的权重值矩阵映射至第二忆阻器阵列中对应的忆阻器单元。
需要说明的是,为表示清楚、简洁,本公开实施例并没有给出该数据处理装置的全部组成单元。为实现数据处理装置的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开的实施例对此不作限制。
图8示出了本公开至少一实施例提供的一种神经网络的数据处理方法的示意性流程图,该数据处理方法应用于本公开至少一实施例提供的数据处理装置,从而关于数据处理装置的相关内容参考如前所述的内容,这里不再赘述。
如图8所示,该数据处理方法包括步骤S801~步骤S802。
步骤S801:将对应于至少一个第一处理层中的权重值矩阵映射到第一忆阻器阵列中。
步骤S802:将对应于至少一个第二处理层中的权重值矩阵映射到第二忆阻器阵列中。
例如,将神经网络的权重值矩阵映射到忆阻器阵列的实现方式如图5所示,忆阻器阵列的每一个忆阻器单元的电导值被用来表示一个节点连接的权重值。
上述实施例提供的数据处理方法采用两种具有不同的数据保持性和耐久性的忆阻器单元存储神经网络不同处理层的权值矩阵,从而便于对忆阻器器件有不同需求的神经网络权重层的灵活实现。
在本公开的一些实施例中,该数据处理方法还包括:对至少一个第二处理层中至少一个权重值进行修正,将修正后的至少一个第二处理层中的权重值映射到第二忆阻器阵列中。
例如,对至少一个第二处理层中至少一个权重值进行修正,将修正后的至少一个第二处理层中的权重值映射到第二忆阻器阵列中,可以包括:获取待训练图像和待训练图像对应的标准输出值;利用神经网络对待训练图像进行处理,以得到训练结果;基于训练结果和标准输出值,计算神经网络的损失值;以及基于损失值对所述至少一个第二处理层中至少一个权重值进行修正,将修正后的所述至少一个第二处理层中的权重值映射到第二忆阻器阵列中。
例如,本公开至少一实施例提供的数据处理方法还包括:对目标神经网络进行预训练,以得到训练后或训练中的神经网络,由此获得用于至少一个第一处理层的权重值矩阵和至少一个第二处理层中的权重值矩阵。
例如,在对至少一个第二处理层中的权重值进行修正的过程中,第一忆阻器单元的忆阻器的阻值保持不变。
例如,预先采用线下方式(例如计算机等平台)对神经网络进行训练,以得到训练好或训练中的神经网络,将该神经网络中的第一处理层对应的权重值矩阵映射至第一忆阻器阵列,将神经网络中的第二处理层对应的权重值矩阵映射至第二忆阻器阵列,训练过程中保持第一忆阻器阵列的权重数据尽可能不变,仅调整第二忆阻器阵列中的权重值数据,从而既可以利用第一忆阻器阵列数据保持性好的优势,使得映射后的阻值保持较长时间的稳定,减少训练频率,同时利用第二忆阻器阵列耐久性强的优势,忆阻器单元反复编程的可操作次数较多,且可通过更新第二忆阻器阵列中的权重值数据来适应器件的非理想因素干扰,更适合于神经网络的训练,提升神经网络的效果。
图9示出了本公开至少一实施例提供的数据处理方法的处理流程图。
首先,对目标神经网络进行预训练,以得到训练后或训练中的神经网络,由此获得用于至少一个第一处理层的权重值矩阵和用于至少一个第二处理层中的权重值矩阵。例如,神经网络包括多个第一处理层和一个第二处理层,例如,可以预先在计算机上对待训练的目标神经网络进行训练,从而获得多个第一处理层对应的权重值矩阵和第二处理层对应的权重值矩阵。
接着,将至少一个第一处理层的权重值矩阵映射到第一忆阻器阵列中,将至少一个第二处理层的权重值矩阵映射到第二忆阻器阵列中。
接着,判断神经网络是否满足预定准确率条件,如果不满足,则获取待训练图像和待训练图像对应的标准输出值,将待训练图像输入第一忆阻器阵列和第二忆阻器阵列,获得训练结果,根据训练结果和标准输出值计算神经网络的损失值。
接着,基于损失值对第二处理层对应的权重值矩阵进行修正,将修正后的权重值更新至第二忆阻器阵列中对应的忆阻器单元,并且,第一忆阻器阵列中的忆阻器单元的电导值在训练过程保持不变。
接着,继续执行上述训练过程,对第二处理层对应的权重值矩阵进行修正,直到神经网络满足预定准确率条件。
下面通过一个特定的应用来说明图9所示的处理流程图。
例如,对于MNIST(混合国家标准与技术研究所数据库,Mixed NationalInstitute of Standards and Technology database)手写数字识别任务,首先,在计算机上对目标神经网络进行预训练,从而得到理想的神经网络,例如该神经网络为包括5个处理层的卷积神经网络,五个处理层分别为4个第一处理层和一个第二处理层,例如,4个第一处理层包括三个卷积层和1个全连接层,第二处理层包括最靠近神经网络的输出端的1个全连接层。
然后,将4个第一处理层的权重值矩阵映射到第一忆阻器阵列中,将1个第二处理层的权重值矩阵映射到第二忆阻器阵列中,具体的映射方式这里不再赘述。
由于RRAM器件存在非理想因素,例如写误差,器件良率问题等,映射到忆阻器阵列中的权重值矩阵很难达到和理想权重一样的分布,因此需要对忆阻器阵列进行微调训练,以弥补识别精度的退化。
例如,如图9所示,判断神经网络是否满足预定准确率条件,如果不满足,则进行微调训练。
在微调训练中,首先获取待训练图像和待训练图像对应的标准输出值,将待训练图像输入第一忆阻器阵列和第二忆阻器阵列,获得训练结果,根据训练结果和标准输出值计算神经网络的损失值。
接着,基于损失值对第二处理层对应的权重值矩阵进行修正,将修正后的权重值更新至第二忆阻器阵列中对应的忆阻器单元,并且,第一忆阻器阵列中的忆阻器单元的电导值在训练过程保持不变。经过上述微调训练,网络识别效率会恢复到较好的值。
例如,RRAM器件可能在一段时间后出现漂移或需要学习相似的新知识等情况,此时只需要重复该微调训练过程,保持多个第一处理层的权重值矩阵不变,调整第二处理层的权重值矩阵即可。由于四个第一处理层的权重值矩阵都映射到第一忆阻器阵列上,该忆阻器阵列中的RRAM器件具有良好的数据保持性,因此第一忆阻器阵列中的RRAM器件的阻值在较长时间内保持不变,RRAM器件阻值的稳定减小了训练的频率。而第二处理层的权重值矩阵被映射到第二忆阻器阵列上,该忆阻器阵列中的RRAM器件具有良好的耐久性,对该RRAM器件反复编程的可操作次数较多,适合用于神经网络的训练。
有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。
Claims (11)
1.一种数据处理装置,用于神经网络的数据处理,所述神经网络包括至少一个第一处理层和至少一个第二处理层,所述至少一个第一处理层相对于所述至少一个第二处理层更靠近所述神经网络的输入端,
所述数据处理装置包括:
第一忆阻器阵列,包括阵列排布的多个第一忆阻器单元,且被配置为存储对应于所述至少一个第一处理层的权重值矩阵;
第二忆阻器阵列,包括阵列排布的多个第二忆阻器单元,且被配置为存储对应于所述至少一个第二处理层的权重值矩阵;
其中,所述多个第一忆阻器单元的数据保持性优于所述多个第二忆阻器单元的数据保持性,和/或,
所述多个第二忆阻器单元的耐久性优于所述多个第一忆阻器单元的耐久性。
2.根据权利要求1所述的数据处理装置,其中,所述多个第一忆阻器单元和/或所述多个第二忆阻器单元为阻变式存储器(RRAM)。
3.根据权利要求1所述的数据处理装置,其中,所述多个第一忆阻器单元和所述多个第二忆阻器单元制备在同一半导体衬底上。
4.根据权利要求2所述的数据处理装置,其中,所述第一忆阻器单元中的阻变式存储器器件具有TiN/Ta2O5/TaOx/TiN的材料结构;和/或,所述第二忆阻器单元中的阻变式存储器器件具有TiN/HfO2/Ti/TiN的材料结构。
5.根据权利要求1所述的数据处理装置,还包括控制驱动电路,其中,所述控制驱动电路配置为,对所述多个第一忆阻器单元存储的权值数据和/或所述多个第二忆阻器单元的权值数据分别进行设置。
6.根据权利要求1所述的数据处理装置,其中,所述至少一个第二处理层包括所述神经网络的最后一个处理层。
7.一种数据处理方法,应用于如权利要求1-6任一项所述的数据处理装置,所述数据处理方法包括:
将对应于所述至少一个第一处理层中的权重值矩阵映射到所述第一忆阻器阵列中;
将对应于所述至少一个第二处理层中的权重值矩阵映射到所述第二忆阻器阵列中。
8.根据权利要求7所述的数据处理方法,还包括:
对所述至少一个第二处理层中至少一个权重值进行修正,将修正后的所述至少一个第二处理层中的权重值映射到所述第二忆阻器阵列中。
9.根据权利要求8所述的数据处理方法,其中,对所述至少一个第二处理层中至少一个权重值进行修正,将修正后的所述至少一个第二处理层中的权重值映射到所述第二忆阻器阵列中,包括:
获取待训练图像和所述待训练图像对应的标准输出值;
利用所述神经网络对所述待训练图像进行处理,以得到训练结果;
基于所述训练结果和所述标准输出值,计算所述神经网络的损失值;以及
基于所述损失值对所述至少一个第二处理层中至少一个权重值进行修正,将修正后的所述至少一个第二处理层中的权重值映射到所述第二忆阻器阵列中。
10.根据权利要求9所述的数据处理方法,其中,在对所述至少一个第二处理层中的权重值进行修正的过程中,所述第一忆阻器单元的忆阻器的阻值保持不变。
11.根据权利要求7-10中的任一项所述的数据处理方法,还包括:
对目标神经网络进行预训练,以得到训练后或训练中的所述神经网络,由此获得用于所述至少一个第一处理层的权重值矩阵和所述至少一个第二处理层中的权重值矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110918726.3A CN113592081A (zh) | 2021-08-11 | 2021-08-11 | 数据处理装置及数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110918726.3A CN113592081A (zh) | 2021-08-11 | 2021-08-11 | 数据处理装置及数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113592081A true CN113592081A (zh) | 2021-11-02 |
Family
ID=78257133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110918726.3A Pending CN113592081A (zh) | 2021-08-11 | 2021-08-11 | 数据处理装置及数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113592081A (zh) |
-
2021
- 2021-08-11 CN CN202110918726.3A patent/CN113592081A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10909449B2 (en) | Monolithic multi-bit weight cell for neuromorphic computing | |
CN108921290B (zh) | 神经突触单元电路、神经网络电路和信息处理系统 | |
CN111433792B (zh) | 可编程可重置人工神经网络的基于计数器的电阻处理单元 | |
Haensch et al. | The next generation of deep learning hardware: Analog computing | |
US9934463B2 (en) | Neuromorphic computational system(s) using resistive synaptic devices | |
Lim et al. | Adaptive learning rule for hardware-based deep neural networks using electronic synapse devices | |
US20190122105A1 (en) | Training of artificial neural networks | |
CN110807519B (zh) | 基于忆阻器的神经网络的并行加速方法及处理器、装置 | |
WO2022222498A1 (zh) | 基于忆阻器阵列的数据处理方法、电子装置 | |
WO2018158680A1 (en) | Resistive processing unit with hysteretic updates for neural network training | |
US11544540B2 (en) | Systems and methods for neural network training and deployment for hardware accelerators | |
US11727977B2 (en) | Non-volatile analog resistive memory cells implementing ferroelectric select transistors | |
Milo et al. | Optimized programming algorithms for multilevel RRAM in hardware neural networks | |
JP2022060143A (ja) | 外部磁場プログラミング支援を有する超小型電力推論エンジン | |
Strukov et al. | Memory technologies for neural networks | |
US11121259B2 (en) | Metal-oxide-based neuromorphic device | |
US11586899B2 (en) | Neuromorphic device with oxygen scavenging gate | |
CN113592081A (zh) | 数据处理装置及数据处理方法 | |
CN113222131B (zh) | 基于1t1r的可实现带符号权重系数的突触阵列电路 | |
Doevenspeck et al. | Noise tolerant ternary weight deep neural networks for analog in-memory inference | |
Haensch et al. | A co-design view of compute in-memory with non-volatile elements for neural networks | |
CN114121089B (zh) | 基于忆阻器阵列的数据处理方法及装置 | |
Tang et al. | Improved crossbar array architecture for compensating interconnection resistance: Ferroelectric HZO-based synapse case | |
Le et al. | CIMulator: a comprehensive simulation platform for computing-in-memory circuit macros with low bit-width and real memory materials | |
EP4357981A1 (en) | Hybrid feram/oxram data storage circuit |
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 |