CN115210720A - 提供集成教师-学生系统的方法、设备和介质 - Google Patents
提供集成教师-学生系统的方法、设备和介质 Download PDFInfo
- Publication number
- CN115210720A CN115210720A CN202180019170.2A CN202180019170A CN115210720A CN 115210720 A CN115210720 A CN 115210720A CN 202180019170 A CN202180019170 A CN 202180019170A CN 115210720 A CN115210720 A CN 115210720A
- Authority
- CN
- China
- Prior art keywords
- teacher
- student
- subnet
- data
- feature map
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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 Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了用于集成教师‑学生机器学习系统的方法、设备和处理器可读介质。对一个或多个教师‑学生模块进行训练,作为教师神经网络训练的一部分。每个学生子网使用所述教师神经网络的一部分生成中间特征图,然后将所述中间特征图提供给学生子网以生成推断。所述学生子网可以使用特征增强块将所述中间特征图到后续特征图。在一些实施例中,压缩块可以用于压缩中间特征图数据进行传输。
Description
交叉引用
本申请要求于2020年3月5日提交的申请号为16/810,524、发明名称为“提供集成教师-学生系统的方法、设备和介质(Methods,devices and media providing anintegrated teacher-student system)”的美国非临时申请的权益,其全部内容通过引用结合在本申请中。
技术领域
本发明大体上涉及知识蒸馏(knowledge distillation),尤其涉及提供通过知识蒸馏进行训练的集成教师-学生系统的方法、设备和处理器可读介质。
背景技术
机器学习(Machine Learning,ML)是一种人工智能技术,其中,算法用于根据样本数据构建一种模型,这种模型能够应用于输入数据来执行具体的推理任务(即根据新数据进行预测或决策),而无需显式地对这些模型进行编程来执行具体的推理任务。神经网络用于构建已经处于训练阶段的模型。由于经过训练的模型通常包括大量在训练阶段学习到的参数,因此该模型在硬件设备上执行推理任务的计算量非常大。相应地,研究人员探索了简化或压缩构建模型的各种技术,以生成一个计算密集型低的模型,该模型的学习参数比构建模型的少,但性能与构建模型相当。
知识蒸馏(Knowledge Distillation,KD)是一种压缩技术,用于将大型神经网络(即学习参数多)的知识转移到小型神经网络(即学习参数少)。KD利用大型神经网络(称为“教师网络”)的泛化能力,将大型神经网络输出的推理数据用作“软目标(soft target)”。软目标用作训练小型模型(称为“学生子网”)的监督信号。这种技术与神经网络的传统训练形成鲜明对比,在传统训练中,与标签训练数据中表示的地面真值对应的“硬目标(hardtarget)”用作训练神经网络建立一种模型的唯一监督信号。
在KD中,学生子网接收软目标和硬目标作为监督信号。由于软目标相比于硬目标提供更高的熵、更小的方差(即更好的泛化),因此学生模型可以使用小型训练数据集进行训练。为了使KD有效,小型神经网络需要设计有合适的架构,而且教师网络必须独立于学生子网进行训练。因此,KD必然导致学生子网和教师网络不匹配,并限制两个网络的知识迁移。此外,由于知识迁移路径是单向路径(从教师网络到学生子网),因此在训练过程中提高学生子网的性能对教师网络没有好处。
Geoffrey Hinton、Oriol Vinyals和Jeff Dean在https://arxiv.org/abs/1503.02531上的“Distilling the Knowledge in a Neural Network(在神经网络中蒸馏知识)”中描述了知识蒸馏的广义技术,其全部内容通过引用结合在本申请中。其它适用的知识蒸馏教导可以在以下文献中查阅:Linfeng Zhang、Jiebo Song、Anni Gao、JingweiChen、Chenglong Bao和Kaisheng Ma,Be your own teacher:Improve the performanceof convolutional neural networks via self distillation(成为自己的老师:通过自蒸馏提高卷积神经网络的性能),arXiv preprint:1905.08094,2019年;Linfeng Zhang、Zhanhong Tan、Jiebo Song、Jingwei Chen、Chenglong Bao和Kaisheng Ma,SCAN:AScalable Neural Networks Framework towards Compact and Efficient Models(面向紧凑式高效模型的可扩展神经网络框架),arXiv preprint:1906.03951,2019年;Seyed-Iman Mirzadeh、Mehrdad Farajtabar、Ang Li、Nir Levine、Akihiro Matsukawa和HassanGhasemzadeh,Improved Knowledge Distillation via Teacher Assistant(通过教师助手改进知识蒸馏),arXiv preprint:1902.0339,2019年,其全部内容通过引用结合在本申请中。
传统KD的典型架构10如图1A所示。大型教师网络20用于训练小型学生子网30。教师网络20根据输入数据22生成教师推理数据24。教师推理数据24用作监督学生子网30的软目标,并根据与教师网络相同的输入22通知应用于学生推理数据34的损失函数。
发明内容
本发明提供了提供使用知识蒸馏进行训练的集成教师-学生系统的方法、设备和处理器可读介质。在一些实施例中,对一个或多个学生神经网络进行训练,作为教师神经网络训练的一部分。每个学生神经网络使用所述教师神经网络的一部分(称为教师子网)生成中间特征图,然后将所述中间特征图提供给学生子网以生成推断。所述学生子网使用比所述教师网络少的学习参数生成推断。这样使得学生子模型在计算密集度比教师网络的低的平台上操作,可以与其它学生神经网络和/或整个教师神经网络独立操作或者作为集成学习推理系统的一部分。
在一些实施例中,所述学生子网可以包括特征增强块。所述特征增强块使用特征增强子网将所述中间特征图映射到后续特征图(即,对应于比所述中间特征图更靠近教师模型输出的特征的高阶特征图)。通过训练所述特征增强子网以执行所述中间特征图到后续特征图的非线性映射,可以融合两个特征图。
为了在这种集成学习推理系统的各个部分之间实现压缩数据并潜在地减少延迟,在一些实施例中,压缩块可以用于压缩中间特征图数据进行传输。
示例性实施例涉及第一方法。在推理模式下操作集成系统的神经网络的第一教师子网,以根据所述集成系统接收到的推理模式数据输入生成第一中间特征图。在所述推理模式下操作所述集成系统的第一学生子网,以根据所述第一中间特征图生成学生推理数据。所述第一学生子网在训练模式下操作时已经使用作为监督信号提供的后续推理数据完成训练,所述后续推理数据由所述集成系统的后续子网生成。
根据可以与本文中公开的其它实施例结合的另一方面,所述方法还包括:使用第一处理器在所述推理模式下操作先前教师子网,以根据推理模式数据输入生成先前中间特征图以及根据所述先前中间特征图提供压缩数据。在第二处理器侧接收所述压缩数据,其中,所述第二处理器用于在所述推理模式下操作所述第一教师子网和所述第一学生子网。
根据可以与本文中公开的其它实施例结合的另一方面,所述压缩数据通过以下方式提供:根据所述先前中间特征图生成位置归一化数据;对所述先前中间特征图进行下采样,以生成嵌入向量;根据所述位置归一化数据和所述嵌入向量生成所述压缩数据。
根据可以与本文中公开的其它实施例结合的另一方面,所述第一教师子网包括所述教师神经网络的一层或多层。
根据可以与本文中公开的其它实施例结合的另一方面,所述第一学生子网包括特征增强子网;所述特征增强子网在训练模式下操作上已经完成训练,以使用所述集成系统的后续教师子网提供的倒数第二特征图数据作为监督信号在所述特征增强子网的输入和输出之间执行非线性映射。
根据可以与本文中公开的其它实施例结合的另一方面,所述第一中间特征图包括第一中间特征图矩阵。所述生成学生推理数据包括:根据所述第一中间特征图矩阵生成输出特征图矩阵作为输出,其中,所述输出特征图矩阵与所述第一中间特征图矩阵具有不同的矩阵维度;根据所述输出特征图矩阵生成所述学生推理数据。
根据可以与本文中公开的其它实施例结合的另一方面,所述特征增强子网通过将至少一个卷积操作、至少一个下采样操作和至少一个级联操作应用于所述第一中间特征图矩阵,生成所述输出特征图矩阵。
其它示例性实施例涉及第二方法。接收特征图。根据所述特征图生成位置归一化数据。对所述特征图进行下采样,以生成嵌入向量。根据所述位置归一化数据和所述嵌入向量生成压缩数据。通过通信链路发送所述压缩数据。
根据可以与本文中公开的其它实施例结合的另一方面,所述特征图由操作神经网络的先前子网的第一处理器生成。所述方法还包括:在第二处理器侧通过所述通信链路接收所述压缩数据;使用所述第二处理器操作所述神经网络的第一子网,以根据所述压缩数据生成推理数据。
根据可以与本文中公开的其它实施例结合的另一个方面,所述机器学习模型的所述先前子网包括所述神经网络的第一层。所述机器学习模型的所述第一子网包括所述神经网络的第二层。
其它示例性实施例涉及第三方法。提供集成系统。所述集成系统包括教师神经网络,所述教师神经网络串联包括:第一教师子网,用于根据输入到所述教师神经网络的训练模式数据输入生成第一中间特征图;最终教师子网,用于根据所述第一中间特征图生成教师推理数据。所述集成系统还包括第一学生子网,用于根据所述第一中间特征图生成第一学生推理数据。所述方法还包括:训练所述集成系统。通过所述教师神经网络前向传播所述训练模式数据输入,以生成所述第一中间特征图和所述教师推理数据。通过所述第一学生子网前向传播所述第一中间特征图,以生成所述第一学生推理数据。根据应用于所述第一学生推理数据和所述教师推理数据的知识蒸馏损失函数计算第一知识蒸馏损失。通过所述第一学生子网和所述第一教师子网反向传播所述第一知识蒸馏损失,以训练所述第一学生子网和所述第一教师子网。
根据可以与本文中公开的其它实施例结合的另一方面,所述教师神经网络还串联包括在所述第一教师子网之前的先前教师子网,用于根据所述训练模式数据输入生成先前中间特征图。所述集成系统还包括先前学生子网,用于根据所述先前中间特征图生成先前学生推理数据。所述训练所述集成系统还包括:通过所述先前学生子网前向传播所述先前中间特征图,以生成所述先前学生推理数据;根据应用于所述先前学生推理数据和所述第一学生推理数据的知识蒸馏损失函数计算先前知识蒸馏损失;通过所述先前学生子网和所述先前教师子网反向传播所述先前知识蒸馏损失,以训练所述先前学生子网和所述先前教师子网。
根据可以与本文中公开的其它实施例结合的另一方面,所述方法还包括:在所述教师神经网络和所述第一学生子网已经完成训练之后,在推理模式下联合操作所述第一教师子网和所述第一学生子网以执行推理任务。
根据可以与本文中公开的其它实施例结合的另一方面,所述最终教师子网还用于根据所述第一中间特征图生成倒数第二特征图。所述方法还包括:提供第一特征增强子网作为所述第一学生子网的一部分;通过以下方式训练所述第一特征增强子网:通过所述第一特征增强子网前向传播所述第一中间特征图,以生成第一学生特征图;通过对所述倒数第二特征图和所述第一学生特征图进行比较,计算特征增强损失;通过所述第一特征增强子网反向传播所述特征增强损失,以训练所述第一特征增强子网。
其它示例性实施例涉及一种设备。所述设备包括:处理器;存储器,存储有指令,其中,所述指令用于执行上文描述的方法步骤。
根据可以与本文中公开的其它实施例结合的另一方面,所述设备还包括通信链路。
根据可以与本文中公开的其它实施例结合的另一方面,提供了一种非瞬时性处理器可读介质。所述非瞬时性处理器可读介质包括处理器能够执行以执行上文描述的方法步骤的指令。
在一些这样的实施例中,所述方法或设备可以表现出与已知技术相比的各种优点。一些实施例可以解决使用单个教师-学生模型通过共享计算在多个平台上实现分布式推理的问题。一些实施例可以实现单个模型教师-学生训练范式以在不同的平台上推理。一些实施例可以改进自蒸馏框架中学生子网的特征表示。一些实施例可以在多个推理平台上共享计算,以消除冗余计算并通过隐私保护实现更快推理。
附图说明
现在将结合附图通过示例来描述实施例,其中,相似的附图标记可以用于指示相似的特征。
图1A是教师网络和学生子网之间的传统知识蒸馏的框图。
图1B是本文中描述的示例性实施例提供的包括多个集成教师-学生模块的集成教师-学生系统的框图。
图2A是本文中描述的示例性实施例提供的教师网络的框图。
图2B是本文中描述的示例性实施例提供的系统的框图,所述系统包括在所述系统的训练过程中与图1B中的多个学生子网集成的图2A中的教师网络。
图3A是本文中描述的示例性实施例提供的图1B中的集成教师-学生系统的详细框图。
图3B是本文中描述的示例性实施例提供的使用特征增强的图1B中的集成教师-学生系统的可选详细框图。
图4是本文中描述的示例性实施例提供的在多个平台上作为集成学习推理系统操作的图3B中的集成教师-学生系统的详细框图。
图5是本文中描述的示例实施例提供的压缩块的框图。
图6是本文中描述的示例性实施例提供的特征增强块的框图。
图7是本文中描述的示例性实施例提供的设备的框图。
图8是本文中描述的示例性实施例提供的用于训练图1B、图2B、图3A、图3B或图4中的集成教师-学生机器学习系统的第一方法的流程图。
图9是本文中描述的示例性实施例提供的由图6中的特征增强块执行的第二种特征增强方法的流程图。
图10是本文中描述的示例性实施例提供的由图6中的特征增强块执行的第三种特征图压缩方法的流程图。
具体实施方式
本发明以附图作为参考,在所述附图中示出了实施例。然而,可以使用许多不同的实施例,因此不应将描述解释为限于本文中阐述的实施例。相反,提供这些实施例是为了使得本发明透彻和完整。在可能的情况下,在附图和具体实施方式中,相同的附图标记用于表示相同的元件,在替代的实施例中,加撇符号用于表示类似的元件、操作或步骤。所示系统和设备的功能元件的单独框或所示分离不一定需要这些功能的物理分离,因为在没有任何这种物理分离的情况下,这些元件之间的通信可以通过消息传递、功能调用、共享存储器空间等方式发生。因此,功能不需要在物理分离或逻辑分离的平台中实施,但是在本文中为了便于解释,将它们单独示出。不同的设备可以具有不同的设计,使得尽管一些设备在固定功能硬件中实现一些功能,但其它设备可以在可编程处理器中利用从机器可读介质获得的代码来实现这些功能。最后,采用单数形式表示的元件可以具有复数含义,反之亦然,除非上下文另有明确或固有指示。
下面结合提供集成教师-学生机器学习系统的方法、设备和非瞬时性介质来描述示例性实施例。描述了教师和学生模型的训练,以及集成系统的教师模型和/或学生子模型在推理模式下的操作以执行推理任务。详细描述了学生模型中包括的特征增强块。还详细描述了教师模型中包括的压缩块。
神经网络
本文中使用的“神经网络”是指一种可执行的计算结构,例如处理器可执行的软件指令,这种计算结构可以在训练模式下执行,用来学习一种模型以执行特定的推理任务。一旦完成训练,神经网络就可以在推理模式下操作以执行推理任务。本文中描述的神经网络应描述为卷积神经网络,用于执行与输入数据(例如表示数字图像的图像数据)有关的特定推理任务。推理任务的示例包括分类、对象检测或分割任务。然而,应当理解,本文中描述的各种实施例可以同样适用于其它推理任务、其它神经网络(例如全连接或递归神经网络),其中对某些操作(例如用于知识蒸馏的具体损失函数)进行适当更改。例如,本文中描述的技术可以使用长短期记忆(Long Short-Term Memory,LSTM)、门控循环单元(GatedRecurrent Unit,GRU)或来自变压器的双向编码器表示法(Bidirectional EncoderRepresentations from Transformers,BERT)应用于语言推理任务,其中对损失函数进行相应更改,例如使用Kullback-Leibler(KL)散度。此外,本文中描述的一些实施例可以具有神经网络上下文之外的应用:压缩块的某些实施例一般适用于多维图像数据的压缩,特征增强块的某些实施例一般适用于具有不同数据维度的两个数据图之间的非线性映射。
集成教师-学生系统
下面参考图1B中的集成教师-学生系统(或“集成系统”)100描述示例性实施例。集成系统100包括多个集成教师-学生模块104。如下文结合图3所述,每个集成教师-学生模块104包括教师网络102的一部分和学生子网。
推理任务可以由教师网络102和每个教师-学生网络104执行。教师网络102使用具有许多学习参数的相对较大的模型执行推理任务,其输出是教师推理数据108。每个教师-学生网络104使用学习参数比教师网络102的少的相对较小的模型执行推理任务,每个教师-学生网络104的输出是学生推理数据322、324、326、328。在一些实施例中,每个连续编号较小的教师-学生网络104具有更少参数,即TS1 122比TS2 124的参数少,依此类推。
在不同的实施例中,教师-学生模块104的数量可以多于或少于4个。
参考图3A,示出了第一示例性集成系统(“第一集成系统”)300的详细框图。第一集成系统300包括由多个教师子网组成的教师网络102:接收输入数据106的初始教师子网302、第一中间教师v 310、第二中间教师子网312、第三中间教师子网314和生成教师推理数据108的最终教师子网314。在一些实施例中,输入数据106包括图像数据,教师推理数据108包括与输入数据106有关的推理任务的预测或推断概率。
第一集成系统300还包括多个学生子网:从初始教师子网302接收中间特征图1340的学生子网1 352;从第一中间教师子网310接收中间特征图2 342的学生子网2 354;从第二中间教师子网312接收中间特征图3 344的学生子网3 356;从第三中间教师子网314接收中间特征图4 346的学生子网4 358。
第一集成系统300包括图1B中标识的多个集成教师-学生模块104。每个集成教师-学生模块包括一个或多个教师子网和学生子网。虚线概述了第三集成教师-学生子网126,对应于图1B中的TS3 126,包括初始教师子网302、第一中间教师子网310、第二中间教师子网312和学生子网3 356。其它集成教师-学生模块(为了保持清晰,在图中未标识)是包括302和352的第一集成教师-学生模块、包括302、310和354的第二集成教师-学生模块以及包括302、310、312、314和358的第四集成教师-学生模块。
如参考教师子网和学生子网的设置所述,例如图3A或图3B所示的教师子网和学生子网,术语“先前”、“后续”和如卷积神经网络部分所述的其它时间或空间术语可以存在其它专门含义。相对于第一集成系统300的第一部分,术语“先前”可以表示靠近输入数据106的组件或操作,而术语“后续”可以表示靠近教师推理数据108的组件或操作。在学生子网2354等学生子网的情况下,“先前”或类似术语还可以指学生子网1 352等上行(沿着教师网络102的长度测量)学生子网,或者指初始教师子网302或第一中间教师子网310等上行教师子网;“后续”或类似术语也可以指学生子网3 356等下行(沿着教师网络102的长度测量)学生子网,或者指第二中间教师子网312等后续教师子网。
在本示例性实施例中,除了最终教师子网314之外的每个教师子网都包括相同的功能块:第一卷积块304、第二卷积块306和压缩块308。卷积块304、306的操作是本领域技术人员已知的。压缩块308的操作在下文关于压缩的部分中详述。在一些实施例中,每个教师子网中的卷积块的数量可以不只是2个。每个教师子网对应于教师网络102的一部分,例如神经网络的一层或多层或执行机器学习或推理过程的一部分的一个或多个功能块。在一些实施例中,可以省略压缩块308。
最终教师子网314不使用压缩块308。相反,教师网络102的教师推理数据108是通过将softmax函数320应用于第二卷积块306(或教师网络的最终卷积块或层)的输出生成的。
中间特征图340、342、344、346由每个相应的教师子网302、310、312、314的第二卷积块306生成。这些中间特征图340、342、344、346由它们各自的学生子网352、354、356、358接收作为输入数据。每个学生子网352、354、356、358包括一个或多个卷积块,使得学生子网352、354、356、358可以进行训练以根据作为输入数据接收的特征图340、342、344、346生成推理数据。因此,每个学生子网都作为各自绕过的后续教师子网的较小替代子网进行操作。例如,学生子网1 352可以进行训练以使用与自己绕过的一系列教师子网(即第一中间教师子网310到最终教师子网316)基本相同的输入来生成推理数据。当学生子网1 352与初始教师子网302联合操作,作为集成教师-学生模块TS1 122时,集成教师-学生模块包括网络比教师网络102小(即参数少)的神经网络。由于集成教师-学生模块TS2 124依赖于两个教师子网302、310,因此其中包括的神经网络比集成教师-学生模块S1 122中包括的神经网络稍大。这种趋势延续到集成教师-学生模块S4 128,其包括集成教师-学生模块104的最大神经网络,依赖于4个教师子网302、310、312、314。然而,在一些实施例中,由于学生子网4 358使用的学习参数比最终教师子网316使用的学习参数少,因此集成教师-学生模块TS4 128仍然小于整个教师网络102。
每个学生子网352、354、356、358生成学生对数(logits)353、355、357、359,这些对数具有应用于自身的softmax函数320,以生成学生推理数据322、324、326、328。本文中使用的“推理数据”、“教师推理数据”和“学生推理数据”等术语可以用于描述通过对数函数生成的对数,或者描述应用于对数的softmax函数的输出。
在训练模式下操作时,如下文的训练部分详述,集成系统300使用结合图2B如下文的训练部分所述的一连串监督信号。由最终教师子网316生成的教师推理数据108用作教师监督信号110,从而提供软目标进行学生子网4 358和学生子网3 356的知识蒸馏训练。由学生子网4 358生成的学生推理数据328作为TS4监督信号112提供给学生子网2 354。由学生子网3 356产生的TS3学生推理数据326作为TS3监督信号114提供给学生子网1 352。作为输入数据106提供给教师网络102的数据是标记训练数据,教师网络102还向每个学生网络352、354、356、358和教师网络102本身提供作为硬目标的地面真值标签。这些监督信号单独或与其它信号结合,由集成系统300用来训练每个教师-学生模块104和教师网络102,如下文在训练部分中所述。
参考图3B,示出了第二示例性集成系统(“第二集成系统”)301。第二集成系统301的结构和操作基本上与第一集成系统300的结构和操作类似。然而,在第二集成系统301中,每个学生网络都包括特征增强(feature enhancement,FE)块:FE块1 362、FE块2 364、FE块3 366和FE块4 368。每个FE块362、364、366、368用于将各自的中间特征图340、342、344、346与最终教师模块316的倒数第二层提供的倒数第二特征图360融合,以使中间特征图340、342、344、346非线性映射到倒数第二特征图360。在卷积神经网络实现方式(例如第二集成系统301)中,倒数第二特征图360是紧接在教师网络102的最终对数层之前的层的输出,教师对数380是在教师推理数据108之前到达最终softmax函数320的输入。特征增强块的操作如下文的特征增强部分详细描述。
在一些实施例中,经过训练的教师-学生模块104可以跨多个设备或平台作为集成学习(ensemble)推理系统进行操作。参考图4,示出了示例性集成学习推理系统400在5个不同的设备402、404、406、408、410上操作,每个设备都实现第二集成系统301的一部分。在一些实施例中,每个设备402、404、406、408、410可以构成单独的硬件设备,如下文的设备部分所述。在其它实施例中,每个设备402、404、406、408、410可以实现为单独的虚拟设备、云计算平台上的单独实例、多处理器设备内的单独处理器或上述各项的某种组合。设备402、404、406、408、410通过通信链路相互通信,通信链路可以是有线或无线网络通信接口、内部数据总线等的某种组合。
所示的集成学习推理系统400包括操作初始教师模块302和学生模块1 352以生成第一学生推理数据322的第一设备402。初始教师模块302的压缩块308生成第一压缩数据412,以通过通信链路从第一设备402发送到第二设备404。第二设备404类似地包括第一中间教师模块310和学生模块2 354,其中,压缩块308向第三设备406生成第二压缩数据414。第三设备406包括第二中间教师模块312和学生模块3 356,并向第四设备408生成第三压缩数据416。第四设备408包括第三中间教师模块314和学生模块4 358,并向最终设备410生成第四压缩数据418。最终设备410包括最终教师模块316。
在一些实施例中,第二集成系统301在进行分割和安装在5个设备402、404、406、408、410上以在推理模式下操作之前,在单个平台(例如单个云计算平台或单个计算机)上以训练模式进行训练。在推理模式下,集成学习预测系统400能够在一个或多个设备侧生成教师推理数据108和/或学生推理数据322、324、326、328,取决于有多少设备正在操作和通过其它设备的通信链路可访问。在第一示例性场景中,第二设备404(例如移动设备)的用户可以仅与第一设备402进行通信。在这种情况下,教师-学生模块TS2 124可以由相互通信的第一设备402和第二设备404实现,从而在第二设备404侧生成第二学生推理数据324。在第二场景中,第二设备404也与第三设备406、第四设备408和最终设备410进行通信,用户可以访问第二学生推理数据324,然后等待教师推理数据108生成并从最终设备410(例如云服务器)发送到第二设备404,以增强或确认第二学生推理数据324。
将计算分布在多个平台或设备上可以提供若干优势。这样可以实现更有效的流水线,因为每个学生模块与后续教师模块并行在后续设备上执行其计算。这样可以使得每个设备负责操作一组适合其计算能力的模块或子网。这样还在集成学习推理系统400中的一个或多个设备不可用或另一个设备无法到达的情况下实现冗余和灵活性。
在一些情况下,集成学习系统的瓶颈是设备之间的通信链路。现代硬件通常提供适合神经网络和其它并行计算结构的大规模并行计算,但设备之间的通信链路受限于它们的并行吞吐量。这样会导致集成学习系统执行的推理任务延迟。在一些实施例中,集成学习推理系统400使用每个设备402、404、406、408、410的压缩块308来压缩由一个教师模块生成的且由下一个教师模块用作输入的特征图数据,如下文在压缩部分中所述。这种压缩可以完全或部分解决教师子网之间通信链路上的数据瓶颈。
特征增强
特征增强(feature enhancement,FE)块可以用于代替上文在集成教师-学生模型部分中描述的学生子网,或作为其一部分。特征增强块可以用于学习用于分类任务的低分辨率抽象特征。特征增强块模拟教师网络102的倒数第二特征图360的特征,从而改进其相应的教师-学生模块104的特征表示。
用作学生子网输入的教师网络102的中间特征图340、342、344、346可以表示低层特征(例如图像相关推理任务的上下文中的线条、边缘、斑点等),而许多推理任务需要高层抽象特征。为了改进教师-学生模块104的特征表示,来自上层的粗级别特征融合到教师网络102的下层的细级别特征。使用图6所示的特征增强块,以自上而下和自下而上的方式执行融合。
参考图6,示出了第二集成系统301的第一特征增强块362的框图。第一特征增强块362包括特征增强子网600,特征增强子网600包括多个卷积块620。第一特征增强块362接收中间特征图1 340作为输入。
由于教师网络102和教师-学生模块104的特征图在空间维度上可能不同,因此中间特征图可以通过自下而上或自上而下的方式与倒数第二特征图360融合,以学习高度非线性映射。执行自上而下和自下而上的融合可以让学生子网学习丰富的特征表示。
中间特征图1 340用作4个不同子分支中的每个子分支的输入:第一子分支640、第二子分支642、第三子分支644和第四子分支646。第一子分支640和第二子分支642一起构成自上而下分支630,而第三子分支644和第四子分支646一起构成自下而上分支630。在自上而下分支630内,相对于第二子分支642的自下而上操作,第一子分支640自上而下操作;在自下而上分支630内,相对于第四子分支646的自下而上操作,第三子分支644自上而下操作。
第三子分支644和第四子分支646使用下采样操作622对它们各自的输入特征图进行下采样。
4个子分支640、642、644、646都包括一个或多个卷积块620。每对子分支使用级联操作624对其输出进行级联,从而将级联结果传递到另一个卷积块620。在自上而下分支630中,这种输出则通过下采样操作622进行下采样。
因此,自上而下分支630和自下而上分支632的输出都具有相同的分辨率,因为每个输出都经过单一的下采样操作622。自上而下分支630和自下而上分支632的输出进行组合并传递到最终卷积块626。最终级联块626产生输出特征图矩阵610作为其输出。输出特征图矩阵610的数据维度与倒数第二特征图360的数据维度相同,从而将输出特征图矩阵610输入到最后层,以生成用于第一教师-学生模块TS1 122的一组学生对数353。
当在训练模式下操作时,倒数第二特征图360用于将监督信号提供给特征增强子网600。损失函数(例如L2(最小二乘误差)损失函数)用于将倒数第二特征图360与输出特征图矩阵610进行比较,并提供特征增强损失计算以通过特征增强子网600的卷积块620反向传播。
在一些实施例中,特征增强子网600只需要少量学习参数,因为通道的数量大大减少。在一些实施例中,FE块可以仅添加几千个浮点操作(Floating Point Operation,FLOP)。使用倒数第二特征图360进行训练在推理模式下不依赖于倒数第二特征图360。这有助于较小的学生子模型104独立于教师模型102执行推理任务。
在一些实施例中,下采样操作622可以是用于调整图像中的操作的简单双线性下采样。在一些实施例中,级联操作624可以沿着输入数据的通道维度级联。应当理解,其它实施例可以存在其它具体的下采样操作622或级联操作624。
本质上,特征增强机器学习模型600学习两个特征图(例如中间特征图1 340和倒数第二特征图360)之间的非线性映射。特征增强机器学习模型600可以独立于集成系统100、300、301使用,因此可以插入需要学习高度非线性映射函数的任何模型或应用中。
训练
所描述的示例性集成系统100、300、301都可以使用教师网络102的传统训练(在此称为“预训练”)和知识蒸馏的某种组合在训练模式下操作,以训练教师-学生模块104。第二集成系统301还可以使用上文在特征增强部分中描述的倒数第二特征图360来训练其FE块362、364、366、368使用的特征增强子网600。
参考图2A,在第一训练或预训练步骤中,使用包括多个训练样本的训练数据集以传统方式训练教师网络102,其中,每个训练样本都是标记训练数据。训练数据集中的训练样本作为输入数据106提供,教师网络102根据输入数据106(例如训练样本)生成教师推理数据108。与训练数据集中的每个相应训练样本相关联的地面真值标签由损失函数用作硬目标,该损失函数计算生成的教师推理数据108和地面真值标签之间的损失,该损失通过教师网络102反向传输以调整神经网络的参数(例如神经网络的权重)。
在一些实施例中,教师网络102的预训练可以在执行知识蒸馏步骤之前使用,以避免在初始知识蒸馏迭代中使用未经训练的教师网络102的输出。在其它实施例中,教师-学生模块104可以使用知识蒸馏来训练,而不预训练教师网络102,从而使得教师网络102在使用KD训练教师-学生模块104的同时进行训练。
参考图2B,示出了第二训练步骤或知识蒸馏(knowledge distillation,KD)步骤。教师网络102继续使用标记训练数据以传统方式进行训练。训练数据作为输入数据106提供,教师网络102生成教师推理数据108。如上所述,训练数据的地面真值标签用作教师的硬目标。在这一步骤中,教师-学生模块104也使用地面真值标签进行训练,其中,损失函数计算学生损失以通过教师-学生模块104反向传播,从学习子网322、324、326、328开始,并通过所有上行教师子网反向传播。因此,在训练第三教师-学生模块TS3 126时,损失函数应用于由学生子网3 356(即第三学生推理数据326的基础)生成的对数和由最终教师网络102生成的对数380,以计算第三学生损失。第三学生损失通过学生子网3 356的卷积块或层反向传播,然后通过第二中间教师子网312、第一中间教师子网310和初始教师子网302的卷积块或层反向传播。
此外,在这一步骤中,教师-学生模块使用软目标进行知识蒸馏训练。集成系统100使用级联训练框架,其中,高层下行教师-学生模块104(例如TS3 126和TS4 128)使用教师网络102根据教师网络102接收到的输入数据106生成的教师推理数据108进行训练,而这些下游教师-学生模块104的输出用于训练上行教师-学生模块104(例如TS1 122和TS2 124)。在图2B所示的示例中,教师监督信号110根据教师推理数据108确定,并输入到学生子网4358和学生子网3 356,以监督TS4 128和TS3 126。低层上行教师-学生模块104由它们的下一个中间下行相邻模块监督,即,TS1 122根据TS3 126的输出使用TS3监督信号114(输入到学生子网1 352)进行训练,而TS2 124根据TS4 128的输出使用TS4监督信号112(输入到学生子网2 354)进行训练。图2B所示的级联知识蒸馏训练图表示,TS3 126和TS4 128使用最终教师对数380作为教师监督信号110进行训练。KD损失函数应用于由TS3 126生成的教师监督信号110和学生对数357以计算TS3 126的KD损失,并且应用于由TS4 128生成的教师监督信号110和学生对数359以计算TS4 128的KD损失。
本文中描述的分层知识蒸馏训练技术作为教师和学生子网的循环反馈。随着训练的进行,更好的教师输出可能会产生更好的学生输出,反之亦然。这种循环反馈可以持续到模型达到其能力(即梯度流变为0或可忽略不计)。
当称为温度的元参数具有一个值且元参数的值(例如温度值)用于计算教师-学生模块104和教师网络102侧的概率推断时,知识蒸馏可能是最有效的。在执行分类推理任务的一些实施例中,类别i的概率pi可以计算为:
其中,xi是教师对数380,T是称为温度的元参数。教师对数380根据温度T进行缩放,其中,T=1,概率输出是正常的softmax输出。使用较大的T值会在类别上产生更软或更平坦的概率分布,而没有类别的概率接近0。在这些实施例中,包括学生损失和蒸馏损失的总损失函数可以计算为:
L(x;W)=α*H(y,σ(zs;T=1))+β*H(σ(zt;T=τ),σ(zs,T=τ))
其中,x是输入数据106(即训练样本),W是教师-学生模块104的参数,y是用作输入数据106的训练样本中的地面真值标签,H是交叉熵损失函数,σ是通过温度T参数化的softmax函数320,α和β是系数。Zt是教师对数380,zs是学生对数353、355、357或359。
应当理解,教师-学生模块104的训练可以使用替代的或另外的损失函数和/或监督信号。随着网络变得更准确,训练需要更多微调,温度T可能会在训练过程中降低。上面定义的蒸馏损失函数包括应用于由教师-学生模块104生成的对数353、355、357、359和根据温度缩放的教师对数380的softmax函数320,因此不同的实施例可以使用对数本身作为监督信号,而不是使用教师推理数据108或学生推理数据322、324、326、328;损失函数可相应地制定。
在一些实施例中,用于训练教师-学生模块104的监督信号110、112、114可以基于由教师网络102和/或下行教师-学生模块104生成的中间数据,例如在教师模型和/或教师-学生模块104的层或模块之间生成的中间特征图数据。一些实施例可以使用替代或另外的监督信号来监督教师-学生模块104。一些实施例另外使用从标记训练数据中获取的硬目标作为发往教师-学生模块104的监督信号,如在知识蒸馏中通过传统方式进行的那样。一些实施例可以使用教师监督信号110来直接监督所有教师-学生模块104,而不是仅仅监督下行教师-学生模块104。一些实施例可以使用紧密连接的监督图代替图3所示的级联图,其中,每个教师-学生模块104由所有下行教师-学生模块104监督(即,使用教师监督信号110以及TS4监督信号112和TS3监督信号114监督TS2)。
压缩
如上文的集成教师-学生系统部分所述,设备402、404、406、408、410之间的通信链路是分布式或集成学习推理系统的瓶颈。压缩块308可以是集成系统的一部分,以高效压缩集成系统中的中间特征图。在一些实施例中,中间特征图由压缩块308压缩为低维度嵌入向量,这些低维度嵌入向量可以很容易跨设备同步,从而实现共享计算。
在使用压缩块308在设备之间(因此在教师子网之间)进行通信的集成系统中,每个教师-学生模块104存在两个输出:softmax函数320的输出和由压缩块308生成的压缩数据(例如第一压缩数据412)。在一些实施例中,softmax输出非常准确,而压缩数据是用于数据传输的低维度数据。在一些实施例中,压缩块可以是保存压缩特征图的n维嵌入层(其中,n取决于压缩比)。
参考图5,示出了示例性压缩块308在第一设备402上操作并通过通信链路与第二设备404进行通信。结合使用图像输入数据的图像相关推理任务,描述了压缩块308的操作。
将维度为NHWC(批量大小×像素高度×像素权重×通道数)的中间特征图1 340提供给压缩块308作为输入。中间特征图1 340进行位置归一化(position normalization,PONO)操作504。位置归一化由Boyi Li、Felix Wu、Kilian Q.Weinberger和Serge Belongie在通过https://arxiv.org/pdf/1907.04312.pdf获取的“Positional Normalization(位置归一化)”中描述,其全部内容通过引用结合在本申请中。PONO块504通过沿着信道维度对中间特征图1 340进行归一化以得到每像素位置统计数据,生成位置归一化数据506。位置归一化数据506包括每像素位置统计数据,即平均数据508和标准偏差数据510,形状都为NHW(批量大小×像素高度×像素宽度)。
在位置归一化操作504之后,中间特征图1 340进行下采样和重塑操作512,以得到大小为r-2NHWC的特征嵌入向量(示为嵌入向量514),其中,r是压缩比。在本示例中,嵌入向量512的有效大小是r-2NHWC+2NHW=NHW(r-2C+2)。
然后,压缩块308根据嵌入向量512和位置归一化数据506生成压缩数据412。压缩数据412通过通信链路发送到第二设备404。在第二设备404上,在进行上采样和重塑操作516之前,从压缩数据412中提取嵌入向量512。通过乘法操作518将上采样向量与位置归一化数据506的标准偏差数据510组合,并且通过加法操作520将该组合的输出进一步与位置归一化数据506的平均数据508组合。
设备
本文中描述的各种集成系统100、300、301、特征增强块和压缩块308可以使用许多计算平台或设备(例如图4所示的设备402、404、406、408、410)中的任一个平台或设备来实现。参考图7,以简化的框图格式示出了示例性设备700。在一些实施例中,设备700可以用作用于训练集成系统100、300、301的平台,如上文的训练部分所述。在一些实施例中,设备700可以是用于在推理模式下操作图4所示的集成学习推理系统400的5个设备402、404、406、408、410中的一个设备。在一些实施例中,设备700可以用于在推理模式下操作独立的教师-学生模块104:例如,用于操作教师-学生模块TS2 124的设备700已经将指令加载到其存储器中,以操作初始教师子网302、第一中间教师子网310和学生子网2 354。在训练模式或推理模式下操作的神经网络或子网中的任一个网络以及本文中描述的特征增强块、压缩块或其它功能块或操作中的任一个块或操作可以由设备700操作,如图7所示。设备700包括用于执行计算机程序指令的处理器702和用于存储可执行指令和数据的存储器704。
处理器702可以被实施为能够执行计算机程序指令的任何处理资源,例如计算机或一个或多个计算平台上的一个或多个处理器。存储器704可以被实施为任何数据存储资源,例如一个或多个计算平台上的一个或多个磁盘驱动器、随机存取存储器或易失性或非易失性存储器。
存储器704存储有若干类型的以可执行指令为形式的计算机程序。存储器704存储有一组可执行指令710,用于执行方法步骤和实现本文中描述的操作和功能块。存储器704还存储有一组或多组指令,用于训练神经网络和操作经过训练的机器学习模型或其部分以执行推理任务,这里示为教师子网模块712和学生子网模块714。教师子网模块712和学生子网模块714的执行可以对应于本文中描述的集成系统100、300、301的教师子网302、310、312、314、316和学生子网352、354、356、358的训练模式或操作模式。
存储器704可以存储有若干类型的数据780。数据780可以包括在训练和预训练中使用的标记训练数据782、在推理模式下用作输入数据106的输入数据784以及由集成系统100、300、301或其部分生成的作为教师推理数据108和/或学生推理数据322、324、326和/或328的输出数据786。数据780也可以包括特征图数据788和/或压缩数据789。在一些实施例中,数据780可以经由通过通信链路795进行通信的通信子系统790从外部源接收,数据780可能部分存储在存储器704中的缓冲区或高速缓存中。
方法
本文中描述的各种集成系统100、300、301,特征增强块362、364、366、368和压缩块308的操作应参考图8至图10中的流程图描述为方法。
参考图8,示出了用于训练和操作集成教师-学生系统的一部分的第一方法800。在步骤802中,提供集成教师-学生机器学习模型(例如第二集成系统301)。所述集成教师-学生机器学习模型包括教师神经网络(例如教师网络102)。所述教师网络串联包括先前教师子网、第一教师子网和最终教师子网。每个教师子网可以由教师子网模块712实现,如上文在设备部分中所述。所述先前教师子网(例如初始教师子网302)用于根据发往所述教师网络的训练模式数据输入(例如输入数据106)生成先前中间特征图(例如中间特征图1 340)。所述第一教师子网(例如第二中间教师子网312)用于根据所述训练模式数据输入生成第一中间特征图(例如中间特征图3 344)。所述最终教师子网(例如最终教师子网316)用于根据所述第一中间特征图生成教师推理数据(例如教师推理数据108),以及根据所述第一中间特征图生成倒数第二特征图(例如倒数第二特征图360)(例如通过第三中间教师子网314和最终教师子网316前向传播中间特征图3 344,以使用最终教师子网316的第二卷积块306的倒数第二层生成倒数第二特征图360)。
所述集成教师-学生机器学习模型还包括先前学生子网(例如第一学生子网352),用于根据所述先前中间特征图生成先前学生推理数据(例如第一学生推理数据322)。所述集成教师-学生机器学习模型还包括第一学生子网(例如第三学生子网356),用于根据所述第一中间特征图生成第一学生推理数据(例如第三学生推理数据326)。所述第一学生子网包括第一特征增强子网(例如第三FE块366组成的FE网络600)。每个学生子网包括每个特征增强子网,可以由学生子网模块714实现,如上文在设备部分中所述。
在步骤803中,通过所述第一特征增强子网前向传播所述第一中间特征图,以生成第一学生特征图(例如第三特征增强块366的输出特征图矩阵610)。
在步骤804中,通过将所述倒数第二特征图和所述第一学生特征图进行比较,计算特征增强损失(例如图6中的L2损失)。
在步骤806中,通过所述第一特征增强子网反向传播所述特征增强损失,以训练所述第一特征增强子网。
在步骤807中,通过所述教师网络前向传播所述训练模式数据输入,以生成所述第一中间特征图和所述教师推理数据。
在步骤808中,通过所述第一学生子网前向传播所述第一中间特征图,以生成所述第一学生推理数据。
在步骤809中,通过所述先前学生子网前向传播所述先前中间特征图,以生成所述先前学生推理数据。
在步骤810中,根据应用于所述第一学生推理数据和所述教师推理数据的知识蒸馏损失函数(例如在上文的训练部分中描述的KD损失函数)计算第一蒸馏损失。
在步骤811中,根据应用于所述先前学生推理数据和所述第一学生推理数据的知识蒸馏损失函数(例如在上文的训练部分中描述的KD损失函数)计算先前知识蒸馏损失。
在步骤812中,通过所述第一学生子网和所述第一教师子网反向传播所述第一知识蒸馏损失,以训练所述第一学生子网和所述第一教师子网。
在步骤814中,通过所述先前学生子网和所述先前教师子网反向传播所述先前知识蒸馏损失,以训练所述先前学生子网和所述先前教师子网。
在步骤816中,在所述教师网络和所述第一学生子网已经完成训练之后,在推理模式下联合操作所述第一教师子网和所述第一学生子网来执行推理任务。根据上述步骤中给出的示例,这将对应于操作至少第三学生子网356和第二中级教师子网312来执行推理任务。第三教师-学生模块TS3 126包括初始教师模块302和第一中间教师模块310,两者可以位于同一设备或一个或多个单独设备上。
参考图9,示出了用于在推理模式下操作集成教师-学生机器学习模型(例如第三集成系统301)的一部分的第二方法900。在步骤902中,第一处理器(例如第一设备402的处理器702)用于在推理模式下操作先前教师子网(例如初始教师子网302),以根据推理模式数据输入(例如输入106)生成先前中间特征图(例如中间特征图1 340)。
在步骤904中,根据所述先前中间特征图生成位置归一化数据(例如PONO数据506)。
在步骤906中,(例如通过下采样和重塑操作512)对所述先前中间特征图进行下采样,以生成嵌入向量(例如嵌入向量514)。
在步骤908中,根据所述位置归一化数据和所述嵌入向量(例如由压缩块308)生成压缩数据(例如压缩数据412)。
在步骤910中,在第二处理器(例如第二设备404的处理器702)侧接收压缩数据,其中,所述第二处理器用于在所述推理模式下操作第一教师子网(例如第二中间教师子网312)和第一学生子网(例如第三学生子网356)。所述第一学生子网包括特征增强网络(例如特征增强子网600)。所述第一学生子网在训练模式下操作时已经使用作为监督信号(例如教师监督信号110)提供的后续推理数据(例如教师推理数据108)完成训练,所述后续推理数据由所述集成机器学习模型的后续子网(例如最终教师子网316)生成。所述特征增强子网在训练模式下操作时已经完成训练,以使用所述集成机器学习模型的后续教师子网(例如最终教师子网316)提供的倒数第二特征图数据(例如倒数第二特征图360)作为监督信号在所述特征增强子网的输入和输出之间执行非线性映射。
在步骤912中,所述第一教师子网在所述推理模式下操作,以根据所述压缩数据生成第一中间特征图(例如中间特征图3 344)。
在步骤914中,将所述第一中间特征图提供给所述特征增强子网作为输入。在一些实施例中,所述第一中间特征图可以包括第一中间特征图矩阵。
在步骤916中,所述第一学生子网在所述推理模式下操作,以根据所述第一中间特征图矩阵生成输出特征图矩阵(例如输出特征图矩阵610)作为输出,其中,所述输出特征图矩阵与所述第一中间特征图矩阵具有不同的矩阵维度。所述学生子网的所述特征增强子网通过将至少一个卷积操作、至少一个下采样操作和至少一个级联操作应用于所述第一中间特征图矩阵,生成所述输出特征图矩阵,如上文的特征增强部分所述。
在步骤918中,根据所述输出特征图矩阵生成学生推理数据(例如第三学生推理数据326)。
参考图10,示出了用于(例如使用压缩块308)压缩机器学习模型使用的特征图数据的第三方法1000。在步骤1002中,第一处理器(例如第一设备402的处理器702)生成特征图(例如中间特征图1 340),从而操作机器学习模型的先前教师子网(例如初始教师子网302)。
在步骤1004中,接收所述特征图。
在步骤1006中,根据所述特征图生成位置归一化数据(例如PONO数据506)。
在步骤1008中,(例如通过下采样和重塑操作512)对所述特征图进行下采样,以生成嵌入向量(例如嵌入向量514)。
在步骤1010中,生成包括所述位置归一化数据和所述嵌入向量的压缩数据(例如压缩数据412)。
在步骤1012中,通过通信链路(例如通信链路795)发送所述压缩数据。
在步骤1014,在第二处理器(例如第二设备404的处理器702)侧通过通信链路接收所述压缩数据。
在步骤1016中,所述第二处理器用于操作所述机器学习模型的第一模块(例如第四学生子网528或最终教师子网316),以根据所述压缩数据生成推理数据(例如第四学生推理数据328或教师推理数据108)。
本文描述的流程图和附图中的步骤和/或操作仅为了举例说明。在不脱离本发明的教导的情况下,这些步骤和/或操作可以有许多变化。例如,可以按不同的顺序执行步骤,或者可以添加、删除或修改步骤。
考虑到本发明,用于执行描述的上述方法的软件编码在本领域普通技术人员的范围内。可由一个或多个相应设备的一个或多个处理器执行以执行上述方法的机器可读代码可以存储在数据管理器的存储器等机器可读介质中。术语“软件”和“固件”在本申请内可互换,并且包括存储在存储器中供处理器执行的任何计算机程序,存储器包括随机存取存储器(Random Access Memory,RAM)存储器、只读存储器(Read Only Memory,ROM)存储器、EPROM存储器、电EPROM(electrically EPROM,EEPROM)存储器和非易失性RAM(non-volatile RAM,NVRAM)存储器。上述存储器类型仅仅是示例,因此并不限制可用于存储计算机程序的存储器类型。
综述
本发明还公开了所公开范围内的所有值和子范围。此外,虽然本文所公开和示出的系统、设备和过程可以包括特定数量的元件,但是可以修改这些系统、设备和组件以包括更多或更少此类元件。虽然本文描述了几个示例性实施例,但可以进行修改、适配和采取其它实现方式。例如,可以对附图中所示的元件进行替换、添加或修改,并且可以通过替换、重新排序或添加所公开方法的步骤来修改本文描述的示例性方法。另外,阐述了许多具体细节,以提供对本文描述的示例性实施例的彻底理解。但是,本领域的普通技术人员应了解,可以在没有这些具体细节的情况下实践本文描述的示例性实施例。此外,为了不模糊本文描述的示例性实施例,没有详细描述公知的方法、过程和元件。本文描述的主题旨在覆盖和涵盖所有适当的技术变更。
尽管描述了本发明,但至少部分地,就方法而言,本领域普通技术人员应理解,本发明还涉及各种元件,用于通过硬件、软件或其组合执行所描述方法的至少一些方面和特征。因此,本发明的技术方案可以体现在非易失性或非瞬时性机器可读介质(例如,光盘、闪存等)中,该介质上存储有有形地存储在其中的可执行指令,使处理设备能够执行本文公开的方法的示例。
术语“处理器”可以包括任何可编程系统,包括的系统使用微处理器/控制器或纳米处理器/控制器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、精简指令集电路(reduced instruction set circuit,RISC)、逻辑电路和任何其它能够执行本文所述功能的电路或处理器。术语“数据库”可以指数据主体和关系数据库管理系统(relational database management system,RDBMS)中的一个或两个。本文所使用的数据库可以包括任何数据集合,包括层次数据库、关系数据库、平面文件数据库、对象关系数据库、面向对象的数据库和存储在计算机系统中的任何其它结构化记录或数据集合。上述只是举例说明,因此并非意在以任何方式限制术语“处理器”或“数据库”的定义和/或含义。
本发明可以其它特定形式体现,而不脱离权利要求的主题。所描述的示例实施例在各方面都仅仅是示意性的,而不是限制性的。本发明旨在覆盖和涵盖所有适当的技术变更。因此,本发明的范围由所附权利要求书而不是由上述说明书进行描述。权利要求书的范围不应受到示例中阐述的实施例的限制,而应给予与整体描述一致的最宽泛的解释。
Claims (24)
1.一种方法,其特征在于,所述方法包括:
在推理模式下操作集成系统的教师神经网络的第一教师子网,以根据所述集成系统接收到的输入数据生成第一中间特征图;
在所述推理模式下操作所述集成系统的第一学生子网,以根据所述第一中间特征图生成学生推理数据,其中,
所述第一学生子网在训练模式下操作时已经使用作为监督信号提供的后续推理数据完成训练,所述后续推理数据由所述集成系统的后续子网生成。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
使用第一处理器在所述推理模式下操作所述教师神经网络的先前教师子网以执行以下步骤:
根据推理模式数据输入生成先前中间特征图;
根据所述先前中间特征图提供压缩数据;
在第二处理器侧接收所述压缩数据,其中,所述第二处理器用于在所述推理模式下操作所述第一教师子网和所述第一学生子网。
3.根据权利要求2所述的方法,其特征在于,所述压缩数据通过以下方式提供:
根据所述先前中间特征图生成位置归一化数据;
对所述先前中间特征图进行下采样,以生成嵌入向量;
生成包括所述位置归一化数据和所述嵌入向量的所述压缩数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一教师子网包括所述教师神经网络的一层或多层。
5.根据权利要求1至4中任一项所述的方法,其特征在于,
所述第一学生子网包括特征增强子网;
所述特征增强子网在训练模式下操作时已经完成训练,以使用所述集成系统的后续教师子网提供的倒数第二特征图数据作为监督信号在所述特征增强子网的输入和输出之间执行非线性映射。
6.根据权利要求1至5中任一项所述的方法,其特征在于:
所述第一中间特征图包括第一中间特征图矩阵;
所述生成学生推理数据包括:
根据所述第一中间特征图矩阵生成输出特征图矩阵作为输出,其中,所述输出特征图矩阵与所述第一中间特征图矩阵具有不同的矩阵维度;
根据所述输出特征图矩阵生成所述学生推理数据。
7.根据权利要求5或6所述的方法,其特征在于,所述特征增强子网通过将至少一个卷积操作、至少一个下采样操作和至少一个级联操作应用于所述第一中间特征图矩阵,生成所述输出特征图矩阵。
8.一种方法,其特征在于,所述方法包括:
接收特征图;
根据所述特征图生成位置归一化数据;
对所述特征图进行下采样,以生成嵌入向量;
生成包括所述位置归一化数据和所述嵌入向量的压缩数据;
通过通信链路发送所述压缩数据。
9.根据权利要求8所述的方法,其特征在于,
所述特征图由操作神经网络的先前子网的第一处理器生成;
所述方法还包括:
在第二处理器侧通过所述通信链路接收所述压缩数据;
使用所述第二处理器操作所述神经网络的第一子网,以根据所述压缩数据生成推理数据。
10.根据权利要求9所述的方法,其特征在于,
所述神经网络的所述先前子网包括所述神经网络的第一层;
所述神经网络的所述第一子网包括所述神经网络的第二层。
11.一种方法,其特征在于,所述方法包括:
提供集成系统,其中,所述集成系统包括:
教师神经网络,串联包括:
第一教师子网,用于根据输入到所述教师神经网络的训练模式数据输入生成第一中间特征图;
最终教师子网,用于根据所述第一中间特征图生成教师推理数据;第一学生子网,用于根据所述第一中间特征图生成第一学生推理数据;
通过以下方式训练所述集成系统:
通过所述教师神经网络前向传播所述训练模式数据输入,以生成所述第一中间特征图和所述教师推理数据;
通过所述第一学生子网前向传播所述第一中间特征图,以生成所述第一学生推理数据;
根据应用于所述第一学生推理数据和所述教师推理数据的知识蒸馏损失函数计算第一知识蒸馏损失;
通过所述第一学生子网和所述第一教师子网反向传播所述第一知识蒸馏损失,以训练所述第一学生子网和所述第一教师子网。
12.根据权利要求11所述的方法,其特征在于,
所述教师神经网络还串联包括在所述第一教师子网之前的先前教师子网,用于根据所述训练模式数据输入生成先前中间特征图;
所述集成系统还包括先前学生子网,用于根据所述先前中间特征图生成先前学生推理数据;
所述训练所述集成系统还包括:
通过所述先前学生子网前向传播所述先前中间特征图,以生成所述先前学生推理数据;
根据应用于所述先前学生推理数据和所述第一学生推理数据的知识蒸馏损失函数计算先前知识蒸馏损失;
通过所述先前学生子网和所述先前教师子网反向传播所述先前知识蒸馏损失,以训练所述先前学生子网和所述先前教师子网。
13.根据权利要求11或12所述的方法,其特征在于,所述方法还包括:在所述教师神经网络和所述第一学生子网已经完成训练之后,在推理模式下联合操作所述第一教师子网和所述第一学生子网以执行推理任务。
14.根据权利要求11至13中任一项所述的方法,其特征在于,所述最终教师子网还用于根据所述第一中间特征图生成倒数第二特征图,所述方法还包括:
提供第一特征增强子网作为所述第一学生子网的一部分;
通过以下方式训练所述第一特征增强子网:
通过所述第一特征增强子网前向传播所述第一中间特征图,以生成第一学生特征图;
通过对所述倒数第二特征图和所述第一学生特征图进行比较,计算特征增强损失;
通过所述第一特征增强子网反向传播所述特征增强损失,以训练所述第一特征增强子网。
15.根据权利要求11至14中任一项所述的方法,其特征在于,所述方法还包括:在训练所述集成系统之前,预训练所述教师神经网络。
16.一种设备,其特征在于,所述设备包括:
处理器;
存储器,存储有指令,其中,所述指令用于执行根据权利要求1至7中任一项所述的方法的步骤。
17.一种设备,其特征在于,所述设备包括:
处理器;
存储器,存储有指令,其中,所述指令用于执行根据权利要求8至10中任一项所述的方法的步骤。
18.一种设备,其特征在于,所述设备包括:
处理器;
存储器,存储有指令,其中,所述指令用于执行根据权利要求11至15中任一项所述的方法的步骤。
19.一种设备,其特征在于,所述设备包括:
处理器;
通信链路;
存储器,存储有指令,其中,所述指令用于执行根据权利要求1至7中任一项所述的方法的步骤。
20.一种设备,其特征在于,所述设备包括:
处理器;
通信链路;
存储器,存储有指令,其中,所述指令用于执行根据权利要求8至10中任一项所述的方法的步骤。
21.一种设备,其特征在于,所述设备包括:
处理器;
通信链路;
存储器,存储有指令,其中,所述指令用于执行根据权利要求11至15中任一项所述的方法的步骤。
22.一种非瞬时性处理器可读介质,其特征在于,所述非瞬时性处理器可读介质包括指令,所述指令用于执行根据权利要求1至7中任一项所述的方法。
23.一种非瞬时性处理器可读介质,其特征在于,所述非瞬时性处理器可读介质包括指令,所述指令用于执行根据权利要求8至10中任一项所述的方法。
24.一种非瞬时性处理器可读介质,其特征在于,所述非瞬时性处理器可读介质包括指令,所述指令用于执行根据权利要求11至15中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/810,524 US11900260B2 (en) | 2020-03-05 | 2020-03-05 | Methods, devices and media providing an integrated teacher-student system |
US16/810,524 | 2020-03-05 | ||
PCT/CN2021/074807 WO2021175064A1 (en) | 2020-03-05 | 2021-02-02 | Methods, devices and media providing an integrated teacher-student system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115210720A true CN115210720A (zh) | 2022-10-18 |
Family
ID=77556613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180019170.2A Pending CN115210720A (zh) | 2020-03-05 | 2021-02-02 | 提供集成教师-学生系统的方法、设备和介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11900260B2 (zh) |
CN (1) | CN115210720A (zh) |
WO (1) | WO2021175064A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117274750A (zh) * | 2023-11-23 | 2023-12-22 | 神州医疗科技股份有限公司 | 一种知识蒸馏半自动可视化标注方法及系统 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210334644A1 (en) * | 2020-04-27 | 2021-10-28 | Nvidia Corporation | Neural network training technique |
US11776156B2 (en) * | 2020-06-12 | 2023-10-03 | Google Llc | Pose empowered RGB-flow net |
CN113635310B (zh) * | 2021-10-18 | 2022-01-11 | 中国科学院自动化研究所 | 模型迁移方法、装置 |
CN114037056A (zh) * | 2021-11-05 | 2022-02-11 | 北京市商汤科技开发有限公司 | 一种生成神经网络的方法、装置、计算机设备和存储介质 |
CN113780252B (zh) * | 2021-11-11 | 2022-02-18 | 深圳思谋信息科技有限公司 | 视频处理模型的训练方法、视频处理方法和装置 |
CN113888538B (zh) * | 2021-12-06 | 2022-02-18 | 成都考拉悠然科技有限公司 | 一种基于内存分块模型的工业异常检测方法 |
WO2023114141A1 (en) * | 2021-12-17 | 2023-06-22 | Google Llc | Knowledge distillation via learning to predict principal components coefficients |
CN114549947A (zh) * | 2022-01-24 | 2022-05-27 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备和存储介质 |
CN114596497B (zh) * | 2022-05-09 | 2022-08-19 | 北京世纪好未来教育科技有限公司 | 目标检测模型的训练方法、目标检测方法、装置及设备 |
WO2023220878A1 (en) * | 2022-05-16 | 2023-11-23 | Intel Corporation | Training neural network trough dense-connection based knowlege distillation |
CN117521848B (zh) * | 2023-11-10 | 2024-05-28 | 中国科学院空天信息创新研究院 | 面向资源受限场景的遥感基础模型轻量化方法、装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2666631C2 (ru) * | 2014-09-12 | 2018-09-11 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Обучение dnn-студента посредством распределения вывода |
US20180268292A1 (en) * | 2017-03-17 | 2018-09-20 | Nec Laboratories America, Inc. | Learning efficient object detection models with knowledge distillation |
CN108830813B (zh) | 2018-06-12 | 2021-11-09 | 福建帝视信息科技有限公司 | 一种基于知识蒸馏的图像超分辨率增强方法 |
CN110175627A (zh) | 2019-04-18 | 2019-08-27 | 浙江大学 | 一种基于知识重组的复杂分类方法 |
-
2020
- 2020-03-05 US US16/810,524 patent/US11900260B2/en active Active
-
2021
- 2021-02-02 WO PCT/CN2021/074807 patent/WO2021175064A1/en active Application Filing
- 2021-02-02 CN CN202180019170.2A patent/CN115210720A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117274750A (zh) * | 2023-11-23 | 2023-12-22 | 神州医疗科技股份有限公司 | 一种知识蒸馏半自动可视化标注方法及系统 |
CN117274750B (zh) * | 2023-11-23 | 2024-03-12 | 神州医疗科技股份有限公司 | 一种知识蒸馏半自动可视化标注方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2021175064A1 (en) | 2021-09-10 |
US11900260B2 (en) | 2024-02-13 |
US20210279595A1 (en) | 2021-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115210720A (zh) | 提供集成教师-学生系统的方法、设备和介质 | |
US20210089922A1 (en) | Joint pruning and quantization scheme for deep neural networks | |
US12046023B2 (en) | Unification of models having respective target classes with distillation | |
US11093832B2 (en) | Pruning redundant neurons and kernels of deep convolutional neural networks | |
US11657267B2 (en) | Neural network apparatus, vehicle control system, decomposition device, and program | |
US11657254B2 (en) | Computation method and device used in a convolutional neural network | |
US10789734B2 (en) | Method and device for data quantization | |
KR20240012374A (ko) | 기계 학습 시스템들을 사용한 암시적 이미지 및 비디오 압축 | |
CN110175671A (zh) | 神经网络的构建方法、图像处理方法及装置 | |
US20200034645A1 (en) | Sparse region-of-interest pooling for object detection | |
CN114556370A (zh) | 用于使用内置注意力训练卷积神经网络的方法和系统 | |
WO2019111118A1 (en) | Robust gradient weight compression schemes for deep learning applications | |
US20180336469A1 (en) | Sigma-delta position derivative networks | |
KR20180048930A (ko) | 분류를 위한 강제된 희소성 | |
CN109377532B (zh) | 基于神经网络的图像处理方法及装置 | |
US20210326710A1 (en) | Neural network model compression | |
WO2022217853A1 (en) | Methods, devices and media for improving knowledge distillation using intermediate representations | |
US11636667B2 (en) | Pattern recognition apparatus, pattern recognition method, and computer program product | |
CN112204582A (zh) | 用于压缩神经网络中的权重的聚类压缩 | |
CN112446888A (zh) | 图像分割模型的处理方法和处理装置 | |
KR20210076691A (ko) | 프레임워크 간 뉴럴 네트워크의 학습을 검증하는 방법 및 장치 | |
CN114698395A (zh) | 神经网络模型的量化方法和装置、数据处理的方法和装置 | |
CN114418030A (zh) | 图像分类方法、图像分类模型的训练方法及装置 | |
US20230267307A1 (en) | Systems and Methods for Generation of Machine-Learned Multitask Models | |
CN118318442A (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 |