CN112819155B - 应用于边缘设备的深度神经网络模型分级压缩方法及装置 - Google Patents
应用于边缘设备的深度神经网络模型分级压缩方法及装置 Download PDFInfo
- Publication number
- CN112819155B CN112819155B CN202110093585.6A CN202110093585A CN112819155B CN 112819155 B CN112819155 B CN 112819155B CN 202110093585 A CN202110093585 A CN 202110093585A CN 112819155 B CN112819155 B CN 112819155B
- Authority
- CN
- China
- Prior art keywords
- model
- teaching
- student
- assistant
- training
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本说明书提供一种应用于边缘设备的深度神经网络模型分级压缩方法及装置,包括确定预设的教师模型,根据边缘设备的资源配置确定学生模型的网络层数;根据两种模型的网络层数,确定压缩比例,当根据压缩比例确定需要设置助教模型时,根据两种模型的网络层数,确定预备助教模型的网络层数;基于提前停止知识蒸馏方法利用教师模型对预备助教模型进行训练,得到训练后的预备助教模型;基于提前停止知识蒸馏方法利用训练后的预备助教模型对学生模型进行训练,得到利用预备助教模型训练后的学生模型,若该学生模型的准确度提高,将预备助教模型作为助教模型。本说明书训练得到的学生模型,准确度高,结构精简,适于边缘设备安装应用。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种应用于边缘设备的深度神经网络模型分级压缩方法及装置。
背景技术
随着视觉识别技术的发展,能够实现不同视觉识别功能且精度越来越高的深度神经网络模型被建立起来,这些具有特定功能的视觉识别模型一般配置于云服务器,计算复杂度高,占用的计算、存储等资源多,能够实现较大的容量。用户使用视觉识别功能,一般需要将待识别图像上传至云服务器,由云服务器利用视觉识别模型对目标识别对象进行识别,然后将识别结果回传给用户终端。如果待识别图像中包含有隐私内容,为保证数据安全性,用户希望在用户终端实现图像识别,然而,由于用户终端的资源配置较低,难以安装“庞大”的视觉识别模型,如果安装经过压缩的视觉识别模型,则识别准确度难以保证。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种应用于边缘设备的深度神经网络模型分级压缩方法及装置,以解决压缩后的视觉识别模型的准确度问题。
基于上述目的,本说明书一个或多个实施例提供了一种应用于边缘设备的深度神经网络模型分级压缩方法,包括:
确定预设的教师模型,根据边缘设备的资源配置确定学生模型的网络层数;
根据所述教师模型的网络层数和所述学生模型的网络层数,确定压缩比例,根据所述压缩比例确定是否需要设置助教模型;
如果需要设置所述助教模型,根据所述教师模型的网络层数和所述学生模型的网络层数,确定预备助教模型的网络层数;
基于知识蒸馏方法利用所述教师模型对所述预备助教模型进行训练,得到第一助教训练结果,同时,基于非知识蒸馏方法利用所述教师模型对对照预备助教模型进行训练,得到第二助教训练结果;当所述第二助教训练结果的准确率高于所述第一助教训练结果的准确率时,停止基于知识蒸馏方法对预所述备助教模型进行训练,继续基于非知识蒸馏方法对所述预备助教模型进行训练,得到训练后的预备助教模型;
基于知识蒸馏方法利用所述训练后的预备助教模型对所述学生模型进行训练,得到第一学生训练结果,同时,基于非知识蒸馏方法利用所述训练后的预备助教模型对对照学生模型进行训练,得到第二学生训练结果;当所述第二学生训练结果的准确率高于所述第一学生训练结果的准确率时,停止基于知识蒸馏方法对所述学生模型进行训练,继续基于非知识蒸馏方法对所述学生模型进行训练,得到利用预备助教模型训练后的学生模型;
判断利用预备助教模型训练后的学生模型的准确度是否高于利用教师模型训练后的学生模型的准确度,若是,将所述预备助教模型作为助教模型,若否,重新设置预备助教模型的网络层数,基于重新设置的预备助教模型,得到训练后的预备助教模型,得到利用预备助教模型训练后的学生模型,直至利用预备助教模型训练后的学生模型的准确度高于利用教师模型训练后的学生模型的准确度。
可选的,所述方法还包括:
在所述教师模型与所述助教模型之间设置所述助教模型,和/或在所述助教模型与所述学生模型之间设置所述助教模型。
可选的,所述根据边缘设备的资源配置确定学生模型的网络层数,包括:
根据所述边缘设备的计算资源、存储资源和对所述学生模型的精度要求,确定所述学生模型的网络层数。
可选的,根据所述教师模型的网络层数和所述学生模型的网络层数,确定压缩比例,根据所述压缩比例确定是否需要设置助教模型,包括:
根据所述教师模型的网络层数和所述学生模型的网络层数,确定由所述教师模型压缩至所述学生模型的压缩比例;
如果所述压缩比例大于等于预设的压缩阈值,需要设置所述助教模型,否则,无需设置所述助教模型。
可选的,所述压缩阈值为50%。
可选的,根据所述教师模型的网络层数和所述学生模型的网络层数,确定预备助教模型的网络层数,包括:
若所述预备助教模型的网络层数与所述教师模型的网络层数的差值为第一差值,所述预备助教模型的网络层数与所述学生模型的网络层数的差值为第二差值,所述第一差值与所述第二差值之间的差值小于等于预设的规模阈值。
可选的,判断所述第二助教训练结果的对照预备助教模型的准确度高于所述第一助教训练结果的预备助教模型的准确度,包括:
所述对照预备助教模型对于预定数量的待识别对象的识别准确度,均高于所述预备助教模型对于相同数量的待识别对象的识别准确度;或者,所述对照预备助教模型对于预定数量的待识别对象的平均识别准确度,高于所述预备助教模型对于相同数量的待识别对象的平均识别准确度。
可选的,所述重新设置预备助教模型的网络层数,包括:重新设置预备助教模型的网络层数,使得重设置的预备助教模型的网络层数更接近于所述学生模型的网络层数。
可选的,如果模型为线性神经网络,所述网络层数为全连接层的层数;如果模型为ResNets残差神经网络,所述网络层数为残差块的数量;如果模型为CNN卷积神经网络,所述网络层数为神经网络层的层数,所述神经网络层包括一层卷积层和一层池化层。
本说明书实施例还提供一种应用于边缘设备的深度神经网络模型分级压缩装置,包括:
模型确定模块,用于确定预设的教师模型,根据边缘设备的资源配置确定学生模型的网络层数;
助教确定模块,用于根据所述教师模型的网络层数和所述学生模型的网络层数,确定压缩比例,根据所述压缩比例确定是否需要设置助教模型;
助教参数确定模块,用于如果需要设置所述助教模型,根据所述教师模型的网络层数和所述学生模型的网络层数,确定预备助教模型的网络层数;
第一训练模块,用于基于知识蒸馏方法利用所述教师模型对所述预备助教模型进行训练,得到第一助教训练结果,同时,基于非知识蒸馏方法利用所述教师模型对对照预备助教模型进行训练,得到第二助教训练结果;当所述第二助教训练结果的准确率高于所述第一助教训练结果的准确率时,停止基于知识蒸馏方法对预所述备助教模型进行训练,继续基于非知识蒸馏方法对所述预备助教模型进行训练,得到训练后的预备助教模型;
第二训练模块,用于基于知识蒸馏方法利用所述训练后的预备助教模型对所述学生模型进行训练,得到第一学生训练结果,同时,基于非知识蒸馏方法利用所述训练后的预备助教模型对对照学生模型进行训练,得到第二学生训练结果;当所述第二学生训练结果的准确率高于所述第一学生训练结果的准确率时,停止基于知识蒸馏方法对所述学生模型进行训练,继续基于非知识蒸馏方法对所述学生模型进行训练,得到利用预备助教模型训练后的学生模型;
判断模块,用于判断利用预备助教模型训练后的学生模型的准确度是否高于利用教师模型训练后的学生模型的准确度,若是,将所述预备助教模型作为助教模型,若否,重新设置预备助教模型的网络层数,基于重新设置的预备助教模型,得到训练后的预备助教模型,得到利用预备助教模型训练后的学生模型,直至利用预备助教模型训练后的学生模型的准确度高于利用教师模型训练后的学生模型的准确度。
从上面所述可以看出,本说明书一个或多个实施例提供的应用于边缘设备的深度神经网络模型分级压缩方法及装置,通过确定预设的教师模型,根据边缘设备的资源配置确定学生模型的网络层数;根据两种模型的网络层数,确定压缩比例,当根据压缩比例确定需要设置助教模型时,根据两种模型的网络层数,确定预备助教模型的网络层数;基于提前停止知识蒸馏方法利用教师模型对预备助教模型进行训练,得到训练后的预备助教模型;基于提前停止知识蒸馏方法利用训练后的预备助教模型对学生模型进行训练,得到利用预备助教模型训练后的学生模型,若利用预备助教模型训练后的学生模型的准确度相较利用教师模型训练出的学生模型的准确度提高,则将训练后的预备助教模型作为助教模型。依本说明书的方法训练得到的学生模型,准确度高,结构精简,且训练效率高,适于边缘设备安装应用,能够于边缘设备实现视觉识别功能。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的方法流程示意图;
图2为本说明书一个或多个实施例的使用知识蒸馏方法和提前停止知识蒸馏方法训练学生模型的训练结果对比示意图,教师模型为线性神经网络;
图3为本说明书一个或多个实施例的使用知识蒸馏方法和提前停止知识蒸馏方法训练学生模型的训练结果对比示意图,教师模型为卷积神经网络;
图4为本说明书一个或多个实施例的使用知识蒸馏方法和提前停止知识蒸馏方法训练学生模型的训练结果对比示意图,教师模型为残差神经网络;
图5为本说明书一个或多个实施例的提前知识蒸馏方法的训练回合示意图,教师模型为残差神经网络;
图6为本说明书一个或多个实施例的装置结构示意图;
图7为本说明书一个或多个实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
一些应用场景中,知识蒸馏(Knowledge Distillation,KD)可用于深度神经网络模型的压缩,知识蒸馏使用的是教师模型-学生模型,其中,教师模型是结构复杂、精度较高的原始深度神经网络模型,学生模型是利用教师模型进行训练出来的,结构简化同时具有一定精度的精简深度神经网络模型,即压缩后的深度神经网络模型。在利用教师模型对学生模型的训练过程中,使用助教模型能够显著提高学生模型的准确率,使用提前停止知识蒸馏能够提高训练速度,然而,助教模型的规模和提前停止知识蒸馏的时机却很难确定,难以达到同时保证学生模型的准确度和训练效率。
有鉴于此,本说明书实施例提供一种应用于边缘设备的深度神经网络模型分级压缩方法及装置,可根据教师模型与学生模型确定出助教模型的规模,在教师模型-助教模型-学生模型的模型训练架构基础上,能够提高学生模型的准确度,同时,可确定出提前停止知识蒸馏的时机,提高模型训练效率。
如图1所示,本说明书一个或多个实施例提供一种应用于边缘设备的深度神经网络模型分级压缩方法,包括:
S101:确定预设的教师模型,根据边缘设备的资源配置确定学生模型的网络层数;
本实施例中,教师模型是预先训练的深度神经网络模型,可根据所需实现的功能,基于特定的数据集训练得到,教师模型的结构复杂,具有较高的识别准确度和良好的性能。
学生模型是利用教师模型训练出来的,对教师模型进行压缩后的模型,结构精简,适于安装于边缘设备中,用以实现视觉识别功能。一些实施例中,根据边缘设备的资源配置确定学生模型的网络层数包括:根据边缘设备的计算资源、存储资源和对学生模型的精度要求,确定学生模型的网络层数。
一些实施例中,模型的网络层数根据模型的类型确定。如果模型为线性神经网络,网络层数是指全连接层的层数,“X-Y”中的X为教师模型的全连接层的层数,Y为学生模型的全连接层的层数。如果模型为ResNets残差神经网络,网络层数为残差块(residualblocks)的数量,“X-Y”中的X为教师模型的残差块的数量,Y为学生模型的残差块的数量,对于ResNets残差神经网络,除残差块外,残差块之前和之后还包括一层全连接层。如果模型为CNN(Convolutional Neural Networks)卷积神经网络,网络层数是指神经网络层的层数,神经网络层包括一层卷积层和一层池化层,对于CNN卷积神经网络,除神经网络层,在神经网络层之前和之后还包括一层全连接层。
一些方式中,边缘设备为智能手机,根据智能手机的处理器性能、存储空间大小以及用户对视觉识别功能的识别精度要求,确定适于安装于智能手机上的学生模型的网络层数。例如,若安装于云服务器的教师模型的网络层数为12层,模型压缩比例确定为80%,则学生模型的网络层数确定为2-3层,为保证模型精度,如果教师模型的准确率接近99%,则学生模型的准确率不应低于90%。
S102:根据教师模型的网络层数和学生模型的网络层数,确定压缩比例,根据压缩比例确定是否需要设置助教模型;
本实施例中,确定教师模型的网络层数和学生模型的网络层数之后,可根据二者确定由教师模型压缩至学生模型的压缩比例,若压缩比例大于等于预设的压缩阈值,则需要设置助教模型,借助助教模型实现教师模型对学生模型的训练,提高训练精度;若压缩比例小于压缩阈值,则无需设置助教模型。
一些方式中,当压缩比例大于等于50%时,需要设置助教模型,当压缩比例小于50%时,无需设置助教模型。
S103:如果需要设置助教模型,根据教师模型的网络层数和学生模型的网络层数,确定预备助教模型的网络层数;
本实施例中,当压缩比例大于等于压缩阈值时,需要设置预备助教模型,预备助教模型的网络层数可根据教师模型的网络层数和学生模型的网络层数确定。
一些方式中,若预备助教模型的网络层数与教师模型的网络层数的差值为第一差值,预备助教模型的网络层数与学生模型的网络层数的差值为第二差值,则第一差值与第二差值之间的差值应小于等于预设的规模阈值,即,预备助教模型的网络层数不应当过分偏向于教师模型或者学生模型,从而保证模型训练精度。证明过程如下:
由一般看法:
其中,O(.)为估计误差,fr为实目标函数,fs∈Fs为表示学生模型的学生函数,学生函数的输入输出对应学生模型的输入和经学生模型处理得到的输出,εsr为误差,|.|C是与损失相关的指标,为常数,n为数据点的个数,αsr为学习率,1/2≤αsr≤1,处理难问题时αsr接近1/2,处理简单问题时αsr接近1。R()与模型的错误率有关。
令ft∈Ft为表示教师模型的教师函数,教师函数的输入输出对应教师模型的输入和经教师模型处理得到的输出,则:
其中,αtr为教师模型从0开始学习的学习率,εtr为教师模型从0开始学习的误差。
假设训练是通过纯粹的蒸馏来完成的,则知识蒸馏过程中的概率分布为λ,λ=1。得到:
其中,αst为学生模型向教师模型学习的学习率,εst为学生模型向教师模型学习的误差。根据公式(1)、(2)、(3),得到:
通过公式(4),使用多层的助教模型,能够使学生模型的准确率高于不设置助教模型的准确率,而学生模型的准确率与助教模型的规模显著相关,所以,当教师模型与助教模型的层数差距、助教模型与学生模型的层数差距大致相同时,知识传递的失真率之和最小,能够达到相对最高的准确率。因此,助教模型的网络层数可选择介于教师模型与学生模型中间的网络层数,使得训练出的学生模型的准确率达到最高。
S104:基于知识蒸馏方法利用教师模型对预备助教模型进行训练,得到第一助教训练结果,同时,基于非知识蒸馏方法利用教师模型对对照预备助教模型进行训练,得到第二助教训练结果;当第二助教训练结果的准确率高于第一助教训练结果的准确率时,停止基于知识蒸馏方法对预备助教模型进行训练,继续基于非知识蒸馏方法对预备助教模型进行训练,得到训练后的预备助教模型;
本实施例中,确定了教师模型、学生模型的网络层数和预备助教模型的网络层数之后,先利用教师模型对预备助教模型进行训练。
为提高训练速度和训练效率,使用提前停止知识蒸馏的方法(Early-StopKnowledge Distillation,ESKD)对预备助教模型进行训练,训练方法是:同时使用知识蒸馏训练方法和非知识蒸馏训练方法对同一个预备助教模型进行训练,训练过程中,对比两种训练方法的训练结果,根据训练结果判断停止知识蒸馏的时机。
具体过程是:基于知识蒸馏方法利用教师模型对预备助教模型进行训练,得到第一助教训练结果;作为对照的,基于非知识蒸馏方法利用教师模型对对照预备助教模型进行训练,得到第二助教训练结果;其中,预备助教模型与对照助教模型的网络层数等模型参数均相同。在预备助教模型与对照助教模型的训练过程中,对比第一助教训练结果与第二助教训练结果,当第二助教训练结果的对照预备助教模型的准确度已经高于第一助教训练结果的预备助教模型的准确度时,确定停止知识蒸馏方法对预备助教模型进行训练,采用非知识蒸馏方法继续对预备助教模型进行训练,最终得到收敛速度快、准确度高的预备助教模型。
一些方式中,判断第二助教训练结果的对照预备助教模型的准确度高于第一助教训练结果的预备助教模型的准确度的方法为,对照预备助教模型对于预定数量的待识别对象的识别准确度,均高于预备助教模型对于相同数量的待识别对象的识别准确度,或者对照预备助教模型对于预定数量的待识别对象的平均识别准确度,高于预备助教模型对于相同数量的待识别对象的平均识别准确度。
一些方式中,非知识蒸馏方法可以是代价函数为交叉熵的方法,也可以是代价函数为平方损失函数、SVM等方法,非知识蒸馏方法一般与教师模型的训练方法一致。
S105:基于知识蒸馏方法利用训练后的预备助教模型对学生模型进行训练,得到第一学生训练结果,同时,基于非知识蒸馏方法利用训练后的预备助教模型对对照学生模型进行训练,得到第二学生训练结果;当第二学生训练结果的准确率高于第一学生训练结果的准确率时,停止基于知识蒸馏方法对学生模型进行训练,继续基于非知识蒸馏方法对学生模型进行训练,得到利用预备助教模型训练后的学生模型;
本实施例中,按照训练预备助教模型的训练方法,采用提前停止知识蒸馏方法利用训练后的预备助教模型对学生模型进行训练,得到利用预备助教模型训练后的学生模型。
S106:判断利用预备助教模型训练后的学生模型的准确度是否高于利用教师模型训练后的学生模型的准确度,若是,将预备助教模型作为助教模型,若否,重新设置预备助教模型的网络层数,基于重新设置的预备助教模型,执行步骤S104得到训练后的预备助教模型,执行步骤S105得到利用预备助教模型训练后的学生模型,直至利用预备助教模型训练后的学生模型的准确度高于利用教师模型训练后的学生模型的准确度。
本实施例中,在得到利用预备助教模型训练后的学生模型之后,判断由预备助教模型训练出的学生模型的准确度是否高于不设置助教模型,而直接由教师模型训练出的学生模型的准确度,如果是,那么将预备助教模型作为助教模型,确定通过设置助教模型可以提高学生模型的准确度,;如果否,那么该预备助教模型未能提高学生模型的准确度,重新配置预备助教模型,利用重配置的预备助教模型进行训练,直至得到准确度高的学生模型为止。
一些方式中,重新配置预备助教模型包括,重配置预备助教模型的网络层数,使得预备助教模型的网络层数更接近于学生模型的网络层数。
本实施例提供的应用于边缘设备的深度神经网络模型分级压缩方法,包括:确定预设的教师模型,根据边缘设备的资源配置确定学生模型的网络层数;根据教师模型的网络层数和学生模型的网络层数,确定压缩比例,根据压缩比例确定是否需要设置助教模型;如果需要设置助教模型,根据教师模型的网络层数和学生模型的网络层数,确定预备助教模型的网络层数;基于知识蒸馏方法利用教师模型对预备助教模型进行训练,得到第一助教训练结果,同时,基于非知识蒸馏方法利用教师模型对对照预备助教模型进行训练,得到第二助教训练结果;当第二助教训练结果的准确率高于第一助教训练结果的准确率时,停止基于知识蒸馏方法对预备助教模型进行训练,继续基于非知识蒸馏方法对预备助教模型进行训练,得到训练后的预备助教模型;按照相同的提前停止知识蒸馏方法,得到利用预备助教模型训练后的学生模型;之后,判断利用预备助教模型训练后的学生模型的准确度是否高于利用教师模型训练后的学生模型的准确度,若是,将预备助教模型作为助教模型,若否,重新设置预备助教模型的网络层数,基于重新设置的预备助教模型,训练得到准确度高于利用教师模型训练后的学生模型的准确度的助教模型。经过上述过程,建立了教师模型-助教模型-学生模型的模型训练架构,基于该模型训练架构训练得到的学生模型,不仅准确度高,结构精简,而且训练效率高,速度快,最终得到的学生模型适于安装应用于边缘设备,用户可于边缘设备使用视觉识别功能。
一些实施例中,本说明书的深度神经网络模型分级压缩方法,还包括:在教师模型与助教模型之间设置助教模型,和/或在助教模型与学生模型之间设置助教模型,使得基于教师模型-助教模型-助教模型-学生模型的模型训练架构下得到的学生模型,具有较高的准确度,且训练效率高,速度快。即,按照上述确定预备助教模型、训练预备助教模型的方法,在已经确定出的教师模型-助教模型-学生模型基础上,进一步在教师模型与助教模型之间确定助教模型,在助教模型与学生模型之间确定助教模型,进而得到教师模型-助教模型-助教模型-学生模型或者教师模型-助教模型-助教模型-助教模型-学生模型的模型训练架构,使得在该模型训练架构下训练得到的学生模型,具有理想的准确度。需要说明的是,在设置助教模型的过程中,如果增加一个助教模型,但是由助教模型训练出的学生模型的准确度无法再提高,则停止增加助教模型,从而得到最终的模型训练架构。
以下结合实验数据对本说明书的方法所能达到的效果进行说明。
一种实施方式中,将本实施例的深度神经网络模型分级压缩方法应用于MNIST线性神经网络,预先利用MNIST数据集(手写数字数据集)训练并构建作为教师模型的原始线性神经网络,原始线性神经网络的网络层数为10层,根据边缘设备的资源配置,确定可安装的学生模型的网络层数为2层。
基于知识蒸馏方法利用教师模型对学生模型进行训练,得到教师模型-学生模型为10-2的模型训练架构及在该模型训练架构下的训练结果,基于提前停止知识蒸馏方法利用教师模型对学生模型进行训练,得到教师模型-学生模型为10-2的模型训练架构及在该模型训练架构下的训练结果,选取不同的助教模型,利用本说明书的方法,基于提前停止知识蒸馏方法利用教师模型对助教模型进行训练,利用训练后的助教模型对学生模型进行训练,得到教师模型-助教模型-学生模型分别为10-8-2、10-6-2、10-4-2的模型训练架构及在各模型训练架构下的训练结果,以及得到10-8-4-2、10-6-4-2、10-8-6-4-2的模型训练架构及在各模型训练架构下的训练结果,如表1所示:
表1线性神经网络的模型训练架构
方法 | 结构 | 准确率 |
ESKD | 10-2 | 97.390% |
KD | 10-2 | 97.078% |
ESKD | 10-8-2 | 97.520% |
ESKD | 10-6-2 | 97.200% |
ESKD | 10-4-2 | 97.600% |
ESKD | 10-8-4-2 | 97.720% |
ESKD | 10-6-4-2 | 97.570% |
ESKD | 10-8-6-4-2 | 97.600% |
结合图2所示,按照本说明书的方法,采用10-8-4-2的模型训练架构训练得到的学生模型,准确率达到最高,模型训练收敛速度快,学生模型的结构精简,适于安装于绝大部分边缘设备(例如,作为应用安装于智能手机)上,在边缘设备上使用拍照识别手写数字功能,能够达到接近98%的正确率。
另一种实施方式中,将本实施例的深度神经网络模型分级压缩方法应用于CNN卷积神经网络,预先利用CIFAR10数据集(多个类别的物体的数据集)训练并构建作为教师模型的原始卷积神经网络,原始卷积神经网络的网络层数为12层,根据边缘设备的资源配置,确定可安装的学生模型的网络层数为2层。
基于知识蒸馏方法利用教师模型对学生模型进行训练,得到教师模型-学生模型为12-2的模型训练架构及在该模型训练架构下的训练结果,基于提前停止知识蒸馏方法利用教师模型对学生模型进行训练,得到教师模型-学生模型为12-2的模型训练架构及在该模型训练架构下的训练结果,选取不同的助教模型,利用本说明书的方法,基于提前停止知识蒸馏方法利用教师模型对助教模型进行训练,利用训练后的助教模型对学生模型进行训练,得到教师模型-助教模型-学生模型分别为12-8-2、12-6-2、12-4-2的模型训练架构及在各模型训练架构下的训练结果,以及得到12-8-4-2、12-6-4-2、12-8-6-4-2的模型训练架构及在各模型训练架构下的训练结果,如表2所示:
表2卷积神经网络的模型训练架构
方法 | 结构 | 准确率 |
ESKD | 12-2 | 85.900% |
KD | 12-2 | 86.273% |
ESKD | 12-8-2 | 86.140% |
ESKD | 12-6-2 | 86.085% |
ESKD | 12-4-2 | 86.120% |
ESKD | 12-8-4-2 | 86.240% |
ESKD | 12-6-4-2 | 86.445% |
ESKD | 12-8-6-4-2 | 86.170% |
结合图3所示,按照本说明书的方法,采用12-6-4-2的模型训练架构训练得到的学生模型,准确率达到最高,模型训练收敛速度快,学生模型的结构精简,适于安装于绝大部分边缘设备上,在边缘设备上使用拍照识别常见物体(如飞机、汽车、卡车、轮船等常见交通工具,猫、狗、鸟、马等常见动物等)功能,能够达到接近86.5%的正确率。
又一种实施方式中,将本实施例的深度神经网络模型分级压缩方法应用于ResNet残差神经网络,预先利用SVHN数据集(街景门牌号数据集)训练并构建作为教师模型的原始残差神经网络,原始残差神经网络的网络层数为12层,根据边缘设备的资源配置,确定可安装的学生模型的网络层数为4层。
基于知识蒸馏方法利用教师模型对学生模型进行训练,得到教师模型-学生模型为12-4的模型训练架构及在该模型训练架构下的训练结果,基于提前停止知识蒸馏方法利用教师模型对学生模型进行训练,得到教师模型-学生模型为12-4的模型训练架构及在该模型训练架构下的训练结果,选取不同的助教模型,利用本说明书的方法,基于提前停止知识蒸馏方法利用教师模型对助教模型进行训练,利用训练后的助教模型对学生模型进行训练,得到教师模型-助教模型-学生模型分别为12-10-4、12-8-4、12-6-4的模型训练架构及在各模型训练架构下的训练结果,以及得到12-10-6-4、12-8-6-4、12-10-8-6-4的模型训练架构及在各模型训练架构下的训练结果,如表3所示:
表3残差神经网络的模型训练架构
方法 | 结构 | 准确率 |
ESKD | 12-4 | 94.308% |
KD | 12-4 | 93.121% |
ESKD | 12-10-4 | 93.820% |
ESKD | 12-8-4 | 94.178% |
ESKD | 12-6-4 | 93.676% |
ESKD | 12-10-6-4 | 94.252% |
ESKD | 12-8-6-4 | 94.054% |
ESKD | 12-10-8-6-4 | 94.468% |
结合图4所示,按照本说明书的方法,采用12-10-8-6-4的模型训练架构训练得到的学生模型,准确率达到最高,模型训练收敛速度快,学生模型的结构精简,适于安装于绝大部分边缘设备上,在边缘设备上使用拍照识别门牌号功能,能够达到接近95%的正确率。
结合图2-5所示,使用提前停止知识蒸馏方法训练模型,能够缩短训练时间,显著提高学生模型的准确度。虽然在不同的模型训练架构下,学生模型的准确率没有显著差异,但是从训练过程中可以看出,当学生模型与教师模型的网络层数没有显著差距(压缩比例不超过压缩阈值)时,由于学生模型与教师模型相似,教师模型可以很快的向学生模型传授知识,学生模型一般会在几个训练回合内实现趋同;当学生模型与教师模型的网络层数差距很大(压缩比例超过压缩阈值)时,学生模型需要多个训练回合才能达到相同的效果。此外,对于提前停止知识蒸馏方法,由于在前期的知识蒸馏过程中,学生模型向教师模型学习了一部分知识,随着学生模型准确度的提高,教师模型往往无法再发挥好教师的作用,无法教好学生,此时,应当停止知识蒸馏方法,以免限制学生模型的学习。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
如图6所示,本说明书实施例还提供一种应用于边缘设备的深度神经网络模型分级压缩装置,包括:
模型确定模块,用于确定预设的教师模型,根据边缘设备的资源配置确定学生模型的网络层数;
助教确定模块,用于根据教师模型的网络层数和学生模型的网络层数,确定压缩比例,根据压缩比例确定是否需要设置助教模型;
助教参数确定模块,用于如果需要设置助教模型,根据教师模型的网络层数和学生模型的网络层数,确定预备助教模型的网络层数;
第一训练模块,用于基于知识蒸馏方法利用教师模型对预备助教模型进行训练,得到第一助教训练结果,同时,基于非知识蒸馏方法利用教师模型对对照预备助教模型进行训练,得到第二助教训练结果;当第二助教训练结果的准确率高于第一助教训练结果的准确率时,停止基于知识蒸馏方法对预备助教模型进行训练,继续基于非知识蒸馏方法对预备助教模型进行训练,得到训练后的预备助教模型;
第二训练模块,用于基于知识蒸馏方法利用训练后的预备助教模型对学生模型进行训练,得到第一学生训练结果,同时,基于非知识蒸馏方法利用训练后的预备助教模型对对照学生模型进行训练,得到第二学生训练结果;当第二学生训练结果的准确率高于第一学生训练结果的准确率时,停止基于知识蒸馏方法对学生模型进行训练,继续基于非知识蒸馏方法对学生模型进行训练,得到利用预备助教模型训练后的学生模型;
判断模块,用于判断利用预备助教模型训练后的学生模型的准确度是否高于利用教师模型训练后的学生模型的准确度,若是,将预备助教模型作为助教模型,若否,重新设置预备助教模型的网络层数,基于重新设置的预备助教模型,得到训练后的预备助教模型,得到利用预备助教模型训练后的学生模型,直至利用预备助教模型训练后的学生模型的准确度高于利用教师模型训练后的学生模型的准确度。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种应用于边缘设备的深度神经网络模型分级压缩方法,其特征在于,包括:
确定预设的教师模型,根据边缘设备的资源配置确定学生模型的网络层数;
根据所述教师模型的网络层数和所述学生模型的网络层数,确定压缩比例,根据所述压缩比例确定是否需要设置助教模型;
如果需要设置所述助教模型,根据所述教师模型的网络层数和所述学生模型的网络层数,确定预备助教模型的网络层数;
基于知识蒸馏方法利用所述教师模型对所述预备助教模型进行训练,得到第一助教训练结果,同时,基于非知识蒸馏方法利用所述教师模型对对照预备助教模型进行训练,得到第二助教训练结果;当所述第二助教训练结果的准确率高于所述第一助教训练结果的准确率时,停止基于知识蒸馏方法对预所述备助教模型进行训练,继续基于非知识蒸馏方法对所述预备助教模型进行训练,得到训练后的预备助教模型;
基于知识蒸馏方法利用所述训练后的预备助教模型对所述学生模型进行训练,得到第一学生训练结果,同时,基于非知识蒸馏方法利用所述训练后的预备助教模型对对照学生模型进行训练,得到第二学生训练结果;当所述第二学生训练结果的准确率高于所述第一学生训练结果的准确率时,停止基于知识蒸馏方法对所述学生模型进行训练,继续基于非知识蒸馏方法对所述学生模型进行训练,得到利用预备助教模型训练后的学生模型;
判断利用预备助教模型训练后的学生模型的准确度是否高于利用教师模型训练后的学生模型的准确度,若是,将所述预备助教模型作为助教模型,若否,重新设置预备助教模型的网络层数,基于重新设置的预备助教模型,得到训练后的预备助教模型,得到利用预备助教模型训练后的学生模型,直至利用预备助教模型训练后的学生模型的准确度高于利用教师模型训练后的学生模型的准确度。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述教师模型与所述助教模型之间设置所述助教模型,和/或在所述助教模型与所述学生模型之间设置所述助教模型。
3.根据权利要求1所述的方法,其特征在于,所述根据边缘设备的资源配置确定学生模型的网络层数,包括:
根据所述边缘设备的计算资源、存储资源和对所述学生模型的精度要求,确定所述学生模型的网络层数。
4.根据权利要求1所述的方法,其特征在于,根据所述教师模型的网络层数和所述学生模型的网络层数,确定压缩比例,根据所述压缩比例确定是否需要设置助教模型,包括:
根据所述教师模型的网络层数和所述学生模型的网络层数,确定由所述教师模型压缩至所述学生模型的压缩比例;
如果所述压缩比例大于等于预设的压缩阈值,需要设置所述助教模型,否则,无需设置所述助教模型。
5.根据权利要求4所述的方法,其特征在于,所述压缩阈值为50%。
6.根据权利要求1所述的方法,其特征在于,根据所述教师模型的网络层数和所述学生模型的网络层数,确定预备助教模型的网络层数,包括:
若所述预备助教模型的网络层数与所述教师模型的网络层数的差值为第一差值,所述预备助教模型的网络层数与所述学生模型的网络层数的差值为第二差值,所述第一差值与所述第二差值之间的差值小于等于预设的规模阈值。
7.根据权利要求1所述的方法,其特征在于,判断所述第二助教训练结果的对照预备助教模型的准确度高于所述第一助教训练结果的预备助教模型的准确度,包括:
所述对照预备助教模型对于预定数量的待识别对象的识别准确度,均高于所述预备助教模型对于相同数量的待识别对象的识别准确度;或者,所述对照预备助教模型对于预定数量的待识别对象的平均识别准确度,高于所述预备助教模型对于相同数量的待识别对象的平均识别准确度。
8.根据权利要求1所述的方法,其特征在于,所述重新设置预备助教模型的网络层数,包括:重新设置预备助教模型的网络层数,使得重设置的预备助教模型的网络层数更接近于所述学生模型的网络层数。
9.根据权利要求1所述的方法,其特征在于,如果模型为线性神经网络,所述网络层数为全连接层的层数;如果模型为ResNets残差神经网络,所述网络层数为残差块的数量;如果模型为CNN卷积神经网络,所述网络层数为神经网络层的层数,所述神经网络层包括一层卷积层和一层池化层。
10.一种应用于边缘设备的深度神经网络模型分级压缩装置,其特征在于,包括:
模型确定模块,用于确定预设的教师模型,根据边缘设备的资源配置确定学生模型的网络层数;
助教确定模块,用于根据所述教师模型的网络层数和所述学生模型的网络层数,确定压缩比例,根据所述压缩比例确定是否需要设置助教模型;
助教参数确定模块,用于如果需要设置所述助教模型,根据所述教师模型的网络层数和所述学生模型的网络层数,确定预备助教模型的网络层数;
第一训练模块,用于基于知识蒸馏方法利用所述教师模型对所述预备助教模型进行训练,得到第一助教训练结果,同时,基于非知识蒸馏方法利用所述教师模型对对照预备助教模型进行训练,得到第二助教训练结果;当所述第二助教训练结果的准确率高于所述第一助教训练结果的准确率时,停止基于知识蒸馏方法对预所述备助教模型进行训练,继续基于非知识蒸馏方法对所述预备助教模型进行训练,得到训练后的预备助教模型;
第二训练模块,用于基于知识蒸馏方法利用所述训练后的预备助教模型对所述学生模型进行训练,得到第一学生训练结果,同时,基于非知识蒸馏方法利用所述训练后的预备助教模型对对照学生模型进行训练,得到第二学生训练结果;当所述第二学生训练结果的准确率高于所述第一学生训练结果的准确率时,停止基于知识蒸馏方法对所述学生模型进行训练,继续基于非知识蒸馏方法对所述学生模型进行训练,得到利用预备助教模型训练后的学生模型;
判断模块,用于判断利用预备助教模型训练后的学生模型的准确度是否高于利用教师模型训练后的学生模型的准确度,若是,将所述预备助教模型作为助教模型,若否,重新设置预备助教模型的网络层数,基于重新设置的预备助教模型,得到训练后的预备助教模型,得到利用预备助教模型训练后的学生模型,直至利用预备助教模型训练后的学生模型的准确度高于利用教师模型训练后的学生模型的准确度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093585.6A CN112819155B (zh) | 2021-01-22 | 2021-01-22 | 应用于边缘设备的深度神经网络模型分级压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093585.6A CN112819155B (zh) | 2021-01-22 | 2021-01-22 | 应用于边缘设备的深度神经网络模型分级压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112819155A CN112819155A (zh) | 2021-05-18 |
CN112819155B true CN112819155B (zh) | 2022-09-16 |
Family
ID=75859026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110093585.6A Active CN112819155B (zh) | 2021-01-22 | 2021-01-22 | 应用于边缘设备的深度神经网络模型分级压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112819155B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807399B (zh) * | 2021-08-16 | 2024-01-09 | 华为技术有限公司 | 一种神经网络训练方法、检测方法以及装置 |
CN114610500B (zh) * | 2022-03-22 | 2024-04-30 | 重庆邮电大学 | 一种基于模型蒸馏的边缘缓存方法 |
CN114743243B (zh) * | 2022-04-06 | 2024-05-31 | 平安科技(深圳)有限公司 | 基于人工智能的人脸识别方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104143327A (zh) * | 2013-07-10 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 一种声学模型训练方法和装置 |
CN106170800A (zh) * | 2014-09-12 | 2016-11-30 | 微软技术许可有限责任公司 | 经由输出分布来学习学生dnn |
CN109448706A (zh) * | 2018-12-12 | 2019-03-08 | 苏州思必驰信息科技有限公司 | 神经网络语言模型压缩方法及系统 |
CN110880036A (zh) * | 2019-11-20 | 2020-03-13 | 腾讯科技(深圳)有限公司 | 神经网络压缩方法、装置、计算机设备及存储介质 |
-
2021
- 2021-01-22 CN CN202110093585.6A patent/CN112819155B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104143327A (zh) * | 2013-07-10 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 一种声学模型训练方法和装置 |
CN106170800A (zh) * | 2014-09-12 | 2016-11-30 | 微软技术许可有限责任公司 | 经由输出分布来学习学生dnn |
CN109448706A (zh) * | 2018-12-12 | 2019-03-08 | 苏州思必驰信息科技有限公司 | 神经网络语言模型压缩方法及系统 |
CN110880036A (zh) * | 2019-11-20 | 2020-03-13 | 腾讯科技(深圳)有限公司 | 神经网络压缩方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112819155A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112819155B (zh) | 应用于边缘设备的深度神经网络模型分级压缩方法及装置 | |
CN110020620B (zh) | 一种大姿态下的人脸识别方法、装置及设备 | |
CN112200062A (zh) | 一种基于神经网络的目标检测方法、装置、机器可读介质及设备 | |
CN111209933A (zh) | 基于神经网络和注意力机制的网络流量分类方法和装置 | |
CN113255821B (zh) | 基于注意力的图像识别方法、系统、电子设备及存储介质 | |
CN109074497A (zh) | 使用深度信息识别视频图像序列中的活动 | |
WO2023160162A1 (zh) | 预测碰撞仿真结果的方法、装置、设备及存储介质 | |
CN112016502B (zh) | 安全带检测方法、装置、计算机设备及存储介质 | |
CN110717405B (zh) | 人脸特征点定位方法、装置、介质及电子设备 | |
CN111126358A (zh) | 人脸检测方法、装置、存储介质及设备 | |
CN113838134B (zh) | 图像关键点检测方法、装置、终端和存储介质 | |
CN113298931B (zh) | 一种物体模型的重建方法、装置、终端设备和存储介质 | |
CN113435531B (zh) | 零样本图像分类方法、系统、电子设备及存储介质 | |
CN110555861A (zh) | 光流计算方法、装置及电子设备 | |
CN113240128A (zh) | 数据不平衡的协同训练方法、装置、电子设备及存储介质 | |
WO2023185541A1 (zh) | 一种模型训练方法及其相关设备 | |
CN116152419A (zh) | 数据处理方法、装置、设备及存储介质 | |
US20220148298A1 (en) | Neural network, computation method, and recording medium | |
CN114419473A (zh) | 一种基于嵌入式设备的深度学习实时目标检测方法 | |
CN113706606A (zh) | 确定隔空手势位置坐标的方法及装置 | |
CN113139490B (zh) | 一种图像特征匹配方法、装置、计算机设备及存储介质 | |
CN116309274B (zh) | 图像中小目标检测方法、装置、计算机设备及存储介质 | |
CN114819149B (zh) | 基于变换神经网络的数据处理方法、装置和介质 | |
CN116486204A (zh) | 模型训练方法、装置、电子设备和计算机可读存储介质 | |
CN115205841A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |