CN115796025A - 用于嵌入式机器视觉应用的深度多任务学习的系统和方法 - Google Patents
用于嵌入式机器视觉应用的深度多任务学习的系统和方法 Download PDFInfo
- Publication number
- CN115796025A CN115796025A CN202211480313.2A CN202211480313A CN115796025A CN 115796025 A CN115796025 A CN 115796025A CN 202211480313 A CN202211480313 A CN 202211480313A CN 115796025 A CN115796025 A CN 115796025A
- Authority
- CN
- China
- Prior art keywords
- task
- shared
- matrix
- specific
- neural network
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 239000011159 matrix material Substances 0.000 claims abstract description 109
- 238000012549 training Methods 0.000 claims abstract description 92
- 238000013528 artificial neural network Methods 0.000 claims abstract description 80
- 230000006870 function Effects 0.000 claims description 24
- 230000011218 segmentation Effects 0.000 claims description 20
- 238000010801 machine learning Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 12
- 230000008014 freezing Effects 0.000 claims description 8
- 238000007710 freezing Methods 0.000 claims description 8
- 239000000047 product Substances 0.000 description 17
- 239000002609 medium Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000006163 transport media Substances 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/096—Transfer learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- 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/96—Management of image or video recognition tasks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
一种计算机实现的方法,包括接收使用车辆的至少一个传感器生成的数据;以及使用多任务神经网络对数据同时执行多项不同的预测任务,其中该多任务神经网络包括至少一个共享参数推理矩阵,该共享参数推理矩阵包括在多项不同的预测任务之间共享的参数,并且所述至少一个共享参数推理矩阵在训练期间被过参数化为至少一个共享参数矩阵和多个任务特定参数矩阵,所述多个任务特定参数矩阵中的每一个与多项不同任务中的不同任务相关联。
Description
技术领域
本公开总体上涉及机器视觉,更具体地涉及用于嵌入式机器视觉应用的深度多任务学习。
背景技术
人们对自动驾驶车辆越来越感兴趣,因此,可以捕获大量场景数据然后应用机器学习策略来执行使自动驾驶汽车能够在行驶时做出决策的感知任务的复杂嵌入式视觉系统的发展日益加快。近年来,现有技术机器学习模型的大小显著增长。大型模型显示出很好的表达能力,但实际上难以部署用于推理系统计算能力相对有限且内存相对较低的嵌入式视觉应用。另外,用于自动驾驶的感知任务通常需要实时或接近实时的推理来确保安全,但大型模型通常推理速度较慢。
为了以有限的计算预算减少推理时间并提高联合性能,当要同时学习和推理多项相关任务时,多任务学习(MTL)是嵌入式感知任务的常见设计选择。一般而言,MTL的动机可以是多方面的,包括:通过利用来自其它任务的有用信息来缓解数据稀疏挑战,在内存和计算带宽两方面以有限的计算预算减少推理时间,提高所有任务的联合性能,以及减少训练时间。然而,在每个单独任务的性能与多任务模型参数大小之间存在权衡。
发明内容
根据各种实施例,系统和方法包括MTL神经网络架构,该架构在训练中被过参数化以用于更好的优化和泛化并且缩减为用于推理的紧凑架构,从而提供与较小的神经网络相关联的益处。MTL神经网络包括至少一个过参数化卷积层,其中共享卷积层的权重矩阵被因式分解为共享分量和与每个任务相关联的任务特定分量。在训练期间,使用相应的任务损失函数更新每个任务特定分量,而其它任务特定分量和共享分量保持冻结;然后,使用所有任务的组合损失函数更新共享分量,并冻结(不更新)所有任务特定分量。一旦对模型进行了训练,就通过在共享分量和任务特定分量上使用矩阵乘法将因式分解的卷积层收缩成较小的权重集来生成推理模型。这将在训练期间通过更大量的参数提供的改进优化和泛化的好处和与较小神经网络相关联的更快推理性能结合,从而使MTL神经网络成为嵌入式机器视觉应用的理想选择。
根据一个方面,一种计算机实现的方法包括接收使用车辆的至少一个传感器生成的数据;以及使用多任务神经网络对数据同时执行多项不同的预测任务,其中所述多任务神经网络包括至少一个共享参数推理矩阵,该共享参数推理矩阵包括在所述多个不同预测任务之间共享的参数,并且所述至少一个共享参数推理矩阵在训练期间被过参数化为至少一个共享参数矩阵和多个任务特定参数矩阵,所述多个任务特定参数矩阵中的每一个与所述多项不同任务中的不同任务相关联。
任选地,所述多项不同的预测任务包括语义分割、深度估算、对象检测、实例分割或表面法线估算。
任选地,所述多任务神经网络包括与所述多项不同的预测任务相关联的任务特定参数推理矩阵。
任选地,在所述多任务学习模型的训练期间,使用相应的任务特定损失函数独立地训练所述多个任务特定参数矩阵中的每一个。
任选地,在所述多任务学习模型的训练期间,使用共享任务损失函数独立于所述多个任务特定参数矩阵来训练所述至少一个共享参数矩阵。
任选地,所述方法还包括基于所述多项不同的预测任务的结果来自动控制所述车辆。
任选地,基于所述多项不同的预测任务的结果来自动控制所述车辆包括使所述车辆转向、使所述车辆制动或向所述车辆的驾驶者提供警报。
根据一个方面,一种计算系统包括一个或多个处理器和存储一个或多个程序以供所述一个或多个处理器执行的存储器,所述一个或多个程序包括以下用途的指令:接收使用车辆的至少一个传感器生成的数据;以及使用多任务神经网络对所述数据同时执行多项不同的预测任务,其中所述多任务神经网络包括至少一个共享参数推理矩阵,该共享参数推理矩阵包括在所述多项不同的预测任务之间共享的参数,并且所述至少一个共享参数推理矩阵在训练期间被过参数化为至少一个共享参数矩阵和多个任务特定参数矩阵,所述多个任务特定参数矩阵中的每一个与所述多项不同任务中的不同任务相关联。
任选地,所述计算系统是所述车辆的嵌入式计算系统。
任选地,所述多项不同的预测任务包括语义分割、深度估算、对象检测、实例分割或表面法线估算。
任选地,所述多任务神经网络包括与所述多项不同的预测任务相关联的任务特定参数推理矩阵。
任选地,在所述多任务学习模型的训练期间,使用相应的任务特定损失函数独立地训练所述多个任务特定参数矩阵中的每一个。
任选地,在所述多任务学习模型的训练期间,使用共享任务损失函数独立于所述多个任务特定参数矩阵训练所述至少一个共享参数矩阵。
任选地,所述一个或多个程序包括用于基于所述多项不同的预测任务的结果来自动控制所述车辆的指令。
根据一个方面,一种用于生成多任务机器学习神经网络的方法包括基于多个训练数据集训练多任务学习神经网络,该多任务学习神经网络包括:多个任务特定模块,每个任务特定模块专用于不同任务,和共享模块,该共享模块包括至少一个过参数化卷积层,所述至少一个过参数化卷积层包括至少一个共享参数矩阵和多个任务特定参数矩阵;以及生成用于基于数据集同时执行多项不同的预测任务的多任务机器学习神经网络,该多任务机器学习神经网络包括经过训练的多个任务特定模块和经过训练的共享模块,其包括一矩阵,该矩阵是所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的组合。
任选地,多项不同的预测任务包括语义分割、深度估算、对象检测、实例分割或表面法线估算。
任选地,训练所述多任务学习网络包括使用任务特定损失函数更新所述多个任务特定参数矩阵中的一个参数矩阵的因子,同时冻结所述多个任务特定参数矩阵中的任何其它参数矩阵的因子。
任选地,训练所述多任务学习网络包括使用共享损失函数更新所述至少一个共享参数矩阵的因子,同时冻结所述多个任务特定参数矩阵的参数。
任选地,所述多任务学习模型包括多个过参数化的卷积层。
任选地,所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的矩阵乘法包括经过训练的多个任务特定参数矩阵的按元素乘积。
任选地,所述共享模块的输出作为输入提供给所述多个任务特定模块中的每一个,并且每个任务特定模块不与任何其它任务特定模块互相连接。
任选地,作为所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的组合的矩阵是通过将所述至少一个共享参数矩阵与所述经过训练的多个任务特定参数矩阵的哈达玛积矩阵相乘而生成的。
任选地,基于联合标记的训练数据集、非联合标记的训练数据集或联合标记和非联合标记的训练数据集的组合训练所述多任务学习神经网络。
根据一个方面,一种计算系统包括一个或多个处理器和存储一个或多个程序以供所述一个或多个处理器执行的存储器,所述一个或多个程序包括以下用途的指令:基于多个训练数据集训练多任务学习神经网络,所述多任务学习神经网络包括多个任务特定模块,每个任务特定模块专用于不同任务,和共享模块,该共享模块包括至少一个过参数化卷积层,所述至少一个过参数化卷积层包括至少一个共享参数矩阵和多个任务特定参数矩阵;以及生成用于基于数据集同时执行多项不同的预测任务的多任务机器学习神经网络,该多任务机器学习神经网络包括经过训练的多个任务特定模块和经过训练的共享模块,其包括一矩阵,该矩阵是所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的组合。
任选地,所述多项不同的预测任务包括语义分割、深度估算、对象检测、实例分割或表面法线估算。
任选地,训练所述多任务学习网络包括使用任务特定损失函数更新所述多个任务特定参数矩阵中的一个参数矩阵的因子,同时冻结所述多个任务特定参数矩阵中的任何其它参数矩阵的因子。
任选地,训练所述多任务学习网络包括使用共享损失函数更新所述至少一个共享参数矩阵的因子,同时冻结所述多个任务特定参数矩阵的参数。
任选地,所述多任务学习模型包括多个过参数化卷积层。
任选地,所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的矩阵乘法包括所述经过训练的多个任务特定参数矩阵的按元素乘积。
任选地,所述共享模块的输出作为输入提供给所述多个任务特定模块中的每一个,并且每个任务特定模块不与任何其它任务特定模块互相连接。
任选地,作为所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的组合的矩阵是所述至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的哈达玛积的矩阵乘法。
任选地,基于联合标记的训练数据集、非联合标记的训练数据集或联合标记和非联合标记的训练数据集的组合训练所述多任务学习神经网络。
根据一个方面,一种非暂时性计算机可读介质存储通过根据上述方法中的任一种方法训练多任务学习神经网络而生成的数据结构。
附图说明
现在将参考附图仅通过示例的方式描述本发明,在附图中:
图1示出了可用于嵌入式机器视觉应用的示例性MTL神经网络;
图2示出了根据各种实施例的卷积层的过参数化;
图3是根据各种实施例的用于构建被配置为同时执行n项任务的MTL神经网络的方法的框图;
图4示出了根据各种实施例的可以实现MTL神经网络的嵌入式系统400;
图5是根据各种实施例的使用经过训练的MTL神经网络对图像执行多项任务的方法的流程图;和
图6示出了根据各种实施例的计算系统的一个示例。
具体实施方式
现在将详细参考本文描述的系统和方法的各个方面和变型的实施方案和实施例。尽管本文描述了系统和方法的若干示例性变型,但系统和方法的其它变型可以包括具有所描述的所有或一些方面的组合的以任何合适的方式组合的本文描述的系统和方法的方面。
根据本文描述的原理的系统和方法提供了深度多任务学习神经网络,其具有改进性能,同时维持有限的推理模型参数集,该参数集与推理计算预算、内存和推理时间直接相关。深度MTL神经网络可应用于多任务嵌入式视觉应用,特别是用于自动驾驶的实时感知任务。MTL神经网络不限于嵌入式视觉应用,并且可应用于需要执行多项类似感知任务的其它应用领域。根据本文描述的原理,MTL神经网络可以用于来自不同类型的感知传感器的数据集,包括例如来自照相机的图像、雷达数据集、激光雷达数据集、超声数据集等。根据本文描述的原理,MTL神经网络可用于任何类型的自动驾驶或半自动驾驶车辆,包括汽车和卡车、客机、无人驾驶飞行器(UAV)、火车、船艇、船舶等。
根据各种实施例,MTL神经网络的全连接层和卷积层被过参数化层替换,并且在不同任务之间共享过参数化参数以实现更高的性能,从而减小推理参数大小并降低计算成本。具体而言,张量因式分解用于在训练期间用于模型扩展而不是模型压缩。全秩对角张量被进一步扩展以针对每项任务单独进行训练,而其它张量在所有任务之间被共享。为进行推理,在多项任务之间共享的因式分解张量被收缩回到紧凑的MTL架构。经过训练的MTL神经网络中的权重数可以是用于推理的MTL神经网络中的权重数的两倍,优选地至少三倍。
对于深度MTL模型的任何共享层,给定在t项任务之间共享的权重矩阵W,将权重矩阵W重构为矩阵m×n(输出大小×内核大小,输入大小×内核大小),然后直接使用奇异值因式分解(SVD)进行因式分解,使得W:=U·M·V,其中M是对角矩阵,U、M、V的大小分别为co×k×r、r×r、r×k×ci,其中co为输出大小,ci为输入大小,k×k为内核大小,r为秩。矩阵M可以被再参数化为与MTL模型要执行的t项任务相对应的t个矩阵的哈达玛积(按元素乘积)。
对于以一起学习例如任务a和b为目标的MTL模型的每个共享层,参数U和V在两项任务之间共享,并且Ma、Mb被分配为用于相应任务的任务特定参数。该任务特定参数Ma、Mb在根据每个单独的任务改变共享参数U和V的比例被学习为缩放因子。哈达玛积是累积性、关联性和分布性的,因此任务的顺序不会对最终产品产生影响。MTL模型可分别使用由组合任务损失L更新的参数U和V和由任务特定损失更新的La、Lb进行训练。在推理期间,共享MTL模型层的权重会收缩回到W,使得推理权重矩阵的大小不会增加。通过添加足够的任务特定对角矩阵M1、…、Mt,共享机制可以自然地扩展到2项任务以上的多任务学习。
在过参数化MTL模型的训练阶段,对因式分解矩阵U、M1、…、Mt、V进行训练。U和V矩阵可以使用与未因式分解矩阵W相同的初始化方法进行初始化,并且U、M1、…、Mt被初始化为单位矩阵。经过训练的权重矩阵收缩回到W用于推理,从而提供较少的参数计数和计算成本,但在训练期间具有扩展参数的好处。
为了分别训练共享参数和任务特定参数,替代的训练策略包括针对每个训练轮次的两个训练过程。首先,从所有t项任务中选择一项任务j。任务特定参数Mj用任务损失Lj训练。其它参数U、V、Mk——其中k≠j——和未因式分解层的参数保持冻结。在整个训练过程中,所有任务t需要有相等的被训练机会,并且对于每个轮次,只训练一个任务特定的权重矩阵。其次,所有任务特定的因子M1、…、Mt被冻结,并且其它参数U、V和其它未因式分解层的参数通过所有任务L的联合损失来训练,其中L=∑i∈tαiLi。α表示固定或自适应损失权重。在每个训练过程中,可以应用弗罗贝尼乌斯衰减作为对因式分解矩阵U、V和M的惩罚,以对模型进行正则化以获得更好的泛化。
在以下描述中,应当理解,在以下描述中使用的单数形式“一”、“一个”和“该”意在也包括复数形式,除非上下文另有明确指示。还应理解,如本文所用的术语“和/或”是指并涵盖一个或多个相关的列出条目中的任何和所有可能的组合。应进一步理解,当在本文中使用时,术语“包括(includes)”、“包括(including)”、“包含(comprises)”和/或“包含(comprising)”指定所述特征、整数、步骤、操作、元件、部件和/或单元的存在,但不排除一个或多个其它特征、整数、步骤、操作、研究、部件、单元和/或它们的组的存在或增加。
本公开的某些方面包括文中以算法形式描述的过程步骤和指令。应当注意的是,本公开的处理步骤和指令可以在软件、固件或硬件中实施,并且当在软件中实施时,可以被下载以驻留在各种操作系统使用的不同平台上并从其操作。除非从下面的讨论中明显以其它方式明确指出,否则应理解,在说明书全文中,使用诸如“处理”、“运算”、“计算”、“确定”、“显示”、“生成”等属于的讨论指计算机系统或类似的电子计算设备的动作和过程,它们在计算机系统存储器或寄存器或其它此类信息存储、传输或显示设备中操纵并转换表示为物理(电子)量的数据。
本公开在一些实施例中还涉及一种用于执行文中的操作的设备。该设备可以针对所需目的专门构造,或者它可以包括由存储在计算机中的计算机程序选择性地启用或重新配置的通用计算机。这样的计算机程序可以存储在非临时性计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、USB闪速驱动器、外部硬盘驱动器、光盘、CD-ROM、磁盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、专用集成电路(ASIC)或适于存储电子指令的任何类型的介质,并且各自都耦合到计算机系统总线。此外,说明书中提及的计算机可以包括单个处理器或者可以是采用多个处理器设计以增加计算能力的架构。合适的处理器包括中央处理单元(CPU)、图形处理单元(GPU)、现场可编程门阵列(FPGA)和ASIC。
本文所描述的方法、设备和系统与任何特定计算机或其它装置没有本质上的关系。各种通用系统也可以与根据本文的教导的程序一起使用,或者可以证明便于构造更专业的装置以执行所需的方法步骤。各种这些系统所需的结构将在下面的描述中显现。另外,本发明没有参考任何特定的编程语言进行描述。应当理解,可以使用多种编程语言来实现如本文所述的本发明的教导。
图1示出了可用于嵌入式机器视觉应用的示例性MTL神经网络100。网络100包括用于所有推理任务的共享模块102以及各自都用于不同任务的单独的任务特定模块104、106和108。三个任务特定模块104、106和108对应于由模型执行的三个不同的推理任务。然而,这仅仅是示例性的。一般而言,网络将具有与由MTL网络执行的任务一样多的任务特定模块。根据本文描述的原理,由MTL网络执行的任务的数量不受限制。根据各种实施例,共享模块102的输出作为输入提供给三个任务特定模块104、106和108中的每一个,并且任务特定模块104、106和108彼此不连接。
共享模块102包括多个卷积层。共享模块102的卷积层110在图1中被示出以用于说明。根据本文所描述的原理,共享模块102的卷积层中的至少一个卷积层被过完备因式分解以用于训练并且被收缩回到紧凑集以用于推理,如下面进一步讨论的。
根据各种实施例,深度多任务学习训练方法利用过参数化卷积层来提高模型表达性并学习任务特定的变化。该方法在训练期间增加了模型的参数集大小,但参数集被收缩回到紧凑集以进行推理。在不增加任何推理参数大小的情况下,可以进一步微调模型以提高每项任务的性能。根据本文所描述的原理的深度MTL方法可以普遍应用于任何具有卷积层的MTL模型,以:1)减少设计模型特定解决方案的工程工作量;2)显著提高联合性能;3)维持甚至减小推理模型的大小。
对于深度神经网络模型,要进行过完备因式分解的目标卷积层通过ci×ci-1×k×k张量参数化,其中ci-1和ci是对应的输入和输出通道尺寸(其中输入和输出尺寸的大小为h×w×ci-1和h×w×ci),k是滤波器大小。张量可以重新整形cik×ci-1k矩阵W,它可以因式分解为两个大小为cik×r的权重矩阵U和大小为r×ci-1k的VT,其中W=UVT。对于过完备因式分解,秩r不应小于min(cik|ci-1k)以避免丢失信息。
根据本文所描述的原理,代替模型参数的直接因式分解,在训练期间将三个或更多个参数矩阵初始化,这增加了经过训练的参数大小。然后,推理参数集W是经过训练的参数矩阵的乘积。例如,如果经过训练的矩阵是大小为cik×r的矩阵U、大小为r×r的矩阵M和大小为r×ci-1k的矩阵VT,则推理矩阵将是原始大小为cik×ci-1k的W=UMVT。
共享模块102包括在任务之间共享的多个参数,在图1的三任务示例中表示为任务A、B和C。共享参数集(也称为权重)表示为WABC。任务特定模块104、106和108的参数分别表示为WA、WB和WC。共享模块102的共享参数的特定卷积层表示为其中共享参数 共享层数为n。为了简化说明,以下将表示为W——用于共享模块102的给定卷积层的共享参数集。假设该层是卷积层,那么用于一层的参数集可以因式分解为:
W=UMVT
W的大小为cik×ci-1k,矩阵U的大小为cik×r,矩阵M的大小为r×r,矩阵VT的大小为r×ci-1k,并且r≥min(cik、ci-1k)。
代替在任务A、B和C之间共享所有参数W,这可能会导致任务之间的负迁移并损害联合性能,将因式分解矩阵U和VT配置为共享参数,并使用M来捕获任务特定信息。根据各种实施例,M是多个矩阵的哈达玛积(按元素乘积),所述矩阵的数量等于相同大小的任务的数量(在图1的示例中为三个),对于图1的示例,所述矩阵表示为M1、M2和M3。这三个矩阵分别代表用于每个单独的任务A、B和C的任务特定因子。该知识共享方案中使用哈达玛积背后的基本原理是张量的哈达玛积对应于多元函数的积。矩阵M将是:
M=M1⊙M2⊙M3
其中⊙表示哈达玛积。无论任务数量如何,任务特定矩阵的哈达玛积都将产生单个矩阵M。
图2示出了根据以上针对三任务MTL神经网络所述的过程的卷积层的过参数化的一个示例。共享模块102的给定卷积层的权重矩阵被因式分解以训练成权重矩阵U、VT、M1、M2和M3。然后将训练好的权重矩阵相乘,从而为卷积层提供权重矩阵W。权重矩阵W用于推理模型,并且可以例如部署在嵌入式机器视觉系统中。
实际上,共享模块WABC中的任意数量的卷积层都可以使用上述原理进行因式分解,以提高多任务模型的性能。在一些变型中,仅对多个卷积层中的单个卷积层进行因式分解。在另一些变型中,对所有卷积层都进行因式分解。可以理解,可以对共享模块的卷积层的任何份额进行因式分解。根据各种实施例,不对任务特定模块WA、WB和WC中的卷积层进行因式分解。
在训练之前,可以使用权重参数集W的原始初始化将大小分别为cik×r和r×ci-1k的矩阵U和VT初始化,并且可以将U和VT初始化为大小为r×r的单位矩阵。
在训练期间,使用任务t的任务特定损失Li=t更新给定任务t的因子集Mi=t,同时所有其它因子(Mi∈t、U和VT的因子)被冻结(即,参数不更新)。然后,用联合任务损失更新矩阵U和VT,同时冻结所有任务因子M。根据各种实施例,为了减少参数更新时任务之间的训练动态冲突,对于每个轮次,只有一个任务因子Mi用其任务特定损失进行训练。换言之,在连续的训练轮次交替地训练三个任务因子。因此,根据上述过程,在训练期间,训练模型的参数大小从W扩大到矩阵U、VT、M1、M2和M3(针对图1的三任务示例)。
在推理期间,通过矩阵乘法以W=UMVT恢复用于卷积层的大小为cik×ci-1k的推理权重矩阵W,其中M通过按元素乘积M=M1⊙M2⊙M3从M1、M2和M3恢复。然后将参数矩阵W重新整形回到大小为ci×ci-1×k×k的张量,以用作用于推理模型中的正常卷积层的参数集。因此,根据上述原理,推理模型——例如可以部署在嵌入式设备上的模型——的参数大小不会增加。
图3是用于根据以上讨论的原理构建配置用于同时执行n项任务的MTL神经网络的方法300的框图。例如,方法300可以用于构建图1的神经网络100。方法300是用于训练MTL神经网络的训练过程的简化表示,着重于与共享模块的过完备参数化相关的训练方面。训练MTL神经网络的其它方面对于本领域的普通技术人员来说是很好理解的,因此为了简洁而省略。
一般而言,可以使用方法300的机器学习模型包括共享模块——其包括多个卷积层——以及多个任务特定模块,每个任务特定模块都包括多个卷积层。共享模块的x个卷积层中的每个卷积层的参数集都被因式分解为VT、M1、M2、..、Mn,其中Mi是用于n项任务中的任务i的参数矩阵。
在步骤302,将模型的参数初始化。使用与未因式分解的矩阵W相同的初始化方法将U、VT矩阵初始化,并且将M1、M2、..、Mn初始化为单位矩阵。训练开始于步骤302,其中基于训练数据如多张训练图像更新共享模块的第一卷积层的任务特定矩阵M1。矩阵M1的更新使用任务特定的损失函数L1完成。当更新矩阵M1的参数时,所有其它参数——参数U、VT、M2、…、Mn——都被冻结(不改变)。在步骤306,使用作为任务特定的损失函数的组合的共享损失函数更新矩阵U、VT的共享参数,并且冻结任务特定参数。对共享模块的每个卷积层重复步骤304和306。请注意,为简单起见,未示出与神经网络的其它结构相关联的训练过程。一旦更新了共享模块的卷积层,方法300就继续进行步骤308,其中更新任务特定模块的一个或多个层。
对每个轮次重复步骤304-308。虽然第一轮次包括更新第一任务特定矩阵M1的参数,但第二轮次包括在步骤304更新第二任务特定矩阵M2的参数。因此,每个轮次包括来自前一轮次的不同任务特定矩阵Mi的更新。相应地针对所需数量的轮次重复步骤304-308。一旦共享模块的最后一个任务特定矩阵Mn被更新,后一轮次就将包括更新第一任务特定矩阵M1(i被设置为1)。
在最后一个轮次之后,方法300继续进行步骤310,其中将用于共享模块的每个卷积层的矩阵U、VT、M2、…、Mn相乘,如上所述,从而得到推理权重矩阵W,其被构建到可以在嵌入式系统中实现的MTL推理模型312中。
使用合适的训练数据集——例如合适的训练图像——来执行方法300。可以选择训练图像并将其预处理为相同的高度和宽度。训练图像可以由人工标注者注释,以包含MTL要执行的每项任务的标签。例如,对于对象检测任务,训练图像标记包括图像文件名、边界框坐标和对象名称。如本领域技术人员所理解的,不同任务可以具有对应于该任务的不同标签。
训练数据集可以是联合标记的、非联合标记的或两者的某种组合。这意味着单个训练数据集(例如,单张训练图像)可以具有用于单项任务(非联合标记)或多项任务(联合标记)的标签,以一起同时训练。对于联合标记或非联合标记的数据集,每个训练批次都可以包括来自不同任务的混合数据集。可以使用任何合适的分布(例如均匀分布)将数据集混合以用于不同的任务。
为了说明以上几点,对于批量大小为256张训练图像的用于训练4任务MTL神经网络的联合标记的训练数据集,所有256张训练图像都具有用于所有3项任务的标签,并对所有3项任务同时训练MTL神经网络。相比之下,对于批量大小为256张训练图像的用于训练4任务MTL神经网络的非联合标记的训练数据集,可以对每项任务标记64张训练图像(用于均匀分布)。在训练期间,将256张训练图像作为一个批次一起加载,并同时针对所有3项任务训练MTL神经网络。在该训练批次中,每个任务特定部分仅通过从其相关联的64张图像接收到的损失进行更新,而共享部分通过从256张图像一起接收的损失进行更新。
因此,由于MTL神经网络的过参数化,根据其中描述的原理,MTL神经网络可以用联合或非联合标记的数据集进行训练。这使得可以使用更多样化的训练数据集,从而使MTL神经网络的训练更容易。
图4示出了可以实现根据以上讨论的原理训练的MTL神经网络——例如图3的MTL推理模型312——的嵌入式系统400。嵌入式系统400可以安装在车辆402中,用于对使用传感器系统404生成的数据同时执行多项机器视觉推理任务。传感器系统404可以包括一个或多个车载传感器,例如一个或多个前向传感器、一个或多个后向传感器和/或一个或多个车内传感器。传感器可以是任何适于感知车辆环境的传感器,包括可见光照相机、激光雷达照相机、雷达传感器、超声波传感器或任何其它传感器技术。
嵌入式系统400包括推理引擎406,该推理引擎406实现用于对从传感器系统404接收的成像执行多项(N)推理任务的MTL神经网络。MTL神经网络可以被配置用于任何合适数量和组合的推理任务。推理任务的示例包括语义分割、深度估算、对象检测和表面法线估算。
推理引擎406输出与每项推理任务相关联的预测。这些预测可以提供给车辆控制系统408,该系统可以将预测用于自动驾驶或半自动驾驶车辆控制。车辆控制系统408可以是嵌入式系统400的一部分,或者可以是通信连接到控制系统408的单独系统。车辆控制系统408可以包括或通信连接到一个或多个车辆系统,例如转向系统、制动系统、加速系统和驾驶者界面系统(其可以包括例如用于与驾驶者通信的车载显示器)。在一些实施例中,车辆控制系统408控制车辆转向和车辆制动中的至少一项,和/或基于来自推理引擎406的预测向车辆的驾驶者提供警报。例如,车辆控制系统408可以根据基于例如从推理引擎406输出的语义分割、对象检测和深度估算获得的距道路上障碍物的距离来控制车辆402的制动。
图5是用于使用根据以上讨论的原理训练的MTL神经网络对图像执行多项任务的方法500的流程图。方法500可以例如由部署在车辆(例如图4的车辆402)中以支持自动驾驶车辆操作的嵌入式计算系统(例如图4的嵌入式系统400)执行。在步骤502,由诸如图4的传感器系统404的照相机系统接收图像。该图像可以是单张快照图像,也可以是一帧视频。在步骤504,用MTL神经网络——例如图3的推理模型312——处理图像。MTL神经网络对该图像同时执行N项推理任务。推理任务的示例包括语义分割、深度估算、对象检测、实例分割和表面法线估算。在步骤506输出来自每项任务的预测。这些预测可以用于自动驾驶车辆控制,如上面关于图4的车辆控制系统408所讨论的。
根据各种实施例,可以在不增加推理模型大小的情况下使用模型微调和/或知识蒸馏来进一步提高MTL模型性能,这可以用作后处理。首先,可以使用任何大小的单任务模型(或一些性能最佳的多任务模型)来为该多任务模型生成软目标,以便在训练期间从中学习。软目标可以从无监管数据集生成,与成本更高的监管数据集相比,无监管数据集相对丰富。因此,当标记和未标记的数据都可用时,训练可以扩展到半监管学习方法。
其次,对于每个特定任务,过完备因式分解后的多任务模型可以在其批归一化层上被进一步微调有限数量的轮次(通常小于30个轮次足以进行微调)。由于批归一化层的仿射参数的数量很少,因此在该后期处理中对每项任务的微调都非常快。
根据以上讨论的原理,MTL机器学习模型包括知识共享架构,其被配置为在不增加推理成本的情况下提高深度多任务学习模型的模型性能。这可以用于任何嵌入式视觉应用程序,其中:(1)可能会竞争模型共享资源的多项任务将被一起学习,并且(2)部署模型的推理预算紧张。与未对本文所描述的共享模块进行过完备因式分解的原始深度多任务学习模型相比,本文所描述的方法可以通过减小模型参数大小来实现明显更高的联合性能。这可以潜在地降低要在产品中使用的嵌入式设备的成本,而不会妥协所部署的深度多任务学习模型的性能。
尽管经常针对嵌入式机器视觉应用描述了上述方法,但是用于深度多任务学习的相同知识共享方法可以应用于任何具有卷积层的多任务模型。这种方法可以潜在地对涉及以下内容的任何应用有用:(1)具有卷积层的深度学习模型,(2)需要同时学习的多项任务,以及(3)推理模型参数大小受到约束的要求。
图6示出了根据一些实施例的计算系统600的一个示例。例如,计算系统600可以用于例如根据图3的方法300来训练MTL机器学习模型。计算系统600可以用于图4的嵌入式系统400的一个或多个部件。系统600可以是连接到网络的计算机。系统600可以是客户端或服务器。如图6所示,系统600可以是任何合适类型的基于处理器的系统,例如个人计算机、工作站、服务器、诸如电话或平板电脑的手持式计算设备(便携式电子设备),或者嵌入式系统或其它专用设备。系统600可以包括例如输入设备620、输出设备630、一个或多个处理器610、存储器640和通信设备660中的一者或多者。输入设备620和输出设备630通常可以对应于上述的那些,并且可以与计算系统600连接或集成。
输入设备620可以是提供输入的任何合适的设备,例如触摸屏、键盘或小键盘、鼠标、虚拟/增强现实系统的手势识别部件或语音识别设备。输出设备630可以是或包括提供输出的任何合适的设备,例如显示器、触摸屏、触觉技术设备、虚拟/增强现实显示器或扬声器。
存储装置640可以是提供存储的任何合适的设备,例如包括RAM、高速缓存、硬盘驱动器、可移动存储盘或其它非暂时性计算机可读介质的电、磁或光存储器。通信设备660可以包括能够通过网络发送和接收信号的任何合适的设备,例如网络接口芯片或设备。计算系统600的部件可以以任何合适的方式连接,例如经由物理总线连接或无线连接。
处理器610可以是任何合适的处理器或处理器的组合,包括中央处理单元(CPU)、图形处理单元(GPU)、现场可编程门阵列(FPGA)和专用集成电路(ASIC)。可以存储在存储装置640中并由一个或多个处理器610执行的软件650可以包括例如实施本公开的功能或部分功能(例如,在如上所述的设备中实施)的程序。例如,软件650可以包括由一个或多个处理器610执行的一个或多个程序,用于执行方法300和/或方法500的一个或多个步骤。
软件650也可以被存储在任何非暂时性计算机可读存储介质中和/或在其中传输,以供诸如上述那些指令执行系统、装置或设备使用或与其结合使用,这些指令执行系统、装置或设备可以获取与来自指令执行系统、装置或设备的软件相关联的指令并执行这些指令。在本公开的背景下,计算机可读存储介质可以是任何介质,例如存储装置640,其可以包含或存储供指令执行系统、装置或设备使用或与其结合使用的程序。
软件650也可以在任何传输介质中传播,以供诸如上述那些指令执行系统、装置或设备使用或与其结合使用,这些指令执行系统、装置或设备可以获取与来自指令执行系统、装置或设备的软件相关联的指令并执行这些指令。在本公开的背景下,传输介质可以是可以通信、传播或传输程序以供指令执行系统、装置或设备使用或与其结合使用的任何介质。传输计算机可读介质可以包括但不限于电子、磁、光、电磁或红外有线或无线传播介质。
系统600可以连接到网络,该网络可以是任何合适类型的互连通信系统。该网络可以实现任何合适的通信协议并且可以通过任何合适的安全协议来保护。该网络可以包括可以实现网络信号的发送和接收的任何合适布置的网络链路,例如无线网络连接、T1或T3线路、电缆网络、DSL或电话线路。
系统600可以实现适合在网络上操作的任何操作系统。软件650可以用任何合适的编程语言编写,例如C、C++、Java或Python。在各种实施例中,实施本公开的功能的应用软件可以以不同的配置部署,例如以客户端/服务器布置部署或通过Web浏览器作为例如基于Web的应用或Web服务部署。
为了解释的目的,已经参考特定实施例对前面的描述进行了描述。然而,以上说明性讨论并非意在是详尽的或将本发明限制为所公开的具体形式。根据上述教导,许多改型和变型是可能的。选择和描述实施例是为了最好地解释这些技术的原理及其实际应用。从而使本领域的其他技术人员能够最好地利用具有适合于预期的特定用途的各种改型的技术和各种实施例。
尽管已经参考附图充分描述了公开内容和示例,但是应当注意,各种变更和修改对于本领域技术人员来说将变得显而易见。此类变更和修改将被理解为包含在通过权利要求限定的公开内容和示例的范围内。最后,本申请中提及的专利和出版物的全部公开内容通过引用并入本文。
Claims (28)
1.一种用于自动控制车辆的计算机实现的方法,包括:
接收使用车辆的至少一个传感器生成的数据;
使用多任务神经网络对所述数据同时执行多项不同的预测任务,其中所述多任务神经网络包括至少一个共享参数推理矩阵,该共享参数推理矩阵包括在所述多项不同的预测任务之间共享的参数,并且所述至少一个共享参数推理矩阵在训练期间被过参数化为至少一个共享参数矩阵和多个任务特定参数矩阵,所述多个任务特定参数矩阵中的每一个与所述多项不同任务中的不同任务相关联;以及
基于所述多项不同的预测任务的结果来自动控制所述车辆。
2.根据权利要求1所述的方法,其中,所述多项不同的预测任务包括语义分割、深度估算、对象检测、实例分割或表面法线估算。
3.根据权利要求1所述的方法,其中,所述多任务神经网络包括与所述多项不同的预测任务相关联的任务特定参数推理矩阵。
4.根据权利要求1所述的方法,其中,在所述多任务神经网络的训练期间,使用相应的任务特定损失函数独立地训练所述多个任务特定参数矩阵中的每一个。
5.根据权利要求1所述的方法,其中,在所述多任务神经网络的训练期间,使用共享任务损失函数独立于所述多个任务特定参数矩阵来训练所述至少一个共享参数矩阵。
6.根据权利要求1所述的方法,其中,基于所述多项不同的预测任务的结果来自动控制所述车辆包括使所述车辆转向、使所述车辆制动或向所述车辆的驾驶者提供警报。
7.一种用于自动控制车辆的计算系统,包括一个或多个处理器和存储一个或多个程序以供所述一个或多个处理器执行的存储器,所述一个或多个程序包括以下用途的指令:
接收使用车辆的至少一个传感器生成的数据;
使用多任务神经网络对所述数据同时执行多项不同的预测任务,其中所述多任务神经网络包括至少一个共享参数推理矩阵,该共享参数推理矩阵包括在所述多项不同的预测任务之间共享的参数,并且所述至少一个共享参数推理矩阵在训练期间被过参数化为至少一个共享参数矩阵和多个任务特定参数矩阵,所述多个任务特定参数矩阵中的每一个与所述多项不同任务中的不同任务相关联;以及
基于所述多项不同的预测任务的结果来自动控制所述车辆。
8.根据权利要求7所述的计算系统,其中,所述计算系统是所述车辆的嵌入式计算系统。
9.根据权利要求7所述的计算系统,其中,所述多项不同的预测任务包括语义分割、深度估算、对象检测、实例分割或表面法线估算。
10.根据权利要求7所述的计算系统,其中,所述多任务神经网络包括与所述多项不同的预测任务相关联的任务特定参数推理矩阵。
11.根据权利要求7所述的计算系统,其中,在所述多任务神经网络的训练期间,使用相应的任务特定损失函数独立地训练所述多个任务特定参数矩阵中的每一个。
12.根据权利要求7所述的计算系统,其中,在所述多任务神经网络的训练期间,使用共享任务损失函数独立于所述多个任务特定参数矩阵训练所述至少一个共享参数矩阵。
13.一种用于生成多任务机器学习神经网络的方法,所述多任务机器学习神经网络能够基于车辆的传感器数据执行预测任务以自动控制所述车辆,所述方法包括:
基于多个训练数据集训练多任务学习神经网络,该多任务学习神经网络包括:
多个任务特定参数集,每个任务特定参数集专用于不同任务,和
共享参数集,该共享参数集包括至少一个过参数化卷积层,所述至少一个过参数化卷积层包括至少一个共享参数矩阵和多个任务特定参数矩阵;
生成用于基于所述车辆的传感器数据同时执行多项不同的预测任务的多任务机器学习神经网络,该多任务机器学习神经网络包括经过训练的多个任务特定参数集和经过训练的共享参数集,其包括一矩阵,该矩阵是所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的组合;以及
将所述多任务机器学习神经网络嵌入到所述车辆的计算系统中,使得所述计算系统能够基于所述车辆的传感器数据执行所述多项不同的预测任务,并且基于所述多项不同的预测任务的结果自动控制所述车辆。
14.根据权利要求13所述的方法,其中,所述多项不同的预测任务包括语义分割、深度估算、对象检测、实例分割或表面法线估算。
15.根据权利要求13所述的方法,其中,训练所述多任务学习网络包括使用任务特定损失函数更新所述多个任务特定参数矩阵中的一个参数矩阵的因子,同时冻结所述多个任务特定参数矩阵中的任何其它参数矩阵的因子。
16.根据权利要求15所述的方法,其中,训练所述多任务学习网络包括使用共享损失函数更新所述至少一个共享参数矩阵的因子,同时冻结所述多个任务特定参数矩阵的参数。
17.根据权利要求13所述的方法,其中,所述多任务学习神经网络包括多个过参数化的卷积层。
18.根据权利要求13所述的方法,其中,所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的矩阵乘法包括所述经过训练的多个任务特定参数矩阵的按元素乘积。
19.根据权利要求13所述的方法,其中,所述共享模块的输出作为输入提供给所述多个任务特定模块中的每一个,并且每个任务特定模块不与任何其它任务特定模块互相连接。
20.根据权利要求13所述的方法,其中,作为所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的组合的矩阵是通过将所述至少一个共享参数矩阵与所述经过训练的多个任务特定参数矩阵的哈达玛积矩阵相乘而生成的。
21.一种用于生成多任务机器学习神经网络的计算系统,所述多任务机器学习神经网络能够基于车辆的传感器数据执行预测任务以自动控制所述车辆,所述计算系统包括一个或多个处理器和存储一个或多个程序以供所述一个或多个处理器执行的存储器,所述一个或多个程序包括以下用途的指令:
基于多个训练数据集训练多任务学习神经网络,所述多任务学习神经网络包括:
多个任务特定参数集,每个任务特定参数集专用于不同任务,和
共享参数集,该共享参数集包括至少一个过参数化卷积层,所述至少一个过参数化卷积层包括至少一个共享参数矩阵和多个任务特定参数矩阵;
生成用于基于所述车辆的传感器数据同时执行多项不同的预测任务的多任务机器学习神经网络,该多任务机器学习神经网络包括经过训练的多个任务特定参数集和经过训练的共享参数集,其包括一矩阵,该矩阵是所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的组合;以及
存储所述多任务机器学习神经网络以嵌入到所述车辆的计算系统中,使得所述计算系统能够基于所述车辆的传感器数据执行所述多项不同的预测任务,并且基于所述多项不同的预测任务的结果自动控制所述车辆。
22.根据权利要求21所述的计算系统,其中,所述多项不同的预测任务包括语义分割、深度估算、对象检测、实例分割或表面法线估算。
23.根据权利要求21所述的计算系统,其中,训练所述多任务学习网络包括使用任务特定损失函数更新所述多个任务特定参数矩阵中的一个参数矩阵的因子,同时冻结所述多个任务特定参数矩阵中的任何其它参数矩阵的因子。
24.根据权利要求23所述的计算系统,其中,训练所述多任务学习网络包括使用共享损失函数更新所述至少一个共享参数矩阵的因子,同时冻结所述多个任务特定参数矩阵的参数。
25.根据权利要求21所述的计算系统,其中,所述多任务学习神经网络包括多个过参数化卷积层。
26.根据权利要求21所述的计算系统,其中,所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的矩阵乘法包括所述经过训练的多个任务特定参数矩阵的按元素乘积。
27.根据权利要求21所述的计算系统,其中,所述共享模块的输出作为输入提供给所述多个任务特定模块中的每一个,并且每个任务特定模块不与任何其它任务特定模块互相连接。
28.根据权利要求21所述的计算系统,其中,作为所述经过训练的至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的组合的矩阵是所述至少一个共享参数矩阵和所述经过训练的多个任务特定参数矩阵的哈达玛积的矩阵乘法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/534845 | 2021-11-24 | ||
US17/534,845 US11527074B1 (en) | 2021-11-24 | 2021-11-24 | Systems and methods for deep multi-task learning for embedded machine vision applications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115796025A true CN115796025A (zh) | 2023-03-14 |
Family
ID=84426601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211480313.2A Pending CN115796025A (zh) | 2021-11-24 | 2022-11-23 | 用于嵌入式机器视觉应用的深度多任务学习的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11527074B1 (zh) |
CN (1) | CN115796025A (zh) |
DE (1) | DE102022130893A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2623551A (en) * | 2022-10-20 | 2024-04-24 | Continental Automotive Tech Gmbh | Systems and methods for learning neural networks for embedded applications |
CN117593613B (zh) * | 2024-01-19 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 多任务学习方法和装置、存储介质及电子设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426262A (zh) * | 2017-08-25 | 2019-03-05 | 福特全球技术公司 | 对深度神经网络的共享处理 |
US20190073590A1 (en) * | 2017-09-01 | 2019-03-07 | Facebook, Inc. | Sparse Neural Network Training Optimization |
US20190102631A1 (en) * | 2017-09-30 | 2019-04-04 | TuSimple | System and method for instance-level lane detection for autonomous vehicle control |
US20190113917A1 (en) * | 2017-10-16 | 2019-04-18 | Toyota Research Institute, Inc. | System and method for leveraging end-to-end driving models for improving driving task modules |
CN110406530A (zh) * | 2019-07-02 | 2019-11-05 | 宁波吉利汽车研究开发有限公司 | 一种自动驾驶方法、装置、设备和车辆 |
CN110941700A (zh) * | 2019-11-22 | 2020-03-31 | 福州大学 | 一种基于多任务联合学习的论辩挖掘系统及其工作方法 |
DE102018129871A1 (de) * | 2018-11-27 | 2020-05-28 | Valeo Schalter Und Sensoren Gmbh | Trainieren eins tiefen konvolutionellen neuronalen Netzwerks zum Verarbeiten von Sensordaten zur Anwendung in einem Fahrunterstützungssystem |
US20200286383A1 (en) * | 2019-03-07 | 2020-09-10 | Nec Laboratories America, Inc. | Multi-task perception network with applications to scene understanding and advanced driver-assistance system |
CN112766493A (zh) * | 2021-01-19 | 2021-05-07 | 北京市商汤科技开发有限公司 | 多任务神经网络的训练方法、装置、电子设备及存储介质 |
US20210256374A1 (en) * | 2020-02-14 | 2021-08-19 | Samsung Electronics Co., Ltd | Method and apparatus with neural network and training |
CN113505839A (zh) * | 2021-07-16 | 2021-10-15 | 清华大学 | 一种基于参数传播的多任务图片理解方法与装置 |
US20210334630A1 (en) * | 2020-04-28 | 2021-10-28 | Nvidia Corporation | Model predictive control techniques for autonomous systems |
CN113641819A (zh) * | 2021-08-10 | 2021-11-12 | 福州大学 | 基于多任务稀疏共享学习的论辩挖掘系统及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360494B2 (en) | 2016-11-30 | 2019-07-23 | Altumview Systems Inc. | Convolutional neural network (CNN) system based on resolution-limited small-scale CNN modules |
US10691925B2 (en) | 2017-10-28 | 2020-06-23 | Altumview Systems Inc. | Enhanced face-detection and face-tracking for resource-limited embedded vision systems |
US11644834B2 (en) * | 2017-11-10 | 2023-05-09 | Nvidia Corporation | Systems and methods for safe and reliable autonomous vehicles |
US20190108447A1 (en) * | 2017-11-30 | 2019-04-11 | Intel Corporation | Multifunction perceptrons in machine learning environments |
CN109325515B (zh) | 2018-08-10 | 2021-09-28 | 江苏理工学院 | 基于局部学习正则化的深度矩阵分解方法及图像聚类方法 |
US11182457B2 (en) | 2019-03-28 | 2021-11-23 | International Business Machines Corporation | Matrix-factorization based gradient compression |
EP4143746A2 (en) * | 2020-05-01 | 2023-03-08 | Umnai Limited | Architecture for a hardware based explainable neural network |
CN112232511B (zh) | 2020-12-15 | 2021-03-30 | 之江实验室 | 面向多任务的预训练语言模型自动压缩方法及平台 |
US20210112441A1 (en) * | 2020-12-23 | 2021-04-15 | Dario Sabella | Transportation operator collaboration system |
-
2021
- 2021-11-24 US US17/534,845 patent/US11527074B1/en active Active
-
2022
- 2022-11-22 DE DE102022130893.6A patent/DE102022130893A1/de active Pending
- 2022-11-23 CN CN202211480313.2A patent/CN115796025A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426262A (zh) * | 2017-08-25 | 2019-03-05 | 福特全球技术公司 | 对深度神经网络的共享处理 |
US20190073590A1 (en) * | 2017-09-01 | 2019-03-07 | Facebook, Inc. | Sparse Neural Network Training Optimization |
US20190102631A1 (en) * | 2017-09-30 | 2019-04-04 | TuSimple | System and method for instance-level lane detection for autonomous vehicle control |
US20190113917A1 (en) * | 2017-10-16 | 2019-04-18 | Toyota Research Institute, Inc. | System and method for leveraging end-to-end driving models for improving driving task modules |
DE102018129871A1 (de) * | 2018-11-27 | 2020-05-28 | Valeo Schalter Und Sensoren Gmbh | Trainieren eins tiefen konvolutionellen neuronalen Netzwerks zum Verarbeiten von Sensordaten zur Anwendung in einem Fahrunterstützungssystem |
US20200286383A1 (en) * | 2019-03-07 | 2020-09-10 | Nec Laboratories America, Inc. | Multi-task perception network with applications to scene understanding and advanced driver-assistance system |
CN110406530A (zh) * | 2019-07-02 | 2019-11-05 | 宁波吉利汽车研究开发有限公司 | 一种自动驾驶方法、装置、设备和车辆 |
CN110941700A (zh) * | 2019-11-22 | 2020-03-31 | 福州大学 | 一种基于多任务联合学习的论辩挖掘系统及其工作方法 |
US20210256374A1 (en) * | 2020-02-14 | 2021-08-19 | Samsung Electronics Co., Ltd | Method and apparatus with neural network and training |
US20210334630A1 (en) * | 2020-04-28 | 2021-10-28 | Nvidia Corporation | Model predictive control techniques for autonomous systems |
CN112766493A (zh) * | 2021-01-19 | 2021-05-07 | 北京市商汤科技开发有限公司 | 多任务神经网络的训练方法、装置、电子设备及存储介质 |
CN113505839A (zh) * | 2021-07-16 | 2021-10-15 | 清华大学 | 一种基于参数传播的多任务图片理解方法与装置 |
CN113641819A (zh) * | 2021-08-10 | 2021-11-12 | 福州大学 | 基于多任务稀疏共享学习的论辩挖掘系统及方法 |
Non-Patent Citations (4)
Title |
---|
MD ROBIUL ISLAM MINTO 等: ""Shallow Neural Networks for mmWave Radar Based Recognition of Vulnerable Road Users"", 2020 12TH INTERNATIONAL SYMPOSIUM ON COMMUNICATION SYSTEMS, NETWORKS AND DIGITAL SIGNAL PROCESSING (CSNDSP), 10 November 2020 (2020-11-10) * |
刘占文 等: ""基于时序融合的自动驾驶多任务感知算法"", 《交通运输工程学报》, vol. 21, no. 4, 31 August 2021 (2021-08-31) * |
李云红;郑婷婷;王震亚;王延年;惠史科;: "基于层次聚类多任务学习的人类行为识别", 自动化仪表, no. 10, 20 October 2017 (2017-10-20) * |
王亚蕊;王啸宇;: "融合批规范化编解码网络架构的道路分割", 现代计算机(专业版), no. 18, 25 June 2018 (2018-06-25) * |
Also Published As
Publication number | Publication date |
---|---|
US11527074B1 (en) | 2022-12-13 |
DE102022130893A1 (de) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11361546B2 (en) | Action recognition in videos using 3D spatio-temporal convolutional neural networks | |
US11574195B2 (en) | Operation method | |
JP7289918B2 (ja) | 物体認識方法及び装置 | |
US11557085B2 (en) | Neural network processing for multi-object 3D modeling | |
CN111279362B (zh) | 胶囊神经网络 | |
US20190050729A1 (en) | Deep learning solutions for safe, legal, and/or efficient autonomous driving | |
CN115796025A (zh) | 用于嵌入式机器视觉应用的深度多任务学习的系统和方法 | |
US11157764B2 (en) | Semantic image segmentation using gated dense pyramid blocks | |
KR20200091623A (ko) | 위노그라드 변환에 기반한 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치 | |
US11934949B2 (en) | Composite binary decomposition network | |
US20210073997A1 (en) | Future semantic segmentation prediction using 3d structure | |
US20230419521A1 (en) | Unsupervised depth prediction neural networks | |
US20210019555A1 (en) | Generating video frames using neural networks | |
CN111260020B (zh) | 卷积神经网络计算的方法和装置 | |
CN111797970B (zh) | 训练神经网络的方法和装置 | |
US20240135174A1 (en) | Data processing method, and neural network model training method and apparatus | |
CN114925320A (zh) | 一种数据处理方法及相关装置 | |
US20220044053A1 (en) | Semantic image segmentation using gated dense pyramid blocks | |
WO2022227024A1 (zh) | 神经网络模型的运算方法、训练方法及装置 | |
CN115066691A (zh) | 生成或者处理图像序列的循环单元 | |
US20230114556A1 (en) | Neural network models using peer-attention | |
CN114730331A (zh) | 数据处理装置和数据处理方法 | |
CN114821068B (zh) | 全景分割和深度确定的处理方法、装置、设备和介质 | |
US20240152144A1 (en) | Systems and methods for learning neural networks for embedded applications | |
US20210224638A1 (en) | Storage controllers, storage systems, and methods of operating the same |
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 |