CN115298671A - 一种使用子内核搜索模块优化设备上神经网络模型的方法和装置 - Google Patents
一种使用子内核搜索模块优化设备上神经网络模型的方法和装置 Download PDFInfo
- Publication number
- CN115298671A CN115298671A CN202180022464.0A CN202180022464A CN115298671A CN 115298671 A CN115298671 A CN 115298671A CN 202180022464 A CN202180022464 A CN 202180022464A CN 115298671 A CN115298671 A CN 115298671A
- Authority
- CN
- China
- Prior art keywords
- kernel
- neural network
- learning
- sub
- network model
- 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
- 238000003062 neural network model Methods 0.000 title claims abstract description 260
- 238000000034 method Methods 0.000 title claims abstract description 79
- 239000013598 vector Substances 0.000 claims abstract description 86
- 238000012549 training Methods 0.000 claims abstract description 40
- 238000012360 testing method Methods 0.000 claims description 218
- 238000005457 optimization Methods 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 36
- 238000013527 convolutional neural network Methods 0.000 claims description 28
- 238000013528 artificial neural network Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 238000011176 pooling Methods 0.000 claims description 11
- 125000004122 cyclic group Chemical group 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 6
- 230000000306 recurrent effect Effects 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000007636 ensemble learning method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V10/7753—Incorporation of unlabelled data, e.g. multiple instance learning [MIL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
公开一种使用子内核搜索模块优化设备上神经网络模型的方法,其包括:学习装置(a)将具有能够使用安装有神经网络模型的边缘设备允许的最大计算能力执行目标任务的最大容量的大神经网络模型训练成针对输入的输入数据生成第1推理结果的状态下,使子内核搜索模块通过识别与学习数据对应的约束和状态向量来获得适合对所述学习数据执行目标任务的特定子内核的架构信息;(b)参考所述特定子内核的所述架构信息优化所述大神经网络模型,生成用于针对所述学习数据生成第2推理结果的特定小神经网络模型;以及(c)参考所述第1推理结果和所述第2推理结果训练所述子内核搜索模块。
Description
技术领域
本发明涉及一种设备上神经网络模型(on-device neural network model)的优化方法和装置,更具体地涉及一种使用子内核搜索模块(Sub-Kernel Searching Module,SSM)优化设备上神经网络模型的方法以及使用其的学习装置和优化装置,其训练用于优化设备上神经网络模型的子内核搜索模块。
背景技术
由于各种因素,例如所输入的图像的亮度、抖动和噪声等,使用图像分类(Imageclassification)的设备可以难以识别所输入的图像的至少一部分。
因此,可以通过应用深度学习(deep learning)对各种图像进行持续学习来提高图像分类的准确度。
然而,为了提高图像分类的准确度,需要对神经网络模型(neural networkmodel)进行持续的优化(optimization),相应地,已经开发出各种用于有效更新神经网络模型的技术。
为此,在现有技术中,人们直接设计深度学习网络模型,但最近正在开发诸如神经架构搜索(Neural Architect Search,NAS)之类的方法,该方法通过人工智能神经网络直接设计应用于设备的神经网络模型。
作为一例,参见图1,现有的NAS通过使用循环神经网络(Recurrent NeuralNetwork,RNN)生成包括应用或将应用在设备上的神经网络模型的架构信息的配置字符串(configuration string)来设计子神经网络模型(child neural network model)。然后,使用验证集(validation set)测量子神经网络模型的性能,并作为结果获得的准确度(accuracy)R用作强化学习(reinforcement learning)的奖励(reward),以更新子神经网络模型的参数(parameter)。此外,还正在应用梯度下降优化(gradient descentoptimization)和进化搜索(evolutionary search)等技术来实现最佳网络性能。
并且,参考图2,作为另一种现有的神经网络优化技术,有诸如在线学习(onlinelearning)之类的方法。在这些在线学习中,在对现有的神经网络模型进行在线推理(inference)后,根据其结果使用对现有的神经网络模型进行更新或重新学习的过程。
如此,使用神经网络优化神经网络模型架构对如自动驾驶车辆、无人飞行器和机器人等的需要深度学习技术的行驶装置中安装的边缘设备(edge device)很有用,使用在边缘设备上执行特定功能的神经网络模型的现有方法具有以下问题。
首先,安装在边缘设备上的神经网络模型的模型容量(model capacity)有限,因为允许的运算量和参数数量都比较少。
并且,检测和识别图像所需的模型容量因多个图像的难度而异,但安装在边缘设备上的现有的神经网络模型对所有图像应用相同的运算量和参数,从而检测和识别能力的偏差随着多个像的难度而增加。
另外,由于安装在边缘设备上的神经网络模型在没有人工干预的情况下很难找到难样本(hard sample),因此通过学习难样本来提高神经网络模型的性能需要大量的人力和成本。
因此,需要一种能够解决所述问题的改进方案。
发明内容
技术问题
本发明的目的在于解决所有上述问题。
本发明的另一目的在于优化安装在边缘设备(edge device)上的神经网络模型(neural network model),无需外部服务器的帮助。
并且,本发明的又一目的在于根据边缘设备的运算能力和周围环境生成神经网络模型的子架构(sub-architecture)以优化安装在边缘设备上的神经网络模型。
另外,本发明的再一目的在于通过应用根据输入数据的难度优化的运算量(computational load)来减少在推理(inference)期间读取的权重(weights)的大小和运算次数(mac/flops)。
此外,本发明的再一目的还在于通过持续收集根据每个子架构的每个运算量的多个难样本来提高神经网络模型的每个子架构的性能。
技术方案
为了实现上述本发明的目的并实现后述的本发明的特征效果,本发明的特征结构如下。
根据本发明的一方面,公开一种使用子内核搜索模块(Sub-Kernel SearchingModule,SSM)优化设备上神经网络模型(on-device neural network model)的方法,其包括:(a)将具有能够使用安装有神经网络模型的边缘设备允许的最大计算能力执行目标任务(task)的最大容量(capacity)的大神经网络模型(Big Neural Network Model,B-NNModel)训练成针对输入的输入数据生成第1推理结果(first inference result)的状态下,,获得学习数据时,学习装置执行或支持执行如下处理:将所述学习数据输入到子内核搜索模块,使所述子内核搜索模块(i)确认与所述学习数据对应的至少一个约束(constraint),其中,所述约束包括至少应用于运算量(computational load)、参数(parameters)、延迟(latency)、准确度(accuracy)和浮点运算数(flops)中的一个的约束,(ii)生成与所述学习数据对应的状态向量(state vector),其中,所述状态向量至少包括针对所述学习数据的复杂度和清晰度中的一个的信息,(iii)生成由能够对在所述约束下具有所述状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的特定子内核的架构信息(architecture information),其中,所述特定子内核是对应于所述大神经网络模型的所述最大容量的超内核(super kernel)的子集(subset),由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成;(b)所述学习装置执行或支持执行如下处理:(i)参考所述特定子内核的所述架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述特定子内核的所述架构信息的特定小神经网络模型(Small Neural Network Model,S-NN Model),(ii)使所述特定小神经网络模型生成针对所述学习数据的第2推理结果(second inference result);以及(c)所述学习装置执行或支持执行如下处理:参考所述第1推理结果和所述第2推理结果生成至少一个第1损失,使用所述第1损失训练所述子内核搜索模块。
作为一例,在所述(a)中,所述学习装置执行或支持执行如下处理:使所述子内核搜索模块(i)通过场景概览模块(Scene Overviewing Module,SSM)生成与所述学习数据对应的多个场景特征(scene features),并生成与多个所述场景特征对应的所述状态向量,(ii)通过子内核网络生成器(Sub-kernel Network Generator,SNG)生成由能够对在所述约束下具有所述状态向量的所述学习数据执行所述目标任务的所述最小内核大小和所述最小通道数组成的所述特定子内核的所述架构信息。
作为一例,所述学习装置执行或支持执行如下处理:(i)在给定的所述约束下通过所述第1损失进行反向传播(back-propagation)来训练所述场景概览模块和所述子内核网络生成器以最小化所述第1损失,(ii)参考所述状态向量和与之对应的真实数据(groundtruth)生成至少一个第2损失,进一步训练所述场景概览模块以最小化所述第2损失。
作为一例,所述场景概览模块由卷积神经网络(Convolutional Neural Network,CNN))组成,所述子内核网络生成器由循环神经网络(Recurrent Neural Network,RNN)组成,所述学习装置执行或支持执行如下处理:对所述场景概览模块和所述子内核网络生成器分别进行训练或同时进行训练。
作为一例,所述学习装置执行或支持执行如下处理:通过所述场景概览模块的所述卷积神经网络对所述学习数据适用至少一个卷积(convolution)运算、至少一个池化(pooling)运算和至少一个全连接(Fully-Connected)运算,使得生成与所述学习数据对应的多个所述场景特征。
作为一例,在所述(b)中,所述学习装置执行或支持执行如下处理:根据所述特定子内核的所述架构信息调整所述大神经网络模型的所述超内核的内核高度、内核宽度和通道数中的至少一个以优化所述大神经网络模型,以生成具有所述特定子内核的所述架构信息的所述特定小神经网络模型。
作为一例,所述学习装置执行或支持执行如下处理:参考所述第1推理结果和所述第2推理结果,在所述第1推理结果和所述第2推理结果的差值超过预设基准值时,将所述学习数据和所述特定小神经网络模型的所述架构信息传输到服务器,以使所述服务器将所述学习数据标记(tag)为所述特定小神经网络模型中的难样本(hard sample)并添加到学习数据库中。
根据本发明的另一方面,公开一种使用子内核搜索模块(Sub-Kernel SearchingModule,SSM)优化设备上神经网络模型(on-device neural network model)的方法,其包括:(a)在学习装置(i)将具有能够使用安装有神经网络模型的边缘设备允许的最大计算能力执行目标任务(task)的最大容量(capacity)的大神经网络模型(Big Neural NetworkModel,B-NN Model)训练成针对输入的输入数据生成第1推理结果(first inferenceresult)的状态下,,获得学习数据时,将所述学习数据输入到子内核搜索模块,使所述子内核搜索模块(i-1)确认与所述学习数据对应的至少一个学习用约束(constraint),其中,所述学习用约束包括至少应用于运算量(computational load)、参数(parameters)、延迟(latency)、准确度(accuracy)和浮点运算数(flops)中的一个的约束,(i-2)生成与所述学习数据对应的学习用状态向量(state vector),其中,所述学习用状态向量至少包括针对所述学习数据的复杂度和清晰度中的一个的信息,(i-3)生成由能够对在所述学习用约束下具有所述学习用状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的学习用特定子内核的学习用架构信息(architecture information),其中,所述学习用特定子内核是对应于所述大神经网络模型的所述最大容量的超内核(superkernel)的子集(subset),由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成的处理;(ii)(ii-1)参考所述学习用特定子内核的所述学习用架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述学习用特定子内核的所述学习用架构信息的学习用特定小神经网络模型(Small Neural Network Model,S-NN Model),(ii-2)使所述学习用特定小神经网络模型生成针对所述学习数据的第2推理结果(secondinference result)的处理;以及(iii)参考所述第1推理结果和所述第2推理结果生成至少一个第1损失,使用所述第1损失训练所述子内核搜索模块的处理的状态下,优化装置执行或支持执行如下处理:获得测试数据时,将所述测试数据输入到所述子内核搜索模块,以使所述子内核搜索模块(i)确认与所述测试数据对应的至少一个测试用约束,其中,所述测试用约束包括至少适用于运算量、参数、延迟、准确度和浮点运算数中的一个的约束(constraint),(ii)生成与所述测试数据对应的测试用状态向量,其中,所述测试用状态向量至少包括针对所述测试数据的复杂度和清晰度中的一个的信息,(iii)生成由能够对在所述测试用约束下具有所述测试用状态向量的所述测试数据执行所述目标任务的最小内核大小和最小通道数组成的测试用特定子内核的测试用架构信息,其中,所述测试用特定子内核是对应于所述大神经网络模型的所述最大容量的所述超内核的子集,由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成;以及(b)所述优化装置执行或支持执行如下处理:(i)参考所述测试用特定子内核的所述测试用架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述测试用特定子内核的所述测试用架构信息的测试用特定小神经网络模型,(ii)使所述测试用特定小神经网络模型生成针对所述测试数据的第3推理结果(third inference result)。
作为一例,在所述(a)中,所述优化装置执行或支持执行如下处理:使所述子内核搜索模块(i)通过场景概览模块(Scene Overviewing Module,SSM)生成与所述测试数据对应的多个测试用场景特征(scene features),并生成与多个所述测试用场景特征对应的所述测试用状态向量,(ii)通过子内核网络生成器(Sub-kernel Network Generator,SNG)生成由能够对在所述测试用约束下具有所述测试用状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的所述测试用特定子内核的所述测试用架构信息。
作为一例,所述场景概览模块由卷积神经网络(Convolutional Neural Network,CNN)组成,所述子内核网络生成器由循环神经网络(Recurrent Neural Network,RNN)组成。
作为一例,所述优化装置执行或支持执行如下处理:通过所述场景概览模块的所述卷积神经网络对所述测试数据适用至少一个卷积(convolution)运算、至少一个池化(pooling)运算和至少一个全连接(Fully-Connected)运算,使得生成与所述测试数据对应的多个所述测试场景特征。
作为一例,在所述(b)中,所述优化装置执行或支持执行如下处理:根据所述测试用特定子内核的所述测试用架构信息调整所述大神经网络模型的所述超内核的内核高度、内核宽度和通道数中的至少一个以优化所述大神经网络模型,以生成具有所述测试用特定子内核的所述测试用架构信息的所述测试用特定小神经网络模型。
根据本发明的另一方面,还公开一种使用子内核搜索模块(Sub-KernelSearching Module,SSM)优化设备上神经网络模型(on-device neural network model)的学习装置,其包括:至少一个存储多个指令的存储器;和至少一个用于执行多个所述指令的处理器,所述处理器执行或支持执行如下处理:(I)将具有能够使用安装有神经网络模型的边缘设备允许的最大计算能力执行目标任务(task)的最大容量(capacity)的大神经网络模型(Big Neural Network Model,B-NN Model)训练成针对输入的输入数据生成第1推理结果(first inference result)的状态下,,获得学习数据时,学习装置执行或支持执行如下处理:将所述学习数据输入到子内核搜索模块,使所述子内核搜索模块(i)确认与所述学习数据对应的至少一个约束(constraint),其中,所述约束包括至少应用于运算量(computational load)、参数(parameters)、延迟(latency)、准确度(accuracy)和浮点运算数(flops)中的一个的约束,(ii)生成与所述学习数据对应的状态向量(state vector),其中,所述状态向量至少包括针对所述学习数据的复杂度和清晰度中的一个的信息,(iii)生成由能够对在所述约束下具有所述状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的特定子内核的架构信息,其中,所述特定子内核是对应于所述大神经网络模型的所述最大容量的超内核(super kernel)的子集(subset),由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成;(II)(i)参考所述特定子内核的所述架构信息(architecture information)优化所述大神经网络模型,从所述大神经网络模型生成具有所述特定子内核的所述架构信息的特定小神经网络模型(Small NeuralNetwork Model,S-NN Model),(ii)使所述特定小神经网络模型生成针对所述学习数据的第2推理结果(second inference result);以及(III)参考所述第1推理结果和所述第2推理结果生成至少一个第1损失,使用所述第1损失训练所述子内核搜索模块。
作为一例,在所述(I)中,所述处理器执行或支持执行如下处理:使所述子内核搜索模块(i)通过场景概览模块(Scene Overviewing Module,SSM)生成与所述学习数据对应的多个场景特征(scene features),并生成与多个所述场景特征对应的所述状态向量,(ii)通过子内核网络生成器(Sub-kernel Network Generator,SNG)生成由能够对在所述约束下具有所述状态向量的所述学习数据执行所述目标任务的所述最小内核大小和所述最小通道数组成的所述特定子内核的所述架构信息。
作为一例,所述处理器执行或支持执行如下处理:(i)在给定的所述约束下通过所述第1损失进行反向传播(back-propagation)来训练所述场景概览模块和所述子内核网络生成器以最小化所述第1损失,(ii)参考所述状态向量和与之对应的真实数据(groundtruth)生成至少一个第2损失,进一步训练所述场景概览模块以最小化所述第2损失。
作为一例,所述场景概览模块由卷积神经网络(Convolutional Neural Network,CNN))组成,所述子内核网络生成器由循环神经网络(Recurrent Neural Network,RNN)组成,所述处理器执行或支持执行如下处理:对所述场景概览模块和所述子内核网络生成器分别进行训练或同时进行训练。
作为一例,所述处理器执行或支持执行如下处理:通过所述场景概览模块的所述卷积神经网络对所述学习数据适用至少一个卷积(convolution)运算、至少一个池化(pooling)运算和至少一个全连接(Fully-Connected)运算,使得生成与所述学习数据对应的多个所述场景特征。
作为一例,在所述(II)中,所述处理器执行或支持执行如下处理:根据所述特定子内核的所述架构信息调整所述大神经网络模型的所述超内核的内核高度、内核宽度和通道数中的至少一个以优化所述大神经网络模型,以生成具有所述特定子内核的所述架构信息的所述特定小神经网络模型。
作为一例,所述处理器执行或支持执行如下处理:参考所述第1推理结果和所述第2推理结果,在所述第1推理结果和所述第2推理结果的差值超过预设基准值时,将所述学习数据和所述特定小神经网络模型的所述架构信息传输到服务器,以使所述服务器将所述学习数据标记(tag)为所述特定小神经网络模型中的难样本(hard sample)并添加到学习数据库中。
根据本发明的另一方面,还公开一种使用子内核搜索模块(Sub-KernelSearching Module,SSM)优化设备上神经网络模型(on-device neural network model)的优化装置,其包括:至少一个存储多个指令的存储器;和至少一个用于执行多个所述指令的处理器,执行如下处理:(I)在学习装置(i)将具有能够使用安装有神经网络模型的边缘设备允许的最大计算能力执行目标任务(task)的最大容量(capacity)的神经网络模型(BigNeural Network Model,B-NN Model)训练成针对输入的输入数据生成第1推理结果(firstinference result)的状态下,,获得学习数据时,将所述学习数据输入到子内核搜索模块,使所述子内核搜索模块(i-1)确认与所述学习数据对应的至少一个学习用约束(constraint),其中,所述学习用约束包括至少应用于运算量(computational load)、参数(parameters)、延迟(latency)、准确度(accuracy)和浮点运算数(flops)中的一个的约束,(i-2)生成与所述学习数据对应的学习用状态向量(state vector),其中,所述学习用状态向量至少包括针对所述学习数据的复杂度和清晰度中的一个的信息,(i-3)生成由能够对在所述学习用约束下具有所述学习用状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的学习用特定子内核的学习用架构信息,其中,所述学习用特定子内核是对应于所述大神经网络模型的所述最大容量的超内核(super kernel)的子集(subset),由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成的处理;(ii)(ii-1)参考所述学习用特定子内核的所述学习用架构信息(architectureinformation)优化所述大神经网络模型,从所述大神经网络模型生成具有所述学习用特定子内核的所述学习用架构信息的学习用特定小神经网络模型(Small Neural NetworkModel,S-NN Model),(ii-2)使所述学习用特定小神经网络模型生成针对所述学习数据的第2推理结果(second inference result)的处理;以及(iii)参考所述第1推理结果和所述第2推理结果生成至少一个第1损失,使用所述第1损失训练所述子内核搜索模块的处理的状态下,所述处理器执行或支持执行如下处理:获得测试数据时,将所述测试数据输入到所述子内核搜索模块,以使所述子内核搜索模块(i)确认与所述测试数据对应的至少一个测试用约束(constraint),其中,所述测试用约束包括至少适用于运算量、参数、延迟、准确度和浮点运算数中的一个的约束,(ii)生成与所述测试数据对应的测试用状态向量,其中,所述测试用状态向量至少包括针对所述测试数据的复杂度和清晰度中的一个的信息,(iii)生成由能够对在所述测试用约束下具有所述测试用状态向量的所述测试数据执行所述目标任务的最小内核大小和最小通道数组成的测试用特定子内核的测试用架构信息,其中,所述测试用特定子内核是对应于所述大神经网络模型的所述最大容量的所述超内核的子集,由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成;以及(II)所述处理器执行或支持执行如下处理:(i)参考所述测试用特定子内核的所述测试用架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述测试用特定子内核的所述测试用架构信息的测试用特定小神经网络模型,(ii)使所述测试用特定小神经网络模型生成针对所述测试数据的第3推理结果(third inference result)。
作为一例,在所述(I)中,所述处理器执行或支持执行如下处理:使所述子内核搜索模块(i)通过场景概览模块(Scene Overviewing Module,SSM)生成与所述测试数据对应的多个测试用场景特征(scene features),并生成与多个所述测试用场景特征对应的所述测试用状态向量,(ii)通过子内核网络生成器(Sub-kernel Network Generator,SNG)生成由能够对在所述测试用约束下具有所述测试用状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的所述测试用特定子内核的所述测试用架构信息。
作为一例,所述场景概览模块由卷积神经网络(Convolutional Neural Network,CNN)组成,所述子内核网络生成器由循环神经网络(Recurrent Neural Network,RNN)组成。
作为一例,所述处理器执行或支持执行如下处理:通过所述场景概览模块的所述卷积神经网络对所述测试数据适用至少一个卷积(convolution)运算、至少一个池化(pooling)运算和至少一个全连接(Fully-Connected)运算,使得生成与所述测试数据对应的多个所述测试场景特征。
作为一例,在所述(II)中,所述处理器执行或支持执行如下处理:根据所述测试用特定子内核的所述测试用架构信息调整所述大神经网络模型的所述超内核的内核高度、内核宽度和通道数中的至少一个以优化所述大神经网络模型,以生成具有所述测试用特定子内核的所述测试用架构信息的所述测试用特定小神经网络模型。
除此之外,本发明还提供一种计算机可读记录介质,其用于记录用于执行本发明方法的计算机程序。
有益效果
本发明的效果在于优化安装在边缘设备(edge device)上的神经网络模型(neural network model),无需外部服务器的帮助。
并且,本发明的另一效果在于根据边缘设备的运算能力和周围环境生成神经网络模型的子架构(sub-architecture)以优化安装在边缘设备上的神经网络模型。
另外,本发明的又一效果在于通过应用根据输入数据的难度优化的运算量(computational load)来减少在推理(inference)期间读取的权重(weights)的大小和运算次数(mac/flops)。
此外,本发明的再一效果在于通过持续收集根据每个子架构的每个运算量的多个难样本来提高神经网络模型的每个子架构的性能。
附图说明
用于描述本发明实施例的以下附图仅为本发明实施例的一部分,并且本发明所属领域的普通技术人员(以下称为“普通技术人员”)可以基于这些附图获得其他附图,而无需进行任何创造性工作。
图1和图2为现有的神经网络(neural network)优化(optimization)系统的示意图。
图3为根据本发明一方面的使用子内核搜索模块(Sub-Kernel SearchingModule,SSM)优化设备上神经网络模型(on-device neural network model)的方法中训练子内核搜索模块的学习装置的示意图。
图4为根据本发明一实施例的使用子内核搜索模块优化设备上神经网络模型的方法中训练子内核搜索模块的过程图。
图5为根据本发明一实施例的子内核搜索模块中包括的场景概览模块(ScenceOverviewing Module,SOM)的结构图。
图6为根据本发明一实施例的使用超内核(super kernel)和子内核(sub-kernel)的概念生成和训练大神经网络模型(Big Neural Network Model,B-NN Model)和小神经网络模型(Small Neural Network Model,S-NN Model)的方法图。
图7为根据本发明一实施例的使用子内核搜索模块优化设备上神经网络模型的优化装置的示意图。
图8为根据本发明一实施例的通过输入和输出的示例使用子内核搜索模块来优化设备上神经网络模型的方法图。
具体实施方式
以下本发明的详细描述参见附图,所述附图以说明方式示出了可以实施本发明的具体实施例,以阐明本发明的目的、技术方案和优点。对这些实施例进行了充分详细的描述,以使本领域技术人员能够实施本发明。进一步地,本发明包括本说明书所示实施例的所有可能的组合。应当理解,本发明的各种实施例尽管不同但不必相互排斥。例如,本文记载的特定形状、结构及特性在一个实施例中在不超出本发明的精神及范围的前提下可通过其他实施例实现。并且,应当理解,所公开的每个实施例中各组件的位置或配置可在不超出本发明的精神及范围的前提下变更。因此,后述的详细说明并不用于限定本发明,只要能够进行适当的说明,本发明的范围应根据与其权利要求保护范围等同的所有范围和所附的权利要求保护范围而被限定。附图中类似的附图标记在多个方面指示相同或类似的功能。
本发明中涉及的各种图像可以包括与铺面道路或未铺面道路有关的图像,此时,可以假设可以出现在道路环境中的物体(例如,汽车、人、动物、植物、物体、建筑物、如飞机或无人机的飞行器以及其他障碍物),但不一定限于此,本发明中涉及的各种图像可以为与道路无关的图像(例如,与未铺面道路、小巷、空地、大海、湖泊、河流、山脉、森林、沙漠、天空、室内有关的图像),此时,可以假设可以出现在未铺面道路、小巷、空地、大海、湖泊、河流、山脉、森林、沙漠、天空、室内环境中的物体(例如,汽车、人、动物、植物、物体、建筑物、如飞机或无人机的飞行器以及其他障碍物),但不一定限于此。本文提供的公开内容的标题和摘要仅为方便起见,不应被解释为限制实施例的范围或含义。
作为参考,在整个说明书中,对于与学习过程相关的术语,添加了“学习用”或“学习”,而为避免可能的混淆,在与测试过程相关的术语中添加了“测试用”或“测试”。
另外,在本发明的内容及权利要求书中,术语“包括”及其变形并不意图排除其他技术特征、附加物、组件或步骤。对于本发明普通技术人员而言,本发明的其他目的、优点及特性中一部分可从本说明书获知,而一部分可从本发明的实施获知。以下的例示及附图作为实例提供,而并不是意图限制本发明。
本文提供的公开内容的标题和摘要仅为方便起见,不应被解释为限制实施例的范围或含义。
为了使本领域普通技术人员能够容易地实施本发明,下面将参考附图详细描述本发明的优选实施例。
首先,图3为根据本发明一方面的使用子内核搜索模块(Sub-Kernel SearchingModule,SSM)优化设备上神经网络模型(On-Device neural network model)的方法中训练子内核搜索模块的学习装置的示意图。
参见图3,学习装置1000可以包括:存储多个指令的存储器1001,所述指令用于训练用于优化设备上神经网络模型的子内核搜索模块;和处理器1002,其响应于存储在存储器1001中的多个指令,执行操作以训练子内核搜索模块。
具体地,学习装置1000可以使用计算装置(例如,计算机处理器、存储器、存储装置、输入和输出装置,和可以包括常规计算装置的其他组件的装置;电子通讯装置,如路由器、交换机等;电子信息存储系统,如网络附加存储(NAS)和存储区域网络(SAN))和计算机软件(即,使计算装置以特定方式运行的指令)的组合来实现所需的系统性能。
另外,计算装置的处理器可以包括诸如微处理单元(MPU,Micro ProcessingUnit)或中央处理单元(CPU,Central Processing Unit)、高速缓冲(Cache Memory)、数据总线(Data Bus)之类的硬件配置。另外,计算装置可以进一步包括操作系统、执行特定目的的应用程序的软件配置。
然而,不排除计算装置包括为实现本发明而集成介质、处理器和存储器的形式的集成处理器的情况。
下面将参见图4至图6描述使用如上所述配置的学习装置1000来训练子内核搜索模块100的过程。
首先参见图4,学习装置1000可以执行或支持执行如下处理:将具有能够使用安装有神经网络模型的边缘设备(edge device)允许的最大计算能力执行目标任务(task)的最大容量(capacity)的大神经网络模型(Big Neural Network Model,B-NN Model)200训练成针对输入的输入数据生成第1推理结果(first inference result)的状态下,,获得学习数据时,将学习数据输入到子内核搜索模块100,使子内核搜索模块(i)确认与学习数据对应的约束(constraint),(ii)生成与学习数据对应的状态向量(state vector),(iii)生成由能够对在给定的约束下具有状态向量的学习数据执行所述目标任务的最小内核大小和最小通道数组成的特定子内核的架构信息(architecture information)。
其中,约束包括至少应用于运算量(computational load)、参数(parameters)、延迟(latency)、准确度(accuracy)和浮点运算数(flops)中的一个的约束,约束可以根据输入学习数据时边缘设备的设备状态和周围环境而变化。另外,约束可以是由各边缘设备预先设定的,也可以是追加输入变更的。此外,本文中的目标任务可以执行数据分析、分类、数据中包括的信息检测等目的,根据目的使用的数据的类型也可以变为文本、图像、包括文本的图像等,但本发明不限于此。
并且,状态向量可以是至少包括针对学习数据的复杂度和清晰度中的一个的信息的一维向量(1-dimensional vector),相应地,状态向量可以是用于判断学习数据的难度级别(difficulty level)的标准。接下来,特定子内核是与大神经网络模型的最大容量对应的超内核(super kernel)的子集(subset),可以由小于等于超内核的内核大小和小于等于超内核的通道数组成。
另一方面,子内核搜索模块100可以由场景概览模块(Scene OverviewingModule,SSM)110和子内核网络生成器((Sub-kernel Network Generator,SNG)120。
具体地,学习装置1000可以执行或支持执行如下处理:使子内核搜索模块100(i)通过场景概览模块110生成与学习数据对应的多个场景特征(scene features),并生成与多个场景特征对应的状态向量,(ii)通过子内核网络生成器120生成由能够对在所述约束下具有所述状态向量的学习数据执行目标任务的最小内核大小和最小通道数组成的特定子内核的架构信息。
其中,运算量、参数、延迟、准确度和浮点运算数等可以因给定的约束而相互关联且影响。例如,随着所需准确度的增加,所需的最小参数数量可能会相应增加,并且当运算量减少时,例如浮点运算数减少或延迟增加,允许的参数数量可能会减少。因此,特定子内核的架构信息可以包括有关最小内核大小和最小通道数的信息,其对应于可对在给定的约束下具有给定的状态向量的学习数据执行目标任务的最小容量。
此时,场景概览模块110可以由不会显着影响设备整体性能的小卷积神经网络(Convolutional Neural Network,CNN)组成,子内核网络生成器120可以由不会显着影响整体性能的小循环神经网络(Recurrent Neural Network,RNN)。
参见图5,场景概览模块110,作为一例,可以由卷积层(convolutional layer)、池化层(pooling layer)和全连接层(Fully-Connected layer)。当学习数据输入到场景概览模块110时,经过交替布置的多个卷积层和池化层生成的多个特征图(feature map)可以输入到全连接层以生成输出预测(output predictions)。此时,输出预测可以是一维向量形式的状态向量,即,场景概览模块(SOM)110的输出,或者可以通过一系列过程转换为状态向量。
另外,由子内核网络生成器120输出的特定子内核的架构信息的数据类型(datatype)可以是字典(dictionary)或字符串(string),作为一例,可以以{{conv1:{k=3,c=26}},{conv2:{k=7,c=35}},…,{ssd_layer:{k=1,c=121}}}的形式输出架构信息。即,子内核网络生成器120可以生成关于与状态向量对应的子内核(sub-kernel)的架构的多个参数的信息,所述状态向量反映在给定约束下生成的多个场景特征的信息。
接下来,再次参见图4,学习装置1000可以执行或支持执行如下处理:(i)参考特定子内核的架构信息优化大神经网络模型200,以从大神经网络模型200生成具有特定子内核的架构信息的特定小神经网络模型(Small Neural Network Model,S-NN Model)300,(ii)使特定小神经网络模型300生成针对学习数据的第2推理结果(second inferenceresult)。
其中,学习装置1000可以执行或支持执行如下处理:根据特定子内核的架构信息调整大神经网络模型200的超内核的内核高度、内核宽度和通道数中的至少一个以优化大神经网络模型200,以生成具有特定子内核的架构信息的特定小神经网络模型300。即,本发明通过调整大神经网络模型200的超内核的内核高度、内核宽度和通道数中的至少一个来调整超内核的内核大小和通道数中的至少一个,以改变大神经网络模型200的超内核大小或者体积。
具体地,图6为根据本发明一实施例的使用超内核(super kernel)和子内核(sub-kernel)的概念生成和训练大神经网络模型(B-NN Model)200和小神经网络模型(S-NNModel)300的方法图。其中,大神经网络模型(B-NN Model)200是要应用神经网络模型(neural network model)的边缘设备(edge device),例如自动驾驶汽车、自动驾驶飞行器或机器人等的计算能力可处理的最大容量,即具有最大运算量(computational load)和最大参数(parameters)的神经网络模型,可以由人类设计。
其中,大神经网络模型的超内核是指由最大超内核、最大内核宽度和最大通道数,即(max_kernel_w*max_kernel_h*max_ch)组成的神经网络模型中的内核。换言之,超内核可以表示三维结构,例如,由在X-Y平面上的二维核和沿垂直于X-Y平面的Z轴布置的一维通道组成。因此,为了描述方便,可以将以下超内核简要描述为具有最大内核大小和最大通道数。
另外,作为生成和训练大神经网络模型(B-NN Model)200和小神经网络模型(S-NNModel)300的方法,可以使用现有的一次性神经架构搜索(one-shot neural architecturesearch)方法等。
其中,当训练大神经网络模型200的超内核时,如果通过在每一步(step)训练属于超内核的子集(subset)的一些参数(parameter)的方法来控制超内核的内核大小和通道数,即使在神经网络模型的推理(inference)期间内核大小和通道大小稍有变化,也可以防止性能突然下降的问题,并且可以根据减少的运算量和参数数量调整性能。
参见图6,例如,在训练大神经网络模型(B-NN Model)200时,可以通过以下方法在每一步训练一些属于超内核的子集(subset)的参数:对于由与超内核的内核大小和通道数对应的内核大小(7*7)、128个通道组成的第1卷积层(first convolutional layer)即conv1,使用第一步中超内核中间的3*3*64内核形状和第二步中5*5*64内核形状进行推理和训练。
另一方面,对于在调整超内核的内核大小和通道数的同时训练神经网络模型的具体方法,可以参考Single-Path NAS:Designing Hardware-Efficient ConvNets in lessthan 4Hours(Dimitrios Stamoulis,2019),Universally Slimmable Networks andImproved Training Techniques(Jiahui Yu,2019)等的论文。作为一例,通过将用于推理和学习的内核的外部区域临时归零(zero-out),可以根据所使用的内核的大小来保持性能。另外,如果在学习后使用大量数据再次求得批量统计(Batch statistics),可以防止由于通道变化而导致的性能快速下降。
因此,本发明生成并训练具有超内核的大神经网络模型(B-NN Model)200,然后可以通过对大神经网络模型(B-NN Model)200的优化来生成小神经网络模型(S-NN Model)300。此时,小神经网络模型(S-NN Model)300可以是由最小内核大小和最小通道数组成以在给定约束下对给定特定难度的学习数据执行目标任务的神经网络模型,其中所述约束包括运算量、参数、延迟、准确度和浮点运算数等。
接下来,再次参见图4,学习装置1000可以执行或支持执行如下处理:参考第1推理结果和第2推理结果生成至少一个第1损失,在第1损失在给定的约束下通过第1损失进行反向传播(back-propagation)来训练场景概览模块110和子内核网络生成器120以最小化第1损失。
进一步地,学习装置1000可以执行或支持执行如下处理:参考状态向量和与之对应的真实数据(ground truth)生成至少一个第2损失,进一步训练场景概览模块110以最小化第2损失。如此,可以在向子内核网络生成器120提供有关场景(scene)的准确信息的方向上优化场景概览模块110。此时,与状态向量对应的真实数据可以由人类或高度训练的神经网络生成和学习,与之不同地,还可以通过诸如使用生成对抗网络(GenerativeAdversarial Network,GAN)的无监督学习(unsupervised learning)等的方法来执行,但本发明不限于此。
其中,如上所述,构成子内核搜索模块100的场景概览模块(SOM)110和子内核网络生成器120分别可以由卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)组成。因此,场景概览模块110和子内核网络生成器120可以分别学习,也可以在集成学习的方法一起学习。作为一种集成学习方法,有应用场景理解(scene understanding)方法的CNN+RNN组合训练(CNN+RNN combined training),可以参考Show and Tell:A Neural Image Caption Generator(Oriol Vinyals,2015)等方法。
另外,在学习装置1000对场景概览模块110的学习中,学习装置1000可以在如下方向上进行学习:通过使用大神经网络模型(B-NN model)200和学习用小神经网络模型(S-NNModel)300之间的第1损失进行反向传播,使场景概览模块110在运算量、参数、延迟、准确度、浮点运算数等中的至少一个给定约束下最小化第1损失,并使场景概览模块110向子内核网络生成器120提供准确的信息。此时,如果针对所输入的学习数据的第1损失大于预定阈值,可以包括如下信息:大神经网络模型(B-NN Model)200对该学习数据的容量可以足够,但小神经网络模型(S-NN Model)300的容量不足。
作为一例,从场景概览模块(SOM)110输出的状态向量可以反映与场景特征对应的场景信息(scene information)。其中,场景信息可以反映学习数据的前景和背景的复杂度、数据的清晰度等信息,但本发明不限于此。学习数据越复杂或越不清楚,就是难样本(hard sample),在这种情况下,场景概览模块110的学习可以在需要更多运算量和更多参数的方向上进行。另外,场景概览模块110的性能可以根据安装有神经网络模型的边缘设备的性能、原始网络的大小和目标性能(例如:速度、准确度)进行调整。
另外,在学习设备1000对子内核网络生成器120的学习中,学习装置1000可以在如下方向上进行学习:通过使用第1损失进行反向传播,使子内核网络生成器120在运算量、参数、延迟、准确度、浮点运算数等中的至少一个给定约束下最小化第1损失。此时,对于子内核网络生成器120的学习,可以根据约束的可微性(differentiability)选择使用强化学习(reinforcement learning)的优化或梯度下降优化(gradient descent optimization)等的方法。
另一方面,当学习装置1000如上所述训练子内核搜索模块100时,如果针对所输入的学习数据的第1损失大于预设阈值,即,如果第1推理结果与第2推理结果的差异超过预设基准值,则表示该学习数据在大神经网络模型(B-NN Model)200中不是难样本,而在小神经网络模型(S-NN Model)300中可以是难样本。因此,在这种情况下,学习装置1000将通过该学习数据和子内核搜索模块生成的学习用小神经网络模型(S-NN Model)300架构的信息传输到服务器,以使服务器可以执行或支持执行将该学习数据标记(tag)为该学习用小神经网络模型(S-NN Model)300中的难样本并添加到学习数据库的处理。其中,预设阈值或预设基准值可以相同,也可以不同。
然而,与此不同,当需要使用单独的计算装置根据模型大小进行难样本搜索(hardsample search)时,子内核搜索模块100可以用作难样本搜索器(hard sample searcher)。具体地,当第1损失大于预设阈值时,暗示用小神经网络模型(S-NN Model)300的运算量难以解决大神经网络模型(B-NN Model)200的运算量可解决的问题,因此,当第1损失大于预设阈值时,可以将通过学习数据和子内核搜索模块100生成的该特定小神经网络模型(S-NNModel)300架构的信息传输到服务器,以将该学习数据标记(tag)为具有特定结构、特定运算量、特定参数数量等的该特定小神经网络模型(S-NN Model)300的难样本并添加到学习数据库中。因此,学习数据库中存储的难样本可以用于以后学习具有相似运算量和参数数量的特定小神经网络模型(S-NN Model)300。其中,由于本发明的特定小神经网络模型(S-NN Model)300可以是指所有可用作小神经网络模型(S-NN Model)300的任意结构,因此称为特定小神经网络模型(S-NN Model)300的小神经网络模型(S-NN Model)300可以彼此不同。
另一方面,下面将参见图7和图8描述,在如上所述训练子内核搜索模块100的状态下,优化装置使用已训练的子内核搜索模块100来优化设备上神经网络模型的优化方法。
首先,图7为根据本发明一实施例的使用子内核搜索模块100优化设备上神经网络模型的优化装置2000的示意图。
参见图7,优化装置可以包括:存储多个指令的存储器2001,所述指令用于使用子内核搜索模块100来优化设备上神经网络模型即大神经网络模型(B-NN Model)200;和处理器2002,其响应于存储在存储器2001中的多个指令,执行操作以使用子内核搜索模块100来优化大神经网络模型(B-NN Model)200。其中,在图7和图8中没有描述大神经网络模型(B-NN Model)200,大神经网络模型是用于生成和测试测试用特定小神经网络模型(S-NNModel)30的参考价值。然而,在训练子内核搜索模块100的过程中提供的大神经网络模型(B-NN Model)200的描述仍然适用于图7和图8。
具体地,优化装置2000通常可以使用计算装置(例如,计算机处理器、存储器、存储装置、输入和输出装置,和可以包括常规计算装置的其他组件的装置;电子通讯装置,如路由器、交换机等;电子信息存储系统,如网络附加存储(NAS)和存储区域网络(SAN))和计算机软件(即,使计算装置以特定方式运行的指令)的组合来实现所需的系统性能。
另外,计算装置的处理器可以包括诸如微处理单元(MPU,Micro ProcessingUnit)或中央处理单元(CPU,Central Processing Unit)、高速缓冲(Cache Memory)、数据总线(Data Bus)之类的硬件配置。另外,计算装置可以进一步包括操作系统、执行特定目的的应用程序的软件配置。
然而,不排除计算装置包括为实现本发明而集成介质、处理器和存储器的形式的集成处理器的情况。
另一方面,优化装置用于根据输入到每个边缘设备的数据使用与每个边缘设备对应的子内核搜索模块100优化大神经网络模型(B-NN Model)200,可以安装在应用神经网络模型的边缘设备上。
下面将描述使用如上所述配置的优化装置2000的神经网络模型的优化方法,其使用根据本发明一实施例的子内核搜索模块100。下面将省略可从图4至图6的描述容易理解的部分的详细描述。
首先,优化装置2000可以执行或支持执行如下处理:当获得测试数据时,将测试数据输入到子内核搜索模块100,以使子内核搜索模块100(i)确认与测试数据对应的至少一个测试用约束,其中,所述测试用约束包括至少应用于运算量(computational load)、参数(parameters)、延迟(latency)、准确度(accuracy)和浮点运算数(flops)中的一个的约束,(ii)生成与测试数据对应的测试用状态向量,其中,所述测试用状态向量至少包括针对测试数据的复杂度和清晰度中的一个的信息,(iii)生成由能够对在测试用约束下具有测试用状态向量的测试数据执行目标任务的最小内核大小和最小通道数组成的测试用特定子内核的测试用架构信息,其中,所述测试用特定子内核是对应于大神经网络模型的最大容量的测试用超内核的子集,由小于等于超内核的内核大小和小于等于超内核的通道数组成。
其次,优化装置2000可以执行或支持执行如下处理:(i)参考测试用特定子内核的测试用架构信息优化大神经网络模型200,以从大神经网络模型200生成具有测试用特定子内核的测试用架构信息的测试用特定小神经网络模型300,(ii)使测试用特定小神经网络模型300生成针对测试数据的第3推理结果(third inference result)。其中,由于学习数据和测试数据的难度不同,因此在针对训练子内核搜索模块100的过程中获得的学习用特定子内核的架构信息与针对在测试子内核搜索模块100的过程中获得的测试用特定子内核的架构信息可以彼此不同。结果,由于边缘设备的容量固定,因此大神经网络模型200的容量在子内核搜索模块100的学习和测试过程中可能不会改变,而学习用小神经网络模型300和存测试用小神经网络模型300可能会彼此不同。
其中,优化装置2000可以执行或支持执行如下处理:使子内核搜索模块100(i)通过场景概览模块(Scene Overviewing Module,SSM)110生成与测试数据对应的多个测试用场景特征,并生成与多个测试用场景特征对应的测试用状态向量,(ii)通过子内核网络生成器120生成由能够对在测试用约束下具有测试用状态向量的测试数据执行目标任务的最小内核大小和最小通道数组成的测试用特定子内核的测试用架构信息。
接下来,优化装置2000可以执行或支持执行如下处理:根据测试用特定子内核的测试用架构信息调整大神经网络模型的测试用超内核的内核高度、内核宽度和通道数中的至少一个以优化大神经网络模型,以生成具有测试用特定子内核的测试用架构信息的测试用特定小神经网络模型300。
具体地,图8为根据本发明一实施例的通过输入和输出的示例使用子内核搜索模块100来优化设备上神经网络模型的方法图。
参见图8,优化装置2000参考测试用特定子内核的测试用架构信息优化大神经网络模型(B-NN Model)200,以以生成具有测试用特定子内核的测试用架构信息的测试用特定小神经网络模型(S-NN Model)300_1和300_2,可以使所生成的测试用特定小神经网络模型(S-NN Models)300_1和300_2对测试数据进行第3推理(third inference)。
此时,由于测试用特定小神经网络模型(S-NN Model)300_1和300_2是大神经网络模型(B-NN Model)200的子集,因此测试用特定小神经网络模型(S-NN Model)300_1和300_2的性能总是小于等于大神经网络模型(B-NN Model)200的性能。另外,随着测试数据难度的增加,测试用特定小神经网络模型(S-NN Model)300_1和300_2的测试用特定子内核(sub-kernel)所需的运算量可能会增加。
作为一例,当测试数据是容易样本(easy sample)时,通过优化大神经网络模型(B-NN Model)200来生成权重小且运算量少的测试用特定小神经网络模型(S-NN Model)300_1,从而可以使用比大神经网络模型(B-NN model)200更少的运算量,例如大神经网络模型(B-NN model)200运算量的12%对测试数据进行第3推理。另一方面,当测试数据是难样本(hard sample)时,可以通过优化大神经网络模型(B-NN Model)200来生成与测试用特定小神经网络模型(S-NN Model)300_1相比权重更大且运算次数更多,但与大神经网络模型(B-NN model)200相比权重更小且运算次数更少的测试用特定小神经网络模型(S-NNModel)300_2,从而可以使用比测试用特定小神经网络模型(S-NN Model)300_1更多的运算量但比大神经网络模型(B-NN model)200更少的运算量,例如大神经网络模型(B-NNmodel)运算量的88%对测试数据进行第3推理。
即,根据本发明优化大神经网络模型(B-NN Model)的测试用特定小神经网络模型(S-NN Model)300_1和300_2根据样本的难度具有优化的运算量,神经网络模型的优化可以在没有服务器等帮助的边缘设备上进行。
另外,优化装置2000参考通过测试用特定小神经网络模型(S-NN model)300_1和300_2对测试数据进行推理的第3推理结果与通过大神经网络模型(B-NN Model)200对测试数据进行推理的第4推理结果(fourth inference result),在第3推理结果与第4推理结果的差值超过预设基准值时,可以将测试数据和测试用特定小神经网络模型(S-NN Model)300_1和300_2的架构信息传输到服务器,使服务器将测试数据标记为测试用特定小神经网络模型(S-NN Model)300_1和300_2中的难样本并添加到学习数据库中。
此时,子内核搜索模块100的学习可以通过连续输入到边缘设备的数据在边缘设备上连续进行,当边缘设备上的子内核搜索模块100的学习进展到一定程度时,可以通过小神经网络模型(S-NN Model)300进行测试和推理。根据子内核搜索模块100的开销(overhead),可以选择是使用每帧执行子内核搜索模块100以输出新的小神经网络模型(S-NN Model)300的架构信息还是使用每预定帧执行子内核搜索模块100并最后在相应区段输出的架构信息。
上述根据本发明的实施例可以以可通过各种计算机组件执行的程序指令的形式来实现并记录在计算机可读记录介质中。所述计算机可读记录介质可以包括单独或组合的程序指令、数据文件、数据结构等。记录在所述计算机可读记录介质中的程序指令可以是为本发明专门设计和配置的,或者可以是计算机软件领域的技术人员已知和可用的。计算机可读记录介质的示例包括诸如硬盘、软盘和磁带的磁性介质,诸如CD-ROM、DVD的光学记录介质,诸如软盘(floptical disk)的磁光介质(magneto-optical media)以及专门配置用于存储和执行程序指令的硬件装置,例如ROM、RAM、闪存等。程序指令的示例不仅包括诸如由编译器生成的那些机器语言代码,而且还包括可以由计算机使用解释器等执行的高级语言代码。所述硬件装置可以配置为作为至少一个软件模块操作以执行根据本发明的处理,反之亦然。
在上文中,已经参考诸如具体组件等的特定事项以及有限的实施例和附图描述了本发明,但这仅有助于更全面地理解本发明,而本发明不限于上述实施例,本发明所属领域的普通技术人员可以根据这些描述设计出各种修改和变化。
因此,本发明的精神不应限于上述实施例,除所附权利要求外,凡与这些权利要求等效或等同的修改,均应包含在本发明的精神范围内。
Claims (24)
1.一种使用子内核搜索模块优化设备上神经网络模型的方法,其包括:
(a)在将具有能够使用安装有神经网络模型的边缘设备允许的最大计算能力执行目标任务的最大容量的大神经网络模型训练成针对输入的输入数据生成第1推理结果的状态下,获得学习数据时,学习装置执行或支持执行如下处理:将所述学习数据输入到子内核搜索模块,使所述子内核搜索模块(i)确认与所述学习数据对应的至少一个约束,其中,所述约束包括至少适用于运算量、参数、延迟、准确度和浮点运算数中的一个的约束,(ii)生成与所述学习数据对应的状态向量,其中,所述状态向量至少包括针对所述学习数据的复杂度和清晰度中的一个的信息,(iii)生成由能够对在所述约束下具有所述状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的特定子内核的架构信息,其中,所述特定子内核是对应于所述大神经网络模型的所述最大容量的超内核的子集,由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成;
(b)所述学习装置执行或支持执行如下处理:(i)参考所述特定子内核的所述架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述特定子内核的所述架构信息的特定小神经网络模型,(ii)使所述特定小神经网络模型生成针对所述学习数据的第2推理结果;以及
(c)所述学习装置执行或支持执行如下处理:参考所述第1推理结果和所述第2推理结果生成至少一个第1损失,使用所述第1损失训练所述子内核搜索模块。
2.根据权利要求1所述的方法,其特征在于,在所述(a)中:
所述学习装置执行或支持执行如下处理:使所述子内核搜索模块(i)通过场景概览模块生成与所述学习数据对应的多个场景特征,并生成与多个所述场景特征对应的所述状态向量,(ii)通过子内核网络生成器生成由能够对在所述约束下具有所述状态向量的所述学习数据执行所述目标任务的所述最小内核大小和所述最小通道数组成的所述特定子内核的所述架构信息。
3.根据权利要求2所述的方法,其特征在于:
所述学习装置执行或支持执行如下处理:(i)在给定的所述约束下通过所述第1损失进行反向传播来训练所述场景概览模块和所述子内核网络生成器以最小化所述第1损失,(ii)参考所述状态向量和与之对应的真实数据生成至少一个第2损失,进一步训练所述场景概览模块以最小化所述第2损失。
4.根据权利要求2所述的方法,其特征在于:
所述场景概览模块由卷积神经网络组成,所述子内核网络生成器由循环神经网络组成,
所述学习装置执行或支持执行如下处理:对所述场景概览模块和所述子内核网络生成器分别进行训练或同时进行训练。
5.根据权利要求4所述的方法,其特征在于:
所述学习装置执行或支持执行如下处理:通过所述场景概览模块的所述卷积神经网络对所述学习数据适用至少一个卷积运算、至少一个池化运算和至少一个全连接运算使得生成与所述学习数据对应的多个所述场景特征。
6.根据权利要求1所述的方法,其特征在于,在所述(b)中:
所述学习装置执行或支持执行如下处理:根据所述特定子内核的所述架构信息调整所述大神经网络模型的所述超内核的内核高度、内核宽度和通道数中的至少一个以优化所述大神经网络模型,以生成具有所述特定子内核的所述架构信息的所述特定小神经网络模型。
7.根据权利要求1所述的方法,其特征在于:
所述学习装置执行或支持执行如下处理:参考所述第1推理结果和所述第2推理结果,在所述第1推理结果和所述第2推理结果的差值超过预设基准值时,将所述学习数据和所述特定小神经网络模型的所述架构信息传输到服务器,以使所述服务器将所述学习数据标记为所述特定小神经网络模型中的难样本并添加到学习数据库中。
8.一种使用子内核搜索模块优化设备上神经网络模型的方法,其包括:
(a)在学习装置(i)将具有能够使用安装有神经网络模型的边缘设备允许的最大计算能力执行目标任务的最大容量的大神经网络模型训练成针对输入的输入数据生成第1推理结果的状态下,获得学习数据时,执行了将所述学习数据输入到子内核搜索模块,使所述子内核搜索模块(i-1)确认与所述学习数据对应的学习用约束,其中,所述学习用约束包括至少适用于运算量、参数、延迟、准确度和浮点运算数中的一个的约束,(i-2)生成与所述学习数据对应的学习用状态向量,其中,所述学习用状态向量至少包括针对所述学习数据的复杂度和清晰度中的一个的信息,(i-3)生成由能够对在所述学习用约束下具有所述学习用状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的学习用特定子内核的学习用架构信息,其中,所述学习用特定子内核是对应于所述大神经网络模型的所述最大容量的超内核的子集,由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成的处理;(ii)(ii-1)参考所述学习用特定子内核的所述学习用架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述学习用特定子内核的所述学习用架构信息的学习用特定小神经网络模型,(ii-2)使所述学习用特定小神经网络模型生成针对所述学习数据的第2推理结果的处理;以及(iii)参考所述第1推理结果和所述第2推理结果生成至少一个第1损失,使用所述第1损失训练所述子内核搜索模块的处理的状态下,优化装置执行或支持执行如下处理:获得测试数据时,将所述测试数据输入到所述子内核搜索模块,以使所述子内核搜索模块(i)确认与所述测试数据对应的测试用约束,其中,所述测试用约束包括至少适用于运算量、参数、延迟、准确度和浮点运算数中的一个的约束,(ii)生成与所述测试数据对应的测试用状态向量,其中,所述测试用状态向量至少包括针对所述测试数据的复杂度和清晰度中的一个的信息,(iii)生成由能够对在所述测试用约束下具有所述测试用状态向量的所述测试数据执行所述目标任务的最小内核大小和最小通道数组成的测试用特定子内核的测试用架构信息,其中,所述测试用特定子内核是对应于所述大神经网络模型的所述最大容量的所述超内核的子集,由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成;以及
(b)所述优化装置执行或支持执行如下处理:(i)参考所述测试用特定子内核的所述测试用架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述测试用特定子内核的所述测试用架构信息的测试用特定小神经网络模型,(ii)使所述测试用特定小神经网络模型生成针对所述测试数据的第3推理结果。
9.根据权利要求8所述的方法,其特征在于,在所述(a)中:
所述优化装置执行或支持执行如下处理:使所述子内核搜索模块(i)通过场景概览模块生成与所述测试数据对应的多个测试用场景特征,并生成与多个所述测试用场景特征对应的所述测试用状态向量,(ii)通过子内核网络生成器生成由能够对在所述测试用约束下具有所述测试用状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的所述测试用特定子内核的所述测试用架构信息。
10.根据权利要求9所述的方法,其特征在于:
所述场景概览模块由卷积神经网络组成,所述子内核网络生成器由循环神经网络组成。
11.根据权利要求10所述的方法,其特征在于:
所述优化装置执行或支持执行如下处理:通过所述场景概览模块的所述卷积神经网络对所述测试数据适用至少一个卷积运算、至少一个池化运算和至少一个全连接运算使得生成与所述测试数据对应的多个所述测试场景特征。
12.根据权利要求8所述的方法,其特征在于,在所述(b)中:
所述优化装置执行或支持执行如下处理:根据所述测试用特定子内核的所述测试用架构信息调整所述大神经网络模型的所述超内核的内核高度、内核宽度和通道数中的至少一个以优化所述大神经网络模型,以生成具有所述测试用特定子内核的所述测试用架构信息的所述测试用特定小神经网络模型。
13.一种用于使用子内核搜索模块优化设备上神经网络模型的学习装置,其包括:
至少一个存储多个指令的存储器;和
至少一个用于执行多个所述指令的处理器,
所述处理器执行或支持执行如下处理:(I)将具有能够使用安装有神经网络模型的边缘设备允许的最大计算能力执行目标任务的最大容量的大神经网络模型训练成针对输入的输入数据生成第1推理结果的状态下,获得学习数据时,学习装置执行或支持执行如下处理:将所述学习数据输入到子内核搜索模块,使所述子内核搜索模块(i)确认与所述学习数据对应的至少一个约束,其中,所述约束包括至少适用于运算量、参数、延迟、准确度和浮点运算数中的一个的约束,(ii)生成与所述学习数据对应的状态向量,其中,所述状态向量至少包括针对所述学习数据的复杂度和清晰度中的一个的信息,(iii)生成由能够对在所述约束下具有所述状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的特定子内核的架构信息,其中,所述特定子内核是对应于所述大神经网络模型的所述最大容量的超内核的子集,由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成;(II)(i)参考所述特定子内核的所述架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述特定子内核的所述架构信息的特定小神经网络模型,(ii)使所述特定小神经网络模型生成针对所述学习数据的第2推理结果;以及(III)参考所述第1推理结果和所述第2推理结果生成至少一个第1损失,使用所述第1损失训练所述子内核搜索模块。
14.根据权利要求13所述的学习装置,其特征在于,在所述(I)处理中:
所述处理器执行或支持执行如下处理:使所述子内核搜索模块(i)通过场景概览模块生成与所述学习数据对应的多个场景特征,并生成与多个所述场景特征对应的所述状态向量,(ii)通过子内核网络生成器生成由能够对在所述约束下具有所述状态向量的所述学习数据执行所述目标任务的所述最小内核大小和所述最小通道数组成的所述特定子内核的所述架构信息。
15.根据权利要求14所述的学习装置,其特征在于:
所述处理器执行或支持执行如下处理:(i)以在给定的所述约束下通过所述第1损失进行反向传播来训练所述场景概览模块和所述子内核网络生成器以最小化所述第1损失,(ii)参考所述状态向量和与之对应的真实数据生成至少一个第2损失,进一步训练所述场景概览模块以最小化所述第2损失。
16.根据权利要求14所述的学习装置,其特征在于:
所述场景概览模块由卷积神经网络组成,所述子内核网络生成器由循环神经网络组成,
所述处理器执行或支持执行如下处理:对所述场景概览模块和所述子内核网络生成器分别进行训练或同时进行训练。
17.根据权利要求16所述的学习装置,其特征在于:
所述处理器执行或支持执行如下处理:通过所述场景概览模块的所述卷积神经网络对所述学习数据适用至少一个卷积运算、至少一个池化运算和至少一个全连接运算,使得生成与所述学习数据对应的多个所述场景特征。
18.根据权利要求13所述的学习装置,其特征在于,在所述(II)处理中:
所述处理器执行或支持执行如下处理:根据所述特定子内核的所述架构信息调整所述大神经网络模型的所述超内核的内核高度、内核宽度和通道数中的至少一个以优化所述大神经网络模型,以生成具有所述特定子内核的所述架构信息的所述特定小神经网络模型。
19.根据权利要求13所述的学习装置,其特征在于:
所述处理器执行或支持执行如下处理:参考所述第1推理结果和所述第2推理结果,在所述第1推理结果和所述第2推理结果的差值超过预设基准值时,将所述学习数据和所述特定小神经网络模型的所述架构信息传输到服务器,以使所述服务器将所述学习数据标记为所述特定小神经网络模型中的难样本并添加到学习数据库中。
20.一种用于使用子内核搜索模块优化设备上神经网络模型的优化装置,其包括:
至少一个存储多个指令的存储器;和
至少一个用于执行多个所述指令的处理器,
执行如下处理:(I)在学习装置(i)将具有能够使用安装有神经网络模型的边缘设备允许的最大计算能力执行目标任务的最大容量的大神经网络模型训练成针对输入的输入数据生成第1推理结果的状态下,获得学习数据时,将所述学习数据输入到子内核搜索模块,使所述子内核搜索模块(i-1)确认与所述学习数据对应的至少一个学习用约束,其中,所述学习用约束包括至少适用于运算量、参数、延迟、准确度和浮点运算数中的一个的约束,(i-2)生成与所述学习数据对应的学习用状态向量,其中,所述学习用状态向量至少包括针对所述学习数据的复杂度和清晰度中的一个的信息,(i-3)生成由能够对在所述学习用约束下具有所述学习用状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的学习用特定子内核的学习用架构信息,其中,所述学习用特定子内核是对应于所述大神经网络模型的所述最大容量的超内核的子集,由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成的处理;(ii)(ii-1)参考所述学习用特定子内核的所述学习用架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述学习用特定子内核的所述学习用架构信息的学习用特定小神经网络模型,(ii-2)使所述学习用特定小神经网络模型生成针对所述学习数据的第2推理结果的处理;以及(iii)参考所述第1推理结果和所述第2推理结果生成至少一个第1损失,使用所述第1损失训练所述子内核搜索模块的处理的状态下,所述处理器执行或支持执行如下处理:获得测试数据时,将所述测试数据输入到所述子内核搜索模块,以使所述子内核搜索模块(i)确认与所述测试数据对应的至少一个测试用约束,其中,所述测试用约束包括至少适用于运算量、参数、延迟、准确度和浮点运算数中的一个的约束,(ii)生成与所述测试数据对应的测试用状态向量,其中,所述测试用状态向量至少包括针对所述测试数据的复杂度和清晰度中的一个的信息,(iii)生成由能够对在所述测试用约束下具有所述测试用状态向量的所述测试数据执行所述目标任务的最小内核大小和最小通道数组成的测试用特定子内核的测试用架构信息,其中,所述测试用特定子内核是对应于所述大神经网络模型的所述最大容量的所述超内核的子集,由小于等于所述超内核的内核大小和小于等于所述超内核的通道数组成;以及(II)所述处理器执行或支持执行如下处理:(i)参考所述测试用特定子内核的所述测试用架构信息优化所述大神经网络模型,以从所述大神经网络模型生成具有所述测试用特定子内核的所述测试用架构信息的测试用特定小神经网络模型,(ii)使所述测试用特定小神经网络模型生成针对所述测试数据的第3推理结果。
21.根据权利要求20所述的优化装置,其特征在于,在所述(I)处理中:
所述处理器执行或支持执行如下处理:使所述子内核搜索模块(i)通过场景概览模块生成与所述测试数据对应的多个测试用场景特征,并生成与多个所述测试用场景特征对应的所述测试用状态向量,(ii)通过子内核网络生成器生成由能够对在所述测试用约束下具有所述测试用状态向量的所述学习数据执行所述目标任务的最小内核大小和最小通道数组成的所述测试用特定子内核的所述测试用架构信息。
22.根据权利要求21所述的优化装置,其特征在于:
所述场景概览模块由卷积神经网络组成,所述子内核网络生成器由循环神经网络组成。
23.根据权利要求22所述的优化装置,其特征在于:
所述处理器执行或支持执行如下处理:通过所述场景概览模块的所述卷积神经网络对所述测试数据适用至少一个卷积运算、至少一个池化运算和至少一个全连接运算,使得生成与所述测试数据对应的多个所述测试场景特征。
24.根据权利要求20所述的优化装置,其特征在于,在所述(II)处理中:
所述处理器执行或支持执行如下处理:根据所述测试用特定子内核的所述测试用架构信息调整所述大神经网络模型的所述超内核的内核高度、内核宽度和通道数中的至少一个以优化所述大神经网络模型,以生成具有所述测试用特定子内核的所述测试用架构信息的所述测试用特定小神经网络模型。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063024025P | 2020-05-13 | 2020-05-13 | |
US63/024,025 | 2020-05-13 | ||
US17/135,301 US10970633B1 (en) | 2020-05-13 | 2020-12-28 | Method for optimizing on-device neural network model by using sub-kernel searching module and device using the same |
US17/135,301 | 2020-12-28 | ||
PCT/KR2021/000858 WO2021230463A1 (en) | 2020-05-13 | 2021-01-21 | Method for optimizing on-device neural network model by using sub-kernel searching module and device using the same |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115298671A true CN115298671A (zh) | 2022-11-04 |
Family
ID=75275501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180022464.0A Pending CN115298671A (zh) | 2020-05-13 | 2021-01-21 | 一种使用子内核搜索模块优化设备上神经网络模型的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10970633B1 (zh) |
EP (1) | EP3944154A1 (zh) |
JP (1) | JP7425216B2 (zh) |
KR (1) | KR20220088497A (zh) |
CN (1) | CN115298671A (zh) |
WO (1) | WO2021230463A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132113B (zh) * | 2020-10-20 | 2024-10-15 | 北京百度网讯科技有限公司 | 车辆再识别的方法、装置、训练方法以及电子设备 |
KR102567024B1 (ko) * | 2022-12-26 | 2023-08-16 | 한국단자공업 주식회사 | 임베디드 기기 내 센서데이터의 온-디바이스 학습을 위한 신경망 구조 탐색방법 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1393196A4 (en) * | 2001-05-07 | 2007-02-28 | Health Discovery Corp | CORES AND METHODS FOR SELECTING CORES FOR USE IN TEACHING MACHINES |
US7599897B2 (en) * | 2006-05-05 | 2009-10-06 | Rockwell Automation Technologies, Inc. | Training a support vector machine with process constraints |
EP2144449A1 (en) * | 2008-07-07 | 2010-01-13 | BRITISH TELECOMMUNICATIONS public limited company | Video quality measurement |
US10318882B2 (en) * | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
EP3574453A1 (en) * | 2017-02-23 | 2019-12-04 | Google LLC | Optimizing neural network architectures |
KR102102772B1 (ko) * | 2017-06-09 | 2020-05-29 | 한국과학기술원 | 전자 장치 및 학습 모델 생성 방법 |
US11106975B2 (en) * | 2017-10-20 | 2021-08-31 | Asapp, Inc. | Fast neural network implementations by increasing parallelism of cell computations |
CN110598840B (zh) * | 2018-06-13 | 2023-04-18 | 富士通株式会社 | 知识迁移方法、信息处理设备以及存储介质 |
US20200021815A1 (en) * | 2018-07-10 | 2020-01-16 | Fastvdo Llc | Method and apparatus for applying deep learning techniques in video coding, restoration and video quality analysis (vqa) |
US20200082247A1 (en) * | 2018-09-07 | 2020-03-12 | Kneron (Taiwan) Co., Ltd. | Automatically architecture searching framework for convolutional neural network in reconfigurable hardware design |
CN110889487A (zh) * | 2018-09-10 | 2020-03-17 | 富士通株式会社 | 神经网络架构搜索装置和方法及计算机可读记录介质 |
US20200104715A1 (en) * | 2018-09-28 | 2020-04-02 | Xilinx, Inc. | Training of neural networks by including implementation cost as an objective |
US11604960B2 (en) * | 2019-03-18 | 2023-03-14 | Microsoft Technology Licensing, Llc | Differential bit width neural architecture search |
US11630990B2 (en) * | 2019-03-19 | 2023-04-18 | Cisco Technology, Inc. | Systems and methods for auto machine learning and neural architecture search |
CN110334689B (zh) * | 2019-07-16 | 2022-02-15 | 北京百度网讯科技有限公司 | 视频分类方法和装置 |
-
2020
- 2020-12-28 US US17/135,301 patent/US10970633B1/en active Active
-
2021
- 2021-01-21 CN CN202180022464.0A patent/CN115298671A/zh active Pending
- 2021-01-21 JP JP2022548235A patent/JP7425216B2/ja active Active
- 2021-01-21 WO PCT/KR2021/000858 patent/WO2021230463A1/en active Application Filing
- 2021-01-21 KR KR1020227018470A patent/KR20220088497A/ko unknown
- 2021-01-25 EP EP21153231.2A patent/EP3944154A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7425216B2 (ja) | 2024-01-30 |
WO2021230463A1 (en) | 2021-11-18 |
US10970633B1 (en) | 2021-04-06 |
EP3944154A1 (en) | 2022-01-26 |
KR20220088497A (ko) | 2022-06-27 |
JP2023514173A (ja) | 2023-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111507150B (zh) | 利用基于深度神经网络的多重图像块组合识别人脸的方法 | |
CN113110592B (zh) | 一种无人机避障与路径规划方法 | |
CN110587606B (zh) | 一种面向开放场景的多机器人自主协同搜救方法 | |
US11113574B1 (en) | Methods for performing self-supervised learning of deep-learning based detection network by using deep Q-network and devices using the same | |
CN111462131B (zh) | 一种注意力驱动图像分割的方法和设备 | |
KR20200039547A (ko) | 트래킹 네트워크를 포함한 cnn을 사용하여 객체를 트래킹하는 방법 및 이를 이용한 장치 | |
CN112148008B (zh) | 一种基于深度强化学习的实时无人机路径预测方法 | |
CN113283426B (zh) | 基于多目标神经网络搜索的嵌入式目标检测模型生成方法 | |
CN111476082B (zh) | 在线批次归一化、在线学习及持续学习的方法和装置 | |
CN115298671A (zh) | 一种使用子内核搜索模块优化设备上神经网络模型的方法和装置 | |
CN111488786A (zh) | 基于cnn的监视用客体检测器的方法及装置 | |
CN114897160A (zh) | 模型训练方法、系统及计算机存储介质 | |
CN111738046B (zh) | 对用于基于深度学习的装置的学习的虚拟世界模拟器的物理引擎进行标定的方法及装置 | |
CN116448134B (zh) | 基于风险场与不确定分析的车辆路径规划方法及装置 | |
CN117114053B (zh) | 基于结构搜索和知识蒸馏的卷积神经网络模型压缩方法和装置 | |
Neloy et al. | Alpha-N-V2: Shortest path finder automated delivery robot with obstacle detection and avoiding system | |
Ferrero-Losada et al. | DEVS-based modeling and simulation of data-driven exploration algorithms of lentic water bodies with an ASV | |
KR20240039776A (ko) | 시계열 데이터를 위한 학습가능한 gaf 방법 및 시스템 | |
CN115359684A (zh) | 一种基于Elastic-BiGRU结构的航空器轨迹预测方法 | |
Mohajerin | Modeling dynamic systems for multi-step prediction with recurrent neural networks | |
CN115169524A (zh) | 一种基于大数据智能优化的测试方法 | |
Li | Neuromorphic Systems for Pattern Recognition and Uav Trajectory Planning | |
Trainelli et al. | A Neural Network Approach for Flight Tests Optimization | |
Romandini | A Neural Network Approach For Flight Tests Optimisation | |
CN113987928A (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 |