当前位置: 首页 > 专利查询>北京大学专利>正文

基于FLASH存算阵列的脉冲型卷积神经网络制造技术

技术编号:22755431 阅读:21 留言:0更新日期:2019-12-07 04:07
本公开提供了一种基于FLASH存算阵列的脉冲型卷积神经网络,包括:采样模块、基于FLASH的存算阵列及其对应的神经元模块、以及计数器模块;所述采样模块用于对输入图像进行采样,得到输入脉冲;所述基于FLASH的存算阵列存储有权重矩阵,其对输入脉冲与权重矩阵进行向量矩阵乘法运算,运算结果以电流形式输出;所述神经元模块对基于FLASH的存算阵列的运算结果进行积分,生成输出脉冲;所述计数器模块统计输出层的神经元模块产生的脉冲数量,将具有最大脉冲数量的神经元模块的脉冲数量作为识别结果。

Pulse type convolutional neural network based on flash memory array

The present disclosure provides a pulse type convolutional neural network based on flash memory array, which includes a sampling module, a flash based memory array and its corresponding neuron module, and a counter module; the sampling module is used for sampling the input image to obtain the input pulse; the flash based memory array stores a weight matrix, which stores the input pulse and the weight moment The array performs vector matrix multiplication operation, and the operation result is output in the form of current; the neuron module integrates the operation result of flash based memory computing array to generate output pulse; the counter module counts the number of pulses generated by the neuron module in the output layer, and takes the number of pulses generated by the neuron module with the maximum number of pulses as the identification result.

【技术实现步骤摘要】
基于FLASH存算阵列的脉冲型卷积神经网络
本专利技术属于半导体器件及集成电路领域,具体是一种基于FLASH存算阵列的脉冲型卷积神经网络。
技术介绍
深度学习在图像处理和语音识别等方面取得了巨大成功,并被广泛应用于自动驾驶、安防监控等领域。作为深度学习重要组成部分的卷积神经网络,其性能的提升对深度学习的进一步发展具有重要意义。基于FLASH设计的存储计算一体化阵列(存算阵列)能够并行执行矩阵向量乘法运算,实现存算一体化,从而在硬件层面对运算进行加速。但是类似的存算一体化结构会引入新的问题,即外围电路尤其是模数/数模转换器带来的额外且巨大的硬件开销。公开内容(一)要解决的技术问题本公开提出了一种基于FLASH存算阵列的脉冲型卷积神经网络,主要解决了以下技术问题:(1)存储计算一体化;(2)基于FLASH存算阵列的脉冲型卷积神经网络硬件实现。(二)技术方案本公开提供了一种基于FLASH存算阵列的脉冲型卷积神经网络,包括:采样模块、基于FLASH的存算阵列及其对应的神经元模块、以及计数器模块;所述采样模块用于对输入图像进行采样,得到输入脉冲;所述基于FLASH的存算阵列存储有权重矩阵,其对输入脉冲与权重矩阵进行向量矩阵乘法运算,运算结果以电流形式输出;所述神经元模块对基于FLASH的存算阵列的运算结果进行积分,生成输出脉冲;所述计数器模块统计输出层的神经元模块产生的脉冲数量,将具有最大脉冲数量的神经元模块的脉冲数量作为识别结果。在本专利技术的实施例中,所述采样模块利用泊松采样或高斯采样对输入图像进行采样,得到输入脉冲。在本专利技术的实施例中,所述脉冲型卷积神经网络的每一层均包括:所述基于FLASH的存算阵列,所述基于FLASH的存算阵列包括:多个FLASH单元、多条字线、多条源线、多条位线、多个减法器;多个FLASH单元组成的存算阵列,每一列FLASH单元的栅极连接相同的字线,源极连接相同的源线,每一行FLASH单元的漏极连接相同的位线;每个减法器的正极端和负极端分别连接相邻两条位线。在本专利技术的实施例中,所述字线的数量对应于所述存算阵列的列数,输入脉冲通过字线输入FLASH单元;所述源线的数量对应于所述存算阵列的列数,所述源线均接固定的驱动电压;所述位线的数量对应于所述存算阵列的行数,每一行位线叠加该行各列FLASH单元的漏极信号,并将叠加的漏极信号作为输出信号输出。在本专利技术的实施例中,所述FLASH单元存储有卷积神经网络的权重值,所述基于FLASH的存算阵列存储卷积神经网络的权重矩阵。在本专利技术的实施例中,对所述FLASH单元编程,所述FLASH单元的存储状态视为“0”;对所述FLASH单元擦除,所述FLASH单元的存储状态视为“1”。在本专利技术的实施例中,所述减法器正极端连接的位线上的FLASH单元存储正权重值,其负极端连接的位线上的FLASH单元存储负权重值。在本专利技术的实施例中,神经元模块包括:比较器、脉冲产生电路、复位开关、积分电容;积分电容对运算结果进行积分,比较器将积分得到的输出电压与预先设置的阈值电压进行比较,如果输出电压超过阈值电压,比较器触发脉冲产生电路输出脉冲,并通过比较器的反馈触发复位开关,将神经元模块置为初始状态;如果输出电压未超过阈值电压,比较器不会触发脉冲产生电路,脉冲产生电路不输出脉冲。(三)有益效果本专利技术以脉冲个数代表具体数值信息,即将卷积神经网络中各层的输入输出均用二进制(1/0)表示。这样的硬件实现方式将卷积神经网络各层的中间值均转变为二进制,因此消除了模数/数模转换器,可以有效解决外围电路带来的硬件开销,并简化存算一体化结构的硬件实现。附图说明图1为本专利技术实施例的基于FLASH存算阵列的脉冲型卷积神经网络的结构示意图;图2(a)为基于FLASH存算阵列的全连接层;图2(b)为基于FLASH存算阵列的卷积层和池化层;图3为神经元模块的结构示意图;图4为计数器模块的结构示意图。具体实施方式本专利技术以脉冲个数代表具体数值信息,即将卷积神经网络中各层的输入输出均用二进制(1/0)表示。这样的硬件实现方式将卷积神经网络各层的中间值均转变为二进制,因此消除了模数/数模转换器,可以有效解决外围电路带来的硬件开销,并简化存算一体化结构的硬件实现。下面将结合实施例和实施例中的附图,对本公开实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。本公开第一实施例提供了一种基于FLASH存算阵列的脉冲型卷积神经网络。卷积神经网络包括:输入层、多个隐藏层以及输出层。多个隐藏层包括:多层卷积层、多层池化层、一层或多层全连接层。卷积层和池化层对输入数据进行特征提取与特征压缩,全连接层对卷积层和池化层提取得到的特征图像进行处理,输出得到分类或识别结果。本公开第一实施例提供了一种基于FLASH存算阵列的脉冲型卷积神经网络,如图1所示,脉冲型卷积神经网络包括:采样模块、多层的基于FLASH的存算阵列以及对应的神经元模块、以及计数器模块。采样模块对输入图像进行采样,利用泊松采样或高斯采样对输入图像进行采样,得到二进制的输入脉冲。每一层基于FLASH的存算阵列以及对应的神经元模块,均对应卷积神经网络的一层,即基于FLASH的存算阵列以及对应的神经元模块可以是输入层、卷积层、池化层、全连接层和输出层。每一层的基于FLASH的存算阵列接收上一层神经元模块的输出脉冲,该层的神经元模块的输出脉冲作为下一层基于FLASH的存算阵列的输入。基于FLASH的存算阵列对输入脉冲与存算阵列中存储的权重矩阵进行向量矩阵乘法运算,从而在硬件层面实现卷积、池化和全连接等运算,运算结果以电流形式输出。神经元模块对本层的FLASH存算阵列的运算结果(电流)进行积分,当积分得到的电压超过预先设置的阈值,将触发脉冲产生电路生成脉冲,神经元模块输出一个脉冲,然后该神经元模块的积分电压被复位至初始状态。当积分得到的电压未超过该预先设置的阈值,脉冲产生电路不会被触发,神经元模块不输出脉冲。神经元模块通过上述方式产生脉冲序列(1/0)作为输出脉冲,并作为下一层基于FLASH的存算阵列的输入脉冲。输出层的每一个节点包括一个计数器模块,即作为输出层的每一个神经元模块均连接一个计数器模块。计数器模块统计在整个识别过程中每个输出层的神经元模块产生的脉冲数并记录。由于单次采样无法保证对输入图像采样的完整性,故利用本实施例的基于FLASH存算阵列的脉冲型卷积神经网络进行多次识别,即采样-计算-积分这一过程会在整个识别过程内多次进行。而在识别过程结束时,输出层的计数器模块会比较每个输出层的神经元模块产生的脉冲数,具有最大脉冲数的神经元模块的输出的本文档来自技高网...

【技术保护点】
1.一种基于FLASH存算阵列的脉冲型卷积神经网络,其特征在于,包括:采样模块、基于FLASH的存算阵列及其对应的神经元模块、以及计数器模块;/n所述采样模块用于对输入图像进行采样,得到输入脉冲;/n所述基于FLASH的存算阵列存储有权重矩阵,其对输入脉冲与权重矩阵进行向量矩阵乘法运算,运算结果以电流形式输出;/n所述神经元模块对基于FLASH的存算阵列的运算结果进行积分,生成输出脉冲;/n所述计数器模块统计输出层的神经元模块产生的脉冲数量,将具有最大脉冲数量的神经元模块的脉冲数量作为识别结果。/n

【技术特征摘要】
1.一种基于FLASH存算阵列的脉冲型卷积神经网络,其特征在于,包括:采样模块、基于FLASH的存算阵列及其对应的神经元模块、以及计数器模块;
所述采样模块用于对输入图像进行采样,得到输入脉冲;
所述基于FLASH的存算阵列存储有权重矩阵,其对输入脉冲与权重矩阵进行向量矩阵乘法运算,运算结果以电流形式输出;
所述神经元模块对基于FLASH的存算阵列的运算结果进行积分,生成输出脉冲;
所述计数器模块统计输出层的神经元模块产生的脉冲数量,将具有最大脉冲数量的神经元模块的脉冲数量作为识别结果。


2.如权利要求1所述的脉冲型卷积神经网络,其特征在于,所述采样模块利用泊松采样或高斯采样对输入图像进行采样,得到输入脉冲。


3.如权利要求1所述的脉冲型卷积神经网络,其特征在于,所述脉冲型卷积神经网络的每一层均包括:所述基于FLASH的存算阵列,所述基于FLASH的存算阵列包括:多个FLASH单元、多条字线、多条源线、多条位线、多个减法器;
多个FLASH单元组成的存算阵列,每一列FLASH单元的栅极连接相同的字线,源极连接相同的源线,每一行FLASH单元的漏极连接相同的位线;每个减法器的正极端和负极端分别连接相邻两条位线。


4.如权利要求3所述的脉冲型卷积神经网络,其特征在于,
所述字线的数量对应于所述存算阵列的列数,输入脉冲通...

【专利技术属性】
技术研发人员:黄鹏项亚臣康晋锋刘晓彦韩润泽
申请(专利权)人:北京大学
类型:发明
国别省市:北京;11

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

1