[发明专利]一种基于FPGA实现稀疏化GRU神经网络的硬件加速器及方法有效
申请号: | 201611105597.1 | 申请日: | 2016-12-05 |
公开(公告)号: | CN107229967B | 公开(公告)日: | 2021-06-15 |
发明(设计)人: | 谢东亮;韩松;单羿 | 申请(专利权)人: | 赛灵思公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063 |
代理公司: | 北京卓孚律师事务所 11821 | 代理人: | 任宇 |
地址: | 美国加利福尼亚*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 实现 稀疏 gru 神经网络 硬件 加速器 方法 | ||
本发明提出一种用于实现稀疏化GRU神经网络的装置,包括:输入接收单元,用于接收多个输入向量,并将多个输入向量分配到多个计算单元;多个计算单元,从所述输入接受单元获取输入向量,读取神经网络权值矩阵数据,将其解码后与输入向量进行矩阵运算,并将矩阵运算结果输出至隐含层状态计算模块;隐含层状态计算模块,从所述计算单元PE获取矩阵运算结果,计算出隐含层状态;控制单元,用于进行全局控制。另一方面,本发明提出一种通过迭代实现稀疏GRU神经网络的方法。
本申请要求于2016年8月22日提交的美国专利申请No.15/242,622、于2016年8月22日提交的美国专利申请No.15/242,624、于2016年8月22日提交的美国专利申请15/242,625的优先权。其全部内容在此参考并入。
发明领域
本发明涉人工智能领域,特别地,本发明涉及一种基于FPGA实现稀疏化GRU神经网络的硬件加速器及方法。
背景技术
RNN简介
循环神经网络(RNN)是一类人工神经网络,其中单元之间的连接形成有向循环。这创建了网络的内部状态,其允许其展现动态的时间行为。RNN可以通过具有循环隐藏状态来处理可变长度序列,其中每个时刻的激活依赖于先前时刻的激活。
传统地,标准RNN以如下方式计算下一步骤的隐藏层:
ht=f(W(hh)ht-1+W(hx)xt)
其中f是平滑的有界函数,例如逻辑S形函数(logistic sigmoid function)或双曲正切函数。W(hh)是状态到状态的循环权重矩阵,W(hx)是输入到隐藏权重矩阵。
输入序列是x=(x1,...,xT)。我们可以将任意长度的序列的概率分解为:
p(x1,...,xT)=p(x1)p(x2|x1)p(x3|x1,x2)…p(xT|x1,...,xT-1)
然后,如图1所示,我们可以训练RNN来对该概率分布建立模型,给定隐藏状态ht,使其预测下一个符号xt+1的概率。其中ht是所有先前符号x1,x2,...xt的函数:
p(xt+1|x1,…,xt)=f(ht)
隐藏层激活通过从t=1到T和从n=2到N重复以下等式来计算:
其中W项表示权重矩阵(例如Wihn是将输入连接到第n个隐藏层的权重矩阵,Wh1h1是第一隐藏层的循环连接,等等),b项表示偏置向量(例如by是输出偏置向量),H是隐藏层函数。
给定隐藏序列,输出序列的计算如下:
其中Y是输出层函数。因此,完整网络定义了这样一个函数,由权重矩阵作为参数,从输入历史序列x(1:t)到输出向量yt。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于赛灵思公司,未经赛灵思公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611105597.1/2.html,转载请声明来源钻瓜专利网。