基于参数量化的深度卷积神经网络的加速与压缩方法_2

文档序号:9433180阅读:来源:国知局
某一节点的响应值,是输入第一特征图中对 应空间区域内的各个位置上所有节点的响应值构成的向量,与对应的卷积核中各个位置上 所有连接权重构成的向量的内积之和,由公式(1)可知:
[0040] 其中,G是输出的第一特征图,G (ct,wt,ht)为其中第Ct个第一特征图上空间位置为 (wt, ht)的节点,W为卷积核,胃e,,wk, hk为该卷积核中的第C/h卷积核,对应输出的第一特 征图G中的第Ct个第一特征图中空间位置为(wk,hk)的参数向量,F是输入的第一特征图,F、、,hs表示其中的空间位置为(ws,hs)的特征向量。
[0041] 这些内积可以拆分为多个子向量的内积之和,即将多个第一特征子向量分别与每 组对应的第一子码本中的多个第一码字进行内积运算得到多个第一运算结果,将所述多个 第一运算结果进行求和得到输出的第一特征图,具体由公式(2)可知:并将多个第一运算 结果存储在第一查找表中,第一查找表的大小SWsXHsXMXK。 CN 105184362 A 说明书 4/5 页
[_]其中,矿;1:%为第一参数子向量,^,Ai中的第m个子向量,为第一 特征子向量P1w 中的第m个子向量;Cw为第m个第一子码本,第一参数子向 量l^im) ^的量化索引值,;)为对第一参数子向量PF(m) 1进行量化时 句為美 ^ V WtA rr CnWk 所用的第一码字。
[0044] 进一步地,所述深度卷积神经网络为所述多个全连接层,所述根据所述多个子码 本和所述多个子码本分别对应的索引值获取所述深度卷积神经网络的输出的特征图包括, 重复执行以下处理,直至多个全连接层都被遍历:
[0045] 输入第二特征图;
[0046] 将所述第二特征图分割为M组,所述每组包括第二特征子向量;
[0047] 将所述第二特征子向量与所述每组对应的第二子码本中的多个第二码字进行内 积运算得到多个第二运算结果,并将所述多个第二运算结果存储在第二查找表中;
[0048] 将所述多个第二运算结果进行求和得到输出的第二特征图。
[0049] 这里,输入第二特征图,第二特征图可以是,但不限于,具体SCsXl的列向量。将 Cs所在维度均匀地分为M组,每段的维度为[C S/M](若维度不足,则在最后一段中补零),这 样就可以将全连接层中的第二特征图分为M组,每组包含1个第二特征子向量。
[0050] 在划分完的M组特征子向量中,分别计算每个特征子向量与对应子码本中所有码 字的内积,保存在一个查找表中。对于全连接层,该查找表的大小为MX K。
[0051 ] 对于全连接层,第二特征图中的某一节点的响应值是第二特征图中所有节点的响 应值构成的向量,与对应的连接权向量的内积,具体由公式(3)可知:
[0053] 其中,G为输出的第二特征图,G(Ct)为第(^个节点,W为连接权矩阵,胃^为该矩 阵中的第(^行(对应输出特征图中的第c t个节点),即第二参数子向量,F为第二特征图, 即特征向量。
[0054] 这个内积可以拆分为多个子向量的内积之和,即将所述第二特征子向量与所述每 组对应的第二子码本中的多个第二码字进行内积运算得到多个第二运算结果,并将所述多 个第二运算结果存储在第二查找表中;将所述多个第二运算结果进行求和得到输出的第二 特征图,具体由公式⑷可知:
[0056] 其中,为第二参数子向量中的第m个第二参数子向量,Fw为第二特 ? m 征子向量F中的第m个第二特征子向量,Cm为第m个第二子码本为第二参数子向量 ^的量化索引值,em(m)为对第二参数子向量进行量化时所用的第二码字。
[0057] 对于卷积层和全连接层,近似后的计算过程都可按照参数子向量的量化索引值, 直接从查找表中获得对应的内积值,而不需要重复计算内积,因此可以显著地降低运算开 销,提尚运彳丁速度。
[0058] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1. 一种基于参数量化的深度卷积神经网络的加速与压缩方法,其特征在于,所述方法 包括: 对深度卷积神经网络的参数进行量化得到多个子码本和所述多个子码本分别对应的 索引值; 根据所述多个子码本和所述多个子码本分别对应的索引值获取所述深度卷积神经网 络的输出的特征图。2. 根据权利要求1所述的方法,其特征在于,所述深度卷积神经网络为多个卷积层,所 述对深度卷积神经网络的参数进行量化得到多个子码本和所述多个子码本分别对应的索 引值包括,重复执行以下处理,直至所述多个卷积层都被遍历: 将所述卷积层的参数分割成M组,每组包括多个第一参数子向量,其中,M为正整数; 对所述每组的多个第一参数子向量分别进行K均值聚类得到所述每组对应的第一子 码本,所述第一子码本包括多个第一码字; 分别计算所述多个第一参数子向量与所述多个第一码字的欧氏距离; 获取所述欧氏距离最小的第一参数子向量和第一码字,并记录所述欧氏距离最小的第 一码字的索引值。3. 根据权利要求2所述的方法,其特征在于,所述深度卷积神经网络为多个全连接层, 所述对深度卷积神经网络的参数进行量化得到多个子码本和所述多个子码本分别对应的 索引值包括,重复执行以下处理,直至所述多个全连接层都被遍历: 将所述全连接层的参数分割成M组,每组包括多个第二参数子向量; 对所述多个第二参数子向量分别进行K均值聚类得到所述每组对应的第二子码本,所 述第二子码本包括多个第二码字; 分别计算所述多个第二参数子向量与所述多个第二码字的欧氏距离; 获取所述欧氏距离最小的第二参数子向量和第二码字,并记录所述欧氏距离最小的第 二码字的索引值。4. 根据权利要求3所述的方法,其特征在于,所述深度卷积神经网络为所述多个卷积 层,所述根据所述多个子码本和所述多个子码本分别对应的索引值获取所述深度卷积神经 网络的输出的特征图包括,重复执行以下处理,直至所述多个卷积层都被遍历: 输入第一特征图; 将所述第一特征图分割为M组,所述每组包括多个第一特征子向量; 将所述多个第一特征子向量分别与所述每组对应的第一子码本中的多个第一码字进 行内积运算得到多个第一运算结果,并将所述多个第一运算结果存储在第一查找表中; 将所述多个第一运算结果进行求和得到输出的第一特征图。5. 根据权利要求4所述的方法,其特征在于,所述深度卷积神经网络为所述多个全连 接层,所述根据所述多个子码本和所述多个子码本分别对应的索引值获取所述深度卷积神 经网络的输出的特征图包括,重复执行以下处理,直至所述多个全连接层都被遍历: 输入第二特征图; 将所述第二特征图分割为M组,所述每组包括第二特征子向量; 将所述第二特征子向量与所述每组对应的第二子码本中的多个第二码字进行内积运 算得到多个第二运算结果,并将所述多个第二运算结果存储在第二查找表中; 将所述多个第二运算结果进行求和得到输出的第二特征图。
【专利摘要】本发明提供的基于参数量化的深度卷积神经网络的加速与压缩方法,包括:对深度卷积神经网络的参数进行量化得到多个子码本和多个子码本分别对应的索引值;根据多个子码本和多个子码本分别对应的索引值获取所述深度卷积神经网络的输出的特征图。本发明可以实现深度卷积神经网络的加速与压缩。
【IPC分类】G06N3/02
【公开号】CN105184362
【申请号】CN201510518900
【发明人】程健, 吴家祥, 冷聪, 卢汉清
【申请人】中国科学院自动化研究所
【公开日】2015年12月23日
【申请日】2015年8月21日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1