CN114647752A - 基于双向可切分深度自注意力网络的轻量化视觉问答方法 - Google Patents
基于双向可切分深度自注意力网络的轻量化视觉问答方法 Download PDFInfo
- Publication number
- CN114647752A CN114647752A CN202210369535.0A CN202210369535A CN114647752A CN 114647752 A CN114647752 A CN 114647752A CN 202210369535 A CN202210369535 A CN 202210369535A CN 114647752 A CN114647752 A CN 114647752A
- Authority
- CN
- China
- Prior art keywords
- attention
- self
- network
- model
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/535—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于双向可切分深度自注意力网络的轻量化视觉问答方法,提出了一种双向可切分深度自注意力网络,基于设计的宽度、深度均可切分的双向策略,并采用“深而窄”的过滤原则进一步挑选合理的子模型,配合提出的自蒸馏算法,使得网络中的各个子模型都具备视觉问答任务的应用能力。此双向可切分的深度自注意力模型可以根据当下的计算资源动态选择合适的子模型预测答案,取得精度和时延之间的平衡,在预测答***率得到保证的同时使得用户拥有良好的体验感。
Description
技术领域
本发明属于视觉问答领域,具体涉及一种基于双向可切分深度自注意力网络的轻量化视觉问答方法(Visual Question Answering)。
背景技术
视觉问答任务是多模态学习任务中的热门研究问题,是一种涉及计算机视觉和自然语言处理的学习任务,其目标为对于一张给定的图像和一句与图像相关的、形式自由的问题,经过视觉问答模型的处理,最终将对应的预测答案输出。与单一模态任务不同,作为多模态任务的视觉问答任务不仅需要正确理解不同模态的信息,还需要理解模态之间相关联的信息,通常更加复杂、难度更高。这项任务在现实生活中有着广泛的应用,例如:可以帮助有视觉障碍的残障人士更方便的获取网络图像信息;同时可以推动人机交互***更好的发展,增强用户体验;也可以提高机器对图像的理解,加强图像检索的能力。
深度自注意力网络最初是在自然语言处理领域的机器翻译任务上被提出的,其核心架构为多个自注意力层堆叠而成,每个自注意力层可以构建输入特征之间复杂而密集的交互作用。该深度自注意力网络在机器翻译任务上取得了最佳效果,迅速得到人工智能领域研究者的关注,并将其应用到人工智能的各个子领域,包括视觉问答领域。因为深度自注意力网络能更好的学习到视觉与文本特征之间的交互信息,当下,该网络架构已经成为视觉问答领域的主流网络结构。然而,深度自注意力网络带来性能提升的同时,因为其计算的复杂性,对计算资源、存储空间也提出了新的要求,这将带来一个严峻的问题:在移动设备上部署这些模型需要依赖GPU云服务器,而难以直接利用移动端有限的计算资源,这会造成资源的浪费且不环保。当下,视觉问答领域暂时还没有轻量化模型出现,这为模型的部署带来了挑战,也阻碍了用户享受人工智能应用带来的便利性。
为了应对深度学***衡,但这些方法通常都是压缩到一个固定比例,只能得到一个固定大小的轻量化模型。当今,移动设备种类繁多,不同移动设备之间的计算性能差异大,且即使相同的移动设备,在其不同负载条件、不同电量下能提供的计算资源也不同,倘若为一台移动设备或者一种负载条件设计一个轻量化模型,将会使得模型训练开销与模型数量成正比,且一台移动设备需要保存多个模型以应对多种场景,其存储开销也非常大。
近期,一种可瘦身、可切分的神经网络提供了一条新的思路:仅用一个模型来应对多种场景,当计算资源充足时,取模型的大部分做前向传播并预测,以获得更高的准确率;而当计算资源有限时,则取模型的小部分参数做预测,为了推断速度而牺牲一点精度。倘若能利用这种思想,并针对视觉问答领域中的主流模型结构深度自注意力网络设计一种高效、合理的切分与训练策略,将对视觉问答模型的落地做出新的贡献。
综上所述,如何设计一个高效的、可切分的深度自注意力网络,并将其应用到视觉问答领域是一个值得深入研究的课题。本专利拟从该任务中几个关键点切入展开探讨,解决目前方法存在的难点和重点,形成一套完整的、高效的轻量化视觉问答方法。
发明内容
针对现有技术中存在的不足,本发明提供了一种基于双向可切分深度自注意力网络的轻量化视觉问答方法。本发明主要包含两点:
1、通过分析深度自注意力网络的内部结构,设计出一种高效、合理的宽度及深度切分策略,并结合这两种策略形成在宽度、深度上均可切分的双向策略。针对双向策略切分出来的子模型,本发明提出了一种“深而窄”的过滤原则,进一步挑选了一些较优的高效子结构。
2、将上述双向切分策略和过滤原则与现有基于深度自注意力的视觉问答模型相结合,并提出了一种高效的自蒸馏训练策略,使得各个子模型都能得到充分训练,最终得到双向可切分的深度自注意力视觉问答模型。
本发明提出了一种基于双向可切分深度自注意力网络的轻量化视觉问答方法(Visual Question Answering)。核心方法为通过分析深度自注意力网络的内部结构,提出了一种高效、合理的宽度及深度切分策略,并将这两种单维度的切分策略结合,形成在宽度、深度均可切分的双向策略。同时,针对此双向策略切分出来的子结构,本发明提出了一种“深而窄”的过滤原则,进一步挑选了一些较优的高效子结构,此过滤原则不仅可以提高各个子结构的性能,且在模型部署时,不需要额外的筛选并可直接投入使用,避免了后处理的过程,简洁易用。此外,一种高效的自蒸馏训练策略也被提出,使得各个子模型都能得到充分训练。本方法可以与任何现有的基于深度自注意力网络的视觉问答模型相结合,通过训练形成双向可切分的深度自注意力网络,网络中的各个子模型都具备视觉问答任务的应用能力,当模型部署在一些资源受限、性能波动较大的边缘设备时,此双向可切分的深度自注意力模型可以根据当下的计算资源动态选择合适的子模型预测答案,取得精度和时延之间的平衡,在预测答***率得到保证的同时使得用户拥有良好的体验感。
基于双向可切分深度自注意力网络的轻量化视觉问答方法,包括如下步骤:
步骤(1):对数据集进行划分;
步骤(2):构建图像的视觉特征;
对于一张给定图像,使用现有训练好的目标检测网络检测出图像中的候选框个数m以及其位置;针对每个候选框,将候选框区域对应的图像再输入到该目标检测网络中,并提取输入到该网络分类层前的特征作为该候选框的特征。随后将每个候选框提取出的特征拼接,形成给定图像的视觉特征。为了使得图像特征维度匹配深度自注意力网络,最后使用一个可学习的线性变换对图像特征做进一步处理,并映射到D维空间;
步骤(3):构建问题的语义特征;
对于给定的一个问题,使用训练好的词向量模型对问题中的每个单词提取出语义特征,随后将提取出的单词语义特征做拼接,形成问题语义特征。为了使得问题语义特征维度匹配深度自注意力网络,最后使用一个可学习的线性变换对问题特征做进一步处理,映射到D维空间;
步骤(4):构建深度自注意力网络;
深度自注意力网络由多个自注意力层堆叠而成,每个自注意力层分为两部分:多头注意力模块和前馈层。利用该深度自注意力网络构建出引导训练的教师网络和最终的双向可切分深度自注意力网络。为了使输入特征能够匹配双向可切分深度自注意力网络中的各个子模型维度,该网络接受维度为D的特征作为输入,并通过一个线性投影变换,将输入特征映射到d维。
步骤(5):设计宽度切分策略;
深度自注意力网络中的每个自注意力层是由多个参数矩阵组成的,为了适应不同维度的输入特征,需要对每个参数矩阵做切分,以匹配不同维度的输入并输出合适维度的输出特征。针对维度为d的输入特征,为了保持自注意力层的原始结构比例,通过宽度切分策略使得输出特征维度仍然为d。值得注意的是,对于拥有不同维度输入特征的不同子模型,均共享自注意力层中的参数矩阵,当d越小,共享的参数量便越小;当d等于原始输入维度D时,参数矩阵不做切分;
步骤(6):设计深度切分策略;
深度自注意力网络由多个自注意力层堆叠,记层数为L,当子模型的层数l<L时,根据深度切分策略选择该深度自注意力网络中的l层,并归属为子模型自身所拥有。提出一种简单有效的深度切分策略,子模型在不同的层数设定下,都能尽可能地挑选出较重要的自注意力层,使不同子模型最终的精度得到提升;
步骤(7):结合两种切分策略、设计过滤原则;
通过步骤(5)(6)设计,每个子模型拥有宽度d和深度l。在相同的参数量、计算下,深而窄的子模型会比浅而宽的子模型更高效、结构更合理,提出了一种“深而窄”的过滤原则,在模型训练前就先挑选出一些层数多、宽度低的子模型,而直接丢弃掉那些层数少、宽度高的子模型。通过此项过滤原则,得到筛选后的子模型结构候选集
步骤(8):设计自蒸馏训练算法并训练模型;
针对步骤(7)得到的子模型结构候选集提出一种自蒸馏训练策略,使得各个子模型能够得到充分训练。首先利用步骤(4)的深度自注意力网络训练一个教师网络,并构建出一个双向可切分深度自注意力网络,在训练双向可切分深度自注意力网络中的子模型时,先将图像和问题输入到教师网络中得到其预测向量,称为软标签,并通过子模型采样策略,在训练时采样出候选集中的子模型,将这个软标签作为采样出的子模型的监督标签进行训练;
步骤(9):模型部署及应用;
进一步的,步骤(1)所述的数据集的划分,具体如下:
所述的数据集采用VQA-v2数据集,针对VQA-v2数据集,进一步划分为3个子集:训练集、验证集和测试集。训练集用于训练模型,验证集用于本地验证模型收敛情况,测试集用于最终的模型性能评估。
进一步的,步骤(2)所述的构建图像的视觉特征,具体如下:
对于一张给定图像,使用现有训练好的Faster R-CNN目标检测网络推断出图像中的候选框个数m以及其位置,并将每个候选框对应的图像区域输入到该Faster R-CNN目标检测网络中,以提取出其视觉特征。对于第i个候选框,其对应的视觉特征为而整张图像对应的视觉特征由每个候选框对应的视觉特征拼接而成,具体表示公式如下:
Ximage=[x1,x2,...,xi,...,xm] (公式1)
Xinput=Linear(Ximage) (公式2)
进一步的,步骤(3)所述的构建问题的语义特征,具体如下:
对于给定的一个问题,其包含n个单词,将每个单词输入到预先训练好的GloVe词向量模型中,以提取出其语义特征。对于第j个单词,其对应的语义特征为而整个问题对应的语义特征由每个单词对应的语义特征拼接而成,具体表示公式如下:
Yquestion=[y1,y2,...,yj,...,yn] (公式3)
Yinput=Linear(Yquestion) (公式4)
进一步的,步骤(4)所述的构建深度自注意力网络,具体如下:
深度自注意力网络由多个自注意力层堆叠而成,每个自注意力层分为两部分:多头注意力模块和前馈层。利用该深度自注意力网络构建出引导训练的教师网络和最终的双向可切分深度自注意力网络,所述的教师网络和双向可切分深度自注意力网络均采用相同结构的深度自注意力网络。为了使输入特征能够匹配双向可切分深度自注意力网络中的各个子模型维度,深度自注意力网络接受维度为D的图像视觉特征和问题语义特征作为输入,并通过一个线性投影变换,将输入特征映射到d维。
4-1.多头注意力模块;
Fmha=MHA(Q,K,V)=[head1,head2,…,headH]W0 (公式5)
4-2.前馈层;
4-3.自注意力层;
每个自注意力层Layer由上述的多头注意力模块和前馈层组成,对于给定输入Finput,输出特征Foutput,具体公式如下:
其中LN表示层归一化。
4-4.堆叠自注意力层;
一个深度自注意力网络是由多个自注意力层堆叠而成的,特征维度经过自注意力层不会改变,因此可以将多个自注意力层串联,构建成一个深度自注意力网络Model,具体公式如下:
Model=[Layer(1),Layer(2),…,Layer(L)] (公式11)
其中L为自注意力层数量。
进一步的,步骤(5)所述的宽度切分策略,具体如下:
对于多头注意力中的参数矩阵WQ,WK,以及维度为d的输入特征,保持每个注意力头的大小DH不变,而改变对应参数矩阵的输入匹配维度D和注意力头数量H。使得最终被切分的参数矩阵WQ,WK,其中表示被切分后的注意力头数量。其他自注意力层中的参数矩阵W0,W1,W2采取同样的策略,使得最终被切分的参数矩阵
进一步的,步骤(6)所述的深度切分策略,具体如下:
对于拥有L层的深度自注意力网络,记每层的索引为[1,2,...,L],本发明认为越靠近输入和输出的自注意力层更加重要。这意味着中间层相对来说不那么重要,当子模型的层数l<L,其将先从中间层开始舍弃。具体操作为,先按每层的重要性从大到小排序,得到层索引为对于层数为l的子模型,取排序后的层索引前l项再经过重排序,恢复到原始的层索引顺序为最终l层子模型的深度切分策略。
进一步的,步骤(7)所述的结合两种切分策略,设计过滤原则,具体如下:
对于给定的宽度比例候选集合和深度比例候选集合通过组合这两个维度的候选集,得到初步的子模型结构候选集每个子模型结构其中为了简易表达“深而窄”的过滤原则,定义一个二维索引矩阵来进一步处理初步的子模型候选集I(d,l)=1表示选择子模型a(d,l)被选择,I(d,l)=0表示丢弃子模型a(d,l)。索引矩阵I先初始化为全1值,再将下三角部分转换为0值。最终,被挑选出的子模型具体定义如下:
进一步的,步骤(8)所述的自蒸馏训练算法,具体如下:
定义深度自注意力网络构建出的教师网络为Mteacher,双向可切分深度自注意力网络为MDST,通过训练教师网络Mteacher得到它的参数权重θ,并用这个权重初始化双向可切分深度自注意力网络MDST的权重θDST。通过子模型采样策略,在训练时采样出候选集和的子模型,子模型采样策略具体如下:记每次迭代采样k个子模型,初始子模型结构候选集为Ω={as,al},其中as表示中的最小子模型而al表示中的最大子模型,随后再随机采样中的k-2个子模型,并将其添加到子模型结构候选集Ω中,作为本次迭代最终的子模型候选集。记每次迭代输入特征为x,将其输入到教师网络Mteacher中得到软标签y=Mteacher(x),并冻结其梯度y.detach()。随后遍历子模型结构候选集Ω中的每个子模型a∈Ω,并将输入特征x输入到当前子模型中得到预测向量用此子模型预测结果与教师网络输出的软标签y计算损失KD表示损失函数,并对Ω中采样出来的不同子模型做梯度累积loss.backward(),当每次迭代产生的子模型结构候选集Ω中所有子模型都遍历完后,统一更新模型权重θDST。
进一步的,步骤(9)所述的模型部署及应用,具体如下:
倘若当前设备计算资源十分充足,则采用最大的子模型al应用,通过前向传播得到此时具备子模型中最佳的表征能力。当设备计算资源不是很充足时,则采用最小的子模型as,通过前向传播得到因为as所需的计算量是所有子模型中最小的,此时前向传播的速度会大大提高从而提高用户体验,且同样具备不错的表征能力。
本发明有益效果如下:
本发明提出了一种双向可切分深度自注意力网络,基于设计的宽度、深度均可切分的双向策略,并采用“深而窄”的过滤原则进一步挑选合理的子模型,配合提出的自蒸馏算法,使得网络中的各个子模型都具备视觉问答任务的应用能力。此双向可切分的深度自注意力模型可以根据当下的计算资源动态选择合适的子模型预测答案,取得精度和时延之间的平衡,在预测答***率得到保证的同时使得用户拥有良好的体验感。
附图说明
图1本发明实施例宽度深度切分策略示意图;
图2本发明实施例子模型过滤原则示意图。
具体实施方式
下面对本发明的详细参数做进一步具体说明。
基于双向可切分深度自注意力网络的轻量化视觉问答方法,包括如下步骤:
步骤(1):对数据集进行划分;
所述的数据集采用VQA-v2数据集,针对VQA-v2数据集,进一步划分为3个子集:训练集、验证集和测试集。训练集用于训练模型,验证集用于本地验证模型收敛情况,测试集用于最终的模型性能评估。
步骤(2):构建图像的视觉特征;
对于一张给定图像,使用现有训练好的目标检测网络检测出图像中的候选框个数m以及其位置;针对每个候选框,将候选框区域对应的图像再输入到该目标检测网络中,并提取输入到该网络分类层前的特征作为该候选框的特征。随后将每个候选框提取出的特征拼接,形成给定图像的视觉特征。为了使得图像特征维度匹配深度自注意力网络,最后使用一个可学习的线性变换对图像特征做进一步处理,并映射到D维空间;具体方法如下:
对于一张给定图像,使用现有训练好的Faster R-CNN目标检测网络推断出图像中的候选框个数m以及其位置,并将每个候选框对应的图像区域输入到该Faster R-CNN目标检测网络中,以提取出其视觉特征。对于第i个候选框,其对应的视觉特征为而整张图像对应的视觉特征由每个候选框对应的视觉特征拼接而成,具体表示公式如下:
Ximage=[x1,x2,...,xi,...,xm] (公式1)
Xinput=Linear(Ximage) (公式2)
步骤(3):构建问题的语义特征;
对于给定的一个问题,使用训练好的词向量模型对问题中的每个单词提取出语义特征,随后将提取出的单词语义特征做拼接,形成问题语义特征。为了使得问题语义特征维度匹配深度自注意力网络,最后使用一个可学习的线性变换对问题特征做进一步处理,映射到D维空间;具体方法如下:
对于给定的一个问题,其包含n个单词,将每个单词输入到预先训练好的GloVe词向量模型中,以提取出其语义特征。对于第j个单词,其对应的语义特征为而整个问题对应的语义特征由每个单词对应的语义特征拼接而成,具体表示公式如下:
Yquestion=[y1,y2,…,yj,…,yn] (公式3)
Yinput=Linear(Yquestion) (公式4)
步骤(4):构建深度自注意力网络;
深度自注意力网络由多个自注意力层堆叠而成,每个自注意力层分为两部分:多头注意力模块和前馈层。利用该深度自注意力网络构建出引导训练的教师网络和最终的双向可切分深度自注意力网络,所述的教师网络和双向可切分深度自注意力网络均采用相同结构的深度自注意力网络。为了使输入特征能够匹配双向可切分深度自注意力网络中的各个子模型维度,深度自注意力网络接受维度为D的图像视觉特征和问题语义特征作为输入,并通过一个线性投影变换,将输入特征映射到d维。深度自注意力网络能充分学习两个模态之间的交互信息,最终产生含义丰富的视觉-语义融合特征。
4-1.多头注意力模块;
Fmha=MHA(Q,K,V)=[head1,head2,…,headH]W0 (公式5)
4-2.前馈层;
4-3.自注意力层;
每个自注意力层Layer由上述的多头注意力模块和前馈层组成,对于给定输入Finput,输出特征Foutput,具体公式如下:
其中LN表示层归一化。
4-4.堆叠自注意力层;
一个深度自注意力网络是由多个自注意力层堆叠而成的,特征维度经过自注意力层不会改变,因此可以将多个自注意力层串联,构建成一个深度自注意力网络Model,具体公式如下:
Model=[Layer(1),Layer(2),…,Layer(L)] (公式11)
其中L为自注意力层数量。
步骤(5):设计宽度切分策略;
深度自注意力网络中的每个自注意力层是由多个参数矩阵组成的,为了适应不同维度的输入特征,需要对每个参数矩阵做切分,以匹配不同维度的输入并输出合适维度的输出特征。针对维度为d的输入特征,为了保持自注意力层的原始结构比例,通过宽度切分策略使得输出特征维度仍然为d。值得注意的是,对于拥有不同维度输入特征的不同子模型,均共享自注意力层中的参数矩阵,当d越小,共享的参数量便越小;当d等于原始输入维度D时,参数矩阵不做切分;
对于多头注意力中的参数矩阵WQ,WK,以及维度为d的输入特征,保持每个注意力头的大小DH不变,而改变对应参数矩阵的输入匹配维度D和注意力头数量H。使得最终被切分的参数矩阵WQ,WK,其中表示被切分后的注意力头数量。其他自注意力层中的参数矩阵W0,W1,W2采取同样的策略,使得最终被切分的参数矩阵
步骤(6):设计深度切分策略;
深度自注意力网络由多个自注意力层堆叠,记层数为L,当子模型的层数l<L时,需要根据深度切分策略选择该深度自注意力网络中的l层,并归属为子模型自身所拥有。本发明提出一种简单有效的深度切分策略,子模型在不同的层数设定下,都能尽可能地挑选出较重要的自注意力层,使不同子模型最终的精度得到提升;
对于拥有L层的深度自注意力网络,记每层的索引为[1,2,...,L],本发明认为越靠近输入和输出的自注意力层更加重要。这意味着中间层相对来说不那么重要,当子模型的层数l<L,其将先从中间层开始舍弃。具体操作为,先按每层的重要性从大到小排序,得到层索引为对于层数为l的子模型,取排序后的层索引前l项再经过重排序,恢复到原始的层索引顺序为最终l层子模型的深度切分策略。
步骤(7):结合两种切分策略、设计过滤原则;
通过步骤(5)(6)设计,每个子模型拥有宽度d和深度l。在相同的参数量、计算下,深而窄的子模型会比浅而宽的子模型更高效、结构更合理,本发明提出了一种“深而窄”的过滤原则,在模型训练前就先挑选出一些层数多、宽度低的子模型,而直接丢弃掉那些层数少、宽度高的子模型。通过此项过滤原则,得到筛选后的子模型结构候选集此过滤原则不仅可以降低模型在训练时的开销,训练后的子模型精度也有所提高;
对于给定的宽度比例候选集合和深度比例候选集合通过组合这两个维度的候选集,得到初步的子模型结构候选集每个子模型结构其中为了简易表达“深而窄”的过滤原则,定义一个二维索引矩阵来进一步处理初步的子模型候选集I(d,l)=1表示选择子模型a(d,l)被选择,I(d,l)=0表示丢弃子模型a(d,l)。索引矩阵I先初始化为全1值,再将下三角部分转换为0值。最终,被挑选出的子模型具体定义如下:
步骤(8):设计自蒸馏训练算法并训练模型;
针对步骤(7)得到的子模型结构候选集提出一种自蒸馏训练策略,使得各个子模型能够得到充分训练。首先利用步骤(4)的深度自注意力网络训练一个教师网络,并构建出一个双向可切分深度自注意力网络,在训练双向可切分深度自注意力网络中的子模型时,先将图像和问题输入到教师网络中得到其预测向量,称为软标签,并通过子模型采样策略,在训练时采样出候选集中的子模型,将这个软标签作为采样出的子模型的监督标签进行训练;
定义深度自注意力网络构建出的教师网络为Mteacher,双向可切分深度自注意力网络为MDST,通过训练教师网络Mteacher得到它的参数权重θ,并用这个权重初始化双向可切分深度自注意力网络MDST的权重θDST。通过子模型采样策略,在训练时采样出候选集中的子模型,子模型采样策略具体如下:记每次迭代采样k个子模型,初始子模型结构候选集为Ω={as,al},其中as表示中的最小子模型而al表示中的最大子模型,随后再随机采样中的k-2个子模型,并将其添加到子模型结构候选集Ω中,作为本次迭代最终的子模型候选集。记每次迭代输入特征为x,将其输入到教师网络Mteacher中得到软标签y=Mteacher(x),并冻结其梯度y.detach()。随后遍历子模型结构候选集Ω中的每个子模型a∈Ω,并将输入特征x输入到当前子模型中得到预测向量用此子模型预测结果与教师网络输出的软标签y计算损失KD表示损失函数,并对Ω中采样出来的不同子模型做梯度累积loss.backward(),当每次迭代产生的子模型结构候选集Ω中所有子模型都遍历完后,统一更新模型权重θDST。
步骤(9)所述的模型部署及应用,具体如下:
倘若当前设备计算资源十分充足,则采用最大的子模型al应用,通过前向传播得到比时具备子模型中最佳的表征能力。当设备计算资源不是很充足时,则采用最小的子模型as,通过前向传播得到因为as所需的计算量是所有子模型中最小的,此时前向传播的速度会大大提高从而提高用户体验,且同样具备不错的表征能力。
如图1,2所示,本发明提出一种双向可切分深度自注意力网络的轻量化视觉问答方法。
步骤(1)所述的数据集的划分,具体如下:
最终训练集包含115K张图像和1.1M句问题,验证集包含5K张图像和26K句问题,测试集包含80K张图像和448K句问题。
步骤(2)所述的构建图像的物体综合特征,具体如下:
步骤(3)所述的构建问题的语义特征,具体如下:
对于一个问题,通常设定固定的单词长度14,每个单词利用预先训练好的词向量模型,提取出其语义特征维度为300,最终映射的空间维度D会根据深度自注意力网络做出相应调整,以D=512为例,此步骤得到的问题语义特征
步骤(4)所述的,具体如下:
步骤(5)所述的宽度切分策略,具体如下:
步骤(6)所述的深度切分策略,具体如下:
步骤(7)所述的结合两种切分策略、设计过滤原则,具体如下:
步骤(8)所述的自蒸馏训练算法,具体如下:
本发明设置k=4,这意味每次迭代采样1个最大的子模型、1个最小的子模型、以及另外2个除此之外随机采样的子模型。每次迭代中将有4个子模型被采样,并一起做梯度累积。
Claims (10)
1.基于双向可切分深度自注意力网络的轻量化视觉问答方法,其特征在于,包括如下步骤:
步骤(1):对数据集进行划分;
步骤(2):构建图像的视觉特征;
对于一张给定图像,使用现有训练好的目标检测网络检测出图像中的候选框个数m以及其位置;针对每个候选框,将候选框区域对应的图像再输入到该目标检测网络中,并提取输入到该网络分类层前的特征作为该候选框的特征;随后将每个候选框提取出的特征拼接,形成给定图像的视觉特征;为了使得图像特征维度匹配深度自注意力网络,最后使用一个可学习的线性变换对图像特征做进一步处理,并映射到D维空间;
步骤(3):构建问题的语义特征;
对于给定的一个问题,使用训练好的词向量模型对问题中的每个单词提取出语义特征,随后将提取出的单词语义特征做拼接,形成问题语义特征;为了使得问题语义特征维度匹配深度自注意力网络,最后使用一个可学习的线性变换对问题特征做进一步处理,映射到D维空间;
步骤(4):构建深度自注意力网络;
深度自注意力网络由多个自注意力层堆叠而成,每个自注意力层分为两部分:多头注意力模块和前馈层;利用该深度自注意力网络构建出引导训练的教师网络和最终的双向可切分深度自注意力网络;为了使输入特征能够匹配双向可切分深度自注意力网络中的各个子模型维度,该网络接受维度为D的特征作为输入,并通过一个线性投影变换,将输入特征映射到d维;
步骤(5):设计宽度切分策略;
深度自注意力网络中的每个自注意力层是由多个参数矩阵组成的,为了适应不同维度的输入特征,需要对每个参数矩阵做切分,以匹配不同维度的输入并输出合适维度的输出特征;针对维度为d的输入特征,为了保持自注意力层的原始结构比例,通过宽度切分策略使得输出特征维度仍然为d;值得注意的是,对于拥有不同维度输入特征的不同子模型,均共享自注意力层中的参数矩阵,当d越小,共享的参数量便越小;当d等于原始输入维度D时,参数矩阵不做切分;
步骤(6):设计深度切分策略;
深度自注意力网络由多个自注意力层堆叠,记层数为L,当子模型的层数l<L时,根据深度切分策略选择该深度自注意力网络中的l层,并归属为子模型自身所拥有;
步骤(7):结合两种切分策略、设计过滤原则;
通过步骤(5)(6)设计,每个子模型拥有宽度d和深度l;在相同的参数量、计算下,深而窄的子模型会比浅而宽的子模型更高效、结构更合理,提出了一种“深而窄”的过滤原则,在模型训练前就先挑选出一些层数多、宽度低的子模型,而直接丢弃掉那些层数少、宽度高的子模型;通过此项过滤原则,得到筛选后的子模型结构候选集
步骤(8):设计自蒸馏训练算法并训练模型;
针对步骤(7)得到的子模型结构候选集提出一种自蒸馏训练策略,使得各个子模型能够得到充分训练;首先利用步骤(4)的深度自注意力网络训练一个教师网络,并构建出一个双向可切分深度自注意力网络,在训练双向可切分深度自注意力网络中的子模型时,先将图像和问题输入到教师网络中得到其预测向量,称为软标签,并通过子模型采样策略,在训练时采样出候选集中的子模型,将这个软标签作为采样出的子模型的监督标签进行训练;
步骤(9):模型部署及应用。
2.根据权利要求1所述的基于双向可切分深度自注意力网络的轻量化视觉问答方法,其特征在于,步骤(1)所述的数据集的划分,具体如下:
所述的数据集采用VQA-v2数据集,针对VQA-v2数据集,进一步划分为3个子集:训练集、验证集和测试集;训练集用于训练模型,验证集用于本地验证模型收敛情况,测试集用于最终的模型性能评估。
3.根据权利要求2所述的基于双向可切分深度自注意力网络的轻量化视觉问答方法,其特征在于,步骤(2)所述的构建图像的视觉特征,具体如下:
对于一张给定图像,使用现有训练好的Faster R-CNN目标检测网络推断出图像中的候选框个数m以及其位置,并将每个候选框对应的图像区域输入到该Faster R-CNN目标检测网络中,以提取出其视觉特征;对于第i个候选框,其对应的视觉特征为而整张图像对应的视觉特征由每个候选框对应的视觉特征拼接而成,具体表示公式如下:
Ximage=[x1,x2,...,xi,...,xm] (公式1)
Xinput=Linear(Ximage) (公式2)。
4.根据权利要求3所述的基于双向可切分深度自注意力网络的轻量化视觉问答方法,其特征在于,步骤(3)所述的构建问题的语义特征,具体如下:
对于给定的一个问题,其包含n个单词,将每个单词输入到预先训练好的GloVe词向量模型中,以提取出其语义特征;对于第j个单词,其对应的语义特征为而整个问题对应的语义特征由每个单词对应的语义特征拼接而成,具体表示公式如下:
Yquestion=[y1,y2,...,yj,...,yn] (公式3)
Yinput=Linear(Yquestion) (公式4)。
5.根据权利要求4所述的基于双向可切分深度自注意力网络的轻量化视觉问答方法,其特征在于,步骤(4)所述的构建深度自注意力网络,具体如下:
深度自注意力网络由多个自注意力层堆叠而成,每个自注意力层分为两部分:多头注意力模块和前馈层;利用该深度自注意力网络构建出引导训练的教师网络和最终的双向可切分深度自注意力网络,所述的教师网络和双向可切分深度自注意力网络均采用相同结构的深度自注意力网络;为了使输入特征能够匹配双向可切分深度自注意力网络中的各个子模型维度,深度自注意力网络接受维度为D的图像视觉特征和问题语义特征作为输入,并通过一个线性投影变换,将输入特征映射到d维;深度自注意力网络能充分学习两个模态之间的交互信息,最终产生含义丰富的视觉-语义融合特征;
4-1.多头注意力模块;
Fmha=MHA(Q,K,V)=[head1,head2,…,headH]W0 (公式5)
4-2.前馈层;
4-3.自注意力层;
每个自注意力层Layer由上述的多头注意力模块和前馈层组成,对于给定输入Finput,输出特征Foutput,具体公式如下:
其中LN表示层归一化;
4-4.堆叠自注意力层;
一个深度自注意力网络是由多个自注意力层堆叠而成的,特征维度经过自注意力层不会改变,因此可以将多个自注意力层串联,构建成一个深度自注意力网络Model,具体公式如下:
Model=[Layer(1),Layer(2),…,Layer(L)] (公式11)
其中L为自注意力层数量。
9.根据权利要求8所述的基于双向可切分深度自注意力网络的轻量化视觉问答方法,其特征在于,步骤(8)所述的自蒸馏训练算法,具体如下:
定义深度自注意力网络构建出的教师网络为Mteacher,双向可切分深度自注意力网络为MDST,通过训练教师网络Mteacher得到它的参数权重θ,并用这个权重初始化双向可切分深度自注意力网络MDST的权重θDST;通过子模型采样策略,在训练时采样出候选集中的子模型,子模型采样策略具体如下:记每次迭代采样k个子模型,初始子模型结构候选集为Ω={as,al},其中as表示中的最小子模型而al表示中的最大子模型,随后再随机采样中的k-2个子模型,并将其添加到子模型结构候选集Ω中,作为本次迭代最终的子模型候选集;记每次迭代输入特征为x,将其输入到教师网络Mteacher中得到软标签y=Mteacher(x),并冻结其梯度y.detach();随后遍历子模型结构候选集Ω中的每个子模型a∈Ω,并将输入特征x输入到当前子模型中得到预测向量用此子模型预测结果与教师网络输出的软标签y计算损失KD表示损失函数,并对Ω中采样出来的不同子模型做梯度累积loss.backward(),当每次迭代产生的子模型结构候选集Ω中所有子模型都遍历完后,统一更新模型权重θDST。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210369535.0A CN114647752A (zh) | 2022-04-08 | 2022-04-08 | 基于双向可切分深度自注意力网络的轻量化视觉问答方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210369535.0A CN114647752A (zh) | 2022-04-08 | 2022-04-08 | 基于双向可切分深度自注意力网络的轻量化视觉问答方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114647752A true CN114647752A (zh) | 2022-06-21 |
Family
ID=81997107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210369535.0A Pending CN114647752A (zh) | 2022-04-08 | 2022-04-08 | 基于双向可切分深度自注意力网络的轻量化视觉问答方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114647752A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863407A (zh) * | 2022-07-06 | 2022-08-05 | 宏龙科技(杭州)有限公司 | 一种基于视觉语言深度融合的多任务冷启动目标检测方法 |
CN117216225A (zh) * | 2023-10-19 | 2023-12-12 | 四川大学 | 一种基于三模态知识蒸馏的3d视觉问答方法 |
-
2022
- 2022-04-08 CN CN202210369535.0A patent/CN114647752A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863407A (zh) * | 2022-07-06 | 2022-08-05 | 宏龙科技(杭州)有限公司 | 一种基于视觉语言深度融合的多任务冷启动目标检测方法 |
CN117216225A (zh) * | 2023-10-19 | 2023-12-12 | 四川大学 | 一种基于三模态知识蒸馏的3d视觉问答方法 |
CN117216225B (zh) * | 2023-10-19 | 2024-06-04 | 四川大学 | 一种基于三模态知识蒸馏的3d视觉问答方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930992B (zh) | 神经网络训练方法、装置及电子设备 | |
CN110175628A (zh) | 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法 | |
CN112990296B (zh) | 基于正交相似度蒸馏的图文匹配模型压缩与加速方法及*** | |
CN111444340A (zh) | 文本分类和推荐方法、装置、设备及存储介质 | |
CN111160350B (zh) | 人像分割方法、模型训练方法、装置、介质及电子设备 | |
CN111325155A (zh) | 基于残差式3d cnn和多模态特征融合策略的视频动作识别方法 | |
CN113128702A (zh) | 一种基于强化学习的神经网络自适应分布式并行训练方法 | |
CN111008693B (zh) | 一种基于数据压缩的网络模型构建方法、***和介质 | |
CN114647752A (zh) | 基于双向可切分深度自注意力网络的轻量化视觉问答方法 | |
CN110516095A (zh) | 基于语义迁移的弱监督深度哈希社交图像检索方法和*** | |
CN112487949B (zh) | 一种基于多模态数据融合的学习者行为识别方法 | |
CN108549658A (zh) | 一种基于语法分析树上注意力机制的深度学习视频问答方法及*** | |
CN113297370B (zh) | 基于多交互注意力的端到端多模态问答方法及*** | |
CN113420651B (zh) | 深度卷积神经网络的轻量化方法、***及目标检测方法 | |
CN112084307B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN114037945A (zh) | 一种基于多粒度特征交互的跨模态检索方法 | |
KR20200010672A (ko) | 딥러닝을 이용한 스마트 상품 검색 방법 및 시스템 | |
CN115422369B (zh) | 基于改进TextRank的知识图谱补全方法和装置 | |
CN109284668A (zh) | 一种基于距离正则化投影和字典学习的行人重识别算法 | |
CN114265937A (zh) | 科技情报的智能分类分析方法、***、存储介质及服务器 | |
Li et al. | Hierarchical knowledge squeezed adversarial network compression | |
CN117011883A (zh) | 一种基于金字塔卷积和Transformer双分支的行人重识别方法 | |
Ay et al. | A study of knowledge distillation in fully convolutional network for time series classification | |
CN117494051A (zh) | 一种分类处理的方法、模型训练的方法以及相关装置 | |
CN114627282A (zh) | 目标检测模型的建立方法、应用方法、设备、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |