一种用于图像分类的多头注意力模型压缩方法技术

技术编号:36685852 阅读:9 留言:0更新日期:2023-02-27 19:48
本发明专利技术公开了一种用于图像分类的多头注意力模型压缩方法,属于图像分类模型压缩领域,具体包括如下步骤:建立原始多头注意力模型;进行张量化变换,得到张量化的高阶输入张量χ、高阶权重矩阵张量w和高阶输出张量y;对高阶权重矩阵张量w进行张量火车分解;替换原始多头注意力网络中的多头注意力模块;获取待分类图像的分类数据集,采用后向传播算法对替换后的多头注意力网络进行训练,得到训练完成的多头注意力压缩模型;实时获取当前待分类图像,基于训练完成的多头注意力压缩模型对图像进行实时分类。本发明专利技术保证了模型在低性能场景下的应用,达到了模型压缩的目的,同时在高压缩率的情况下实现了更高的分类准确率。缩率的情况下实现了更高的分类准确率。缩率的情况下实现了更高的分类准确率。

【技术实现步骤摘要】
一种用于图像分类的多头注意力模型压缩方法


[0001]本专利技术属于图像分类模型压缩领域,具体涉及一种用于图像分类的多头注意力模型压缩方法。

技术介绍

[0002]图像分类是计算机视觉的一个基础的研究方向,在人工智能领域占据重要的地位。图像分类具有理论和应用价值,如手机的人脸识别、监控系统的车牌识别等。现有的技术往往采用基于深度卷积网络的模型,尽管取得了很大的成就,但仍然存在瓶颈,如特征提取后的平等对待,可解释性弱等问题。人的视觉系统能够快速关注图像中重要的或者是任务相关的区域,这种视觉注意机制启发了注意力模型(Attention Model),通过模拟注意力权重和视觉信息建模,获得了较好地效果。
[0003]注意力模型中的注意力机制是模型发挥作用的关键,其核心思想在于通过权重获取的手段得到不同特征的重要性,将更重要的特征赋予更高的权重,利用任务结果的Loss反向指导权重更新,更好地完成任务。在诸多注意力模型中,多头注意力模型凭借多头自注意力结构具有直接建模多个子空间元素关系的能力,为注意力模型的成功做出了巨大的贡献,在深度学习的一些任务中取得突破性成果,例如BERT,GPT

2,MT

DNN等模型。然而,这些模型存在存储成本高的问题,例如:BERT(340M参数),GPT

2(1.5B参数),MegatronLM(8.3B参数)。训练这些模型需要多台GPU平台和大量电力,在现实一些没有高性能平台的场景下应用这些模型是非常困难的,例如移动终端、边缘设备等,促使我们去研究模型压缩。
[0004]当使用多头注意力模型进行图像分类时发现,神经网络模型的参数是存在冗余的,删除这些冗余参数可以起到减少模型规模的效果,达到节省存储空间的目的。在现有的网络模型压缩技术中,常见的有剪枝法、量化法、蒸馏法、拟合法,其中注意力模型存在的线性映射本质上就是大型矩阵,因此自然地想到使用矩阵分解的方法来处理。矩阵分解是将大规模矩阵分解成几个较小规模的矩阵,本质上属于拟合法。然而,矩阵分解的压缩能力较低,最多压缩几倍。因此,张量分解作为矩阵分解的高阶形式受到广泛关注,张量低秩拟合是利用张量分解技术,将大规模矩阵用一些小规模张量来表示,通过张量运算拟合原始矩阵达到压缩的目的,本质上属于拟合法。
[0005]然而现有的拟合法模型压缩存在以下问题:多头注意力模型必然要计算多头注意力,而权重矩阵受到输入维度因素影响,规模较大,传统矩阵分解模型难以有效压缩;Tucker分解由于高阶核心张量的存在,核心张量会随着秩的增长呈现出指数级增长;注意力模型经常作为模型的一部分出现,要求能够与模型其他部分一同训练,而压缩后的模型往往不能集成为整体。因此,现有的模型压缩技术存在压缩率低,压缩后的模型不能集成为整体的问题,这也就导致了在图像分类任务中,使用多头注意力的模型的参数存在巨大的冗余,不仅在训练时浪费大量的资源,而且在一些缺乏高性能平台的场景下无法实际应用。

技术实现思路

[0006]为了解决上述问题,本专利技术提出了一种用于图像分类的多头注意力模型压缩方法,利用低秩近似的思想,用多个较小规模的张量拟合注意力机制中的线性映射矩阵,同时提出了一种可以直接端到端训练的张量火车框架,更加匹配神经网络训练。
[0007]本专利技术的技术方案如下:
[0008]一种用于图像分类的多头注意力模型压缩方法,采用基于张量火车分解的多头注意力模型压缩方法进行图像分类,具体包括如下步骤:
[0009]步骤1、建立原始多头注意力模型;
[0010]步骤2、对网络模型中的输入向量x、权重矩阵W和输出向量y进行张量化变换,得到张量化的高阶输入张量χ、张量化的高阶权重矩阵张量W和张量化的高阶输出张量y;
[0011]步骤3、对高阶权重矩阵张量W进行张量火车分解;
[0012]步骤4、替换原始多头注意力网络中的多头注意力模块;
[0013]步骤5、获取待分类图像的分类数据集,采用后向传播算法直接对步骤4替换后的多头注意力网络进行训练,得到训练完成的多头注意力压缩模型;
[0014]步骤6、实时获取当前待分类图像,基于训练完成的多头注意力压缩模型对图像进行实时分类。
[0015]进一步地,步骤1中,多头注意力模型结构为:
[0016]由输入x和Linear线性映射得到的矩阵为K、Q、V,分别表示键Key、查询Query、值Value,使用注意力计算单元得到权重矩阵α和每个头的输出Head
i
,利用h个头合并,再利用Linear线性映射得到输出y,公式表示为:
[0017][0018]Head
i
=Attention(Q
i
,K
i
,V
i
)#(2)
[0019]y=MultiHead(Q,K,V)=Concat(head1,

,head
n
)W
o
#(3)
[0020]其中,α表示由Query和Key得到的权重矩阵,softmax(
·
)表示归一化函数,d表示缩放因子,W
q
表示查询Query的权重矩阵,W
k
表示键Key的权重矩阵,W
v
表示值Value的权重矩阵,x表示输入向量,Head
i
表示第i个头的输出,Attention(
·
)表示单个头的注意力模块函数,MultiHead(
·
)表示多头注意力函数,Concat(
·
)表示多头输出合并函数,head1表示第1个头的输出,W
o
表示多头注意力模块的权重矩阵。
[0021]进一步地,步骤2中,张量化变换的过程为:
[0022]设原始权重矩阵I表示输入层单元数量,J表示输出层单元数量,权重矩阵张量化为输入向量x张量化为高阶张量输出向量y张量化为高阶张量N表示张量火车因子数量;
[0023]在多头注意力层中,对与注意力计算相关的线性映射的权重矩阵W
q
,W
k
,W
v
以及输出权重矩阵W
o
均进行张量化,对线性映射的输入向量x和输出向量y进行张量化。
[0024]进一步地,步骤3的具体过程为:
[0025]步骤3.1、设定张量火车因子数量N;
[0026]步骤3.2、利用张量火车分解公式建立N个张量火车因子,具体定义如下,
[0027][0028]其中,因子为n=1,...,N+1,其中R1=R
N+1
=1,R
n
为设定的张量火车秩。
[0029]进一步地,步骤4的具体过程为:
[0030]利用步骤2中张量化的输入和步骤3中多个张量火车因子拟合的高阶权重张量替换注意力模块中的线性映射部分,替换后的结构定义本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于图像分类的多头注意力模型压缩方法,其特征在于,采用基于张量火车分解的多头注意力模型压缩方法进行图像分类,具体包括如下步骤:步骤1、建立原始多头注意力模型;步骤2、对网络模型中的输入向量x、权重矩阵W和输出向量y进行张量化变换,得到张量化的高阶输入张量张量化的高阶权重矩阵张量和张量化的高阶输出张量步骤3、对高阶权重矩阵张量进行张量火车分解;步骤4、替换原始多头注意力网络中的多头注意力模块;步骤5、获取待分类图像的分类数据集,采用后向传播算法对步骤4替换后的多头注意力网络进行训练,得到训练完成的多头注意力压缩模型;步骤6、实时获取当前待分类图像,基于训练完成的多头注意力压缩模型对图像进行实时分类。2.根据权利要求1所述用于图像分类的多头注意力模型压缩方法,其特征在于,所述步骤1中,多头注意力模型结构为:由输入x和Linear线性映射得到的矩阵为K、Q、V,分别表示键Key、查询Query、值Value,使用注意力计算单元得到权重矩阵α和每个头的输出Head
i
,利用h个头合并,再利用Linear线性映射得到输出y,公式表示为:Head
i
=Attention(Q
i
,K
i
,V
i
)#(2)y=MultiHead(Q,K,V)=Concat(head1,...,head
n
)W
o
#(3)其中,α表示由Query和Key得到的权重矩阵,softmax(
·
)表示归一化函数,d表示缩放因子,W
q
表示查询Query的权重矩阵,W
k
表示键Key的权重矩阵,W
v
表示值Value的权重矩阵,x表示输入向量,Head
i
表示第i个头的输出,Attention(
·
)表示单个头的注意力模块函数,MultiHead(
·
)表示多头注意力函数,Concat(
·
)表示多头输出合并函数,head1表示第1个头的输出,W
o
表示多头注意力模块的权重矩阵。3.根据权利要求1所述用于图像分类的多头注意力模型压缩方法,其特征在于,所述步...

【专利技术属性】
技术研发人员:赵建立李浩禚付统姚路通
申请(专利权)人:山东科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1