CN113159293B - 一种用于存算融合架构的神经网络剪枝装置及方法 - Google Patents

一种用于存算融合架构的神经网络剪枝装置及方法 Download PDF

Info

Publication number
CN113159293B
CN113159293B CN202110457638.8A CN202110457638A CN113159293B CN 113159293 B CN113159293 B CN 113159293B CN 202110457638 A CN202110457638 A CN 202110457638A CN 113159293 B CN113159293 B CN 113159293B
Authority
CN
China
Prior art keywords
memristor
neural network
array
memristors
memristor 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
CN202110457638.8A
Other languages
English (en)
Other versions
CN113159293A (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN202110457638.8A priority Critical patent/CN113159293B/zh
Publication of CN113159293A publication Critical patent/CN113159293A/zh
Application granted granted Critical
Publication of CN113159293B publication Critical patent/CN113159293B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N70/00Solid-state devices without a potential-jump barrier or surface barrier, and specially adapted for rectifying, amplifying, oscillating or switching
    • H10N70/20Multistable switching devices, e.g. memristors

Landscapes

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

Abstract

本发明提出一种用于存算融合架构的神经网络剪枝装置及方法,属于半导体技术领域。该装置包括:写电压模块,读电流模块和由多个既具有动态特性又具有非易失特性的双模态忆阻器构成的忆阻器阵列。该方法首先通过写电压模块向忆阻器阵列中施加一个弱正向电压刺激,使得忆阻器阵列中所有忆阻器均处在动态模式;在神经网络学习中,每次训练通过改变忆阻器的电导值更新其权重值,同时在训练之间插入一系列休息阶段,最终,权重更新多的忆阻器会达到阻态稳定条件,而权重更新少的忆阻器则会衰减到高阻状态,忆阻器阵列经过训练成为一个稀疏神经网络。本发明能够有效剪枝神经网络中的权重,降低人工神经网络能耗,提高识别精度。

Description

一种用于存算融合架构的神经网络剪枝装置及方法
技术领域
本发明属于半导体技术领域,特别提出一种用于存算融合架构的神经网络剪枝装置及方法。
背景技术
人工智能在军事、医疗、交通等领域有了越来越广泛的应用,给人们的生活带来了巨大的改变,但是也对现有计算机的算力提出了越来越高的要求,甚至超出了摩尔定律的发展速度。特别是对于能源有限的便携设备(如智能手机),由于隐私性差、能耗大、缺乏实时处理能力等问题,其应用在很大程度上受到了限制。相比之下,生物的大脑是一个高度复杂的神经网络系统,它可以以极低的能耗(约20W)来执行复杂的认知活动。因此模仿生物大脑的工作方式成为提高计算机的工作能效的重要技术。比如在传统的冯·诺依曼架构中,一个关键的瓶颈来自内存和计算单元的物理分离,这导致了内存墙问题。受人脑的启发,基于忆阻器的存算融合架构通过模拟生物突触大规模并行计算,已作为人工突触和神经元被广泛研究,以构建人工智能芯片的原型。
虽然基于忆阻器的神经网络计算已经有一些系统级的功能演示,但是目前还只能实现较为简单的功能。其中一个重要原因是急需更具有生物可信度的算法及结构设计。比如说人大脑中的突触剪枝功能,在刚出生时,突触的数量会迅速增加,到两三岁时达到巅峰,然后使用较少的突触最终会被修剪掉,使用频繁的突触被固定下来,这一突触的自适应过程已被认为是大脑实现高效认知任务的基础。受这一过程启发的网络剪枝算法成为深度神经网络(DNN)计算复杂度优化的一种常见做法,不仅能够大幅减少计算能耗,同时对于一些复杂算法,还能有效避免过拟合现象的发生。但是目前无法在基于忆阻器的类脑计算芯片中实现这一算法的效果。类脑计算中的忆阻器一般采用交叉阵列形式集成,而传统的突触剪枝方法通常会导致网络的不规则连接,需要额外的硬件开销来记录并寻址到阵列中被剪枝的忆阻器单元,这会带来额外的能耗开销很难体现出网络剪枝的优势。
发明内容
本发明的目的是为克服已有技术的不足之处,提出一种用于存算融合架构的神经网络剪枝装置及方法。本发明从生物突触自适应的过程中获得启发,依靠双模态忆阻器本身的特性,构建出一种自动剪枝装置及方法,本发明能够有效剪枝神经网络中的权重,降低人工神经网络能耗,提高识别精度。
本发明提出一种用于存算融合架构的神经网络剪枝装置,包括:写电压模块,读电流模块和忆阻器阵列,其特征在于,所述忆阻器阵列为由多个双模态忆阻器构成的矩阵,所述双模态忆阻器为既具有动态特性又具有非易失特性的忆阻器;其中,所述写电压模块连接前级神经网络的输出,所述读电流模块连接后级神经网络的输入;写电压模块利用多条位线分别连接忆阻器阵列中每一列忆阻器的上电极,读电流模块利用多条源线分别连接忆阻器阵列中每一行忆阻器的下电极;每条位线和每条源线相互正交;前级神经网络的输出信号经过电压模块以电压脉冲的形式通过每条位线输入忆阻器阵列的每一列,使得忆阻器阵列中的每个忆阻器达到不同的预设阻值;所述忆阻器阵列实现单层神经网络的功能,每个忆阻器的电导值代表该忆阻器在神经网络中的权重值,忆阻器阵列得到的神经网络输出结果通过每条源线以电流形式经过电流模块输出到后级神经网络;通过神经网络训练,忆阻器阵列中权重更新多的忆阻器自动变成非易失状态成为稳定的突触,权重更新少的忆阻器自然衰减到高阻状态成为冗余突触,所述忆阻器阵列经过剪枝最终成为一个稀疏神经网络。
本发明的特点及有益效果:
本发明从人脑发育过程中突触剪枝获得启发,利用双模态忆阻器本身的物理机制,更新次数多的突触被保留下来,其他的恢复高阻,完成自动剪枝过程,不需要额外的硬件和功耗开销来记录剪枝位置。使得基于忆阻器的神经网络有潜力实现更加复杂计算应用,并进一步降低能耗。
附图说明
图1是本发明的神经网络剪枝装置结构示意图;
图2是本发明实施例中双模态忆阻器的工作过程示意图;
图3是本发明实施例中双模态忆阻器的动态工作模式和非易失工作模式测试示意图;
图4是本发明的神经网络剪枝方法的整体流程图;
图5是本发明实施例中神经网络训练后权重的分布示意图;
图6是本发明实施例中不同算法的识别精度对比图。
具体实施方式
本发明提出一种用于存算融合架构的神经网络剪枝装置及方法,下面结合附图和具体实施例进一步详细说明如下。
本发明提出一种用于存算融合架构的神经网络剪枝装置,结构如图1所示,包括:写电压模块,读电流模块和由多个忆阻器构成的忆阻器阵列。其中,所述写电压模块连接前级神经网络的输出,所述读电流模块连接后级神经网络的输入,所述忆阻器阵列为由多个双模态忆阻器构成的矩阵(图1中共有m×n个双模态忆阻器构成该阵列),所述双模态忆阻器为既具有动态特性又具有非易失特性的忆阻器。写电压模块利用多条位线(Bit Line,BL,图1中为BL1至BLm)分别连接忆阻器阵列中每一列忆阻器的上电极,读电流模块利用多条源线(Source Line,SL)分别连接忆阻器阵列中每一行忆阻器的下电极(图1中为SL1至SLn)。每条位线和每条源线相互正交。前级神经网络的输出信号经过电压模块以电压脉冲V=(V1,V2,…,Vn)的形式通过每条位线输入忆阻器阵列的每一列,其中,Vi代表第i列忆阻器获得的电压脉冲。通过施加特定的电压信号,可使位线与源线交叉点处的忆阻器处在工作状态,从而使得阵列中的每个双模态忆阻器达到不同的预设阻值,该忆阻器阵列成为等效的带权矩阵。所述忆阻器阵列是单层神经网络的一种等效映射,基于此阵列可以实现神经网络的功能。忆阻器阵列得到的神经网络输出结果通过每条源线以电流形式经过电流模块输出到后级神经网络,其中忆阻器阵列输出的电流为I=(I1,I2,…Im),Ij代表第j行忆阻器输出的电流,位于第i列第j行忆阻器的整体电导作为输入Vi指向输出Ij的权重值。通过神经网络训练,忆阻器阵列中权重更新多的忆阻器自动变成非易失状态为稳定的突触,而权重更新少的忆阻器则自然衰减到高阻状态成为冗余突触,忆阻器阵列构成的神经网络经过剪枝最终成为一个稀疏神经网络。
所述双模态忆阻器是指既具有动态特性又具有非易失特性的忆阻器,常被用来模拟生物突触短程/长程可塑性,下面给出一种双模态忆阻器的实现方法及工作原理。如图2(a)所示是一个典型忆阻器结构,包括上电极、阻变层、下电极。所述上电极采用惰性金属电极(如Au,Pt等),阻变层采用钙铁石氧化物,根据氧的化学计量数不同而表现出不同的电学特性。金属下电极采用富氧的SrRuO3。在一个弱正向电压刺激下,金属下电极的氧离子被吸引到界面处,无法形成稳定的相变,此时为如图2(b)所示的动态模式,撤去电压后忆阻器又恢复到初始状态;反之在较强的电刺激下,大量氧离子进入阻变层,阻变层发生稳定拓扑相变,转变为钙钛矿相形成非易失性的电阻变化,此时为如图2(c)所示的非易失模式。如图3是不同工作模式下双模态忆阻器的电阻的变化测试图,写电压都采用2.5V,读电压为幅度0.2V,宽度100ms的脉冲,在如图3(a)的动态工作模式下,写电压撤除后,电阻会缓慢落回初始阻态;在如图3(b)的非易失工作模式下,忆阻器发生稳定阻变。
进一步地,双模态忆阻器还可以有其他实现方案,比如电化学忆阻器(Electro-Chemical Random-Access Memory,ECRAM)。利用电解质调制的氧化物作为阻变层也会有两种工作模式,在电场较小时在界面形成电双层(electric double layer,EDL)表现出动态特性;电压较大时由于离子嵌入进阻变层发生非易失相变。
进一步地,本发明还提出一种基于上述用于存算融合架构的神经网络剪枝装置的神经网络剪枝方法,整体流程如图4所示,包括以下步骤:
1)初始阶段,通过写电压模块向忆阻器阵列中施加一个弱正向电压刺激,使得忆阻器阵列中所有忆阻器均处在动态模式;
2)当进行神经网络学习时,写电压模块向忆阻器阵列施加每次训练对应的不同电压脉冲,使得忆阻器阵列中的每个忆阻器达到不同的预设阻值,同时每个忆阻器输出不同电流至读电流模块,该忆阻器的当前电导值代表在该次训练时其在忆阻器阵列构成的神经网络中的权重值;
3)为了更好的模拟生物突触的自适应剪枝功能,在学习过程中插入一系列休息阶段,在每个休息阶段,没有学习任务,则写电压模块不向忆阻器阵列施加电压脉冲,忆阻器阵列也不输出电流,不进行忆阻器的权重更新。在学习过程中权重更新多的忆阻器会达到阻态稳定条件,自动变成非易失状态(代表稳定的突触连接),而其他权重更新少的忆阻器则会自然衰减到高阻状态(代表冗余突触),可忽略该忆阻器对应的权重。这样,忆阻器阵列构成的神经网络可以增强那些重要的突触连接,并修剪其他不相关的突触连接,最终经过训练成为一个稀疏神经网络,剪枝完毕。这种自动剪枝过程受到人脑发育过程的启发,突触连接的数量在儿童早期达到最大,然后活跃的突触选择性地稳定下来,而很少使用的冗余突触被消除。
使用784×100×10的多层感知器(Multilayer Perceptron,MLP)和典型的卷积神经网络(Convolutional Neural Networks,CNN)LeNet-5来演示该系统的自适应剪枝过程,如图5,6所示。采用反向传播算法和随机梯度下降算法训练网络,批尺寸为200,学习速率为0.01,MLP训练10个时期,CNN训练20个时期。MLP网络每经过一个训练时期休息一次,CNN网络每经过两个训练时期休息一次。对于图2所示的双模态忆阻器来说,连续操作超过100个权重更新脉冲可以使器件权重稳定。实验结果与不进行剪枝的忆阻器神经网络(基线)进行对比,图5展示了不同网络训练过后的权重分布,对于MLP网络,在新开发的双模态忆阻器阵列的训练中,修剪后的网络可以减少73.8%的冗余突触;对于CNN网络,修剪后的网络可以减少84.2%的冗余突触。同时由于避免了过拟合,MNIST数据集的训练准确率提高到~99%(图6),且对于越复杂的网络结构剪枝效果越好(CNN网络中训练参数更多,所以剪枝效果更好)。

Claims (5)

1.一种用于存算融合架构的神经网络剪枝装置,包括:写电压模块,读电流模块和忆阻器阵列,其特征在于,所述忆阻器阵列为由多个双模态忆阻器构成的矩阵,所述双模态忆阻器为既具有动态特性又具有非易失特性的忆阻器;其中,所述写电压模块连接前级神经网络的输出,所述读电流模块连接后级神经网络的输入;写电压模块利用多条位线分别连接忆阻器阵列中每一列忆阻器的上电极,读电流模块利用多条源线分别连接忆阻器阵列中每一行忆阻器的下电极;每条位线和每条源线相互正交;前级神经网络的输出信号经过电压模块以电压脉冲的形式通过每条位线输入忆阻器阵列的每一列,使得忆阻器阵列中的每个忆阻器达到不同的预设阻值;所述忆阻器阵列实现单层神经网络的功能,每个忆阻器的电导值代表该忆阻器在神经网络中的权重值,忆阻器阵列得到的神经网络输出结果通过每条源线以电流形式经过电流模块输出到后级神经网络;通过神经网络训练,忆阻器阵列中权重更新多的忆阻器自动变成非易失状态成为稳定的突触,权重更新少的忆阻器自然衰减到高阻状态成为冗余突触,所述忆阻器阵列经过剪枝最终成为一个稀疏神经网络。
2.如权利要求1所述的神经网络剪枝装置,其特征在于,所述双模态忆阻器包括上电极、阻变层、下电极;所述上电极采用惰性金属电极,阻变层采用钙铁石氧化物,金属下电极采用富氧的SrRuO3
3.如权利要求1所述的神经网络剪枝装置,其特征在于,所述双模态忆阻器采用电化学忆阻器。
4.如权利要求2所述的神经网络剪枝装置,其特征在于,所述双模态忆阻器在一个弱正向电压刺激下,下电极的氧离子被吸引到界面处,无法形成稳定的相变,此时为动态模式,撤去电压后忆阻器又恢复到初始状态;在较强的电刺激下,氧离子进入阻变层,阻变层发生稳定拓扑相变,转变为钙钛矿相形成非易失性的电阻变化,此时为非易失模式,忆阻器发生稳定阻变。
5.一种基于如权利要求1、2、3中任一种神经网络剪枝装置的神经网络剪枝方法,其特征在于,该方法包括以下步骤:
1)初始阶段,通过写电压模块向忆阻器阵列中施加一个弱正向电压刺激,使得忆阻器阵列中所有忆阻器均处在动态模式;
2)当进行神经网络学习时,写电压模块向忆阻器阵列施加每次训练对应的不同电压脉冲,使得忆阻器阵列中的每个忆阻器达到不同的预设阻值,同时每个忆阻器输出不同电流至读电流模块,该忆阻器的当前电导值代表在该次训练时该忆阻器在忆阻器阵列构成的神经网络中的权重值;
3)在神经网络学习过程中插入一系列休息阶段,在每个休息阶段,写电压模块不向忆阻器阵列施加电压脉冲,忆阻器阵列不输出电流,不进行各忆阻器的权重更新;最终,在学习过程中权重更新多的忆阻器会达到阻态稳定条件,自动变成非易失状态,而权重更新少的忆阻器则会自然衰减到高阻状态,忆阻器阵列最终经过训练成为一个稀疏神经网络,剪枝完毕。
CN202110457638.8A 2021-04-27 2021-04-27 一种用于存算融合架构的神经网络剪枝装置及方法 Active CN113159293B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110457638.8A CN113159293B (zh) 2021-04-27 2021-04-27 一种用于存算融合架构的神经网络剪枝装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110457638.8A CN113159293B (zh) 2021-04-27 2021-04-27 一种用于存算融合架构的神经网络剪枝装置及方法

Publications (2)

Publication Number Publication Date
CN113159293A CN113159293A (zh) 2021-07-23
CN113159293B true CN113159293B (zh) 2022-05-06

Family

ID=76871249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110457638.8A Active CN113159293B (zh) 2021-04-27 2021-04-27 一种用于存算融合架构的神经网络剪枝装置及方法

Country Status (1)

Country Link
CN (1) CN113159293B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108205705A (zh) * 2016-12-16 2018-06-26 爱思开海力士有限公司 用于归一化神经网络设备的装置和方法
CN109460817A (zh) * 2018-09-11 2019-03-12 华中科技大学 一种基于非易失存储器的卷积神经网络片上学习系统
CN110490317A (zh) * 2019-10-17 2019-11-22 北京中科寒武纪科技有限公司 神经网络运算装置及运算方法
CN110796241A (zh) * 2019-11-01 2020-02-14 清华大学 基于忆阻器的神经网络的训练方法及其训练装置
CN112396181A (zh) * 2020-12-31 2021-02-23 之江实验室 一种卷积神经网络通用压缩架构的自动剪枝方法及平台

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108205705A (zh) * 2016-12-16 2018-06-26 爱思开海力士有限公司 用于归一化神经网络设备的装置和方法
CN109460817A (zh) * 2018-09-11 2019-03-12 华中科技大学 一种基于非易失存储器的卷积神经网络片上学习系统
WO2020052342A1 (zh) * 2018-09-11 2020-03-19 华中科技大学 一种基于非易失存储器的卷积神经网络片上学习系统
CN110490317A (zh) * 2019-10-17 2019-11-22 北京中科寒武纪科技有限公司 神经网络运算装置及运算方法
CN110796241A (zh) * 2019-11-01 2020-02-14 清华大学 基于忆阻器的神经网络的训练方法及其训练装置
CN112396181A (zh) * 2020-12-31 2021-02-23 之江实验室 一种卷积神经网络通用压缩架构的自动剪枝方法及平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Dynamic memristor-based reservoir computing for high-efficiency temporal signal processing;Yanan Zhong,et al.;《nature communications》;20210118;全文 *
基于忆阻器交叉阵列的卷积神经网络电路设计;胡飞等;《计算机研究与发展》;20180515(第05期);全文 *

Also Published As

Publication number Publication date
CN113159293A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
US11861489B2 (en) Convolutional neural network on-chip learning system based on non-volatile memory
CN106981567B (zh) 一种基于光电耦合忆阻器的人工突触器件及其调制方法
US10692570B2 (en) Neural network matrix multiplication in memory cells
WO2021098821A1 (zh) 神经网络系统中数据处理的方法、神经网络系统
CN105224986B (zh) 基于忆阻器件的深度神经网络系统
An et al. Realizing behavior level associative memory learning through three-dimensional memristor-based neuromorphic circuits
CN110998611A (zh) 神经形态处理装置
Nandakumar et al. Building brain-inspired computing systems: Examining the role of nanoscale devices
US20210319293A1 (en) Neuromorphic device and operating method of the same
CN109448068B (zh) 一种基于忆阻器交叉阵列的图像重构系统
Indiveri et al. ReRAM‐Based Neuromorphic Computing
Ravichandran et al. Artificial neural networks based on memristive devices
CN110852429A (zh) 一种基于1t1r的卷积神经网络及其操作方法
Milo et al. Brain-inspired recurrent neural network with plastic RRAM synapses
Milo et al. Resistive switching synapses for unsupervised learning in feed-forward and recurrent neural networks
CN113159293B (zh) 一种用于存算融合架构的神经网络剪枝装置及方法
Shahsavari et al. Parameter exploration to improve performance of memristor-based neuromorphic architectures
Sun et al. Quaternary synapses network for memristor-based spiking convolutional neural networks
An Powering next-generation artificial intelligence by designing three-dimensional high-performance neuromorphic computing system with memristors
CN109978019A (zh) 图像模式识别模拟与数字混合忆阻设备及制备,实现stdp学习规则和图像模式识别方法
Taylor et al. 1s1r-based stable learning through single-spike-encoded spike-timing-dependent plasticity
Li et al. Fully Circuit Implementation of a two-layer Memristive Neural Network for Pattern Recognition
Milo Modeling and simulation of spiking neural networks with resistive switching synapses
Peng et al. Memristor based Spiking Neural Networks: Cooperative Development of Neural Network Architecture/Algorithms and Memristors
Chen et al. How could imperfect device properties influence the performances of spiking neural networks?

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