一种基于FPGA实现RNN神经网络的硬件加速器及方法
基本信息

| 申请号 | CN201611107809.X | 申请日 | - |
| 公开(公告)号 | CN107704916B | 公开(公告)日 | 2020-07-03 |
| 申请公布号 | CN107704916B | 申请公布日 | 2020-07-03 |
| 分类号 | G06N3/04;G06N3/063 | 分类 | - |
| 发明人 | 康君龙;韩松;单羿 | 申请(专利权)人 | 北京深鉴科技有限公司 |
| 代理机构 | 北京卓孚律师事务所 | 代理人 | 任宇 |
| 地址 | 美国加利福尼亚州圣何塞罗杰克大道2100号 | ||
| 法律状态 | - | ||
摘要

| 摘要 | 本发明提出一种实现循环神经网络(RNN)的方法,所述方法包括步骤:初始化步骤,完成数据的初始化,即,将计算Whxx所需的数据读入FPGA片上内存,包括输入向量x,和输入向量x对应权重矩阵Whx的所有信息;步骤1,计算单元开始计算Whxx,同时将计算Whhx所需的数据读入FPGA片上内存;步骤2,计算单元计算Whhht‑1,其中ht‑1是隐含层对上一个输入向量的激励值,同时将计算下一个Whxx所需的数据读入FPGA片上内存;迭代重复执行上述步骤1和步骤2。本发明另外提出一种用于实现RNN神经网络的装置,包括输入接收单元,用于接收多个输入向量或隐含层激励值向量;多个计算单元PE,每个计算单元包括稀疏矩阵读取单元,运算单元和运算缓存单元;数据组合单元,用于接收从各个计算单元中的缓存单元输出的矩阵运算的结果,并将其组合成一个完整的矩阵运算结果输出至加法器;控制单元,用于对所述多个计算单元进行全局控制。 |





