[发明专利]高效的稀疏并行的基于威诺格拉德的卷积方案在审
申请号: | 201710397834.4 | 申请日: | 2017-05-31 |
公开(公告)号: | CN107451652A | 公开(公告)日: | 2017-12-08 |
发明(设计)人: | J.布拉泽斯 | 申请(专利权)人: | 三星电子株式会社 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/06;G06N3/08 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 刘虹 |
地址: | 韩国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高效 稀疏 并行 基于 威诺格 拉德 卷积 方案 | ||
相关申请的交叉引用
本专利申请要求根据35U.S.C.119(e)条的于2016年5月31日提交的美国临时专利申请No.62/343,721和2017年5月11日提交的美国专利申请No.15/593,210的优先权权益,其公开内容通过引用全部并入本文。
技术领域
本文公开的主题总地涉及卷积神经网络(convolutional neural network,CNN),并且更具体地,涉及一种在基于Winograd(威诺格拉德)的卷积实现中有效地并行跳过0值权重的装置和方法。
背景技术
对于网络训练期间所做的推理和反向传播,卷积运算约占执行CNN所需的计算量的90%。基于Winograd的卷积方法显著地减少了CNN中执行卷积运算所需的乘法运算次数。根据滤波器内核的大小和由Winograd变换产生的输出阵列的大小,所述减少可能在乘法运算次数的2倍到4倍之间,并且在某些情况下可能会有更大的减少。然而,乘法运算的减少的代价是将输入数据(从输入特征图读取的)变换为Winograd域(其中需要一些加法操作)时的一些开销。此外,权重内核(weight kernel)必须变换为Winograd域,但这一般可以在线下完成。在对变换后的数据和变换后的权重内核矩阵进行逐元素(element-wise)的乘法运算后,需要进行最终的变换,但这可以在对来自所有卷积的输入特征图的结果求和之后完成。因此,最终变换运算可以被分摊(amortized),使得开销的数量占全部运算的非常小的一部分。
与标准卷积内核一样,Winograd变换的权重(Winograd-transformed weight)矩阵中的大百分比的权重可以被消减(即设置为0)。例如,可以将50%的权重设置为等于0,在这种情况下,消减后剩余的权重内核矩阵元素可以被重新训练以保持整个神经网络的精度。
目前,卷积层处理的最佳实现由图形处理单元(GPU)完成。然而,GPU可能难以有效地实现并行0值权重跳过(parallel 0-value weight skipping)。GPU也不包括Winograd变换的权重的消减,因此在该权重内核矩阵中可能会有相对小的稀疏性以利用跳过任何0值权重的优势。
发明内容
一个示例性实施例提供了一种方法,其可以包括:通过第一输入数据路径(IDP)单元将第一输入特征图变换到Winograd域,其中变换的第一输入特征图可以包括第一多个输入小片(patch),并且其中所述第一多个输入小片的每一个输入小片可以包括多个元素;通过所述第一IDP单元向请求组装单元(RAU)提供第一多个请求,所述第一多个请求的每一个针对具有相应元素的变换后的权重内核中的第一多个非0权重;以及由第一乘法累加阵列(MAA),通过将所述第一多个非0权重应用于每个输入矩阵的相应元素来为第一输出特征图并行产生多个输出矩阵。在一个实施例中,该方法还可以包括由第一IDP单元内的位置确定器确定第一变换权重内核内的至少一个非0值权重的位置;并且其中由所述第一IDP单元提供所述第一多个请求的步骤还可以包括由所述第一IDP单元提供所述第一多个请求到RAU,所述第一多个请求中的每一个请求针对具有相应元素的变换后的权重内核中的所述第一多个非0权重,并且跳过与第一变换后权重内核中的至少一个0值权重的位置相对应的请求。
一个示例性实施例提供了一种从输入特征图生成多个输出特征图的系统,其中该系统可以包括IDP、RAU和MAA。IDP可以将第一输入特征图变换到Winograd域,在该域中变换后的第一输入特征图可以包括第一多个输入矩阵,并且第一多个输入矩阵的每一个输入矩阵可以包括多个元素。其中第一IDP可以还产生第一多个请求,每个请求针对具有相应元素的变换后的权重内核的第一多个非0权重。RAU可以耦合到第一IDP以接收第一多个请求。MAA可以耦合到RAU,以基于将第一多个非0权重应用于每个输入矩阵的相应元素为第一输出特征图并行产生多个输出矩阵。在一个实施例中,该系统还可以包括位置确定器,以确定第一变换后的权重核内的至少一个0值权重的位置,其中第一IDP单元还可以提供第一多个请求到RAU,每个请求针对具有相应元素的变换后的权重内核中的第一多个非0权重,并且跳过与所述第一变换后的权重内核中的所述至少一个0值权重的位置相对应的请求。
附图说明
在下面的部分中,将参考附图中示出的示例性实施例来描述本文公开的主题的方面,其中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三星电子株式会社,未经三星电子株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710397834.4/2.html,转载请声明来源钻瓜专利网。