[发明专利]基于FPGA的神经网络加速器有效
申请号: | 201910170542.6 | 申请日: | 2019-03-07 |
公开(公告)号: | CN109948788B | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 汪玉;李文硕;葛广君;郭开元 | 申请(专利权)人: | 清华大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张润 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 神经网络 加速器 | ||
本发明提出一种基于FPGA的神经网络加速器,其中,神经网络加速器包括:计算单元阵列,用于根据预设的并行度,对输入序列进行运算处理,得到输出序列;自检模块,用于获取计算单元阵列的工作模式,当工作模式为空转周期时,对计算单元阵列进行自检校验,以及当工作模式为工作周期时,对输出序列进行纠错处理。该方法能够以较低的硬件代价实现减轻甚至排除硬件故障对神经网络加速器的影响,提高硬件故障的容错能力。
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于FPGA的神经网络加速器。
背景技术
神经网络是一种人工智能机器学习技术,被广泛应用于语音处理、图像识别等领域中。然而,基于神经网络的算法往往存在存储资源消耗大、计算复杂度高的问题,因此,一般只能部署在大规模的图像处理单元GPU板卡服务器上,而难以在硬件资源、功耗等受限的边缘计算场景中进行应用,适用性不高。
为了实现深度学习算法在智能终端,例如手机、汽车、无人机、机器人等的部署,基于现场可编程门阵列FPGA器件设计的神经网络加速器成为一种理想的解决方案。并且,卫星、火箭和飞船等航天飞行器是一种特殊的边缘计算场景,相关应用包括遥感图像在轨处理、高速目标实时跟踪等,基于FPGA的神经网络加速器在航天领域有广阔应用前景。然而,在空间高能辐照环境中,电子器件将面临单粒子翻转效应等硬件故障的考验,设计具备硬件故障容错能力的神经网络加速器,将极大的拓展神经网络算法的应用范围,提升航天器的智能处理能力。
现有技术中,通过硬件冗余备份,例如三模冗余、双机备份等,对电路单元、功能模块甚至整个单机进行冗余备份,在输出端进行多数判决,进而排除硬件故障的影响。
这种方式下,需要占用额外的甚至成倍的电路硬件资源,代价较高。同时,由于并未考虑神经网络算法自身的容错能力,以及未对神经网络加速器的硬件构成进行敏感度区分,因此,将浪费一定的资源用来保护类似存储器等非关键模块,硬件故障加固的针对性不强,效率较低。
发明内容
本发明提出一种基于FPGA的神经网络加速器,以实现减轻甚至排除硬件故障对神经网络加速器的影响,提高硬件故障的容错能力。并且,在硬件代价方面,仅增加了复杂度较低的自检模块,硬件代价较低。
本发明第一方面实施例提出了一种基于FPGA的神经网络加速器,包括:
计算单元阵列,用于根据预设的并行度,对输入序列进行运算处理,得到输出序列;
自检模块,用于获取所述计算单元阵列的工作模式,当所述工作模式为空转周期时,对所述计算单元阵列进行自检校验,以及当所述工作模式为工作周期时,对所述输出序列进行纠错处理。
本发明实施例的基于FPGA的神经网络加速器,通过自检模块获取计算单元阵列的工作模式,当工作模式为空转周期时,对计算单元阵列进行自检校验,以及当工作模式为工作周期时,对计算单元阵列运算得到的输出序列进行纠错处理。由此,可以减轻甚至排除硬件故障对神经网络加速器的影响,提高硬件故障的容错能力。并且,在硬件代价方面,仅增加了复杂度较低的自检模块,硬件代价较低。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为现有的基于FPGA的神经网络加速器的结构示意图;
图2为随机注错实验结果示意图;
图3为本发明实施例一所提供的基于FPGA的神经网络加速器的结构示意图;
图4为本申请实施例二所提供的基于FPGA的神经网络加速器的结构示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910170542.6/2.html,转载请声明来源钻瓜专利网。