CN111353599B - 深度神经网络的正确性保持优化 - Google Patents
深度神经网络的正确性保持优化 Download PDFInfo
- Publication number
- CN111353599B CN111353599B CN201910504097.2A CN201910504097A CN111353599B CN 111353599 B CN111353599 B CN 111353599B CN 201910504097 A CN201910504097 A CN 201910504097A CN 111353599 B CN111353599 B CN 111353599B
- Authority
- CN
- China
- Prior art keywords
- neurons
- dnn
- accuracy
- neuron
- removal
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 15
- 238000005457 optimization Methods 0.000 title description 3
- 238000012423 maintenance Methods 0.000 title description 2
- 210000002569 neuron Anatomy 0.000 claims abstract description 352
- 230000004913 activation Effects 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000013502 data validation Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 27
- 230000009467 reduction Effects 0.000 claims description 23
- 230000008030 elimination Effects 0.000 claims description 21
- 238000003379 elimination reaction Methods 0.000 claims description 21
- 230000008447 perception Effects 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 10
- 102100040160 Rabankyrin-5 Human genes 0.000 claims description 5
- 101710086049 Rabankyrin-5 Proteins 0.000 claims description 5
- 230000008569 process Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000012549 training Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual 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
- 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
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- 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/045—Combinations of networks
-
- 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
- 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
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明题为“深度神经网络的正确性保持优化”。本发明公开了一种用于减少受训深度神经网络(DNN)中的神经元数量的方法,该方法包括分类多个隐藏层中的层类型;使用数据验证集评估DNN的准确性;以及生成神经元的层特定排名,其中该生成包括:对多个隐藏层中的一个或多个层使用数据验证集,分析所分析的层中的每个神经元的激活函数以确定每个神经元的激活分数;以及基于层类型根据神经元的激活分数对所分析的层中的每个神经元进行排名,以生成神经元的层特定排名。该方法还包括从DNN中移除多个较低排名神经元,该移除在移除所选的较低排名神经元之后不导致DNN落在准确性阈值限值之外。
Description
背景技术
本发明整体涉及深度神经网络(DNN),并且更具体地涉及一种DNN优化方法,该DNN优化方法通过神经元分析来消除神经元以降低受训DNN的计算能力和资源要求,同时平衡准确性要求。
深度神经网络(DNN)可用于诸如自主车辆的车辆中,用于多个系统,诸如感知系统。车辆感知系统可允许车辆感测车辆在其所行驶的道路中的物体和障碍物。受训DNN可能需要大量计算能力和存储器。车辆可能没有无限的计算能力和存储器来专用于受训DNN。
因此,希望提供一种方法来减少受训深度神经网络的计算资源和能力要求。此外,通过下文的本发明具体实施方式和所附权利要求书并结合附图和本发明的背景技术,本发明的其它期望特征和特性将变得显而易见。
发明内容
提供一种用于减少车辆中使用的受训深度神经网络(DNN)中的神经元及其互连的数量的处理器实现的方法。该方法包括:识别并分类DNN的多个隐藏层中的层类型;使用数据验证集评估DNN的准确性;以及生成神经元的层特定排名,其中该生成包括:对多个隐藏层中的一个或多个层使用数据验证集,分析所分析的一个或多个层中的每个神经元的激活函数以确定每个神经元的对应于所分析的激活函数的激活分数;以及基于层类型根据神经元的激活分数对所分析的一个或多个层中的每个神经元进行排名,以生成神经元的层特定排名,该排名包括为每个神经元生成归一化神经元激活输出分数并且基于其归一化激活输出分数对层中的神经元进行排名。该方法还包括:从DNN中选择特定类型的多个较低排名神经元以供移除,该移除在移除所选的较低排名神经元之后不导致DNN落在准确性阈值限值之外;以及从DNN中移除所选的供移除的神经元,其中移除了神经元的DNN被配置成在车辆中执行感知任务。
在一个实施方案中,隐藏层中的层类型包括完全连接层和卷积层。
在一个实施方案中,从DNN中选择多个较低排名神经元以供移除包括迭代地分析并从DNN中选择较低排名神经元以供移除,直至达到迭代阈值。
在一个实施方案中,从DNN中迭代地选择较低排名神经元以供移除包括:指定较低排名神经元中的一些以供移除;将移除了指定供移除的较低排名神经元的较新DNN的准确性与没有移除神经元的DNN的准确性进行比较;当较新DNN的准确性不在准确性阈值限值内时,如果未达到迭代限值,则执行选择的另一迭代同时指定更少神经元以供移除,或者如果达到迭代限值,则从最后一次先前迭代中选择移除指定供移除的神经元,其中较新DNN的准确性在准确性阈值限值内;并且当较新DNN的准确性在准确性阈值限值内时,如果未达到迭代限值,则执行选择的另一迭代同时指定更多神经元以供移除,或者如果达到迭代限值,则在当前迭代中选择移除指定供移除的神经元。
在一个实施方案中,评估DNN的准确性包括将数据验证集应用于DNN的输入并确定DNN的输出处的预测准确性。
在一个实施方案中,将较新DNN的准确性与没有移除神经元的DNN的准确性进行比较包括通过将数据验证集应用于较新DNN的输入并确定较新DNN的输出处的预测准确性,来确定较新DNN的准确性。
在一个实施方案中,该方法还包括通过将较新DNN的输出处的预测准确性与没有移除神经元的DNN的输出处的预测准确性进行比较,来确定较新DNN的准确性是否在阈值限值内。
在一个实施方案中,确定在DNN的输出处的预测准确性包括确定DNN的输出处排名第1预测的预测准确性以及DNN的输出处的排名前5预测的预测准确性。
在一个实施方案中,指定较低排名神经元中的一些以供移除包括:识别落在预定神经元减少限值内的最低排名神经元;以及在落在预定神经元减少限值内的最低排名神经元中指定要消除的神经元。
在一个实施方案中,指定较低排名神经元中的一些以供移除包括:识别落在预定神经元减少限值内的最低排名神经元;以及在落在预定神经元减少限值内的最低排名神经元的下半区中指定要消除的神经元。
在一个实施方案中,指定较低排名神经元中的一些以供移除包括仅指定完全连接层中的神经元以供移除。单独的排名评估完成并且类似的迭代移除过程可应用于其它层类型。
在一个实施方案中,该方法还包括使用在移除神经元之前用于训练DNN的数据训练集再训练移除了神经元的DNN。
在另一个实施方案中,提供一种车辆感知系统,该车辆感知系统包括通过在非暂态计算机可读介质上编程指令来配置的一个或多个处理器,以实现移除了神经元的受训深度神经网络(DNN)。DNN由处理系统配置,该处理系统被配置成:识别并分类DNN的多个隐藏层中的层类型;使用数据验证集评估DNN的准确性;以及生成神经元的层特定排名。为了生成排名,处理系统被配置成:对多个隐藏层中的一个或多个层使用数据验证集,分析所分析的一个或多个层中的每个神经元的激活函数以确定每个神经元的对应于所分析的激活函数的激活分数;以及基于层类型根据神经元的激活分数对所分析的一个或多个层中的每个神经元进行排名,以生成神经元的层特定排名,其中排名包括为每个神经元生成归一化神经元激活输出分数并且基于其归一化激活输出分数对层中的神经元进行排名。处理系统还被配置成:从DNN中选择多个较低排名神经元以供移除,该移除在移除所选的较低排名神经元之后不导致DNN落在准确性阈值限值之外;以及从DNN中移除所选的供移除的神经元,其中移除了神经元的DNN被配置成在车辆中执行感知任务。
根据上述车辆感知系统,其中为了从DNN中选择多个较低排名神经元以供移除,所述处理系统被配置成从所述DNN中迭代地选择较低排名神经元以供移除,直至达到迭代阈值。
在一个实施方案中,为了从DNN中迭代地选择较低排名神经元以供移除,处理系统被配置成:指定较低排名神经元中的一些以供移除;将移除了指定供移除的较低排名神经元的较新DNN的准确性与没有移除神经元的DNN的准确性进行比较;当较新DNN的准确性不在准确性阈值限值内时,如果未达到迭代限值,则执行选择的另一迭代同时指定更少神经元以供移除,或者如果达到迭代限值,则从最后一次先前迭代中选择移除指定供移除的神经元,其中较新DNN的准确性在准确性阈值限值内;并且当较新DNN的准确性在准确性阈值限值内时,如果未达到迭代限值,则执行选择的另一迭代同时指定更多神经元以供移除,或者如果达到迭代限值,则在当前迭代中选择移除指定供移除的神经元。
在一个实施方案中,为了评估DNN的准确性,处理系统被配置成:向DNN的输入应用数据验证集并确定DNN的输出处的预测或分类准确性。
在一个实施方案中,为了将较新DNN的准确性与没有移除神经元的DNN的准确性进行比较,处理系统被配置成:通过将数据验证集应用于较新DNN的输入并确定较新DNN的输出处的预测准确性,来确定较新DNN的准确性。
在一个实施方案中,处理系统被配置成:通过将较新DNN的输出处的预测准确性与没有移除神经元的DNN的输出处的预测准确性进行比较,来确定较新DNN的准确性是否在阈值限值内。
在一个实施方案中,为了确定在DNN的输出处的预测准确性,处理系统被配置成:确定DNN的输出处排名第1预测的预测准确性以及DNN的输出处的排名前5预测的预测准确性。
在一个实施方案中,为了指定较低排名神经元中的一些以供移除,处理系统被配置成:识别落在预定神经元减少限值内的最低排名神经元;以及在落在预定神经元减少限值内的最低排名神经元中指定要消除的神经元。
在一个实施方案中,为了指定较低排名神经元中的一些以供移除,处理系统被配置成:识别落在预定神经元减少限值内的最低排名神经元;以及在落在预定神经元减少限值内的最低排名神经元的下半区中指定要消除的神经元。
在一个实施方案中,为了指定较低排名神经元中的一些以供移除,处理系统被配置成:仅指定完全连接层中的神经元以供移除。
在一个实施方案中,处理系统被配置成:使用在移除神经元之前用于训练DNN的数据训练集,基于要求再训练移除了神经元的DNN。
在另一个实施方案中,提供一种处理系统,该处理系统包括通过在非暂态计算机可读介质上编程指令来配置的一个或多个处理器,以减少受训深度神经网络(DNN)中的神经元数量。处理系统被配置成:识别并分类DNN的多个隐藏层中的层类型;使用数据验证集评估DNN的准确性;以及生成神经元的层特定排名。为了生成排名,处理系统被配置成:对多个隐藏层中的一个或多个层使用数据验证集,分析所分析的一个或多个层中的每个神经元的激活函数以确定每个神经元的对应于所分析的激活函数的激活分数;以及基于层类型根据神经元的激活分数对所分析的一个或多个层中的每个神经元进行排名,以生成神经元的层特定排名,该排名包括生成每个神经元的归一化神经元激活输出分数并且基于其归一化激活输出分数对层中的神经元进行排名。处理系统还被配置成:从DNN中选择多个较低排名神经元以供移除,该移除在移除所选的较低排名神经元之后不导致DNN落在准确性阈值限值之外;以及从DNN中移除所选的供移除的神经元,其中移除了神经元的DNN被配置成在车辆中执行感知任务。
附图说明
本公开的各个方面在结合附图阅读时可通过下文的具体实施方式得到最好的理解,其中类似的数字表示类似的元件,并且
图1A是根据一些实施方案示出示例受训DNN和示例精简DNN的图示;
图1B是根据一些实施方案示出示例车辆的框图;
图2是根据一些实施方案示出车辆的示例自动驾驶系统的框图;
图3是根据一些实施方案示出用于减少受训DNN的神经元复杂性或数量的示例系统的框图;
图4是根据一些实施方案示出示例DNN中的示例层的框图;
图5是根据一些实施方案示出示例DNN的示例部件的图示;
图6是根据一些实施方案示出神经元的激活函数输出的示例评估和记录的图示;
图7是根据一些实施方案示出用于从受训DNN中迭代地选择要消除的神经元以生成精简DNN的示例过程的流程图;以及
图8是根据一些实施方案示出用于减少受训DNN中的神经元数量的示例处理器实现过程的流程图。
具体实施方式
以下公开内容提供用于实现所提供主题的不同特征的许多不同实施方案或示例。以下具体实施方式本质上为仅示例性的,并非旨在限制本发明或本专利申请以及本发明的用途。此外,不意图受前述背景技术或以下具体实施方式中提出的任何理论的束缚。
本文所述的主题公开了用于减少受训深度神经网络(DNN)的资源要求的装置、系统、技术和制品。所述装置、系统、技术和制品可提供在性能和准确性之间提供可接受的平衡的精简DNN。所述装置、系统、技术和制品可提供在DNN性能和准确性方面与存储器和计算能力利用方面实现折衷的精简DNN。
图1A是示出具有多个互连神经元104的示例受训DNN 102的图示。示例受训DNN102利用深度学习。深度学习(也称为深度结构化学习、分层学习或深度机器学习)是一类机器学习算法,此类机器学习算法使用许多非线性处理单元的层的级联来进行特征提取和转化。每个连续层使用来自前一层的输出作为输入。示例DNN 102是由称为神经元104的多个简单、高度互连的处理元件/设备/单元组成的计算系统或处理设备,该神经元可使用软件算法和/或实际硬件来实现。示例DNN 102按层组织,这些层由一起工作以产生输出的多个互连神经元104组成。
在许多环境中,诸如车辆、计算资源,例如存储器和计算能力可能受到限制。DNN的使用可对计算资源造成压力。然而,在DNN中生成输出时,一些神经元106的重要性低于其它神经元104。本文所述的主题公开了用于从受训DNN 102中消除较不重要神经元106以生成消除了较不重要神经元106的精简DNN 108的装置、系统、技术和制品。提供所述装置、系统、技术和制品以用于减少DNN中的神经元数量以生成精简DNN 108,该精简DNN将以比初始DNN102更低的存储器和计算能力要求执行,同时实现类似的性能。精简的DNN 108被配置成满足准确性要求,但其资源要求与初始的受训DNN 102的资源要求相比减少。这可以通过折衷一些准确性以减少资源要求来实现。
图1B是采用精简DNN 108的示例车辆120的框图。示例车辆120通常包括底盘12、车身14、前轮16和后轮18。车身14布置在底盘12上并且基本上包封车辆120的部件。车身14和底盘12可共同形成框架。轮16至18各自在车身14的相应拐角附近旋转地联接到底盘12。
示例车辆120可为自主车辆(例如,被自动控制以将乘客从一个位置运送到另一个位置的车辆)、半自主车辆或由乘客驾驶的车辆。在任何情况下,精简DNN 108结合到示例车辆120中。所述的示例车辆120为客车,但也可为另外的车辆类型,诸如摩托车、卡车、运动型多用途车(SUV)、休闲车(RV)、船舶、飞机等等。
示例车辆120包括推进系统20、传输系统22、转向系统24、制动系统26、传感器系统28、致动器系统30、至少一个数据存储设备32、至少一个控制器34和通信系统36。在各种实施方案中,推进系统20可包括内燃机、电机(诸如牵引马达)和/或燃料电池推进系统。传输系统22被构造成根据可选择的速度比将动力从推进系统20传输到车轮16和18。
传感器系统28包括一个或多个感测装置40a至40n,这些感测装置感测车辆120的外部环境和/或内部环境的可观察条件(诸如一个或多个乘员的状态),并且生成与其相关的传感器数据。感测装置40a至40n可包括但不限于雷达(例如,长程、中程、短程)、激光雷达、全球定位系统(GPS)、光学相机(例如,前置、360度、后置、侧置、立体等)、热成像(例如,红外)相机、超声传感器、计量传感器(例如,编码器)和/或可结合根据本主题的系统和方法使用的其它传感器。
致动器系统30包括一个或多个致动器装置42a至42n,这些致动器装置控制一个或多个车辆特征,诸如但不限于推进系统20、传输系统22、转向系统24和制动系统26。在各种实施方案中,车辆120也可以包括图1中未示出的内部和/或外部车辆特征,诸如各种门、行李箱和座舱特征,诸如空气、音乐、照明、触摸屏显示部件(诸如结合导航系统使用的那些)等等。
控制器34包括至少一个处理器44和计算机可读存储设备或介质46。处理器44可为任何定制或可商购获得的处理器、中央处理单元(CPU)、图形处理单元(GPU)、专用集成电路(ASIC)(例如,实现神经网络的定制ASIC)、现场可编程门阵列(FPGA)、与控制器34关联的若干处理器中的辅助处理器、基于半导体的微处理器(为微芯片或芯片组形式)、它们的任何组合或通常用于执行指令的任何设备。计算机可读存储设备或介质46可包括例如为只读存储器(ROM)、随机存取存储器(RAM)和不失效存储器(KAM)的易失性和非易失性存储设备。KAM是可用于在处理器44断电时存储各种操作变量的持久性或非易失性存储器。计算机可读存储设备或介质46可使用多种已知存储器设备中的任一种来实现,诸如PROM(可编程只读存储器)、EPROM(电PROM)、EEPROM(可电擦除PROM)、闪存或者能够存储数据的任何其它电、磁、光学或组合存储器设备,其中一些代表由控制器34用来控制车辆120的可执行指令。在各种实施方案中,控制器34被配置成实现精简DNN 108,如下文所详细讨论。
控制器34可实现精简DNN 108。即,利用控制器34的合适软件和/或硬件部件(例如,处理器44和计算机可读存储设备46)来提供结合车辆120使用的精简DNN 108。
指令可包括一个或多个单独的程序,这些程序中的每一个包括用于实现逻辑功能的可执行指令的有序列表。指令在由处理器44执行时,从传感器系统28接收并处理信号(例如,传感器数据),执行用于控制车辆120的部件的逻辑、计算、方法和/或算法,并且生成被传输到致动器系统30以基于逻辑、计算、方法和/或算法自动控制车辆120的部件的控制信号。尽管图1中仅示出一个控制器34,但车辆120的实施方案可包括通过合适的通信介质或通信介质的组合进行通信的任何数量的控制器34,并且这些控制器配合以处理传感器信号,执行逻辑、计算、方法和/或算法,并且生成控制信号以自动控制车辆120的特征。
通信系统36被配置成向和从其它实体48以无线方式传送信息,其它实体诸如但不限于其它车辆(“V2V”通信)、基础设施(“V2I”通信)、网络(“V2N”通信)、行人(“V2P”通信)、远程运输系统和/或用户设备。在示例性实施方案中,通信系统36为无线通信系统,该无线通信系统被配置成使用IEEE 802.11标准或通过使用蜂窝数据通信经由无线局域网(WLAN)通信。然而,另外的或替代的通信方法诸如专用短程通信(DSRC)信道也被视为在本公开的范围内。DSRC信道是指专门设计供汽车使用的单向或双向短程到中程无线通信信道以及对应的协议和标准集。
根据各种实施方案,控制器34可实现自主驾驶系统(ADS)70,如图2中所示。即,可利用控制器34的合适软件和/或硬件部件(例如,处理器44和计算机可读存储设备46)来提供结合车辆120使用的自主驾驶系统70。
在各种实施方案中,自主驾驶系统70的指令可通过函数或系统来组织。例如,如图2中所示,自主驾驶系统70可包括感知系统74、定位系统76、路径规划系统78和车辆控制系统80。可以理解,在各种实施方案中,指令可被组织成任何数量的系统(例如,经组合、进一步分区等),因为本公开不限于本发明示例。
在各种实施方案中,感知系统74合成并处理所采集的传感器数据并且预测车辆120的环境的对象和特征的存在、位置、分类和/或路径。在各种实施方案中,感知系统74可结合来自多个传感器(例如,传感器系统28)的信息,包括但不限于相机、激光雷达、雷达和/或任何数量的其它类型传感器。示例感知系统74可在神经网络中使用深度学习算法同时执行多个板载感测任务,这些算法在计算机可读介质中被编码并由一个或多个处理器执行。由示例感知系统74执行的示例板载感测任务可包括对象检测、自由空间检测和对象姿态检测。车辆120中的其它系统可使用来自由示例感知系统74执行的板载感测任务的输出来评估当前和未来环境的状态以帮助操作车辆120,例如采用自主驾驶模式或半自主驾驶模式的车辆。在各种实施方案中,精简DNN 108包括在感知系统74内。
定位系统76处理传感器数据以及其它数据,以确定车辆120相对于环境的位置(例如,相对于地图的局部位置、相对于道路车道的确切位置、车辆航向等)。可以理解,可采用多种技术来实现这种定位,包括例如同时定位和映射(SLAM)、粒子滤波、卡尔曼滤波、贝叶斯滤波等。
路径规划系统78处理传感器数据以及其它数据,以确定车辆120沿循的路径。车辆控制系统80生成控制信号,以根据时确定的路径控制车辆120。
在各种实施方案中,控制器34实现机器学习技术以辅助控制器34的功能,诸如特征检测/分类、阻碍缓解、路线遍历、映射、传感器集成、地面实况确定等等。控制器34可实现精简DNN 108以辅助控制器34的功能。
图3是示出经由控制器来实现的用于减少受训DNN 302的神经元复杂性或数量的示例系统300的框图。该示例系统被配置成策略性地选择要从DNN 302中消除的非关键神经元303,以生成消除了非关键神经元的精简DNN 304。系统选择神经元以消除将对精简DNN304的准确性具有低影响的神经元。与没有消除神经元的DNN 302相比,消除了非关键神经元的精简DNN 304将以更低的存储器和计算能力要求执行,同时实现类似的性能。这可以通过折衷一些准确性以减少资源要求来实现。当精简DNN 304在诸如车辆的存储器和计算能力有限的环境中使用时,这可能是有用的。例如,可使用消除了非关键神经元的精简DNN304来实施车辆感知系统。
示例系统300包括处理系统306,该处理系统包括通过在非暂态计算机可读介质上编程指令而配置的一个或多个处理器。处理系统306包括层分类模块308和神经元排名模块310,该层分类模块被配置成识别和分类DNN 302的多个隐藏层中的层类型,神经元排名模块被配置成基于层分类来根据神经元在执行DNN任务方面的重要性来对这些神经元进行排名,从而生成DNN 302中神经元312的层特定排名。
神经元排名模块310被配置成通过使用数据验证集来评估DNN 302的准确性、评估神经元的激活函数以及确定DNN 304的准确性阈值设置(操作314),来基于神经元在执行DNN任务方面的重要性来对神经元进行排名。神经元排名模块310还被配置成通过对多个隐藏层中的一个或多个层使用数据验证集来分析所分析的一个或多个层中的每个神经元的激活函数(操作316),以确定每个神经元的对应于所分析的激活函数的激活分数,来基于神经元在执行DNN任务方面的重要性来对神经元进行排名。基于神经元激活分数,神经元排名模块310被配置成基于层类型对所分析的一个或多个层中的每个神经元进行排名,以生成神经元312的层特定排名,其中通过生成每个神经元的归一化神经元激活输出分数并且基于其归一化激活输出分数对层中的神经元进行排名来执行排名。
在生成神经元的层特定排名之后,处理系统306经由神经元消除选择模块318被配置成从DNN 302中选择多个较低排名神经元以供移除,该移除不导致精简DNN 304的准确性落在准确性阈值限值之外。示例神经元消除选择模块318被配置成迭代地执行选择。神经元消除选择模块318被配置成从DNN 302中选择移除多个较低排名神经元(操作320)并且执行准确性分析(操作322),以确保神经元的移除不导致精简DNN 304的准确性落在准确性阈值限值之外。以迭代方式执行神经元的移除和准确性检查,以允许示例神经元消除选择模块318恰好移除保持在准确性阈值限值内的足够神经元。
初始DNN 302为了执行任务而受训练,精简DNN 304可用于执行该任务,诸如车辆中的感知任务。还可使用用于训练DNN 302的训练集对精简DNN 304进行再训练,以执行DNN302被训练执行的任务。
图4是示出示例DNN 400中的示例层的框图。示例DNN 400可用于车辆感知系统中,并且具有包括特征提取层402的特征图生成器模块和包括分类层404的分类模块。示例层分类模块308被配置成识别并分类DNN诸如DNN 400的多个隐藏层中的层类型。
示例特征提取层402基于传感器数据406生成特征图,在该示例中该传感器数据包括由一个或多个图像或测距系统(例如,相机、激光雷达和/或雷达系统)提供的图像数据。特征图是由传感器数据406捕获的环境的机器可读表示。特征图包括在任何给定时刻经由传感器系统采集的环境特征。
示例特征提取层402包括不同层的叠堆,这些不同层通过可微函数使用卷积层408和最大池化层410将输入量变换成输出量。卷积层408对它们的输入应用卷积操作,从而将结果传递到下一层。卷积模拟单个神经元对视觉刺激的响应。最大池化层410被插入卷积层之间并执行非线性下采样。
示例分类层404将来自由特征提取层402生成的特征图的对象分类,并且示例分类层包括完全连接层412。完全连接层412将一个层中的每个神经元连接到另一层中的每个神经元。示例分类层404以SoftMax层414终止。
再次参见图3,神经元排名模块310在准备神经元排名时执行多个操作。神经元排名模块310被配置成评估初始受训DNN 302的准确性。为了评估受训DNN 302的准确性,神经元排名模块310被配置成能够通过受训DNN 302运行完整的数据验证集并确定其预测准确性。例如,如下表1中所示,确定预测准确性可涉及相对于其排名前5的预测来确定输入的DNN的预测准确性(例如,确定实际对象是由DNN识别的五个更可能候选项中的一个的百分比),并且相对于其排名第1的预测来确定DNN的预测准确性(例如,确定实际对象是由DNN识别的最可能候选项的百分比)。
DNN模型 | 排名前5 | 排名第1 |
VGG16 | 86% | 66% |
VGG19 | 91% | 72% |
MobileNet | 87% | 66% |
DenseNet | 93% | 77% |
表1
神经元排名模块310被配置成识别用于精简DNN 304的可接受的准确性阈值折衷。例如,可接受的准确性阈值折衷可等于百分之五(5%),它可确定对于DNN 304的特定应用,准确性降低百分之五对于DNN 304而言可以是可接受的,以实现减小的计算能力要求。准确阈值应通过专家决定来确定并且是特定于应用的。
神经元排名模块310被进一步配置成用于评估神经元的激活函数。图5是示出示例DNN 500的示例部件的图示。示例DNN 500按层组织,这些层由多个互连神经元502组成。每个神经元502包括激活函数504。模式经由输入层506提供给网络,该输入层与其中实际处理经由加权连接的系统完成的一个或多个隐藏层508通信。激活函数504识别应用于关联神经元的输入的权重以生成输出。隐藏层508随后链接到生成输出的输出层510。
神经元排名模块310还被配置成执行神经元的层特定激活函数分析。神经元排名模块310被配置成对多个隐藏层中的一个或多个层使用验证数据集来分析所分析的一个或多个层中的每个神经元的激活函数,以确定每个神经元的对应于其所分析的激活函数的激活分数。
图6是示出神经元的激活函数输出的示例评估和记录的图示。在该示例中,在输入层(未示出)处应用的输入602的效果被应用于第一隐藏层604。第一隐藏层604中的每个神经元具有激活函数605,并且激活函数605基于输入602生成分数。记录神经元的神经元标识606以及输入602的神经元激活输出608。基于来自验证数据集的不同输入,还记录神经元的神经元激活输出610至612。还记录其它神经元(诸如第二隐藏层614中的神经元)的神经元标识606和神经元激活输出608、610至612。
基于神经元激活分数,神经元排名模块310被配置成基于层类型对所分析的一个或多个层中的每个神经元进行排名,以生成神经元312的层特定排名。通过生成每个神经元的归一化神经元激活输出分数的最大值,并且基于其归一化激活输出分数对层中的神经元进行排名来执行排名。归一化激活输出分数可根据下式生成:神经元排名模块310可以类似的方式单独对其它层诸如卷积层中的神经元进行排名。
再次参见图3,示例神经元消除选择模块318被配置成从DNN 302中选择多个较低排名神经元以供移除,该移除不导致精简DNN 304的准确性落在准确性阈值限值之外。示例神经元消除选择模块318被配置成迭代地执行选择。神经元消除选择模块318被配置成从DNN 302中选择移除多个较低排名神经元(操作320)并且执行准确性分析(操作322),以确保神经元的移除不导致精简DNN 304的准确性落在准确性阈值限值之外。以迭代方式执行神经元的移除和准确性检查,以允许示例神经元消除选择模块318恰好移除保持在准确性阈值限值内的足够神经元。
图7是示出示例过程700的流程图,该过程用于从初始受训DNN 302中迭代地选择要消除的神经元以生成精简DNN 304,并且用于在每个迭代步骤之后检查精简DNN 304的准确性。
在示例过程700的开始(操作702)之后,输入减少限值703(例如,40%)以设置二分搜索限值(操作704),从而识别可被消除以生成精简DNN的最大神经元数量。示例过程700包括执行预定次数的迭代(在该示例中为20次迭代)(操作706),以确定要消除以生成精简DNN的神经元。在每次迭代内,示例过程700包括神经元排名的二分搜索(操作708),其中在该示例中,排名1识别高度有用的神经元705,而排名100识别作用最小的神经元707。
在排名的二分搜索(操作708)中,过程700还包括计算区间排名的一半。半区间排名709可通过识别神经元排名715的下限711和上限713来确定。神经元排名715的下限711与上限713之间的神经元是神经元减少限值717内的神经元。
在计算区间排名的一半之后,示例过程包括设置为新DNN(例如,DNN新)、激活DNN(例如,DNN激活),其中执行DNN激活的遍历以消除神经元Ni,其中排名(Ni)>=半区间排名709(操作710)。换句话讲,从DNN中消除排名等于或高于半区间排名709处神经元的神经元以形成新的DNN。在消除神经元之后,执行DNN新的准确性评估(操作712)。
准确性评估示于子过程720中。在子过程720开始(722)之后,输入数据验证集721并由DNN新读取(操作724)。示例子过程720包括通过输入∈验证集执行DNN(操作726)以及分析执行的结果并汇总准确性(操作728)。有关DNN新的准确性的数据可汇总在表723中,该表可显示DNN初始的准确性和DNN新的准确性。示例子过程720可以以验证元素集的形式包括所有输入(操作730)。示例子过程720包括将初始DNN的准确性与DNN新的准确性之间的差值设置为输出(操作732)。可随后停止示例子过程720(操作734)。
在执行准确性评估之后,确定DNN新与DNN初始之间的准确性下降是否小于5%(决定714)。在该示例中,5%是已经设置的准确性阈值。如果准确性下降小于5%(仍然在决定714处),则在来自上一次迭代的半区间排名709处设置下一次迭代的上限713,并且下一次迭代的DNN激活被设置为等于上一次迭代的DNN新,并且新迭代通过操作708开始(操作715)。如果准确性下降不小于5%(不在决定714处),则在来自上一次迭代的半区间排名709处设置下一次迭代的下限711,并且新迭代通过操作708开始(操作717)。
在完成预设次数的迭代(例如20次)之后,操作706结束,并且上一次迭代的DNN激活作为精简DNN输出(操作716)。过程700随后停止(718)。
图8是示出实现过程800的示例处理器的流程图,该过程用于减少受训DNN中的神经元数量。过程800包括识别并分类DNN的多个隐藏层中的层类型(操作802)。隐藏层中的层类型可包括完全连接层和卷积层。
过程800包括使用数据验证集来评估DNN的准确性(操作804)。评估DNN的准确性可包括将数据验证集应用于DNN的输入并确定DNN的输出处的预测准确性。
过程800包括生成神经元的层特定排名(操作806)。生成包括:对多个隐藏层中的一个或多个层使用数据验证集来分析所分析的一个或多个层中的每个神经元的激活函数,以确定每个神经元的对应于所分析的激活函数的激活分数(操作808)。生成还包括:基于层类型根据神经元的激活分数对所分析的一个或多个层中的每个神经元进行排名,以生成神经元的层特定排名,该排名包括生成每个神经元的归一化神经元激活输出分数并基于其归一化激活输出分数对层中的神经元进行排名(操作810)。
过程800包括从DNN中选择多个较低排名神经元以供移除,该移除在移除所选的较低排名神经元之后不导致DNN落在准确性阈值限值之外(操作812)。从DNN中选择多个较低排名神经元以供移除可包括从DNN中迭代地选择较低排名神经元以供移除,直至达到迭代阈值。
从DNN中迭代地选择较低排名神经元以供移除可包括:指定较低排名神经元中的一些以供移除;将移除了指定供移除的较低排名神经元的较新DNN的准确性与没有移除神经元的DNN的准确性进行比较;并且当较新DNN的准确性不在准确性阈值限值内时,如果未达到迭代限值,则执行选择的另一迭代同时指定更少神经元以供移除,或者如果达到迭代限值,则从最后一次先前迭代中选择移除指定供移除的神经元,其中较新DNN的准确性在准确性阈值限值内;并且当较新DNN的准确性在准确性阈值限值内时,如果未达到迭代限值,则执行选择的另一迭代同时指定更多神经元以供移除,或者如果达到迭代限值,则在当前迭代中选择移除指定供移除的神经元。
指定较低排名神经元中的一些以供移除可包括:识别落在预定神经元减少限值内的最低排名神经元;以及在落在预定神经元减少限值内的最低排名神经元中指定要消除的神经元。指定较低排名神经元中的一些以供移除可包括:识别落在预定神经元减少限值内的最低排名神经元;以及在落在预定神经元减少限值内的最低排名神经元的下半区中指定要消除的神经元。指定较低排名神经元中的一些以供移除可包括仅指定完全连接层中的神经元以供移除。
将较新DNN的准确性与没有移除神经元的DNN的准确性进行比较可包括通过将数据验证集应用于较新DNN的输入并确定较新DNN的输出处的预测准确性,来确定较新DNN的准确性。过程800可包括通过将较新DNN的输出处的预测准确性与没有移除神经元的DNN的输出处的预测准确性进行比较,来确定较新DNN的准确性是否在阈值限值内。确定在DNN的输出处的预测准确性可包括确定DNN的输出处排名第1预测的预测准确性以及DNN的输出处的排名前5预测的预测准确性。
过程800包括从DNN中移除所选的供移除的神经元(操作814)以生成精简DNN。通过执行过程800而生成的精简DNN可用于在车辆中执行感知任务。过程800还可包括使用用于在移除神经元之前训练DNN的数据训练集再训练移除了神经元的DNN。
再次参见图3,为了从DNN中选择多个较低排名神经元以供移除,示例神经元消除选择模块318可被配置成从DNN中迭代地选择较低排名神经元以供移除,直至达到迭代阈值。为了从DNN中迭代地选择较低排名神经元以供移除,示例神经元消除选择模块318可被配置成:指定较低排名神经元中的一些以供移除;将移除了指定供移除的较低排名神经元的较新DNN的准确性与没有移除神经元的DNN的准确性进行比较;并且当较新DNN的准确性不在准确性阈值限值内时,如果未达到迭代限值,则执行选择的另一迭代同时指定更少神经元以供移除,或者如果达到迭代限值,则从最后一次先前迭代中选择移除指定供移除的神经元,其中较新DNN的准确性在准确性阈值限值内;并且当较新DNN的准确性在准确性阈值限值内时,如果未达到迭代限值,则执行选择的另一迭代同时指定更多神经元以供移除,或者如果达到迭代限值,则在当前迭代中选择移除指定供移除的神经元。
为了评估DNN的准确性,示例神经元消除选择模块318可被配置成将数据验证集应用于DNN的输入并确定DNN的输出处的预测准确性。为了比较较新DNN的准确性与没有移除神经元的DNN的准确性,示例神经元消除选择模块318可被配置成通过将数据验证集应用于较新DNN的输入并确定较新DNN的输出处的预测准确性,来确定较新DNN的准确性。示例神经元消除选择模块318可被配置成通过将较新DNN的输出处的预测准确性与没有移除神经元的DNN的输出处的预测准确性进行比较,来确定较新DNN的准确性是否在阈值限值内。为了确定DNN的输出处的预测准确性,示例神经元消除选择模块318可被配置成确定DNN的输出处排名第1预测的预测准确性以及DNN输出处的排名前5预测的预测准确性。
为了指定较低排名神经元中的一些以供移除,示例神经元消除选择模块318可被配置成识别落在预定神经元减少限值内的最低排名神经元,并且在落在预定神经元减少限值内的最低排名神经元中指定要消除的神经元。为了指定较低排名神经元中的一些以供移除,示例神经元消除选择模块318可被配置成识别落在预定神经元减少限值内的最低排名神经元,并且在落在预定神经元减少限值内的最低排名神经元的下半区中指定要消除的神经元。为了指定较低排名神经元中的一些以供移除,示例神经元消除选择模块318可被配置成仅指定完全连接层中的神经元以供移除。
前述内容概述了若干实施方案的特征,使得本领域的技术人员可更好地理解本公开的各个方面。本领域的技术人员应当理解,他们可容易地将本公开用作设计或修改用于执行相同目的和/或实现本文所述实施方案的相同优点的其它过程和结构的基础。本领域的技术人员还应当认识到,此类等同构造不脱离本公开的实质和范围,并且在不脱离本公开的实质和范围的情况下,他们可在本文中作出各种改变、替换和更改。
Claims (8)
1.一种用于减少车辆中使用的受训深度神经网络(DNN)中的神经元及其互连的数量的处理器实现的方法,所述方法包括:
由层分类模块识别并分类所述DNN的多个隐藏层中的层类型;
由神经元排名模块使用数据验证集评估所述DNN的准确性;
由神经元排名模块生成神经元的层特定排名,所述生成包括:
对所述多个隐藏层中的一个或多个层使用所述数据验证集来分析所分析的一个或多个层中的每个神经元的激活函数,以确定每个神经元的对应于所分析的激活函数的激活分数;以及
基于层类型根据所述神经元的激活分数对所分析的一个或多个层中的每个神经元进行排名,以生成神经元的层特定排名,所述排名包括生成每个神经元的归一化神经元激活输出分数并基于其归一化激活输出分数对层中的所述神经元进行排名;
由神经元消除选择模块从所述DNN中选择特定类型的多个较低排名神经元以供移除,所述移除在移除所选的较低排名神经元之后不导致所述DNN落在准确性阈值限值之外;以及
由神经元消除选择模块从所述DNN中移除所选的供移除的所述神经元;
其中移除了神经元的所述DNN被配置成用于在车辆中执行感知任务,感知任务包括对象检测、自由空间检测和对象姿态检测,
其中从所述DNN中选择多个较低排名神经元以供移除包括迭代地分析并从所述DNN中选择较低排名神经元以供移除,直至达到迭代阈值,其中从所述DNN中迭代地选择较低排名神经元以供移除包括:
指定所述较低排名神经元中的一些以供移除;
将移除了指定供移除的所述较低排名神经元的较新DNN的准确性与没有移除神经元的DNN的准确性进行比较;
当所述较新DNN的准确性不在准确性阈值限值内时,如果未达到迭代限值,则执行所述选择的另一迭代同时指定更少的神经元以供移除,或者如果达到所述迭代限值,则从最后一次先前迭代中选择移除所述指定供移除的神经元,其中所述较新DNN的准确性在准确性阈值限值内;并且
当所述较新DNN的准确性在准确性阈值限值内时,如果未达到迭代限值,则执行所述选择的另一迭代同时指定更多的神经元以供移除,或者如果达到所述迭代限值,则在当前迭代中选择移除所述指定供移除的神经元。
2.根据权利要求1所述的方法,其中评估所述DNN的准确性包括将所述数据验证集应用于所述DNN的输入并确定所述DNN的输出处的预测准确性。
3.根据权利要求2所述的方法,其中将所述较新DNN的准确性与没有移除神经元的所述DNN的准确性进行比较包括通过将所述数据验证集应用于所述较新DNN的输入并确定所述较新DNN的输出处的所述预测准确性,来确定所述较新DNN的准确性。
4.根据权利要求3所述的方法,包括通过将所述较新DNN的输出处的所述预测准确性与没有移除神经元的所述DNN的输出处的预测准确性进行比较,来确定所述较新DNN的准确性是否在阈值限值内。
5.根据权利要求2所述的方法,其中确定所述DNN的输出处的所述预测准确性包括确定所述DNN的输出处的排名第1预测的所述预测准确性以及所述DNN的输出处的排名前5预测的所述预测准确性。
6.根据权利要求1所述的方法,其中指定所述较低排名神经元中的一些以供移除包括:识别落在预定神经元减少限值内的最低排名神经元;以及在落在所述预定神经元减少限值内的所述最低排名神经元中指定要消除的神经元。
7.根据权利要求1所述的方法,其中指定所述较低排名神经元中的一些以供移除包括:识别落在预定神经元减少限值内的最低排名神经元;以及在落在所述预定神经元减少限值内的所述最低排名神经元的下半区中指定要消除的神经元。
8.一种车辆感知系统,所述车辆感知系统包括通过在非暂态计算机可读介质上编程指令配置的一个或多个处理器,以实现移除了神经元的受训深度神经网络(DNN),由处理系统配置的所述DNN被配置成:
由层分类模块识别并分类所述DNN的多个隐藏层中的层类型;
由神经元排名模块使用数据验证集评估所述DNN的准确性;
由神经元排名模块生成神经元的层特定排名,包括:
对所述多个隐藏层中的一个或多个层使用所述数据验证集来分析所分析的一个或多个层中的每个神经元的激活函数,以确定每个神经元的对应于所分析的激活函数的激活分数;以及
基于层类型根据所述神经元的激活分数对所分析的一个或多个层中的每个神经元进行排名,以生成神经元的层特定排名,所述排名包括生成每个神经元的归一化神经元激活输出分数并基于其归一化激活输出分数对层中的所述神经元进行排名;
由神经元消除选择模块从所述DNN中选择多个较低排名神经元以供移除,所述移除在移除所选的较低排名神经元之后不导致所述DNN落在准确性阈值限值之外;以及
由神经元消除选择模块从所述DNN中移除所选的供移除的所述神经元;
其中移除了神经元的所述DNN被配置成在车辆中执行感知任务,感知任务包括对象检测、自由空间检测和对象姿态检测,
其中所述处理系统被配置成迭代地分析并从所述DNN中选择较低排名神经元以供移除,直至达到迭代阈值,
其中所述处理系统被配置成:
指定所述较低排名神经元中的一些以供移除;
将移除了指定供移除的所述较低排名神经元的较新DNN的准确性与没有移除神经元的DNN的准确性进行比较;
当所述较新DNN的准确性不在准确性阈值限值内时,如果未达到迭代限值,则执行所述选择的另一迭代同时指定更少的神经元以供移除,或者如果达到所述迭代限值,则从最后一次先前迭代中选择移除所述指定供移除的神经元,其中所述较新DNN的准确性在准确性阈值限值内;并且
当所述较新DNN的准确性在准确性阈值限值内时,如果未达到迭代限值,则执行所述选择的另一迭代同时指定更多的神经元以供移除,或者如果达到所述迭代限值,则在当前迭代中选择移除所述指定供移除的神经元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/227,195 US11455538B2 (en) | 2018-12-20 | 2018-12-20 | Correctness preserving optimization of deep neural networks |
US16/227195 | 2018-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111353599A CN111353599A (zh) | 2020-06-30 |
CN111353599B true CN111353599B (zh) | 2024-04-23 |
Family
ID=70969260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910504097.2A Active CN111353599B (zh) | 2018-12-20 | 2019-06-12 | 深度神经网络的正确性保持优化 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11455538B2 (zh) |
CN (1) | CN111353599B (zh) |
DE (1) | DE102019115665A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11625583B2 (en) * | 2019-02-13 | 2023-04-11 | Mipsology SAS | Quality monitoring and hidden quantization in artificial neural network computations |
US20210056357A1 (en) * | 2019-08-19 | 2021-02-25 | Board Of Trustees Of Michigan State University | Systems and methods for implementing flexible, input-adaptive deep learning neural networks |
US11449578B2 (en) * | 2019-09-27 | 2022-09-20 | Botty Todorov DIMANOV | Method for inspecting a neural network |
US11443187B2 (en) * | 2019-10-07 | 2022-09-13 | Wipro Limited | Method and system for improving classifications performed by an artificial neural network (ANN) model |
US11734569B2 (en) * | 2020-02-14 | 2023-08-22 | Wipro Limited | Method and system for improving performance of an artificial neural network (ANN) model |
CN112199295B (zh) * | 2020-10-29 | 2023-05-05 | 北京信息科技大学 | 一种基于频谱的深度神经网络缺陷定位方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636693A (zh) * | 2015-03-20 | 2018-01-26 | 弗劳恩霍夫应用研究促进协会 | 针对人工神经网络的相关性分数指派 |
CN108320017A (zh) * | 2018-03-20 | 2018-07-24 | 中国民用航空总局第二研究所 | 卷积神经网络优化方法、系统、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11023807B2 (en) * | 2016-12-30 | 2021-06-01 | Microsoft Technology Licensing, Llc | Neural network processor |
US20190197406A1 (en) * | 2017-12-22 | 2019-06-27 | Microsoft Technology Licensing, Llc | Neural entropy enhanced machine learning |
-
2018
- 2018-12-20 US US16/227,195 patent/US11455538B2/en active Active
-
2019
- 2019-06-10 DE DE102019115665.3A patent/DE102019115665A1/de active Pending
- 2019-06-12 CN CN201910504097.2A patent/CN111353599B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636693A (zh) * | 2015-03-20 | 2018-01-26 | 弗劳恩霍夫应用研究促进协会 | 针对人工神经网络的相关性分数指派 |
CN108320017A (zh) * | 2018-03-20 | 2018-07-24 | 中国民用航空总局第二研究所 | 卷积神经网络优化方法、系统、设备及介质 |
Non-Patent Citations (1)
Title |
---|
Exploring Energy and Accuracy Tradeoff in Structure Simplification of Trained Deep Neural Networks;Boyu Zhang 等;IEEE Journal on Emerging and Selected Topics in Circuits and Systems;第836-848页 * |
Also Published As
Publication number | Publication date |
---|---|
US11455538B2 (en) | 2022-09-27 |
US20200202214A1 (en) | 2020-06-25 |
DE102019115665A1 (de) | 2020-06-25 |
CN111353599A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353599B (zh) | 深度神经网络的正确性保持优化 | |
US11932249B2 (en) | Methods and devices for triggering vehicular actions based on passenger actions | |
US11899411B2 (en) | Hybrid reinforcement learning for autonomous driving | |
CN111258217B (zh) | 实时对象行为预测 | |
US20190035275A1 (en) | Autonomous operation capability configuration for a vehicle | |
CN110857085A (zh) | 车辆路径规划 | |
CN109814130B (zh) | 用于在车辆感知系统中自由空间推断以分开群集对象的系统和方法 | |
CN111736142A (zh) | 用于雷达交叉交通跟踪和操纵风险评估的系统和方法 | |
CN111252061A (zh) | 用于自动驾驶车辆的实时决策制定 | |
US11465650B2 (en) | Model-free reinforcement learning | |
US11188766B2 (en) | System and method for providing context aware road-user importance estimation | |
US11829131B2 (en) | Vehicle neural network enhancement | |
US20200250971A1 (en) | Vehicle capsule networks | |
CN110395257B (zh) | 一种车道线实例检测方法和装置、自动驾驶车辆 | |
CN111638491A (zh) | 使用深层神经网络在感测雷达的波束形成阶段去除假警报 | |
CN113850391A (zh) | 占用验证装置和方法 | |
US11590969B1 (en) | Event detection based on vehicle data | |
US20210333764A1 (en) | Electronic control device and neural network update system | |
CN111599166B (zh) | 用于解释交通信号和协商信号化的交叉路口的方法和系统 | |
US20230260301A1 (en) | Biometric task network | |
Suk et al. | Rationale-aware autonomous driving policy utilizing safety force field implemented on CARLA simulator | |
US20220261519A1 (en) | Rare event simulation in autonomous vehicle motion planning | |
US20230410469A1 (en) | Systems and methods for image classification using a neural network combined with a correlation structure | |
US11270525B2 (en) | Automated vehicle occupancy detection | |
US20240149918A1 (en) | Navigation based on internal state inference and interactivity estimation |
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 |