CN111105030B - 用于车辆感知系统的神经网络中的激活零旁路和权重剪枝 - Google Patents
用于车辆感知系统的神经网络中的激活零旁路和权重剪枝 Download PDFInfo
- Publication number
- CN111105030B CN111105030B CN201910499155.7A CN201910499155A CN111105030B CN 111105030 B CN111105030 B CN 111105030B CN 201910499155 A CN201910499155 A CN 201910499155A CN 111105030 B CN111105030 B CN 111105030B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- pruning
- weight
- memory
- 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.)
- Active
Links
- 238000013138 pruning Methods 0.000 title claims abstract description 69
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000008447 perception Effects 0.000 claims abstract description 40
- 230000004913 activation Effects 0.000 claims abstract description 37
- 210000002569 neuron Anatomy 0.000 claims abstract description 19
- 210000000225 synapse Anatomy 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 7
- 230000006835 compression Effects 0.000 claims description 22
- 238000007906 compression Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 230000001537 neural effect Effects 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 3
- 238000001994 activation Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000000946 synaptic effect Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 244000141353 Prunus domestica Species 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 2
- 210000002364 input neuron Anatomy 0.000 description 2
- 210000004205 output neuron Anatomy 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 206010041349 Somnolence Diseases 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000002858 neurotransmitter agent Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R2300/00—Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
- B60R2300/80—Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement
- B60R2300/8046—Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement for replacing a rear-view mirror system
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Mechanical Engineering (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明题为“用于车辆感知系统的神经网络中的激活零旁路和权重剪枝”。在根据本公开的方面的一个示例具体实施中,一种计算机实现的方法包括在与车辆相关联的相机处捕获多个图像并将与多个图像相关联的图像数据存储到存储器。该方法还包括将车辆感知任务分派给与存储器通信的加速器的多个处理元件。该方法还包括通过多个处理元件中的至少一个处理元件使用神经网络来执行用于车辆感知的车辆感知任务,其中执行车辆感知任务包括对低于第一阈值的值执行激活旁路,以及至少部分地基于第二阈值,执行神经网络的突触和神经元的权重剪枝。该方法还包括至少部分地基于执行车辆感知任务的结果来控制车辆。
Description
背景技术
本公开涉及控制车辆,并且更特别地涉及用于车辆感知系统的神经网络中的激活零旁路和权重剪枝。
机器学习涉及生成和使用能够从数据中学习且对数据作出预测的算法。此类算法通常通过从示例输入构建模型来操作,以便作出数据驱动的预测或决策。已经开发出多种机器学习方法。被称作人工神经网络(ANN)或简称神经网络(NN)的一种此类方法是受生物神经网络的结构和功能启发的学习算法。
NN包括互连人工神经元(节点)组的分级层,其中每个节点层接收下层的输出作为输入。深度神经网络(DNN)是包括一个或多个隐藏节点层的一种类型的NN。前馈NN是其中节点之间的连接不形成循环的NN。也就是说,前馈NN是其中信息仅在一个方向上、向前、从输入节点通过一个或多个隐藏层(如果有的话)的节点移动且最终到输出节点的NN。卷积NN构成包括输入和输出层以及多个隐藏层的一类深度前馈NN。隐藏层通常包括卷积层、池化层、完全连接层和归一化层。本文描述了对常规NN的技术改进。
发明内容
在一个示例性实施方案中,计算机实现的方法包括:在与车辆相关联的相机处捕获多个图像,并将与多个图像相关联的图像数据存储到存储器。该方法还包括将车辆感知任务分派给与存储器通信的加速器的多个处理元件。该方法还包括通过多个处理元件中的至少一个处理元件使用神经网络来执行用于车辆感知的车辆感知任务,其中执行车辆感知任务包括对低于第一阈值的值执行激活旁路,以及至少部分地基于第二阈值,执行神经网络的突触和神经元的权重剪枝。该方法还包括至少部分地基于执行车辆感知任务的结果来控制车辆。
在一个或多个实施方案中,执行权重剪枝还包括执行分析、基于分析来执行权重剪枝、以及调谐权重剪枝。在一个或多个实施方案中,执行权重剪枝还包括确定是否执行附加压缩。在一个或多个实施方案中,执行权重剪枝还包括响应于确定执行附加压缩,重新执行权重剪枝和调谐。在一个或多个实施方案中,执行权重剪枝还包括响应于确定不执行附加压缩,执行变换。在一个或多个实施方案中,执行激活旁路避免执行乘法和累加(MAC)操作,并且其中对高于第一阈值的值执行MAC操作。在一个或多个实施方案中,至少部分地基于所剪枝的操作的百分比和预测误差百分比来确定第一阈值。在一个或多个实施方案中,加速器还包括神经处理单元指令提取器、分派器、1级高速缓存和2级高速缓存。在一个或多个实施方案中,加速器经由存储器通信地耦接到主机中央处理单元,其中加速器是特殊用途处理器,并且其中主机中央处理单元是通用处理器。在一个或多个实施方案中,主机中央处理单元从与车辆相关联的相机接收图像数据,并且将与多个图像相关联的图像数据存储到存储器。
在另一示例性实施方案中,一种系统包括存储器,该存储器具有计算机可读指令;以及处理设备,该处理设备用于执行用于执行方法的计算机可读指令。该方法包括在与车辆相关联的相机处捕获多个图像,并将与多个图像相关联的图像数据存储到存储器。该方法还包括将车辆感知任务分派给与存储器通信的加速器的多个处理元件。该方法还包括通过多个处理元件中的至少一个处理元件使用神经网络来执行用于车辆感知的车辆感知任务,其中执行车辆感知任务包括对低于第一阈值的值执行激活旁路,以及至少部分地基于第二阈值来执行神经网络的突触和神经元的权重剪枝。该方法还包括至少部分地基于执行车辆感知任务的结果来控制车辆。
在一个或多个实施方案中,执行权重剪枝还包括:执行分析;基于分析来执行权重剪枝;以及调谐权重剪枝。在一个或多个实施方案中,执行权重剪枝还包括确定是否执行附加压缩。在一个或多个实施方案中,执行权重剪枝还包括响应于确定执行附加压缩,重新执行权重剪枝和调谐。在一个或多个实施方案中,执行权重剪枝还包括响应于确定不执行附加压缩,执行变换。在一个或多个实施方案中,执行激活旁路避免执行乘法和累加(MAC)操作,并且其中对高于第一阈值的值执行MAC操作。在一个或多个实施方案中,至少部分地基于所剪枝的操作的百分比和预测误差百分比来确定第一阈值。在一个或多个实施方案中,加速器还包括神经处理单元指令提取器、分派器、1级高速缓存和2级高速缓存。在一个或多个实施方案中,加速器经由存储器通信地耦接到主机中央处理单元,其中加速器是特殊用途处理器,并且其中主机中央处理单元是通用处理器,并且主机中央处理单元从与车辆相关联的相机接收图像数据,并且将与多个图像相关联的图像数据存储到存储器。
在又一示例性实施方案中,一种计算机程序产品包括计算机可读存储介质,计算机可读存储介质具有随其而体现的程序指令,程序指令由处理设备可执行以引起处理设备执行方法。该方法包括在与车辆相关联的相机处捕获多个图像,并且将与多个图像相关联的图像数据存储到存储器。该方法还包括将车辆感知任务分派给与存储器通信的加速器的多个处理元件。该方法还包括通过多个处理元件中的至少一个处理元件使用神经网络来执行用于车辆感知的车辆感知任务,其中执行车辆感知任务包括对低于第一阈值的值执行激活旁路,以及至少部分地基于第二阈值来执行神经网络的突触和神经元的权重剪枝。该方法还包括至少部分地基于执行车辆感知任务的结果来控制车辆。
从结合附图的以下详细描述,上面的特征和优点以及本公开的其它特征和优点易于显而易见。
附图说明
其它特征、优点和细节仅以举例的方式出现在以下详细描述、参考附图的详细描述中,在附图中:
图1描绘根据本文所述的一个或多个实施方案的车辆,车辆包括用于车辆感知的神经网络中的激活零旁路和权重剪枝的处理系统;
图2描绘根据本文所述的一个或多个实施方案的用于神经网络中的激活零旁路和权重剪枝的图1的处理系统;
图3描绘根据本文所述的一个和多个实施方案的用于神经网络的卷积层的多个激活和多个非零激活的图;
图4描绘根据本文所述的一个或多个实施方案的在神经网络的卷积层的激活期间使用的旁路路径的框图;
图5描绘了根据本文所述的一个或多个实施方案的用于在图4的旁路处作出旁路确定的阈值的图;
图6A描绘在权重剪枝之前节点和连接节点的突触的节点图;
图6B描绘根据本文所述的一个或多个实施方案的在权重剪枝之后节点和连接节点的突触的剪枝节点图;
图7描绘根据本文所述的一个或多个实施方案的用于在神经网络的卷积层的激活期间执行权重剪枝的方法的流程图;
图8A和图8B描绘根据本文所述的一个或多个实施方案的用于实现无损压缩的框图;
图9描绘了根据本文所述的一个或多个实施方案的用于车辆感知系统的神经网络中的激活零旁路和权重剪枝的方法的流程图;并且
图10描绘根据本公开的方面的用于实现本文所述的技术的处理系统的框图。
具体实施方式
以下描述在本质上仅是示例性的,并且不旨在限制本公开、本公开的应用或用途。如本文所用,术语模块是指可包括专用集成电路(ASIC)、电子电路、处理器(共享、专门或成组)的处理电路;以及执行一个或多个软件或固件程序的存储器;组合逻辑电路;和/或提供所描述的功能的其它合适的部件。
本文所述的技术解决方案使用深度神经网络提供车辆感知。车辆感知通过处理由与车辆(例如,汽车、摩托车、船或任何其它类型的车辆)相关联的一个或多个相机捕获的图像来提供对象检测和识别。车辆感知通过提供车辆外部的信息帮助车辆的驾驶员/操作者,并且/或者通过提供对作出驾驶决策(例如,是否加速、制动、转弯等)可用的信息帮助自主驾驶。
现代车辆大致包括一个或多个相机,该一个或多个相机提供备份辅助,拍摄车辆驾驶员的图像以确定驾驶员睡意或注意力,出于碰撞避免的目的提供道路的图像(当车辆行驶时),提供结构识别(诸如道路标志)等。例如,车辆可被配备有多个相机,并且来自多个相机(被称为“环视相机”)的图像可用于创建车辆的“环绕”或“鸟瞰”视图。相机(被称为“远程相机”)中的一些相机可用于捕获远程图像(例如,为了碰撞避免用于对象检测、结构识别等)。
这些车辆也可配备有车载显示器(例如,触摸屏),该车载显示器(例如,触摸屏)用于将相机图像和/或其它图像显示给车辆的驾驶员。例如,传统的后视镜和/或侧视镜可用显示器替换,该显示器显示来自定位在车辆后部的相机的相机图像,以代替传统后视镜将“后视图”显示给驾驶员。
图1中描绘了此类车辆的示例。特别地,图1描绘车辆100,该车辆100包括用于车辆感知系统的神经网络中的激活零旁路和权重剪枝的处理系统110。车辆100可为汽车、卡车、货车、公共汽车、摩托车或另一种合适的车辆。与车辆100相关联的处理系统110通过分析由与车辆100相关联的多个相机捕获的图像对车辆感知负责。
在图1的示例中,车辆100包括相机120、相机121、相机122、相机123和相机130、相机131、相机132、相机133。根据本文所述的一个或多个实施方案,相机120-123是捕获车辆100外部并在车辆100附近的图像的环视相机。由相机120-123捕获的图像一起形成车辆100的环绕视图(有时被称为“自顶向下视图”或“鸟瞰视图”)。这些图像可用于操作车辆(例如,停车、后退等)。根据本文所述的一个或多个实施方案,相机130-133为捕获车辆外部的图像的远程相机,并且比相机120-123更远离车辆100。这些图像可使用车辆感知技术进行处理,该车辆感知技术使用深度神经网络。例如,结果可用于对象检测和避免。应当了解,虽然示出八个相机120-123和130-133,但是可在各种实施方案中实现更多或更少的相机。
所捕获的图像可被显示在显示器(未示出)上,以将车辆100的外部视图提供给车辆100的驾驶员/操作者。所捕获的图像可被显示为现场图像、静止图像或它们的某种组合。在一些示例中,可将图像组合以形成复合视图,诸如环绕视图。所显示的图像也可上覆有在处理/分析期间确定的信息。例如,图像可上覆有距离信息(例如,从车辆100到另一对象/车辆的距离)、安全信息(例如,潜在碰撞的警告)等等。
车辆100也可包括传感器,诸如传感器140、传感器141。根据一个或多个实施方案,传感器140表示高分辨率雷达,并且传感器141表示光成像检测和测距(激光雷达)传感器。可使用其它数量和类型的传感器。
处理系统110使用从相机120-123、130-133中的一个或多个相机捕获的图像,以使用深度神经网络执行车辆感知。例如,车辆感知可包括执行特征抽取、对象检测和避免等等。
关于图1描述的各种部件、模块、引擎等可被实现为存储在计算机可读存储介质上的指令,被实现为硬件模块,被实现为特殊用途硬件(例如,专用硬件、专用集成电路(ASIC)、专用特殊处理器(ASSP)、现场可编程门阵列(FPGA)、嵌入式控制器、硬连线电路等),或者被实现为这些的某个组合或多个组合。根据本公开的方面,本文所述的一个或多个引擎可为硬件和编程的组合。编程可为存储在有形存储器上的处理器可执行指令,并且硬件可包括用于执行那些指令的处理设备(例如,图10的CPU 1021)。因此,系统存储器(例如,图10的RAM 1024)可存储程序指令,当由处理设备执行该程序指令时,该程序指令实现本文所述的引擎。也可利用其它引擎以包括本文中的其它示例中描述的其它特征和功能。
图2描绘根据本文所述的一个或多个实施方案的用于神经网络中的激活零旁路和权重剪枝的图1的处理系统110。处理系统110在处理设备202处从相机120-123、130-133中的一个或多个相机接收图像。处理设备202(也被称为主机中央处理单元)可执行对象级跟踪,执行应用程序,并且执行其它通用任务。以该方式,处理设备202为通用硬件设备。处理设备202被配置为从相机120-123、130-133接收图像,并且将图像作为图像数据存储到存储器204(也被称为共享存储器),存储器204可为动态随机存取存储器或另一种合适的存储器。
被称为“神经处理单元”或“加速器”210的特殊用途硬件设备被配置为接收存储在存储器204中的图像数据,并且对图像数据执行图像处理。图像处理可包括点云处理、NN任务等等。加速器210可为ASIC、现场可编程门阵列(FPGA)、图形处理单元(GPU)或另一种合适的特殊用途硬件设备。
根据本文所述的一个或多个实施方案,加速器210可利用机器学习功能以达到本文所述的各种图像处理/分析。更具体地,加速器210可结合且利用基于规则的决策制定和人工智能(AI)推理以达到本文所述的加速器210的各种操作。短语“机器学习”广义地描述了从数据学习的电子系统的功能。机器学习系统、引擎或模块可包括可训练的机器学习算法,该可训练的机器学习算法可诸如在外部云环境中被训练以学习当前未知的输入和输出之间的功能关系,并且所得模型可用于执行特征抽取、对象检测、碰撞避免等等。在一个或多个实施方案中,可使用具有被训练以执行当前未知功能的能力的人工神经网络(ANN)来实现机器学习功能。在机器学习和认知科学中,ANN是受动物(且特别地,脑)的生物神经网络启发的一系列统计学习模型。ANN可用于估计或近似取决于大量输入的系统和功能。
ANN可被体现为充当模拟的“神经元”且以电子信号的形式在彼此之间交换“消息”的互连的处理器元件的所谓的“神经形态”系统。类似于在生物神经元之间输送消息的突触神经递质连接的所谓“可塑性”,在模拟神经元之间输送电子消息的ANN中的连接被提供有对应于给定连接的强弱的数字权重。权重可基于经验进行调整和调谐,使得ANN适应输入且能够学习。例如,用于对象检测和识别的ANN由可通过输入图像的像素激活的一组输入神经元定义。在由网络设计者确定的函数加权和变换之后,然后,这些输入神经元的激活被传递到其它下游神经元,其它下游神经元经常被称为“隐藏”神经元或“隐藏”层。重复该过程,直到激活输出神经元。所激活的输出神经元确定检测什么对象。
加速器210包括神经处理单元(NPU)指令提取器212以从存储器204提取/接收指令和图像数据。该指令可包括用于执行例如特征抽取、对象检测等等的指令。加速器210还包括用于将指令分派/调度到多个处理元件220的分派器214。
加速器210还包括附加存储器,诸如高速缓存216(高速缓存216可为2级(L2)高速缓存)和全局存储缓冲区218(全局存储缓冲区218可为1级(L1)高速缓存)。例如,全局存储缓冲区218可为静态随机存取存储器。
处理元件220执行用于车辆感知的基于深度神经网络的技术。特别地,分派器214将指令和图像数据分派给单独的处理元件220,该单独的处理元件220一起处理/分析图像数据以执行车辆感知。
通常,处理元件220执行激活函数作为用于车辆感知的基于深度神经网络的技术的一部分。激活函数定义给定输入或一组输入的神经网络的节点的输出。当处理元件220执行激活函数时,零或近零输入值消耗处理元件220的计算资源。本技术通过利用用于零和/或近零输入值的旁路路径,减少对处理元件220的计算需求。旁路路径在激活期间实质上跳过零和/或近零输入值。旁路路径保存乘法和累加(MAC)操作和存储器读取操作。这可导致例如由处理元件220消耗的处理资源近似40%的减少。
图3描绘根据本文所述的一个或多个实施方案的用于神经网络的卷积层306的多个激活302和多个非零激活304的图300。如图300所示,非零激活的数量显著少于在每个卷积层处的激活的数量。该减少由于图4中描绘的旁路路径实现,并且表示由处理元件220消耗的处理资源中的显著减少。
图4描绘根据本文所述的一个或多个实施方案的在神经网络的卷积层的激活期间使用的旁路路径的框图400。传统上,将激活输入402和突触权重404输入到具有乘法部件408和加法部件410的MAC操作406中。如本文所述,在零或近零激活输入402上执行激活是计算密集型的,并且可对准确性具有很少(如果有的话)影响。于是,框图400中所示的技术解决方案通过在零或近零值上执行旁路412,减少对处理元件220(并且于是加速器210)的计算需求。如框图400中所示,当激活输入402为零或近零时(如在旁路412处所确定的),激活输入402作为输入414被直接馈送到复用器(MUX)416中,同时“绕过”MAC操作406,因此使处理元件220免于执行MAC操作406。MUX 416在部分和输入418和MAC操作406的输出(用于非旁路激活输入402)或输入414中的一个之间进行选择,这表示对于零或非零激活输入402到MAC操作406的旁路。从MUX 416输出部分和420。
当激活输入402低于阈值时,该激活输入402被认为是“近零”。图5描绘了根据本文所述的一个或多个实施方案的用于在旁路412处作出旁路确定的阈值502的图500。旁路值504的阈值502可基于所剪枝的操作的百分比506和作为百分比的预测误差508来确定。阈值502使得能够在准确性和处理速度之间进行权衡。随着处理速度增加,由处理元件220消耗的处理资源的量也增加。根据本文所述的示例,准确性的很小减小可对由处理元件220消耗的处理资源的量给予显著的改进,这表示对处理系统110的功能的改进。
本技术也通过执行用于激活函数的神经元(也称为“节点”)和节点之间的突触的权重剪枝,改进处理系统110。
图6A描绘在权重剪枝之前节点602和连接节点602的突触604的节点图600。一般来讲,权重剪枝减少节点602和连接节点602的突触604的数量。在图6B中描绘权重剪枝的结果。特别地,图6B描绘了根据本文所述的一个或多个实施方案的在权重剪枝之后节点603和连接节点603的突触605的剪枝的节点图601。
剪枝节点图600在激活期间减少权重和MAC操作,使得权重和激活可被存储在全局存储缓冲区218而不是存储器204中。在一些示例中,因为权重和激活可被存储在全局存储缓冲区218而不是存储器204中,所以权重被减少大约10%,同时将处理元件的处理效率增加大约10%。根据本文所述的一个或多个实施方案,权重可减少九倍,而MAC操作减少三倍,这表示对处理系统110的功能的显著改进。
使用图7的方法700执行权重剪枝。特别地,图7描绘根据本文所述的一个或多个实施方案的用于在神经网络的卷积层的激活期间执行权重剪枝的方法的流程图。方法700可通过任何合适的处理系统和/或处理设备来执行,任何合适的处理系统和/或处理设备诸如图1和图2的处理系统110、图2的加速器210、图10的处理系统1000、或另一合适的处理设备和/或处理系统。
在框702处,加速器210执行分析。分析框702以拓扑图和学习的权重参数的形式从之前的神经网络层(即,卷积和完全连接的层)接收模型。加速器210将批归一化层与前述卷积和/或完全连接的层合并。
在框704处,加速器210执行权重剪枝。特别地,加速器210剪枝低权重突触(节点之间的连接),低权重突触可为具有低于阈值的权重的突触。从神经网络去除具有小于阈值的权重的突触。剪枝具有低于阈值的权重的突触可导致死亡的神经元,死亡的神经元是不具有任何输入突触或输出突触的神经元。也从神经网络中去除这些死亡的神经元。一旦执行突触和死亡的神经元的剪枝,就保留剪枝的节点图(例如,所剪枝的节点图601)。
在框706处,加速器210对框704的权重剪枝执行精调。加速器210用数据集D、剪枝的权重W’、成本函数C和正则项|W′|L1重新调校所剪枝的节点图,如下:
W*=argminw,C(W′,D)+|W′|L1。
正则化惩罚大的权重,并且有益于在神经网络中使用的量化和剪枝过程。
在决策框708处,加速器210确定是否执行附加压缩。该确定基于全局存储缓冲区218的大小和所剪枝的节点图601的大小。如果在决策框708处确定执行附加压缩,则压缩迭代地继续(由箭头709描绘的),直到所剪枝的节点图601可被存储在全局存储缓冲区218中。如果在决策框708处确定不执行附加压缩,则方法前进至框710。
在框710处,加速器210使用无损压缩技术来执行变换。特别地,无损压缩技术被应用于迭代地剪枝权重W*,使得权重可被存储在全局缓冲区SRAM(例如,全局存储缓冲区218)而不是存储器204中。
图8A描绘根据本文所述的一个或多个实施方案的用于实现在图7的框710处使用的无损压缩技术的框图。当所剪枝的节点图601和相关联的剪枝的权重W*被存储在全局存储缓冲区218而不是存储器204中时,加速器210和处理元件220被改进。由于所剪枝的节点图601和相关联的剪枝权重W*相对于加速器210和处理元件220被本地地存储在全局存储缓冲区218中,所以因减少写入/读取时间而发生改进。
根据本文所述的一个或多个实施方案,无损压缩可使用运行长度压缩(RLC)来执行。在RLC中,一连串数据被存储为单个数据值和计数,而不是存储为原始的一连串数据。作为示例,神经元yi的突触权重{wik}的列表如下:0、0、12、0、0、0、0、53、0、0、22。在该示例中,连续零(0)值是成串的数据,并且可被压缩为单个数据值和计数。在图8B中描绘该示例的RLC结果,其中粗体值(块820a、块820c、块820e)是零值的计数,并且非粗体值(块820b、块820d、块820f)是非零值的数据值。块820g表示结束块。包含零值的块(例如,块820a、块820c、块820e)为4位块,而包含非零值的块(例如,块820b、块820d、块820f)是8位块。
来自图8B的块用作到用于实现图8A的无损压缩技术的框图中的输入。特别地,非零值(例如,块820a、块820c、块820e)是到加法器802中的偏移输入。加法器802也从地址寄存器812接收输出813作为输入。加法器将非零值输入和输出813相加,并且将结果发送到复用器806,该复用器806基于计数器808的压缩810的结果,在加法器的输出和基地址807之间进行选择。复用器806的输出被输入到地址寄存器812中,该地址寄存器812输出813输出地址。值寄存器814输出非零输入820d、非零输入820d、非零输入820f的输出值815。当到达结束块820g时,无损压缩完成。
图9描绘根据本文所述的一个或多个实施方案的用于车辆感知系统的神经网络中的激活零旁路和权重剪枝的方法900的流程图。方法900可通过任何合适的处理系统和/或处理设备来执行,任何合适的处理系统和/或处理设备诸如图1和图2的处理系统110、图2的加速器210、图10的处理系统1000、或另一合适的处理设备和/或处理系统。
在框902处,与车辆100相关联的相机(例如,相机120-123、130-133中的一个相机)捕获多个图像。处理设备202将与多个图像相关联的图像数据存储到存储器204。
在框904处,NPU指令提取器212提取指示如何处理多个图像的车辆感知任务,并且分派器214将车辆感知任务分派给与存储器204通信的加速器210的处理元件220。
在框906处,多个处理元件220中的至少一个使用神经网络执行用于车辆感知的车辆感知任务。特别地,处理元件220通过对低于第一阈值的值执行激活旁路,并且通过至少部分地基于第二阈值来执行神经网络的突触和神经元的权重剪枝,执行车辆感知任务。
在框908处,执行车辆感知任务的结果用于控制车辆100。例如,可控制自主车辆以避免由于车辆感知任务而检测的对象。在另一示例中,车辆100的驾驶员可被警示由于车辆感知任务而检测的对象。
也可包括附加过程,并且应当理解,图9中描绘的过程表示例证,并且可添加其它过程,或者可去除、修改或重新布置现有过程,而不脱离本公开的范围和实质。
应当理解,本公开能够结合现在已知或稍后开发的任何其它类型的计算环境来实现。例如,图10描绘用于实现本文所述的技术的处理系统1000的框图。在示例中,处理系统1000具有一个或多个中央处理单元(处理器)1021a、中央处理单元(处理器)1021b、中央处理单元(处理器)1021c等(统称为或大致称为一个或多个处理器1021和/或一个或多个处理设备)。在本公开的方面中,每个处理器1021可包括精简指令集计算机(RISC)微处理器。处理器1021经由系统总线1033耦接到系统存储器(例如,随机存取存储器(RAM)1024)和各种其它部件。只读存储器(ROM)1022耦接到系统总线1033,并且可包括控制处理系统1000的某些基本功能的基本输入/输出系统(BIOS)。
另外描绘的是连接到系统总线1033的输入/输出(I/O)适配器1027和网络适配器1026。I/O适配器1027可为与硬盘1023和/或存储驱动器1025或任何其它类似部件通信的小型计算机系统接口(SCSI)适配器。I/O适配器1027、硬盘1023和存储设备1025在本文中统称为海量存储装置1034。用于在处理系统1000上执行的操作系统1040可存储在海量存储装置1034中。网络适配器1026将系统总线1033与外部网络1036互连,使得处理系统1000能够与其它此类系统通信。
显示器(例如,显示监视器)1035通过显示适配器1032连接到系统总线1033,显示适配器1032可包括图形适配器以改进图形密集型应用程序和视频控制器的性能。在本公开的一个方面中,适配器1026、适配器1027和/或适配器1032可连接到一个或多个I/O总线,一个或多个I/O总线经由中间总线桥(未示出)连接到系统总线1033。用于连接外围设备诸如硬盘控制器、网络适配器和图形适配器的合适的I/O总线通常包括公共协议,诸如外围部件互连(PCI)。附加输入/输出设备被示出为经由用户界面适配器1028和显示适配器1032连接到系统总线1033。键盘1029、鼠标1030和扬声器1031可经由用户界面适配器1028互连到系统总线1033,用户界面适配器1028可包括例如将多个设备适配器集成到单个集成电路中的超级I/O芯片。
在本公开的一些方面中,处理系统1000包括图形处理单元1037。图形处理单元1037是专业电子电路,专业电子电路被设计为操纵并变更存储器以加速旨在输出到显示器的帧缓冲区中的图像的创建。一般来讲,图形处理单元1037在操纵计算机图形和图像处理上非常有效,并且具有高度并行结构,对于并行完成大数据块处理的算法,高度并行结构使图形处理单元1037比通用CPU更有效。
因此,如本文所配置的,处理系统1000包括处理器1021形式的处理能力、包括系统存储器(例如,RAM 1024)和海量存储装置1034的存储能力、诸如键盘1029和鼠标1030的输入装置、以及包括扬声器1031和显示器1035的输出能力。在本公开的一些方面中,系统存储器(例如,RAM1024)和海量存储装置1034的一部分共同存储操作系统以协调处理系统1000中所示的各种部件的功能。
虽然已经参考示例性实施方案描述了上面的公开内容,但是本领域的技术人员应当理解,可作出各种改变,并且可用等同物取代本公开的元件,而不脱离本公开的范围。此外,可作出许多修改以使特定情况或材料适于本公开的教导内容,而不脱离本公开的实质范围。因而,本公开旨在不限于所公开的特定实施方案,而是将包括落入本公开的范围内的所有实施方案。
Claims (10)
1.一种用于车辆感知的计算机实现的方法,所述方法包括:
在与车辆相关联的相机处捕获多个图像,并将与所述多个图像相关联的图像数据存储到存储器;
将车辆感知任务分派给与所述存储器通信的加速器的多个处理元件;
通过所述多个处理元件中的至少一个处理元件使用神经网络来执行用于所述车辆感知的所述车辆感知任务,其中执行所述车辆感知任务包括:
对低于第一阈值的值执行激活旁路,以及
至少部分地基于第二阈值来执行所述神经网络的突触和神经元的权重剪枝,其中执行所述权重剪枝还包括执行分析,其中所述分析以拓扑图和学习的权重参数的形式从之前的神经网络层接收模型,其中所述分析还包括将批归一化层与在前的卷积或完全连接的层合并;以及
至少部分地基于执行所述车辆感知任务的结果来控制所述车辆。
2.根据权利要求1所述的计算机实现的方法,其中执行所述权重剪枝还包括:
基于所述分析来执行权重剪枝;以及
调谐所述权重剪枝。
3.根据权利要求2所述的计算机实现的方法,其中执行所述权重剪枝还包括确定是否执行附加压缩。
4.根据权利要求3所述的计算机实现的方法,其中执行所述权重剪枝还包括响应于确定执行附加压缩来重新执行所述权重剪枝和所述调谐。
5.根据权利要求3所述的计算机实现的方法,其中执行所述权重剪枝还包括响应于确定不执行附加压缩来执行变换。
6.根据权利要求1所述的计算机实现的方法,其中执行所述激活旁路避免执行乘法和累加MAC操作,并且其中对高于所述第一阈值的值执行所述MAC操作。
7.根据权利要求1所述的计算机实现的方法,其中至少部分地基于所剪枝的操作的百分比和预测误差百分比来确定所述第一阈值。
8.根据权利要求1所述的计算机实现的方法,其中所述加速器还包括神经处理单元指令提取器、分派器、1级高速缓存和2级高速缓存。
9.根据权利要求1所述的计算机实现的方法,其中所述加速器经由所述存储器通信地耦接到主机中央处理单元,其中所述加速器是特殊用途处理器,其中所述主机中央处理单元是通用处理器,并且其中所述主机中央处理单元从与所述车辆相关联的所述相机接收所述图像数据,并将与所述多个图像相关联的所述图像数据存储到所述存储器。
10.一种用于车辆感知系统的神经网络中的激活零旁路和权重剪枝的处理系统,包括:
存储器,所述存储器包括计算机可读指令;和
处理设备,所述处理设备用于执行所述计算机可读指令以执行车辆感知的方法,所述方法包括:
在与车辆相关联的相机处捕获多个图像,并将与所述多个图像相关联的图像数据存储到存储器;
将车辆感知任务分派给与所述存储器通信的加速器的多个处理元件;
通过所述多个处理元件中的至少一个处理元件使用神经网络来执行用于所述车辆感知的所述车辆感知任务,其中执行所述车辆感知任务包括:
对低于第一阈值的值执行激活旁路,以及
至少部分地基于第二阈值来执行所述神经网络的突触和神经元的权重剪枝,其中执行所述权重剪枝包括通过用数据集D、剪枝的权重W’、成本函数C和正则项|W′|L1保留剪枝的节点图而调谐所述权重剪枝,如下:
W*=argminw,C(W′,D)+|W′|L1;以及
至少部分地基于执行所述车辆感知任务的结果来控制所述车辆。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/170,698 US11281974B2 (en) | 2018-10-25 | 2018-10-25 | Activation zero-bypass and weight pruning in neural networks for vehicle perception systems |
US16/170698 | 2018-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111105030A CN111105030A (zh) | 2020-05-05 |
CN111105030B true CN111105030B (zh) | 2024-04-12 |
Family
ID=70326322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910499155.7A Active CN111105030B (zh) | 2018-10-25 | 2019-06-10 | 用于车辆感知系统的神经网络中的激活零旁路和权重剪枝 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11281974B2 (zh) |
CN (1) | CN111105030B (zh) |
DE (1) | DE102019115244A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11210149B2 (en) * | 2018-11-16 | 2021-12-28 | International Business Machines Corporation | Prioritization of data collection and analysis for incident detection |
US11537853B1 (en) | 2018-11-28 | 2022-12-27 | Amazon Technologies, Inc. | Decompression and compression of neural network data using different compression schemes |
JP7354736B2 (ja) * | 2019-09-30 | 2023-10-03 | 富士通株式会社 | 情報処理装置、情報処理方法、情報処理プログラム |
JP7427200B2 (ja) * | 2020-11-02 | 2024-02-05 | 本田技研工業株式会社 | ノード枝刈り装置、ノード枝刈り方法、およびプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107305633A (zh) * | 2016-04-19 | 2017-10-31 | 通用汽车环球科技运作有限责任公司 | 使用车辆摄像机系统的道路特征检测 |
CN107871163A (zh) * | 2016-09-28 | 2018-04-03 | 爱思开海力士有限公司 | 用于卷积神经网络的操作装置及方法 |
CN108090560A (zh) * | 2018-01-05 | 2018-05-29 | 中国科学技术大学苏州研究院 | 基于fpga的lstm递归神经网络硬件加速器的设计方法 |
CN108259136A (zh) * | 2018-01-12 | 2018-07-06 | 重庆邮电大学 | 一种智能旅居商务房车的跨模态智能感知方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11029949B2 (en) * | 2015-10-08 | 2021-06-08 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Neural network unit |
CN107444264A (zh) * | 2016-05-31 | 2017-12-08 | 法拉第未来公司 | 使用相机检测车辆附近的物体 |
US20180164866A1 (en) * | 2016-12-13 | 2018-06-14 | Qualcomm Incorporated | Low-power architecture for sparse neural network |
US10832135B2 (en) * | 2017-02-10 | 2020-11-10 | Samsung Electronics Co., Ltd. | Automatic thresholds for neural network pruning and retraining |
US11373088B2 (en) * | 2017-12-30 | 2022-06-28 | Intel Corporation | Machine learning accelerator mechanism |
CN110087084B (zh) * | 2018-01-25 | 2022-03-18 | 联咏科技股份有限公司 | 视频处理装置及视频处理方法 |
-
2018
- 2018-10-25 US US16/170,698 patent/US11281974B2/en active Active
-
2019
- 2019-06-05 DE DE102019115244.5A patent/DE102019115244A1/de not_active Ceased
- 2019-06-10 CN CN201910499155.7A patent/CN111105030B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107305633A (zh) * | 2016-04-19 | 2017-10-31 | 通用汽车环球科技运作有限责任公司 | 使用车辆摄像机系统的道路特征检测 |
CN107871163A (zh) * | 2016-09-28 | 2018-04-03 | 爱思开海力士有限公司 | 用于卷积神经网络的操作装置及方法 |
CN108090560A (zh) * | 2018-01-05 | 2018-05-29 | 中国科学技术大学苏州研究院 | 基于fpga的lstm递归神经网络硬件加速器的设计方法 |
CN108259136A (zh) * | 2018-01-12 | 2018-07-06 | 重庆邮电大学 | 一种智能旅居商务房车的跨模态智能感知方法 |
Also Published As
Publication number | Publication date |
---|---|
DE102019115244A1 (de) | 2020-04-30 |
US11281974B2 (en) | 2022-03-22 |
CN111105030A (zh) | 2020-05-05 |
US20200134459A1 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111105030B (zh) | 用于车辆感知系统的神经网络中的激活零旁路和权重剪枝 | |
US11600007B2 (en) | Predicting subject body poses and subject movement intent using probabilistic generative models | |
JP7393512B2 (ja) | ニューラルネットワークの分散学習および重み分配のためのシステム、および方法 | |
CN109478239B (zh) | 检测图像中的对象的方法和对象检测系统 | |
EP3289529B1 (en) | Reducing image resolution in deep convolutional networks | |
US20170300763A1 (en) | Road feature detection using a vehicle camera system | |
WO2018067258A1 (en) | Neural network for image processing | |
KR102630320B1 (ko) | 다중 프레임 시맨틱 신호의 고속 cnn 분류 | |
US10402670B2 (en) | Parallel scene primitive detection using a surround camera system | |
JP2020535569A (ja) | マシンビジョンシステム | |
US11210559B1 (en) | Artificial neural networks having attention-based selective plasticity and methods of training the same | |
US20220129696A1 (en) | Using temporal filters for automated real-time classification | |
CN112464930A (zh) | 目标检测网络构建方法、目标检测方法、装置和存储介质 | |
CN114067166A (zh) | 用于确定物理对象的物理特性的设备和方法 | |
US10909390B2 (en) | Fixed-point quantization in neural networks for vehicle perception systems | |
Shabarinath et al. | Convolutional neural network based traffic-sign classifier optimized for edge inference | |
US20220309771A1 (en) | Method, device, and computer program for an uncertainty assessment of an image classification | |
WO2022126367A1 (en) | Sequence processing for a dataset with frame dropping | |
US20220270351A1 (en) | Image recognition evaluation program, image recognition evaluation method, evaluation apparatus, and evaluation system | |
CN116710974A (zh) | 在合成数据系统和应用程序中使用域对抗学习的域适应 | |
US11893086B2 (en) | Shape-biased image classification using deep convolutional networks | |
US20220165067A1 (en) | Method, system and computer program product for detecting movements of the vehicle body in the case of a motor vehicle | |
US20220234622A1 (en) | Systems and Methods for Autonomous Vehicle Control | |
CN114139592A (zh) | 用于训练量化分类器的方法和设备 | |
CN117132764A (zh) | 一种类脑快速恐惧应激决策控制方法、系统、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |