面向FeFET存储阵列的数字识别方法及硬件加速器与流程
未命名
10-16
阅读:186
评论:0
面向fefet存储阵列的数字识别方法及硬件加速器
技术领域
1.本发明涉及数字识别技术领域,特别涉及一种面向fefet存储阵列的手写字识别方法及硬件加速器。
背景技术:
2.目前商用的电荷型铁电存储器虽然可以实现非易失性存储,但是由于其基于电荷的破坏性的读取方式,读取之后需要重新写入,极大地限制了其后续的发展和应用。于是,人们将研究的重点方向转变为在具有非易失且非破坏性读取的铁电场效应晶体管(fefet),并在这一领域开展了大量的研究,然而仍然存在许多亟待解决的问题,同时fefet的应用场景仍不明确。
3.二值神经网络bnn(binary neural network)是一种仅使用+1和-1两个值来表示权重和激励的神经网络,相比于全精度的神经网络,它可以用同或这样极简单的组合代替浮点的乘累加来实现卷积操作,从而节省了大量的内存和计算,大大方便了模型在资源受限设备上的部署。但同时,由于二值所能表达的信息量有限,所以bnn在模型精度方面一直都是远低于全精度模型,虽然最近的研究如meliusnet,irnet和reactnet已经努力地将bnns在imagenet数据集上的top-1拉到了0.70以上,与相应的全精度模型差距拉到3个点左右,但他们同时也增加了不少计算量,并且暂时还难以有效地推广到目标检测,语义分割等复杂任务上。虽然bnn网络无法处理复杂的任务,但是对于数字分辨的还是具有较好的效果。
4.因此,如何提升bnn的精度及如何有效地部署在低功耗且资源受限的平台上是亟待解决的技术问题。
技术实现要素:
5.针对现有技术不足,本发明提供了一种面向fefet存储阵列的手写字识别方法及硬件加速器。
6.第一方面,本发明实施例提供了一种面向fefet存储阵列的硬件加速器,包括:
7.状态机,用于发送使能指令以控制数据预处理单元和二值神经网络计算模块;
8.数据预处理单元,用于获取输入数据,并将输入数据转换为二值数据,记为第一信号;
9.二值神经网络计算模块,包括依次连接的第一全连接层模块、激活函数模块、第二全连接层模块;其中,第一全连接层模块,基于第一信号根据第一全连接层对应神经网络权重与偏置计算第一全连接层模块中每个神经元的输出信号;激活函数模块,用于对第一全连接层模块中每个神经元的输出信号经归一化以及激励函数处理后,得到第二信号;第二全连接层模块,基于第二信号根据第二全连接层神经网络对应的权重计算第二全连接层模块中每个神经元的输出信号;
10.fefet存储器,用于存储第一全连接层和第二全连接层对应的神经网络权重;
11.数据输出单元,用于比较第二全连接层模块中每个神经元的输出信号,将最大输出值对应的神经元序号作为识别结果。
12.进一步地,数据预处理单元包括按流水线结构布置的两个选择器。
13.进一步地,二值神经网络计算模块包括:
14.计算第一全连接层模块中每个神经元的输出信号;其中,第一全连接层模块中单个神经元的输出信号的计算过程包括:获取第一信号,并将第一信号进行缓存;从fefet存储器中获取第一全连接层对应的神经网络权重;通过累加器计算第一信号与第一全连接层对应的神经网络权重所有乘积之和,再叠加第一偏置量,得到单个神经元的输出信号;
15.对第一全连接层模块中每个神经元的输出信号经激励函数处理;
16.计算第二全连接层模块中每个神经元的输出信号;其中,第二全连接层模块中单个神经元的输出信号的计算过程包括:获取第二信号,并将第二信号进行缓存;从fefet存储器中获取第二全连接层对应的神经网络权重;通过累加器计算第二信号与第二全连接层对应的神经网络权重所有乘积之和,得到单个神经元的输出信号。
17.进一步地,所述数据输出单元基于softmax函数实现。
18.进一步地,所述硬件加速器还包括:
19.第一fifo数据缓存器,用于缓存第一信号;
20.第二fifo数据缓存器,用于缓存第二信号。
21.第二方面,本发明实施例提供了一种面向fefet存储阵列的数字识别方法,基于上述的面向fefet存储阵列的硬件加速器实现,所述方法包括:
22.获取手写字图像;
23.将手写字图像进行预处理转换成二值数据,记为第一信号;
24.将第一信号输入至硬件加速器中的第一全连接层模块,计算第一全连接层模块中每个神经元的输出信号;
25.将第一全连接层模块中每个神经元的输出信号经归一化以及激励函数处理后,得到第二信号;
26.将第二信号输入至硬件加速器中的第二全连接层模块,计算第二全连接层模块中每个神经元的输出信号;
27.比较第二全连接层模块中每个神经元的输出信号,将最大输出值对应的神经元序号作为数字识别结果。
28.进一步地,将手写字图像进行预处理转换成二值数据,记为第一信号,包括:
29.do=《《 (di/255)
×
128》/128》
30.式中,di表示输入的手写字图像,do表示输出的第一信号,《》表示四舍五入。
31.进一步地,计算第一全连接层模块中每个神经元的输出信号的过程包括:计算单个神经元的输出信号,包括:第一信号依次与神经元内的权重相乘,经累加运算后加上偏置量,得到单个神经元的输出信号;
32.计算第一全连接层模块中每个神经元的输出信号的过程包括:计算单个神经元的输出信号,包括:第二信号依次与神经元内的权重相乘,经累加运算后,得到单个神经元的输出信号。
33.第三方面,本发明实施例提供了一种电路,包括电路板主体和上述的面向fefet存
储阵列的硬件加速器,其中,所述硬件加速器设置于所述电路板主体上。
34.第四方面,本发明实施例提供了一种设备,包括外壳和上述的电路,其中,所述电路设置于所述外壳上。
35.与现有技术相比,本发明具有以下有益的技术效果:
36.本发明提供的面向fefet存储阵列的硬件加速器通过硬件去实现数据处理,发挥了硬件的并行性,可以安装到计算机设备中。本发明首先将外部输入的数据进行预处理,转换成二值神经网络的输入,并通过数据的缓存;将缓存的数据进行乘累加、量化,最后通过比对数据得出最终的结果。本发明提高了算法的并行性,在使用尽可能少的器件以及低功耗的前提下,还原了原始算法的功能,缩短了该部分的计算时间;利用硬件数据为二进制的特点,通过截取位数替代了原始算法的预处理过程,降低了计算量,节省了一定的硬件资源;本发明优化了整体算法结构,加速了二值神经网络的运行速度,以更短的时间获取正确结果。
附图说明
37.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明实施例提供的面向fefet存储阵列的硬件加速器的结构示意图;
39.图2为本发明实施例提供的数据预处理单元的结构示意图;
40.图3为本发明实施例提供的二值神经网络的示意图;
41.图4为本发明实施例提供的二值神经网络计算模块二值神经网络计算模块
42.图5为本发明实施例提供的面向fefet存储阵列的数字识别方法的流程图。
具体实施方式
43.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
44.在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
45.应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
46.下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而
不是限定。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
47.如图1所示,本发明实施例提供了一种面向fefet存储阵列的硬件加速器,包括:
48.状态机,用于发送使能指令以控制数据预处理单元和二值神经网络计算模块。
49.数据预处理单元,用于获取输入数据,并将输入数据转换为二值数据,记为第一信号。
50.进一步地,数据预处理单元(data pre-processing)的工作过程具体包括:当指示信号拉高时,数据预处理模块开始接收有效的图像数据(数据范围为0-255),之后先将输入的数据缩小256倍,再将缩小的后的数据乘以128,并对得到的数据进行四舍五入,最后再除以128,然后对其再进行一次四舍五入,从而获取最终输出的二值数据,记为第一信号。
51.由于数字电路所有数据均是由二进制数表示的特性,数据除或乘以2的指数倍数等同于向右或向左移位,所以除以256等同于向右移8位,乘以128等同于向左移7位;而四舍五入则可以根据小数点后一位是1还是0来判断,若小数点后一位为1则进位,若为0则不进。因此原本的预处理运算等同于,判断数据最低位的数值,若为1则加一,若为0则不进行操作,然后将最高位作为最终结果输出,从而将上述预处理过程进行简化。
52.需要说明的是,如图2所示,所述数据预处理单元采用了流水线(pipeline architecture)的结构,按流水线结构布置的两个选择器有效的缩短了该模块的处理时间;并且利用硬件数据均为二进制的特定,简化了计算方式,节省了硬件资源的消耗。
53.二值神经网络计算模块,包括依次连接的第一全连接层模块、激活函数模块、第二全连接层模块。
54.其中,第一全连接层模块,基于第一信号根据第一全连接层对应神经网络权重与偏置计算第一全连接层模块中每个神经元的输出信号。
55.激活函数模块,用于对第一全连接层模块中每个神经元的输出信号经归一化以及激励函数处理后,得到第二信号。
56.第二全连接层模块,基于第二信号根据第二全连接层神经网络对应的权重与偏置计算第二全连接层模块中每个神经元的输出信号。
57.进一步地,如图3和图4所示,二值神经网络计算模块包括:
58.计算第一全连接层模块中每个神经元的输出信号;其中,第一全连接层模块中单个神经元的输出信号的计算过程包括:
59.获取第一信号,并将第一信号进行缓存;从fefet存储器中获取第一全连接层对应的神经网络权重;通过累加器计算第一信号与第一全连接层对应的神经网络权重所有乘积之和,再叠加第一偏置量,得到单个神经元的输出信号。
60.对第一全连接层模块中每个神经元的输出信号经激励函数处理。
61.计算第二全连接层模块中每个神经元的输出信号;其中,第二全连接层模块中单个神经元的输出信号的计算过程包括:
62.获取第二信号,并将第二信号进行缓存;从fefet存储器中获取第二全连接层对应的神经网络权重;通过累加器计算第二信号与第二全连接层对应的神经网络权重所有乘积之和,再叠加第二偏置量,得到单个神经元的输出信号。
63.fefet存储器,用于存储第一全连接层和第二全连接层对应的神经网络权重。
64.数据输出单元,用于比较第二全连接层模块中每个神经元的输出信号,将最大输
出值对应的神经元序号作为识别结果。进一步地,所述数据输出单元基于softmax函数实现。
65.进一步地,所述硬件加速器还包括:
66.第一fifo数据缓存器,用于缓存第一信号。
67.第二fifo数据缓存器,用于缓存第二信号。
68.如图5所示,本发明提出了面向fefet存储阵列的手写字识别方法,基于上述的面向fefet存储阵列的硬件加速器实现,所述方法具体包括以下子步骤:
69.步骤s1:获取手写字图像;对手写字图像数据进行归一化处理,将原本处于[0,255]区间内的数据,量化为{0,1},记为第一信号。
[0070]
进一步地,步骤s1的具体归一化量化方式如公式(1)所示:
[0071]do
=《《 (di/255)
×
128》/128》(1)
[0072]
式中,di表示输入的手写字图像,do表示输出的第一信号,《》表示四舍五入。
[0073]
步骤s2:将第一信号输入硬件加速器的第一全连接模块,依次与神经元内的权重相乘,在经过多次累加运算并加上偏置后获得单个神经元的输出,重复上述步骤生成所有神经元的输出。
[0074]
进一步地,步骤s2中计算单个神经元的输出的运算过程如公式(2)所示:
[0075]
(2)
[0076]
式中:xj为第一信号;w
ij
为权重;bi为偏置系数;yi为单个神经元的输出;i为神经元序号,其取值范围与预设的神经元数量有关;j为单个神经元内的权重序号,其取值范围与输入图片尺寸有关。
[0077]
步骤s3:将第一全连接层模块中每个神经元的输出信号进行归一化以及激励函数tanh处理后,得到第二信号,将其作为加速器的第二层全连接层的输入。
[0078]
进一步地,步骤s3的归一化及激励函数可归纳为式(3)所示:
[0079]
(3)
[0080]
式中:do为第二信号;di为第i个神经元的输出。
[0081]
步骤s4:将第二信号输入至硬件加速器中的第二全连接层模块,计算第二全连接层模块中每个神经元的输出信号。
[0082]
其中,计算单个神经元的输出信号,包括:第二信号依次与神经元内的权重相乘,经累加运算后,得到单个神经元的输出信号。
[0083]
进一步地,步骤s4中,单个神经元输出的计算过程与式(2)类似,不同的是最后不需要在加上偏置,表达式如下:
[0084]
(4)
[0085]
式中:xj为第二信号;w
ij
为权重;yi为神经元输出;i为神经元序号,其取值范围与设定的神经元数量有关;j为单个神经元内的权重序号,其取值范围与第一层神经元数量有关。
[0086]
步骤s5,比较第二全连接层模块中每个神经元的输出信号,将最大输出值对应的神经元序号作为数字识别结果。
[0087]
具体地,通过如式(5)所示的softmax函数获取数字识别结果,表达式如下:
[0088]
(5)
[0089]
式中,e为自然常数;hi为神经元的输出结果;si为softmax函数的输出;n为神经元总数。
[0090]
综上,本发明方法将fefet存储器件应用于手写字识别领域,提升了bnn的精度,将bnn的精度有效地部署在低功耗且资源受限的平台上。
[0091]
实施例1
[0092]
本发明公开了一种面向fefet存储阵列的硬件加速器,所述硬件加速器包括:
[0093]
状态机,用于发送使能指令以控制数据预处理单元和二值神经网络计算模块。
[0094]
数据预处理单元,用于获取外部输入的图片数据,并对外部输入的图片数据进行预处理,转换成二值神经网络所需的二值数据。
[0095]
二值神经网络计算模块,对输入的二值数据进行缓存,并通过构建二值神经网络的硬件电路,复现其全连接层及relu激活函数的功能,最终通过数据输出单元(softmax层)输出最终识别结果。
[0096]
fefet存储器,用于存储第一全连接层和第二全连接层对应的神经网络权重;
[0097]
数据输出单元,用于比较第二全连接层模块中每个神经元的输出信号,将最大输出值对应的神经元序号作为识别结果。
[0098]
数据预处理单元(data pre-processing)具体包括:当指示信号拉高时,数据预处理模块开始接收有效的图像数据(数据范围为0-255),之后先将输入的数据缩小256倍,再将缩小的后的数据乘以128,并对得到的数据进行四舍五入,最后再除以128,然后对其再进行一次四舍五入,从而获取最终输出的二值数据。
[0099]
由于数字电路所有数据均是由二进制数表示的特性,数据除或乘以2的指数倍数等同于向右或向左移位,所以除以256等同于向右移8位,乘以128等同于向左移7位;而四舍五入则可以根据小数点后一位是1还是0来判断,若小数点后一位为1则进位,若为0则不进。因此原本的预处理运算等同于,判断数据最低位的数值,若为1则加一,若为0则不进行操作,然后将最高位作为最终结果输出,从而将上述预处理过程进行简化。
[0100]
示例性地,以输入数据为8bit(0-255),输入图像尺寸为28
×
28为例。其输入和输出信号说明如下:
[0101]
data_valid为数据有效指示信号,当其拉高是表示开始输入有效数据。
[0102]
data_in为需要进行预处理的输入图像数据。
[0103]
data_add为累加后的中间数据。
[0104]
p_data为处理完成的数据。
[0105]
p_out_valid为数据预处理完成信号。
[0106]
数据预处理单元(data pre-processing)的数据预处理的过程如下:
[0107]
数据有效指示信号data_valid为高电平时,数据预处理单元开始工作,每个时钟周期输入一个图像数据。判断输入图像数据data_in的最低位data_in[0]是否为1,若为1,
则将输入图像数据data_in加1;若为0,则不做任何处理;
[0108]
判断累加后的中间数据data_add最高位data_add[7]是否为1,若为1,则输出结果p_data 为1;若为0则输出结果p_data 为0,并将p_out_valid拉高。
[0109]
所述数据预处理单元采用了流水线(pipeline architecture)的结构,有效的缩短了该模块的处理时间;并且利用硬件数据均为二进制的特定,简化了计算方式,节省了硬件资源的消耗。
[0110]
二值神经网络计算模块的工作过程包括:将数据预处理单元输出的二值数据作为二值神经网络计算模块的输入,并依次与第一层全连接层中各神经元对应的权重相乘,将结果累加。当所有数据累加完成后,将其作为一个神经元的输出。该输出加上偏置并经过激活函数的量化后,寄存于存储器中。当所有的神经元输出都生成完毕,再从寄存器中依次将其读出,传输给第二层全连接层,重复第一层的累加过程,获得第二层的输出,并将结果输入到softmax层,再通过比较数值的大小,获得最终的识别结果。
[0111]
在测试过程中发现,采用查找表的方式来实现softmax函数虽然能够满足精度要求,但是所需的存储空间较大,而softmax函数的本质是将数据映射到(0,1)的区间内从而将其转变为概率,并且原始数据越大其概率越高。因此本发明还可以将softmax函数略去,通过直接比较第二层神经元的数据结果,找出最大的输出值,将其对应的神经元序号作为识别结果输出,从而简化了计算流程,精简了硬件资源,降低了实际运行的功耗。
[0112]
示例性地,设第一层全连接的神经元的数量为300,每个神经元包含的权重个数为784;第二层全连接层的神经元数量为10,每个神经元包含的权重个数为300。二值神经网络计算模块输入输出及关键信号说明如下所示:
[0113]
bnn_valid:由状态机生成的神经网络计算模块控制信号。
[0114]
weight1:第一层全连接层权重。
[0115]
fc1_data_in:第一层全连接层输入数据。
[0116]
fc1_data_in_valid:第一层全连接层输入数据有效信号。
[0117]
weight2:第二层全连接层权重。
[0118]
final_out:神经网络计算模块最终输出,即识别结果。
[0119]
final_out_valid:最终输出结果有效信号。
[0120]
所述二值神经网络的计算过程如下所示:
[0121]
当bnn_valid拉高时,二值神经网络计算模块开始工作。首先接收来自数据预处理单元的输出数据fc1_data_in将其缓存于第一fifo数据缓存器中,并从fefet器件中读取出预先存储的第一层神经网络权重,两者相乘后输入累加器中。当一个神经元的权重依次与输入相乘并累加后,生成神经元输出data_acc,该值与对应的第一偏置bias1相加,并通过激活函数relu后生成第二层神经网络的输入fc2_data_in,在本发明中第一层全连接层的神经元个数为300。
[0122]
fc2_data_in作为第二层全连接层的输入,其处理流程fc1_data_in类似,也需要先缓存,缓存于第二fifo数据缓存器中,然后与权重相乘并累加,不同的是处理之后的数据不需要通过激活函数的量化,本发明中第二层全连接层神经元的个数为10。
[0123]
将第二层全连接层的输出,传输给softmax函数。由于第二层全连接层神经元的个数为10,所以共需处理10个数据,通过依次比较这10个数的大小,找出其中的最大值,记录
其是由第几个神经元输出的,并序号作为最终识别结果final_out输出,拉高final_out_valid信号,表示计算结束。
[0124]
本发明实施例还提供了一种电路,包括电路板主体和上述的面向fefet存储阵列的硬件加速器,其中,所述硬件加速器设置于所述电路板主体上。
[0125]
本发明实施例还提供了一种设备,包括外壳和上述的电路,其中,所述电路设置于所述外壳上。
[0126]
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的。
[0127]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
技术特征:
1.一种面向fefet存储阵列的硬件加速器,其特征在于,包括:状态机,用于发送使能指令以控制数据预处理单元和二值神经网络计算模块;数据预处理单元,用于获取输入数据,并将输入数据转换为二值数据,记为第一信号;二值神经网络计算模块,包括依次连接的第一全连接层模块、激活函数模块、第二全连接层模块;其中,第一全连接层模块,基于第一信号根据第一全连接层对应神经网络权重与偏置计算第一全连接层模块中每个神经元的输出信号;激活函数模块,用于对第一全连接层模块中每个神经元的输出信号经归一化以及激励函数处理后,得到第二信号;第二全连接层模块,基于第二信号根据第二全连接层神经网络对应的权重计算第二全连接层模块中每个神经元的输出信号;fefet存储器,用于存储第一全连接层和第二全连接层对应的神经网络权重;数据输出单元,用于比较第二全连接层模块中每个神经元的输出信号,将最大输出值对应的神经元序号作为识别结果。2.根据权利要求1所述的一种面向fefet存储阵列的硬件加速器,其特征在于,数据预处理单元包括按流水线结构布置的两个选择器。3.根据权利要求1所述的一种面向fefet存储阵列的硬件加速器,其特征在于,二值神经网络计算模块包括:计算第一全连接层模块中每个神经元的输出信号;其中,第一全连接层模块中单个神经元的输出信号的计算过程包括:获取第一信号,并将第一信号进行缓存;从fefet存储器中获取第一全连接层对应的神经网络权重;通过累加器计算第一信号与第一全连接层对应的神经网络权重所有乘积之和,再叠加第一偏置量,得到单个神经元的输出信号;对第一全连接层模块中每个神经元的输出信号经激励函数处理;计算第二全连接层模块中每个神经元的输出信号;其中,第二全连接层模块中单个神经元的输出信号的计算过程包括:获取第二信号,并将第二信号进行缓存;从fefet存储器中获取第二全连接层对应的神经网络权重;通过累加器计算第二信号与第二全连接层对应的神经网络权重所有乘积之和,得到单个神经元的输出信号。4.根据权利要求1所述的一种面向fefet存储阵列的硬件加速器,其特征在于,所述数据输出单元基于softmax函数实现。5.根据权利要求1或3所述的一种面向fefet存储阵列的硬件加速器,其特征在于,所述硬件加速器还包括:第一fifo数据缓存器,用于缓存第一信号;第二fifo数据缓存器,用于缓存第二信号。6.一种面向fefet存储阵列的数字识别方法,其特征在于,基于权利要求1-5任一项所述的面向fefet存储阵列的硬件加速器实现,所述方法包括:获取手写字图像;将手写字图像进行预处理转换成二值数据,记为第一信号;将第一信号输入至硬件加速器中的第一全连接层模块,计算第一全连接层模块中每个神经元的输出信号;将第一全连接层模块中每个神经元的输出信号经归一化以及激励函数处理后,得到第二信号;
将第二信号输入至硬件加速器中的第二全连接层模块,计算第二全连接层模块中每个神经元的输出信号;比较第二全连接层模块中每个神经元的输出信号,将最大输出值对应的神经元序号作为数字识别结果。7.根据权利要求6所述的面向fefet存储阵列的数字识别方法,其特征在于,将手写字图像进行预处理转换成二值数据,记为第一信号,包括:d
o
=<< (d
i
/255)
×
128>/128>;式中,d
i
表示输入的手写字图像,d
o
表示输出的第一信号,<>表示四舍五入。8.根据权利要求6所述的面向fefet存储阵列的数字识别方法,其特征在于,计算第一全连接层模块中每个神经元的输出信号的过程包括:计算单个神经元的输出信号,包括:第一信号依次与神经元内的权重相乘,经累加运算后加上偏置量,得到单个神经元的输出信号;计算第一全连接层模块中每个神经元的输出信号的过程包括:计算单个神经元的输出信号,包括:第二信号依次与神经元内的权重相乘,经累加运算后,得到单个神经元的输出信号。9.一种电路,其特征在于,包括电路板主体和如权利要求1-5任一项所述的面向fefet存储阵列的硬件加速器,其中,所述硬件加速器设置于所述电路板主体上。10.一种设备,其特征在于,包括外壳和权利要求9所述的电路,其中,所述电路设置于所述外壳上。
技术总结
本发明公开了一种面向FeFET存储阵列的数字识别方法及硬件加速器,包括:状态机,用于控制数据预处理单元和二值神经网络计算模块;数据预处理单元,用于获取输入数据,并转换为二值数据,记为第一信号;二值神经网络计算模块,包括:第一全连接层模块,基于第一信号并根据权重、偏置计算每个神经元的输出信号;激活函数模块,用于对第一全连接层模块中每个神经元的输出信号经激励函数处理后,得到第二信号;第二全连接层模块,基于第二信号并根据权重、偏置计算每个神经元的输出信号;FeFET存储器,用于存储神经网络权重;数据输出单元,用于比较第二全连接层模块中每个神经元的输出信号,获取识别结果。获取识别结果。获取识别结果。
技术研发人员:任嵩楠 李宇航 闫力 胡塘 顾佳妮 玉虓 李相迪 韩根全
受保护的技术使用者:之江实验室
技术研发日:2023.09.04
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种便携式光伏充电器 下一篇:二次电池和用电装置的制作方法
