CN111105009A - 用于车辆感知***的神经网络中的定点量化 - Google Patents

用于车辆感知***的神经网络中的定点量化 Download PDF

Info

Publication number
CN111105009A
CN111105009A CN201910480078.0A CN201910480078A CN111105009A CN 111105009 A CN111105009 A CN 111105009A CN 201910480078 A CN201910480078 A CN 201910480078A CN 111105009 A CN111105009 A CN 111105009A
Authority
CN
China
Prior art keywords
vehicle
fixed
memory
computer
images
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
Application number
CN201910480078.0A
Other languages
English (en)
Inventor
曾树青
佟维
S·王
R·L·米利特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN111105009A publication Critical patent/CN111105009A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明题为“用于车辆感知***的神经网络中的定点量化”。本发明公开了用于在深神经网络中使用定点量化的技术的实施例。在根据本公开的多个方面的一个示例性实施方式中,计算机实现的方法包括在与车辆相关联的相机处捕获多个图像,并且将与多个图像相关联的图像数据存储到存储器。该方法还包括将车辆感知任务分派到与存储器通信的加速器的多个处理元件。该方法还包括通过多个处理元件中的至少一个处理元件执行使用神经网络的车辆感知的车辆感知任务,其中执行车辆感知任务包括基于激活输入和突触权重来量化定点值。该方法还包括至少部分地基于执行车辆感知任务的结果来控制车辆。

Description

用于车辆感知***的神经网络中的定点量化
背景技术
本主题公开涉及控制车辆,并且更具体地涉及用于车辆感知***的神经网络中的定点量化。
机器学习涉及能够从数据中学习以及对数据进行预测的算法的生成和使用。此类算法通常通过从示例输入构建模型来操作,以便进行数据驱动的预测或决策。已经开发出多种机器学习方法。一种此类方法称为人工神经网络(ANN)或简称神经网络(NN),是一种受生物神经网络的结构和功能启发的学习算法。
NN包括人工神经元(节点)的互连组的分级层,其中节点的每个节点接收下层的输出作为输入。深度神经网络(DNN)为一种包含一个或多个隐藏的节点层的NN的类型。前馈NN为其中节点之间的连接不形成循环的NN。即,前馈NN为其中信息仅在一个方向上从输入节点向前移动,穿过一个或多个隐藏层(如果有的话)的节点,并且最终到达输出节点的NN。卷积NN构成一类深的前馈NN,该前馈NN包括输入层和输出层以及多个隐藏层。隐藏层通常包括卷积层、池化层、完全连接层、和归一化层。本文描述了对常规NN的技术改进。
发明内容
在一个示例性实施方案中,计算机实现的方法包括在与车辆相关联的相机处捕获多个图像,并且将与多个图像相关联的图像数据存储到存储器。该方法还包括将车辆感知任务分派到与存储器通信的加速器的多个处理元件。该方法还包括由多个处理元件中的至少一个处理元件使用神经网络执行用于车辆感知的车辆感知任务,其中执行车辆感知任务包括基于激活输入和突触权重来量化定点值。该方法还包括至少部分地基于执行车辆感知任务的结果来控制车辆。
除了本文描述的一个或多个特征部之外,在一些示例中,该方法还包括对定点值执行批量归一化。在一些示例中,如下执行批量归一化以确定yi:
Figure BDA0002082499620000021
其中
Figure BDA0002082499620000022
并且
Figure BDA0002082499620000023
其中γ和β为来自所述神经网络的批量归一化层的参数。在一些示例中,执行批量归一化包括使用移位寄存器对定点值执行1位左移。在一些示例中,定点值为8位定点值。在一些示例中,量化定点值包括将浮点值转换为定点值。在一些示例中,量化的定点值表示如下:
Figure BDA0002082499620000024
其中IL被确定为floor(log2 3σ),其中σ为概率密度函数的标准偏差,FL被确定为8-IL,∈=2-FL,并且
Figure BDA0002082499620000025
为∈的最大乘数,所述最大乘数为精度的值。在一些示例中,加速器还包括神经处理单元指令获取器、分派器、1级高速缓存和2级高速缓存。在一些示例中,加速器经由存储器通信地耦接到主机中央处理单元,其中该加速器为专用处理器,并且其中该主机中央处理单元为通用处理器。在一些示例中,主机中央处理单元从与车辆相关联的相机接收图像数据,并且将与多个图像相关联的图像数据存储到存储器。
在另一示例性实施方案中,***包括具有计算机可读指令的存储器和用于实施用于执行方法的计算机可读指令的处理设备。该方法包括在与车辆相关联的相机处捕获多个图像,并且将与多个图像相关联的图像数据存储到存储器。该方法还包括将车辆感知任务分派到与存储器通信的加速器的多个处理元件。该方法还包括由多个处理元件中的至少一个处理元件使用神经网络执行用于车辆感知的车辆感知任务,其中执行车辆感知任务包括基于激活输入和突触权重来量化定点值。该方法还包括至少部分地基于执行车辆感知任务的结果来控制车辆。
除了本文描述的一个或多个特征部之外,在一些示例中,该方法还包括对定点值执行批量归一化。在一些示例中,如下执行批量归一化以确定yi:
Figure BDA0002082499620000031
其中
Figure BDA0002082499620000032
并且
Figure BDA0002082499620000033
其中γ和β为来自所述神经网络的批量归一化层的参数。在一些示例中,执行批量归一化包括使用移位寄存器对定点值执行1位左移。在一些示例中,定点值为8位定点值。在一些示例中,量化定点值包括将浮点值转换为定点值。在一些示例中,量化的定点值表示如下:
Figure BDA0002082499620000034
其中IL被确定为floor(log2 3σ),其中σ为概率密度函数的标准偏差,FL被确定为8-IL,∈=2-FL,并且
Figure BDA0002082499620000035
为∈的最大乘数,所述最大乘数为精度的值。在一些示例中,加速器还包括神经处理单元指令获取器、分派器、1级高速缓存和2级高速缓存。在一些示例中,加速器经由存储器通信地耦接到主机中央处理单元,其中该加速器为专用处理器,并且其中该主机中央处理单元为通用处理器。在一些示例中,主机中央处理单元从与车辆相关联的相机接收图像数据,并且将与多个图像相关联的图像数据存储到存储器。
在又一示例性实施方案中,计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有在其内具体体现的程序指令,该程序指令可由处理设备实施以致使处理设备执行方法。该方法包括在与车辆相关联的相机处捕获多个图像,并且将与多个图像相关联的图像数据存储到存储器。该方法还包括将车辆感知任务分派到与存储器通信的加速器的多个处理元件。该方法还包括由多个处理元件中的至少一个处理元件使用神经网络执行用于车辆感知的车辆感知任务,其中执行车辆感知任务包括基于激活输入和突触权重来量化定点值。该方法还包括至少部分地基于执行车辆感知任务的结果来控制车辆。
从以下结合附图的详细描述中,本公开的上述特征和优点以及其它特征和优点将显而易见。
附图说明
其它特征、优点和细节仅以举例的方式出现在以下参考附图的详细描述中,其中:
图1描绘了根据本文描述的一个或多个实施方案的包括用于神经网络中的定点量化的处理***的车辆;
图2描绘了根据本文描述的一个或多个实施方案的用于神经网络中的定点量化的图1的处理***;
图3A描绘了根据本文描述的一个或多个实施方案的包括1位符号分量、8位指数分量和23位尾数分量的32位浮点值;
图3B描绘了根据本文描述的一个或多个实施方案的包括1位符号分量和7位尾数分量的8位定点值;
图4描绘了根据本文描述的一个或多个实施方案的用于使用定点值而不是浮点值在NN的单个层中在图2的一个或多个处理元件上实施指令的框图;
图5描绘了根据本文描述的一个或多个实施方案的再量化技术的硬件实施方式的框图;
图6A描绘了根据本文描述的一个或多个实施方案的具有1位符号分量和7位尾数分量的8位定点值;
图6B描绘了根据本文描述的一个或多个实施方案的由再量化技术产生8位定点值;
图7描绘了根据本文描述的一个或多个实施方案的批量归一化的权重分配的曲线图;
图8描绘了根据本文描述的一个或多个实施方案的用于神经网络中的定点量化的方法的流程图;并且
图9描绘了根据本公开的多个方面的用于实现本文描述的技术的处理***的框图。
具体实施方式
以下描述本质上仅为示例性的,并不旨在限制本公开、其应用或用途。如本文所用,术语模块是指处理电路,该处理电路可包括专用集成电路(ASIC)、电子电路、实施一个或多个软件或固件程序的处理器和存储器、组合逻辑电路和/或提供所描述功能的其它合适的部件。
本文所描述的技术方案使用深度神经网络提供车辆感知。车辆感知通过处理由与车辆(例如,汽车、摩托车、船或任何其它类型的车辆)相关联的一个或多个相机捕获的图像来提供对象检测和识别。车辆感知通过提供车辆外部的信息来帮助驾驶员/操作员和/或通过提供有用的信息来帮助自主车辆以作出驾驶决策(例如,是否加速、制动、转弯等)。
现代车辆通常包括提供备份援助的一个或多个相机,该相机拍摄车辆驾驶员的图像以确定驾驶员的困倦或注意力、提供道路的图像(在车辆行驶时)以避免碰撞、提供结构识别,诸如路标等。例如,车辆可配备有多个相机,并且来自多个相机(称为“环绕视图相机”)的图像可用于创建车辆的“环绕”或“鸟瞰”视图。一些相机(称为“远程相机”)可用于捕获远程图像(例如,用于对象检测以避免碰撞、用于结构识别等)。
这些车辆也可配备有车载显示器(例如,触摸屏),该车载显示器用于将相机图像和/或其它图像显示给车辆的驾驶员。例如,传统的后视镜和/或侧视镜可用显示器替换,该显示器显示来自定位在车辆的后部处的相机的相机图像,以取代传统的后视镜向驾驶员显示“后视图”。
图1中描绘了此类车辆的实施例。具体地,图1描绘了包括用于神经网络中的定点量化的处理***110的车辆100。车辆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。可使用深度神经网络使用车辆感知技术来处理这些图像。例如,该结果可用于对象检测和避免碰撞。应当理解,尽管示出了八个相机130-133和120-123,但是在各种实施方案中可实现更多或更少的相机。
捕获的图像可显示在显示器(未示出)上,以向车辆100的驾驶员/操作员提供车辆100的外部视图。捕获的图像可显示为实时图像、静态图像或它们的某种组合。在一些实施例中,可将图像组合以形成复合视图,诸如环绕视图。所显示的图像也可与处理/分析期间确定的信息重叠。例如,图像可与距离信息(例如,从车辆100到另一对象/车辆的距离)、安全信息(例如,潜在碰撞的警告)等重叠。
车辆100也可包括传感器,诸如传感器140、传感器141。根据一个或多个实施方案,传感器140表示高分辨率雷达,并且传感器141表示光成像检测和测距(激光雷达)传感器。可使用其它数量和类型的传感器。
处理***110使用从相机120-相机123、相机130-相机133中的一个或多个相机捕获的图像以使用深度神经网络来执行车辆感知。例如,车辆感知可包括执行特征提取、对象检测和避免碰撞等。
关于图1描述的各种部件、模块、引擎等可实现为存储在计算机可读存储介质上的指令、硬件模块、专用(special-purpose)硬件(例如,特定于应用的硬件、专用集成电路(ASIC)、专用特定处理器(ASSP)、现场可编程门阵列(FPGA)、嵌入式控制器、硬连线电路等)或这些的某些一种或多种组合。根据本公开的多个方面,本文描述的(多个)引擎可为硬件和编程的组合。编程可为存储在有形存储器上的处理器可实施指令,并且硬件可包括处理设备(例如,图9的CPU921)以用于实施那些指令。因此,***存储器(例如,图9的RAM924)可存储程序指令,该程序指令在被处理设备实施时实现本文描述的引擎。也可利用其它引擎以包括本文其它实施例中描述的其它特征和功能。
图2描绘了根据本文描述的一个或多个实施方案的用于神经网络中的定点量化的图1的处理***110。处理***110在处理设备202处接收来自相机120-相机123、相机130-相机133中的一个或多个相机的图像。处理设备202(也称为主机中央处理单元)可执行对象级跟踪、实施应用程序以及执行其它通用任务。这样,处理设备202为通用硬件设备。处理设备202被配置为接收来自相机120-相机123、相机130-相机133的图像,并且将该图像作为图像数据存储到存储器204(也称为共享存储器),该存储器可为动态随机存取存储器或另一种合适的存储器。
被称为“神经处理单元”或“加速器”210的专用硬件设备被配置为接收存储在存储器204中的图像数据并且对该图像数据执行图像处理。图像处理可包括点云处理、NN任务等。加速器210可为ASIC、现场可编程门阵列(FPGA)、图形处理单元(GPU)或另一种合适的专用硬件设备。
根据本文描述的一个或多个实施方案,加速器210可利用机器学习功能来完成本文描述的各种图像处理/分析。更具体地,加速器210可结合并利用基于规则的决策制定和人工智能(AI)推理来完成本文描述的加速器210的各种操作。短语“机器学习”广义地描述了从数据中学习的电子***的功能。机器学习***、引擎或模块可包括可训练的机器学习算法,该算法可诸如在外部云环境中被训练以学习当前未知的输入和输出之间的功能关系,并且所得模型可用于执行特征提取、对象检测、避免碰撞等。在一个或多个实施方案中,机器学习功能可使用人工神经网络(ANN)来实现,该人工神经网络(ANN)具有被训练以执行当前未知功能的能力。在机器学习和认知科学中,ANN为由动物的生物神经网络并且具体为大脑启发的一系列统计学习模型。ANN可用于估计或近似取决于大量输入的***和功能。
ANN可实施为互连处理器元件的所谓的“神经形态”***,该***充当模拟的“神经元”并且以电子信号的形式在彼此之间交换“消息”。类似于在生物神经元之间携带消息的突触神经递质连接的所谓“塑性”,在模拟神经元之间携带电子消息的ANN中的连接具有对应于给定连接的强项或弱项的数字权重。可基于经验调节和调谐权重,使得ANN适应于输入并且能够学习。例如,用于对象检测和识别的ANN由一组输入神经元定义,该组输入神经元由输入图像的像素激活。在通过由网络的设计者确定的函数进行加权和变换之后,这些输入神经元的激活随后被传递到其它下游神经元,该下游神经元通常被称为“隐藏”神经元或“隐藏”层。重复该过程,直至输出神经元被激活。激活的输出神经元确定检测到的对象。
加速器210包括神经处理单元(NPU)指令获取器212以从存储器204获取/接收指令和图像数据。指令可包括执行(例如)特征提取、对象检测等的指令。加速器210也包括分派器214以将指令分派/调度到多个处理元件220。
加速器210也包括附加存储器,诸如高速缓存216(其可为2级(L2)高速缓存)和全局存储器缓冲器218(其可为1级(L1)高速缓存)。例如,全局存储器缓冲器218可为静态随机存取存储器。
处理元件220执行基于深度神经网络的用于车辆感知的技术。具体地,分派器214将指令和图像数据分派到单独的处理元件220,这些单独的处理元件220一起处理/分析图像数据以执行车辆感知。
通常,处理元件220利用浮点操作来执行由分派器214分派的指令。例如,图3A描绘了根据本文描述的一个或多个实施方案的包括1位符号分量301、8位指数分量302和23位尾数分量303的32位浮点值300。图3A的实施例描绘了值-1.4212e-13。
通过使用定点值而不是浮点值,可实现处理资源的显著减少和对处理元件220的需求图3B描绘了包括1位符号分量311和7位尾数分量313的8位定点值310,该8位定点值310还被分割成4位整数分量313a和3位分数分量313b。图3B的实施例描绘了值12.75。使用定点值而不是浮点值可导致处理元件220消耗的处理功率减少大约二十倍(20x),这表示计算机功能的显著改善。
处理元件220可在NN的层上执行量化技术以输出定点值,如图4中所示。具体地,图4描绘了根据本文描述的一个或多个实施方案的用于使用定点值而不是浮点值在NN的单个层中在图2的一个或多个处理元件220上实施指令的框图400。例如,可在NN的卷积层中执行指令,并且可采用以下形式:
yi=∑wikxk+b, 等式1
其中yi为输出,xk为激活输入,wik为突触权重,并且b为偏差。
框图400首先在框406处将突触权重wik值(n位)402和激活输入xk值(n位)404相乘。相乘的结果408为2n位的形式并切被输入到累积引擎414中。结果408可在方框410处与反馈信号418相加,该反馈信号418从累积引擎414输出416并且作为输入412被馈送到累积引擎414中。反馈信号418的形式为2N+M位,其中M为基于最大内核尺寸确定的(例如,对于5×5滤波器,M=5)。将输出416馈送到量化引擎420中,并且以n位的形式生成量化的输出422。
量化引擎420将浮点值转换为定点值。例如,参考图3A和图3B,量化引擎420将作为32位值的浮点表示300转换为作为8位值的定点表示。基于以下表达式执行量化以将定点值x表示为量子值Q(x):
Figure BDA0002082499620000091
对于8位均匀量化<IL,FL>,其中IL为表示范围/域的值的整数部分的位长度,并且FL为表示位置的值的小数(浮点)部分的位长度,量子值表示如下:
Figure BDA0002082499620000092
其中∈为精度的值。
根据本文描述的一个或多个实施方案,IL被确定为floor(log2 3σ),其中σ为概率密度函数的标准偏差,FL被确定为8-IL,∈=2-FL并且
Figure BDA0002082499620000105
为∈的最大乘数。
处理元件220也可对定点值执行批量归一化。批量归一化以具有固定标准偏差的动态范围为中心。因此,可执行再量化以根据需要维持精度。图5描绘了根据本文描述的一个或多个实施方案的再量化的硬件实施方式500的框图。
可将批量归一化计算合并到NN的卷积层中。在此类情况下,执行批量归一化以使用以下表达式确定yi:
Figure BDA0002082499620000101
在该实施例中,
Figure BDA0002082499620000102
并且
Figure BDA0002082499620000103
其中γ和β为批量归一化(BN)层的参数。
参考图5,对于非零的值,在框502处使用表达式
Figure BDA0002082499620000104
执行批量归一化。输出504被馈送到AND门506作为符号部分504a和尾数部分504b。来自AND门506的输出508被馈送到移位寄存器510中以执行用于动态测距的再量化,并且产生再量化的结果作为输出512。
移位寄存器510执行1位左移(L偏移),如图6A和图6B所描绘。具体地,图6A描绘了具有1位符号分量601和7位尾数分量602的8位定点值600。尾数分量602还被分割成整数分量602a和分数(小数)分量602b。整数分量602a为尾数602的3位分段,并且分数分量602b为尾数602的4位分段。移位寄存器510作用于定点值600以执行1位L偏移。
图6B中描绘了1位L偏移的输出或结果,其描绘了具有1位符号分量611和7位尾数分量612的8位定点值610。尾数分量612还被分割成整数分量612a和分数(小数)分量612b。一旦施加偏移,来自图6A的3位整数分量602a被变换为尾数612的4位整数分量612a。类似地,4位分数分量602b被变换为尾数612的3位分数分量612b。在进行批量归一化之前,8位定点值600表示值-8.0,7.975。在执行批量归一化之后,8位定点值610表示值-4.0,3.9375。
图7描绘了根据本文描述的一个或多个实施方案的批量归一化的权重分布的曲线图700。在该实施例中,曲线图700将权重分布绘制为参数值(x轴)相对于概率密度函数(PDF)(y轴)的函数。也描绘了最小值/最大值。
图8描绘了根据本文描述的一个或多个实施方案的用于神经网络中的定点量化的方法800的流程图。方法800可通过任何合适的处理***和/或处理设备来执行,诸如图1和图2的处理***110、图2的加速器210、图9的处理***900或另一个合适的处理设备和/或处理***。
在框802处,与车辆100相关联的相机(例如,相机120-相机123、相机130-相机133中的一个相机)捕获多个图像。处理设备202将与多个图像相关联的图像数据存储到存储器204。
在框804处,NPU指令获取器212获取指示如何处理多个图像的车辆感知任务,并且分派器214将车辆感知任务分派到与存储器204通信的加速器210的处理元件220。
在框806处,多个处理元件220中的至少一个处理元件使用神经网络执行用于车辆感知的车辆感知任务。具体地,处理元件220通过基于激活输入和突触权重来量化定点值以执行车辆感知任务。
在框808处,执行车辆感知任务的结果用于控制车辆100。例如,可控制自主车辆以避免由于车辆感知任务而检测到的对象。在另一实施例中,可向车辆100的驾驶员警示作为车辆感知任务的结果而检测到的对象。
也可包括附加的过程,并且应当理解,图8中描绘的过程表示说明,并且可添加其它过程或者可移、修改或重新布置现有过程而不脱离本公开的范围和精神。
应当理解,本公开能够与现在已知或以后开发的任何其它类型的计算环境来实现。例如,图9描绘了用于实现本文描述的技术的处理***900的框图。在实施例中,处理***900具有一个或多个中央处理单元(处理器)921a、921b、921c等(统称或一般称为(多个)处理器921和/或(多个)处理设备)。在本公开的多个方面中,每个处理器921可包括精简指令集计算机(RISC)微处理器。处理器921经由***总线933耦接到***存储器(例如,随机存取存储器(RAM)924)和各种其它部件。只读存储器(ROM)922耦接到***总线933并且可包括控制处理***900的某些基本功能的基本输入/输出***(BIOS)。
还描绘了输入/输出(I/O)适配器927和耦接到***总线933的网络适配器926。I/O适配器927可为与硬盘923和/或存储设备925或任何其它类似部件通信的小型计算机***接口(SCSI)适配器。I/O适配器927、硬盘923和存储设备925在本文中统称为海量存储器934。用于在处理***900上实施的操作***940可存储在海量存储器934中。网络适配器926将***总线933与外部网络936互连,使得处理***900能够与其它此类***通信。
显示器(例如,显示监视器)935通过显示适配器932连接到***总线933,该显示器适配器932可包括图形适配器以改善图形密集型应用和视频控制器的性能。在本公开的一个方面,适配器926、适配器927和/或适配器932可连接到一个或多个I/O总线,该一个或多个I/O总线经由中间总线桥接部(未示出)连接到***总线933。用于连接***设备合适的I/O总线(诸如硬盘控制器、网络适配器和图形适配器)通常包括通用协议,诸如***部件互连(PCI)。附加的输入/输出设备被示出为经由用户接口适配器928和显示适配器932连接到***总线933。键盘929、鼠标930和扬声器931可经由用户接口适配器928互连到***总线933,该用户接口适配器928可包括例如将多个设备适配器集成到单个集成电路中的超级I/O芯片。
在本公开的一些方面,处理***900包括图形处理单元937。图形处理单元937为专用电子电路,该专用电子电路被设计操纵并改变存储器以加速用于输出到显示器的帧缓冲器中的图像的创建。一般来讲,图形处理单元937在操纵计算机图形和图像处理方面非常有效,并且具有高度平行的结构,使得该图形处理单元937比通用CPU更有效地用于并行完成大块数据处理的算法。
因此,如本文所配置,处理***900包括以处理器921形式的处理能力、包括***存储器(例如,RAM 924)和海量存储器934的存储能力、输入装置(诸如键盘929和鼠标930)以及包括扬声器931和显示器935的输出能力。在本公开的一些方面,***存储器(例如,RAM924)和海量存储器934的一部分共同存储操作***以协调处理***900中所示的各种部件的功能。
尽管已结合示例性实施方案描述了上述公开内容,但是本领域的技术人员应当理解,在不脱离本公开的范围的情况下可进行各种改变并且可用等同物取代其元件。此外,在不脱离本公开的基本范围的情况下,可作出许多修改以使特定情况或材料适应本公开的教导内容。因此,旨在本公开不限于所公开的具体实施方案,而是将包括落入本公开范围内的所有实施方案。

Claims (10)

1.一种用于车辆感知的计算机实现的方法,所述方法包括:
在与车辆相关联的相机处捕获多个图像,并且将与所述多个图像相关联的图像数据存储到存储器;
将车辆感知任务分派到与所述存储器通信的加速器的多个处理元件;
通过所述多个处理元件中的至少一个处理元件执行用于使用神经网络的所述车辆感知的所述车辆感知任务,其中执行所述车辆感知任务包括基于激活输入和突触权重来量化定点值;以及
至少部分地基于执行所述车辆感知任务的结果来控制所述车辆。
2.根据权利要求1所述的计算机实现的方法,所述方法还包括对所述定点值执行批量归一化。
3.根据权利要求2所述的计算机实现的方法,其中如下执行所述批处理归一化以确定yi
Figure FDA0002082499610000011
其中
Figure FDA0002082499610000012
并且
Figure FDA0002082499610000013
其中γ和β为来自所述神经网络的批量归一化层的参数。
4.根据权利要求2所述的计算机实现的方法,其中执行所述批处理归一化包括使用移位寄存器对所述定点值执行1位左移。
5.根据权利要求1所述的计算机实现的方法,其中所述定点值为8位定点值。
6.根据权利要求1所述的计算机实现的方法,其中量化所述定点值包括将浮点值转换为所述定点值。
7.根据权利要求1所述的计算机实现的方法,其中所述量化的定点值表示如下:
Figure FDA0002082499610000021
其中IL被确定为floor(log23σ),其中σ为概率密度函数的标准偏差,FL被确定为8-IL,∈=2-FL,并且
Figure FDA0002082499610000022
为∈的最大乘数,所述最大乘数为精度的值。
8.根据权利要求1所述的计算机实现的方法,其中所述加速器还包括神经处理单元指令获取器、分派器、1级高速缓存和2级高速缓存。
9.根据权利要求1所述的计算机实现的方法,其中所述加速器经由所述存储器通信地耦接到主机中央处理单元,其中所述加速器为专用处理器,其中所述主机中央处理单元为通用处理器,并且其中所述主机中央处理单元接收来自与所述车辆相关联的所述相机的所述图像数据,并且将与所述多个图像相关联的所述图像数据存储到所述存储器。
10.一种***,所述***包括:
存储器,所述存储器包括计算机可读指令;以及
处理设备,所述处理设备用于实施用于执行车辆感知的方法的所述计算机可读指令,所述方法包括:
在与车辆相关联的相机处捕获多个图像,并且将与所述多个图像相关联的图像数据存储到存储器;
将车辆感知任务分派到与所述存储器通信的加速器的多个处理元件;
通过所述多个处理元件中的至少一个处理元件执行用于使用神经网络的所述车辆感知的所述车辆感知任务,其中执行所述车辆感知任务包括基于激活输入和突触权重来量化定点值;以及
至少部分地基于执行所述车辆感知任务的结果来控制所述车辆。
CN201910480078.0A 2018-10-25 2019-06-03 用于车辆感知***的神经网络中的定点量化 Pending CN111105009A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/170478 2018-10-25
US16/170,478 US10909390B2 (en) 2018-10-25 2018-10-25 Fixed-point quantization in neural networks for vehicle perception systems

Publications (1)

Publication Number Publication Date
CN111105009A true CN111105009A (zh) 2020-05-05

Family

ID=70327319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910480078.0A Pending CN111105009A (zh) 2018-10-25 2019-06-03 用于车辆感知***的神经网络中的定点量化

Country Status (3)

Country Link
US (1) US10909390B2 (zh)
CN (1) CN111105009A (zh)
DE (1) DE102019114732A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11475352B2 (en) * 2018-11-07 2022-10-18 Alibaba Group Holding Limited Quantizing machine learning models with balanced resolution via damped encoding
US11593597B2 (en) 2020-11-16 2023-02-28 GM Global Technology Operations LLC Object detection in vehicles using cross-modality sensors

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160328646A1 (en) * 2015-05-08 2016-11-10 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
CN107886167A (zh) * 2016-09-29 2018-04-06 北京中科寒武纪科技有限公司 神经网络运算装置及方法
US20180121796A1 (en) * 2016-11-03 2018-05-03 Intel Corporation Flexible neural network accelerator and methods therefor
CN108268941A (zh) * 2017-01-04 2018-07-10 意法半导体股份有限公司 深度卷积网络异构架构
CN108319909A (zh) * 2018-01-29 2018-07-24 清华大学 一种驾驶行为分析方法及***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018214913A1 (zh) * 2017-05-23 2018-11-29 上海寒武纪信息科技有限公司 处理方法及加速装置
US20190244080A1 (en) * 2018-02-02 2019-08-08 Wisconsin Alumni Research Foundation Neural Network Processor with On-Chip Convolution Kernel Storage
US11636319B2 (en) * 2018-08-22 2023-04-25 Intel Corporation Iterative normalization for machine learning applications
US11061406B2 (en) * 2018-10-22 2021-07-13 Waymo Llc Object action classification for autonomous vehicles

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160328646A1 (en) * 2015-05-08 2016-11-10 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
CN107636697A (zh) * 2015-05-08 2018-01-26 高通股份有限公司 基于浮点神经网络量化的定点神经网络
CN107886167A (zh) * 2016-09-29 2018-04-06 北京中科寒武纪科技有限公司 神经网络运算装置及方法
US20180121796A1 (en) * 2016-11-03 2018-05-03 Intel Corporation Flexible neural network accelerator and methods therefor
CN108268941A (zh) * 2017-01-04 2018-07-10 意法半导体股份有限公司 深度卷积网络异构架构
CN108319909A (zh) * 2018-01-29 2018-07-24 清华大学 一种驾驶行为分析方法及***

Also Published As

Publication number Publication date
DE102019114732A1 (de) 2020-04-30
US10909390B2 (en) 2021-02-02
US20200134324A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
CN111105030B (zh) 用于车辆感知***的神经网络中的激活零旁路和权重剪枝
JP7393512B2 (ja) ニューラルネットワークの分散学習および重み分配のためのシステム、および方法
US20190050729A1 (en) Deep learning solutions for safe, legal, and/or efficient autonomous driving
US20200364508A1 (en) Using decay parameters for inferencing with neural networks
US20200160535A1 (en) Predicting subject body poses and subject movement intent using probabilistic generative models
CN113056749A (zh) 用于自主机器应用的未来对象轨迹预测
US11327178B2 (en) Piece-wise network structure for long range environment perception
KR102630320B1 (ko) 다중 프레임 시맨틱 신호의 고속 cnn 분류
CN111368972B (zh) 一种卷积层量化方法及其装置
US11210559B1 (en) Artificial neural networks having attention-based selective plasticity and methods of training the same
US11222232B1 (en) Using temporal filters for automated real-time classification
CN111105009A (zh) 用于车辆感知***的神经网络中的定点量化
Poon et al. YOLO-based deep learning design for in-cabin monitoring system with fisheye-lens camera
CN114595799A (zh) 一种模型训练方法及装置
EP4318313A1 (en) Data processing method, training method for neural network model, and apparatus
CN114170826B (zh) 自动驾驶控制方法和装置、电子设备和存储介质
CN114067166A (zh) 用于确定物理对象的物理特性的设备和方法
CN115796025A (zh) 用于嵌入式机器视觉应用的深度多任务学习的***和方法
US20220309771A1 (en) Method, device, and computer program for an uncertainty assessment of an image classification
US12024159B2 (en) Device and method for generating a compressed network from a trained neural network
CN113449585A (zh) 用于运行分类器的方法和设备
CN116665189B (zh) 基于多模态的自动驾驶任务处理方法及***
US12020486B2 (en) Information processing device, in-vehicle control device, and vehicle control system
US11893086B2 (en) Shape-biased image classification using deep convolutional networks
US20230072020A1 (en) Open vehicle doors prediction using a neural network model

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