一种二值忆阻器的神经网络芯片制造技术

技术编号:20918670 阅读:25 留言:0更新日期:2019-04-20 10:08
本发明专利技术涉及计算机与电子信息技术领域,具体涉及一种二值忆阻器的神经网络芯片。本发明专利技术利用忆阻器具有的开关比,即存在高低两种阻态,与二值化神经网络结合起来以在不同材料的忆阻器上完成存储和运算,并将其与中央处理器结合,以提高神经网络的计算效率和速度。除执行神经网络算法外,本发明专利技术还可利用二值化神经网络架构进行类似于FPGA的现场编程;即输入经过特殊编码处理的数据流,对照其应输出结果按照二值化神经网络的方法进行现场学习,当正确率达到100%时即停止学习,该网络即可执行对应功能。

A Neural Network Chip for Binary Memristor

The invention relates to the field of computer and electronic information technology, in particular to a neural network chip of a binary memristor. The invention utilizes the switch ratio of the memristor, that is, there are two kinds of high and low resistance states, and combines the binary neural network to complete storage and operation on the memristor of different materials, and combines the memristor with the central processor to improve the calculation efficiency and speed of the neural network. In addition to the implementation of the neural network algorithm, the present invention can also use the binary neural network architecture to carry out field programming similar to the FPGA; that is, input the data stream processed by special coding, and carry out on-site learning according to the binary neural network method according to its corresponding output results, and stop learning when the correct rate reaches 100%, and the network can perform corresponding functions.

【技术实现步骤摘要】
一种二值忆阻器的神经网络芯片
本专利技术涉及计算机与电子信息
,具体涉及一种二值忆阻器的神经网络芯片。
技术介绍
目前神经网络运算基本上基于中央处理器(CPU)和图形处理器(GPU)。无论神经网络基于以上两者中哪一种硬件,其运算都是属于数字矩阵向量乘法,都需要计算硬件提供精确的突触权值表示,否则将对神经网络运算带来极其严重的偏差。中央处理器(CPU)在进行矩阵向量乘法时受限于串行处理和数据读取的带宽限制,运算效率低下;图形处理器(GPU)在进行矩阵向量乘法时虽然并行计算效率较高,但能耗较大。利用忆阻器这种模拟器件进行神经网络运算是解决这些问题的有效方法。第一,其模拟矩阵向量乘法可以将矩阵向量乘法的算法复杂度由O(n2)降O(1),极大地提高了计算效率;第二,相比于数字矩阵向量乘法,模拟矩阵向量乘法的运算功耗极低;第三,忆阻器的非易失性使神经网络突触权值可保持很长时间,具有硬件可移植性。目前已报道基于忆阻器运行的神经网络如单层感知机[1]、现场训练算法[2]等方法,都是基于传统数字电路可以精确运算的算法,需要将忆阻器的阻值精确映射到神经网络的权值,要求精确度很高,但目前由于对忆阻器调控机理仍没有一个普遍的认识,不同材料的制成忆阻器性能差异很大且普遍来说仍无法做到对阻值的精确调控,虽然一些报道提出了一些解决办法,如小电压逐步调控[3]、差分对[1][2]、写入后读取检查[3]等,但这些方法都不可避免面临算法适用面窄、调控复杂、耗费忆阻器单元更多、网络结构复杂等问题,离实际解决忆阻器真正大规模应用传统神经网络算法还有距离。二值化神经网络,是指在浮点型神经网络的基础上,将其权重矩阵中权重值和各个激活函数值同时进行二值化得到的神经网络,通常将权重值和激活函数值二值化到+1和-1实现。二值化神经网络具有很好的特性,具体体现在:通过将权重矩阵二值化,一个权重值只占用一个比特,相比于单精度浮点型权重矩阵,网络模型的内存消耗理论上能减少32倍,因此二值化神经网络在模型压缩上具有很大的优势。当权重值和激活函数值同时进行二值化之后,原来32个浮点型数的乘加运算,可以通过一次异或运算和一次按位运算解决,在模型加速上具有很大的潜力。目前德国HassoPlattner研究所已经针对二值化神经网络开发了开源的BMXNet神经网络训练集[4],提供了激活层、卷积层和全连接层,其计算结果在MNIST数据集上正确率为97%,相对浮点数全精度计算结果的99%,两者相差很小。在模型大小方面二值化神经网络占用207kB,全精度模型占用4.6MB,节省了20倍以上空间。除BMXNet外,其他二值化神经网络还有ABCNet、XNORNet等改进型二值化神经网络,这意味着二值化神经网络已经得到学界的重视,并且未来将会得到开发者长期稳定的开发和维护。其占用空间小、运算复杂度低、与传统数字电路契合也意味着其在嵌入式系统、高性能计算等领域将发挥更大的作用。[1]Prezioso,M.,F.Merrikh-Bayat,B.D.Hoskins,etal.2015TrainingandOperationofanIntegratedNeuromorphicNetworkBasedonMetal-OxideMemristors.Nature521(7550):61–64.[2]Li,Can,DanielBelkin,YunningLi,etal.2018EfficientandSelf-Adaptivein-SituLearninginMultilayerMemristorNeuralNetworks.NatureCommunications9(1).http://www.nature.com/articles/s41467-018-04484-2,accessedJuly15,2018.[3]Yao,Peng,HuaqiangWu,BinGao,etal.2017FaceClassificationUsingElectronicSynapses.NatureCommunications8:15199.[4]https://github.com/hpi-xnor
技术实现思路
针对上述存在问题或不足,为解决忆阻器执行神经网络的大规模应用的技术问题,本专利技术提供了一种二值忆阻器的神经网络芯片。一种二值忆阻器的神经网络芯片,用于承载二值化神经网络的忆阻器系统和中央处理器(CPU)的协作,以完成神经网络的运算,包含中央处理器(CPU)1和忆阻器系统2。其中,中央处理器负责进行高精度线性运算,忆阻器系统基于交叉阵列结构的忆阻器芯片以实现矩阵运算,两者之间进行电连接以达成信息交换。所述忆阻器系统包含忆阻器核心5、外围控制电路6和自检纠错电路7。忆阻器核心5包含有至少一片忆阻器芯片,单个忆阻器芯片内包含呈交叉阵列(Crossbar)结构的n个忆阻器单元,n≥2。外部控制电路包括外部命令请求、读写控制电路、读写激励电路、功能片选信号、读出电路和数据输出模块,负责按照外部命令请求来激励和读取忆阻器芯片内各忆阻器单元的阻值状态,进而完成存储和运算的功能,并将数据结果处理后返回给中央处理器。自检纠错电路7负责进行忆阻器状态检查与调整,检测是否有忆阻器单元失效或数据存储错误等故障,告知使用者和排除故障。其工作流程如下:其中外部命令输入到外部命令请求后,会同时传输到读写控制电路和功能片选信号。读写控制电路根据外部命令选择读或写,并将读写命令传输给自检纠错电路7和读写激励电路:自检纠错电路7记录读写控制电路的命令;读写激励电路产生写入电压信号或读取电压信号传输给忆阻器核心5。功能片选信号根据外部命令请求产生选择忆阻器芯片的命令并传输给忆阻器核心5。忆阻器核心5根据命令完成计算后,将计算结果输出到读出电路进行处理。读出电路将计算结果返回给自检纠错电路7对照读写控制电路的命令:若对照后无错误会将信息通知读出电路,由读出电路将计算结果交给数据输出模块输出给中央处理器;若有错误将告知使用者错误信息,并排除错误。所述忆阻器芯片内忆阻器单元的阻值和二值化神经网络权值一一对应,即高阻态对应-1,低阻态对应+1。当忆阻器单元进入写入状态,需要从-1(高阻态)调到+1(低阻态)时,加上正向的波形;反之需要从+1(低阻态)调到-1(高阻态)时,加上反向波形。所述忆阻器芯片的写入电压高于读取电压。写入采用一时多工调控方式,即同列同时写入,根据同一列不同单元的调控命令,在上电极端同时施加对应电压,下电极输出对应信号。该列写入完成后进行下一列的写入,直到完成命令执行。读取采用一时一工调控方式,逐个单元施加读取电压遍历直到完成命令执行。所述忆阻器芯片执行矩阵运算时,输入电压使用读取电压的值,采用单次运算调控方式,即根据输入的二值数据在上电极同时输入对应该二值数据的电压,各下电极同时输出电流,然后将电流信号转化为数字信号并输出。进一步的,该二值忆阻器的神经网络芯片还包括与中央处理器(CPU)和忆阻器系统电连接的SDRAM3、图像信号处理(ISP)和/或数字信号处理(DSP)4。SDRAM3用来辅助存储,ISP和DSP配合中央处理器1和忆阻器系统2利用神经网络进行智能化图像处理。本专利技术利用忆阻器具有的开关比,即本文档来自技高网
...

【技术保护点】
1.一种二值忆阻器的神经网络芯片,用于承载二值化神经网络的忆阻器系统和中央处理器CPU的协作,以完成神经网络的运算,包含中央处理器CPU和忆阻器系统,其特征在于:中央处理器负责进行高精度线性运算,忆阻器系统基于交叉阵列结构的忆阻器芯片以实现矩阵运算,两者之间进行电连接以达成信息交换;所述忆阻器系统包含忆阻器核心、外围控制电路和自检纠错电路;忆阻器核心包含有至少一片忆阻器芯片,单个忆阻器芯片内包含呈交叉阵列结构的n个忆阻器单元,n≥2;外部控制电路包括外部命令请求、读写控制电路、读写激励电路、功能片选信号、读出电路和数据输出模块,负责按照外部命令请求来激励和读取忆阻器芯片内各忆阻器单元的阻值状态,进而完成存储和运算的功能,并将数据结果处理后返回给中央处理器;自检纠错电路负责进行忆阻器状态检查与调整,检测是否有忆阻器单元失效或数据存储错误等故障,告知使用者和排除故障;其工作流程如下:外部命令输入到外部命令请求后,会同时传输到读写控制电路和功能片选信号;读写控制电路根据外部命令选择读或写,并将读写命令传输给自检纠错电路和读写激励电路:自检纠错电路记录读写控制电路的命令;读写激励电路产生写入电压信号或读取电压信号传输给忆阻器核心;功能片选信号根据外部命令请求产生选择忆阻器芯片的命令并传输给忆阻器核心;忆阻器核心根据命令完成计算后,将计算结果输出到读出电路进行处理;读出电路将计算结果返回给自检纠错电路对照读写控制电路的命令:若对照后无错误会将信息通知读出电路,由读出电路将计算结果交给数据输出模块输出给中央处理器;若有错误将告知使用者错误信息,并排除错误;所述忆阻器芯片内忆阻器单元的阻值和二值化神经网络权值一一对应,即高阻态对应‑1,低阻态对应+1;当忆阻器单元进入写入状态,需要从高阻态调到低阻态时,加上正向的波形;反之需要从低阻态调到高阻态时,加上反向波形;所述忆阻器芯片的写入电压高于读取电压,写入采用一时多工调控方式,即同列同时写入,根据同一列不同单元的调控命令,在上电极端同时施加对应电压,下电极输出对应信号;该列写入完成后进行下一列的写入,直到完成命令执行,读取采用一时一工调控方式,逐个单元施加读取电压遍历直到完成命令执行;所述忆阻器芯片执行矩阵运算时,输入电压使用读取电压的值,采用单次运算调控方式,即根据输入的二值数据在上电极同时输入对应该二值数据的电压,各下电极同时输出电流,然后将电流信号转化为数字信号并输出。...

【技术特征摘要】
1.一种二值忆阻器的神经网络芯片,用于承载二值化神经网络的忆阻器系统和中央处理器CPU的协作,以完成神经网络的运算,包含中央处理器CPU和忆阻器系统,其特征在于:中央处理器负责进行高精度线性运算,忆阻器系统基于交叉阵列结构的忆阻器芯片以实现矩阵运算,两者之间进行电连接以达成信息交换;所述忆阻器系统包含忆阻器核心、外围控制电路和自检纠错电路;忆阻器核心包含有至少一片忆阻器芯片,单个忆阻器芯片内包含呈交叉阵列结构的n个忆阻器单元,n≥2;外部控制电路包括外部命令请求、读写控制电路、读写激励电路、功能片选信号、读出电路和数据输出模块,负责按照外部命令请求来激励和读取忆阻器芯片内各忆阻器单元的阻值状态,进而完成存储和运算的功能,并将数据结果处理后返回给中央处理器;自检纠错电路负责进行忆阻器状态检查与调整,检测是否有忆阻器单元失效或数据存储错误等故障,告知使用者和排除故障;其工作流程如下:外部命令输入到外部命令请求后,会同时传输到读写控制电路和功能片选信号;读写控制电路根据外部命令选择读或写,并将读写命令传输给自检纠错电路和读写激励电路:自检纠错电路记录读写控制电路的命令;读写激励电路产生写入电压信号或读取电压信号传输给忆阻器核心;功能片选信号根据外部命令请求产生选择忆阻器芯片的命令并传输给忆阻器核心;忆阻器核心根据命令完成计算后,将计算结...

【专利技术属性】
技术研发人员:帅垚乔石珺彭赟吴传贵罗文博王韬张万里梁翔潘忻强
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1