[发明专利]基于FPGA的神经网络加速器有效
申请号: | 201910170542.6 | 申请日: | 2019-03-07 |
公开(公告)号: | CN109948788B | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 汪玉;李文硕;葛广君;郭开元 | 申请(专利权)人: | 清华大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张润 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 神经网络 加速器 | ||
1.一种基于FPGA的神经网络加速器,其特征在于,包括:
计算单元阵列,用于根据预设的并行度,对输入序列进行运算处理,得到输出序列;
自检模块,用于获取所述计算单元阵列的工作模式,当所述工作模式为空转周期时,对所述计算单元阵列进行自检校验,以及当所述工作模式为工作周期时,对所述输出序列进行纠错处理;
其中,所述自检模块,包括:校验序列生成器、序列对比器、故障图案存储器;当所述工作模式为空转周期时,所述校验序列生成器,用于生成预定义序列和期望结果序列;所述序列对比器,用于获取所述计算单元阵列根据所述预定义序列进行运算得到的计算结果序列,并根据所述计算结果序列和所述期望结果序列之间的差异信息,生成所述计算单元阵列的故障图案,并将所述故障图案发送至所述故障图案存储器;所述故障图案存储器,用于对所述故障图案进行存储;
其中,当所述工作模式为工作周期时,所述自检模块,具体用于:根据所述计算单元阵列的故障图案,对所述输出序列中与所述故障图案位置匹配的数值,进行纠错处理。
2.如权利要求1所述的神经网络加速器,其特征在于,所述工作模式为空转周期,
所述计算单元阵列,具体用于:获取所述校验序列生成器生成的预定义序列,并根据所述预定义序列进行运算,得到所述计算结果序列。
3.如权利要求1所述的神经网络加速器,其特征在于,所述运算为乘累加运算。
4.如权利要求1所述的神经网络加速器,其特征在于,所述预定义序列为全零序列,所述期望结果序列为全零序列,所述序列对比器,具体用于:
判断所述计算结果序列中的各元素的取值是否为零;
若存在至少一个元素的取值不为零,则根据所述至少一个元素的位置信息,生成所述故障图案。
5.如权利要求1所述的神经网络加速器,其特征在于,所述纠错处理包括但不限于置零、取反、放缩。
6.如权利要求1所述的神经网络加速器,其特征在于,所述计算单元阵列包括多个计算单元模块,所述自检模块,具体用于:
根据所述输出序列以及所述计算单元阵列的故障图案,确定存在故障的计算单元模块;
将所述存在故障的计算单元模块对应的计算结果置零。
7.如权利要求1-6任一所述的神经网络加速器,其特征在于,所述神经网络包括但不限于ResNet、VGG、GoogleNet。
8.如权利要求7所述的神经网络加速器,其特征在于,所述神经网络的卷积层采用的激活函数为线性整流函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910170542.6/1.html,转载请声明来源钻瓜专利网。