[发明专利]门控激活单元运算的并行执行在审
申请号: | 201780095698.1 | 申请日: | 2017-10-20 |
公开(公告)号: | CN111194451A | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 埃里克·康拉德·埃尔森 | 申请(专利权)人: | 渊慧科技有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06F9/50 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 周亚荣;邓聪惠 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 门控 激活 单元 运算 并行 执行 | ||
提供了用于交织门控激活单元的矩阵运算的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。该方法中的一个包括:接收神经网络的门控激活单元的多个权重矩阵,该门控激活单元具有两个或更多个层,每一个层定义包括以下的运算:(i)层的权重矩阵和拼接的输入向量之间的矩阵运算,以及(ii)使用该矩阵运算的结果的非线性激活运算。多个权重矩阵的行通过将对应行的组分配给相应线程块被交织,每一个线程块是用于由并行处理设备的多个独立处理单元中的一个独立处理单元执行的计算单元。
背景技术
本说明书涉及在并行处理硬件上实现神经网络的技术。
神经网络是使用一个或多个层的非线性计算单元来预测针对接收到的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一个层——即下一个隐藏层或输出层——的输入。网络的每一层根据相应的参数集的当前值从接收到的输入生成输出。
对于当前时间步,循环神经网络生成由针对一个或多个先前的时间步生成的其他输出所通知的输出。一些循环神经网络使用门控激活单元。这种循环神经网络可以被称为门控循环神经网络。
门控激活单元通过实现控制在先前的时间步中生成的信息有多少应记住且有多少应遗忘的功能来维持一种类型的记忆。普通的门控激活单元包括长短期记忆单元(LSTM单元)、门控循环单元(GRU)及其几种变体。
通常,门控激活单元至少使用先前的隐藏状态和当前输入来更新当前隐藏状态。更新隐藏状态通常涉及一种或多种线性变换和一种或多种非线性激活。每个线性变换可以使用权重矩阵和偏置向量。因此,训练门控循环神经网络涉及学习用于每个门控激活单元的权重矩阵和偏置向量。
图1示出了现有技术LSTM单元100。LSTM单元100既保持隐藏状态ht也保持细胞状态ct。LSTM单元100实现确定要遗忘多少先前的隐藏状态的遗忘门;确定要更新细胞状态的哪个值的输入门以及确定要输出哪个值的输出门。
LSTM单元100的运算可以由以下等式定义,其中先前的隐藏状态ht-1对应于ht-1103,先前的细胞状态ct-1对应于ct-1 105,并且当前输入xt对应于xt 107。在这种背景下,“*”指的是逐点乘法,“+”指的是逐点加法,“σ”是sigmoid激活函数。符号“Wx[ht-1,xt]”指的是矩阵Wx与和xt拼接(concatenate)的ht-1向量的矩阵乘法。一些文献将每个矩阵Wx分为两个矩阵W和U,在这种情况下,W与ht-1相乘,U与xt相乘。LSTM单元100的运算由以下等式定义:
ft=σ(Wf[ht-l,xt]+bf) (1)
it=σ(Wi[ht-1,xt]+bi) (2)
ot=σ(Wo[ht-l,xt]+bo) (3)
c_bart=tanh(Wc[ht-l,xt]+bc) (4)
ct=ft*ct-1+it*c_bart (5)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于渊慧科技有限公司,未经渊慧科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780095698.1/2.html,转载请声明来源钻瓜专利网。