【技术实现步骤摘要】
深度学习处理中乘法和累加运算的非对称量化
本专利技术的实施例涉及神经网络计算(neuralnetworkcomputing),更具体地,涉及执行乘法和累加运算的硬件电路。
技术介绍
由于其在计算机视觉(computervision)、语言识别(speechrecognition)、自然语言处理(naturallanguageprocessing)、生物信息学(bioinformatics)等领域的优越性能,深度学习(deeplearning)已经获得了广泛认可。深度学习是使用包括多个隐藏层的人工神经网络(artificialneuralnetwork)的机器学习的分支。由神经网络执行的一个核心计算是卷积(convolution),其由一系列的乘法和累加(multiply-and-accumulate,MAC)运算组成。神经网络不仅是计算密集而且存储器访问量大。对于特征提取,可以在一组输入通道(例如,红、绿以及蓝)将输入图像与一组滤波器卷积,接着进行非线性计算(nonlinearcomputation)、下采样计算(down-samplingcomputation)以及类分数计算(classscorescomputation)。这些计算通常引发对处理器外部系统存储器的大量数据访问。一些传统的系统减少了用于表示数据值的位的数目以便以精确性为代价节省存储器频宽。为了在节省存储器频宽的同时提高精确度,一些其他的传统系统使用非对称量化用于减少大小的数据值,因为非对称的数据表示相比于对称数据表示,相同数目的位提供更高的精确度。这些非对称量化值在它们用于MAC运算的输入 ...
【技术保护点】
1.一种用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,包括:乘法和累加硬件单元,用于对第一数据序列以及第二数据序列执行所述乘法和累加运算来生成非对称乘法和累加输出,其中所述第一数据序列与所述第二数据序列两者是非对称量化的;累加器硬件单元,用于在所述乘法和累加硬件单元执行所述乘法和累加运算的同时,累加所述第一数据序列来生成累加输出;以及乘法与加法硬件单元,用于将所述累加输出与第二偏移相乘来生成乘积输出,其中所述第二偏移指示所述第二数据序列相对于0的不对称量,以及将所述乘积输出、所述非对称乘法和累加输出以及在运行前计算的预先计算值相加来生成最终输出。
【技术特征摘要】
2018.02.05 US 62/626,191;2019.01.17 US 16/250,8741.一种用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,包括:乘法和累加硬件单元,用于对第一数据序列以及第二数据序列执行所述乘法和累加运算来生成非对称乘法和累加输出,其中所述第一数据序列与所述第二数据序列两者是非对称量化的;累加器硬件单元,用于在所述乘法和累加硬件单元执行所述乘法和累加运算的同时,累加所述第一数据序列来生成累加输出;以及乘法与加法硬件单元,用于将所述累加输出与第二偏移相乘来生成乘积输出,其中所述第二偏移指示所述第二数据序列相对于0的不对称量,以及将所述乘积输出、所述非对称乘法和累加输出以及在运行前计算的预先计算值相加来生成最终输出。2.如权利要求1所述的用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,从第一偏移、所述第二偏移以及所述第二数据序列的累加中计算所述预先计算值,以及其中所述第一偏移指示包括所述第一数据序列的输入特征图相对于0的不对称量。3.如权利要求1所述的用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,所述预先计算值进一步包括偏置值,所述偏置值对于由所述神经网络使用的不同滤波器具有不同值或对于由所述神经网络使用的所有滤波器具有相同值。4.如权利要求1所述的用于在神经网络中对非对称量化数据执行乘法和累加运算的装置,其特征在于,所述第一数据序列是输入特征图的输入激活以及所述第二数据序列是由所述神经网络使用的一个或多个滤波器的权重。5.如权利要求4所述的用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,所述第二偏移指示由所述神经网络使用的一个或多个滤波器的权重相对于0的所述不对称量。6.如权利要求1所述的用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,所述乘法和累加硬件单元包括乘法和累加硬件元件来对输入特征图的输入激活以及滤波器的多个权重执行所述乘法和累加运算从而生成所述非对称乘法和累加输出,以及其中所述累加器硬件单元包括累加器,来在所述乘法和累加硬件单元执行所述乘法和累加运算的同时,累加所述输入激活从而生成所述累加输出。7.如权利要求1所述的用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,所述乘法和累加硬件单元包括多个乘法和累加硬件元件来对输入特征图的多个输入激活以及滤波器多个权重执行所述乘法和累加运算,以及其中所述累加器硬件单元包括多个累加器,来在所述乘法和累加硬件单元执行所述乘法和累加运算的同时,累加每一个所述输入激活。8.如权利要求7所述的用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,所述乘法和累加硬件单元包括P个乘法和累加硬件元件来并行执行所述乘法和累加运算,以及所述累加器硬件单元包括与所述乘法和累加运算同时操作的P个累加器,其中P是大于1的整数。9.如权利要求7所述的用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,所述乘法和累加硬件单元包括(P×K)个乘法和累加硬件元件来并行执行所述乘法和累加运算,以及所述累加器硬件单元包括与所述乘法和累加运算同时操作的P个累加器,以及其中P是大于1的整数,K是具有所述滤波器权重的滤波器的数量。10.如权利要求1所述的用于对神经网络中非对称量化数据执行乘法和累加运算的装置,其特征在于,所述乘法与加法硬件单元包括多个乘法与加法硬件元件来并行操作,其中所述乘法与加法硬件元件的数量取决于所述乘法和累加运算的吞吐量需求。11.如权利要求1所述的用于对神经网络中非对...
【专利技术属性】
技术研发人员:林建宏,丛培贵,陈启明,郑孟璿,洪圣哲,
申请(专利权)人:联发科技股份有限公司,
类型:发明
国别省市:中国台湾,71
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。