CN107533754B - 在深度卷积网络中降低图像分辨率 - Google Patents
在深度卷积网络中降低图像分辨率 Download PDFInfo
- Publication number
- CN107533754B CN107533754B CN201680024411.1A CN201680024411A CN107533754B CN 107533754 B CN107533754 B CN 107533754B CN 201680024411 A CN201680024411 A CN 201680024411A CN 107533754 B CN107533754 B CN 107533754B
- Authority
- CN
- China
- Prior art keywords
- dcn
- layer
- reduction factor
- image
- adjusting
- 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
- 230000009467 reduction Effects 0.000 claims abstract description 153
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000011176 pooling Methods 0.000 claims description 36
- 230000000946 synaptic effect Effects 0.000 claims description 7
- 238000013138 pruning Methods 0.000 claims description 3
- 238000009966 trimming Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 38
- 210000002569 neuron Anatomy 0.000 description 34
- 238000013528 artificial neural network Methods 0.000 description 26
- 238000012549 training Methods 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 14
- 238000001228 spectrum Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 210000000653 nervous system Anatomy 0.000 description 2
- 239000005022 packaging material Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002087 whitening effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 210000002364 input neuron Anatomy 0.000 description 1
- 230000023886 lateral inhibition Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
-
- 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/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/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
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
一种在深度卷积网络(DCN)中降低图像分辨率的方法,包括动态地选择要应用于输入图像的降低因子。可在DCN的每一层处选择降低因子。该方法还包括基于为每一层选择的降低因子来调整DCN。
Description
相关申请的交叉引用
本申请根据35 U.S.C.§119(e)要求于2015年4月28日提交的题为“REDUCINGIMAGE RESOLUTION IN DEEP CONVOLUTIONAL NETWORKS(在深度卷积网络中降低图像分辨率)”的美国临时专利申请No.62/154,084的权益,其公开通过引用整体明确地纳入于此。
背景技术
领域
本公开的某些方面一般涉及神经系统工程,更具体地涉及用于在保持性能的同时在深度卷积网络中降低图像分辨率的系统和方法。
背景技术
可包括一群互连的人工神经元(例如,神经元模型)的人工神经网络是一种计算设备或者表示将由计算设备执行的方法。
卷积神经网络是一种前馈人工神经网络。卷积神经网络可包括神经元集合,其中每一个神经元具有感受野并且共同地拼出一输入空间。卷积神经网络(CNN)具有众多应用。具体地,CNN已被广泛使用于模式识别和分类领域。
深度学习架构(诸如,深度置信网络和深度卷积网络)是分层神经网络架构,其中第一层神经元的输出变成第二层神经元的输入,第二层神经元的输出变成第三层神经元的输入,以此类推。深度神经网络可被训练以识别特征阶层并因此它们被越来越多地用于对象识别应用。类似于卷积神经网络,这些深度学习架构中的计算可分布在处理节点群体上,其可被配置在一个或多个计算链中。这些多层架构可每次训练一层并可使用后向传播微调。
其他模型也可用于对象识别。例如,支持向量机(SVM)是可被应用于分类的学习工具。支持向量机包括对数据进行归类的分离超平面(例如,决策边界)。该超平面由监督式学习来定义。期望的超平面增加训练数据的裕量。换言之,超平面应该具有到训练示例的最大的最小距离。
尽管这些解决方案在数个分类基准上取得了优异的结果,但它们的计算复杂度可能极其高。另外,模型的训练可能是有挑战性的。
概述
在本公开的一个方面,公开了一种在深度卷积网络(DCN)中降低图像分辨率的方法。该方法包括在DCN的每一层处,动态地选择要应用于输入图像的降低因子。该方法还包括基于为每一层选择的降低因子来调整DCN。
本公开的另一方面涉及一种装备,包括用于在DCN的每一层处,动态地选择要应用于输入图像的降低因子的装置。该装备还包括基于为每一层选择的降低因子来调整DCN的装置。
在本公开的另一方面,公开了一种其上记录有非瞬态程序代码的非瞬态计算机可读介质。用于在DCN中降低图像分辨率的程序代码由处理器执行,并且包括用于在DCN的每一层处动态地选择要应用于输入图像的降低因子的程序代码。该程序代码还包括用于基于为每一层选择的降低因子来调整DCN的程序代码。
本公开的另一方面涉及一种用于在DCN中降低图像分辨率的装置,该装置具有存储器以及耦合至该存储器的一个或多个处理器。(诸)处理器被配置为在DCN的每一层处,动态地选择要应用于输入图像的降低因子。(诸)处理器还被配置为基于为每一层选择的降低因子来调整DCN。
本公开的附加特征和优点将在下文描述。本领域技术人员应该领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。
附图简要说明
在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。
图1解说了根据本公开的某些方面的使用片上系统(SOC)(包括通用处理器)来设计神经网络的示例实现。
图2解说了根据本公开的各方面的系统的示例实现。
图3A是解说根据本公开的各方面的神经网络的示图。
图3B是解说根据本公开的各方面的示例性深度卷积网络(DCN)的框图。
图4是解说根据本公开的各方面的可将人工智能(AI)功能模块化的示例性软件架构的框图。
图5是解说根据本公开的各方面的智能手机上的AI应用的运行时操作的框图。
图6A和6B解说了深度卷积网络的示例。
图7解说了根据本公开的一方面的标绘计算复杂度和分类性能的图表的示例。
图8解说了根据本公开的一方面的用于确定图像的能量分量的图表的示例。
图9解说了根据本公开的各方面的图像分辨率降低的示例。
图10和11是解说根据本公开的各方面的用于在深度卷积网络中降低图像分辨率的方法的流程图。
详细描述
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。
措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
模型压缩和微调
深度神经网络(诸如深度卷积网络(DCN))被用于诸如图像/视频分类、语音识别、和/或面部识别之类的若干人工智能任务中。在常规系统中,根据训练示例的大型数据库对神经网络模型进行训练。此外,在大多数情况下,与较小的神经网络模型相比,较大的神经网络模型实现更好的性能。为了在诸如移动设备、云应用、机器人、和/或汽车的某些设备上部署神经网络模型,期望降低计算复杂性、存储器占用、和/或功率消耗。
卷积神经网络模型可分为一系列层。每一层可变换从网络中的一个或多个在前层接收到的输入,并且可产生针对网络后续层的输出。例如,卷积神经网络可包括全连通(FC)层、卷积层、局部连通(LC)层和其它层。每个不同的层可执行不同类型的变换。
此外,每一层接收来自一个或多个先前层的激活向量作为输入,对组合的输入向量应用线性/非线性变换,并且输出要由一个或多个后续层使用的激活向量。一些层是用权重进行参数化的,而一些层不是。
对于图像分类和/或面部识别,为输入图像指定图像分辨率。此外,可针对DCN内的各个层指定不同的图像分辨率。在常规系统中,按自组织方式在各个层选择为DCN指定的图像分辨率。也就是说,在常规系统中,分类性能与计算复杂度之间的折衷可能不被考虑或不被理解。因此,常规系统可能不具有用于在各个层处选择图像分辨率的系统化办法。
然而,所选择的图像分辨率可影响DCN的性能,诸如计算复杂性。作为一示例,在一层处以因子2降低图像分辨率就可在该层处以因子4减少计算复杂度。
本公开的各方面针对在权重层(诸如全连通层、卷积层和局部连通层)处降低输入的分辨率,诸如图像分辨率。示例层执行线性变换,但在输出神经元如何连接到输入神经元方面不同。
图1解说了根据本公开的某些方面使用片上系统(SOC)100的深度卷积网络中的前述降低图像分辨率的示例实现,其中SOC 100可包括通用处理器(CPU)或多核通用处理器(CPU)102。变量(例如,神经信号和突触权重)、与计算设备(例如,带有权重的神经网络)相关联的系统参数、延迟、频率槽信息、以及任务信息可被存储在与神经处理单元(NPU)108相关联的存储器块中、与CPU 102相关联的存储器块中、与图形处理单元(GPU)104相关联的存储器块中、与数字信号处理器(DSP)106相关联的存储器块中、专用存储器块118中,或可跨多个块分布。在通用处理器102处执行的指令可从与CPU102相关联的程序存储器加载或可从专用存储器块118加载。
SOC 100还可包括为特定功能定制的附加处理块(诸如GPU 104、DSP 106、连通性块110(其可包括第四代长期演进(4G LTE)连通性、无执照Wi-Fi连通性、USB连通性、蓝牙连通性等)以及例如可检测和识别姿势的多媒体处理器112。在一种实现中,NPU实现在CPU、DSP、和/或GPU中。SOC 100还可包括传感器处理器114、图像信号处理器(ISP)、和/或导航120(其可包括全球定位系统)。SOC可基于ARM指令集。
在本公开的一方面,加载到通用处理器102中的指令可包括用于在DCN的每一层处动态地选择要应用于输入图像的降低因子的代码。加载到通用处理器102中的指令还可包括用于基于为每一层选择的降低因子来调整DCN的代码。
图2解说了根据本公开的某些方面的系统200的示例实现。如图2中所解说的,系统200可具有可执行本文所描述的方法的各种操作的多个局部处理单元202。每个局部处理单元202可包括局部状态存储器204和可存储神经网络的参数的局部参数存储器206。另外,局部处理单元202可具有用于存储局部模型程序的局部(神经元)模型程序(LMP)存储器208、用于存储局部学习程序的局部学习程序(LLP)存储器210、以及局部连通存储器212。此外,如图2中所解说的,每个局部处理单元202可与用于为该局部处理单元的各局部存储器提供配置的配置处理器单元214对接,并且与提供各局部处理单元202之间的路由的路由连接处理单元216对接。
深度学习架构可通过学习在每一层中以逐次更高的抽象程度来表示输入、藉此构建输入数据的有用特征表示来执行对象识别任务。以此方式,深度学习解决了传统机器学习的主要瓶颈。在深度学习出现之前,用于对象识别问题的机器学习办法可能严重依赖人类工程设计的特征,或许与浅分类器相结合。浅分类器可以是两类线性分类器,例如,其中可将特征向量分量的加权和与阈值作比较以预测输入属于哪一类。人类工程设计的特征可以是由拥有领域专业知识的工程师针对特定问题领域定制的模版或内核。相反,深度学习架构可学习以表示与人类工程师可能会设计的相似的特征,但它是通过训练来学习的。此外,深度网络可以学习以表示和识别人类可能还没有考虑过的新类型的特征。
深度学习架构可以学习特征阶层。例如,如果向第一层呈递视觉数据,则第一层可学习以识别输入流中的简单特征(诸如边)。如果向第一层呈递听觉数据,则第一层可学习以识别特定频率中的频谱功率。取第一层的输出作为输入的第二层可以学习以识别特征组合,诸如对于视觉数据识别简单形状或对于听觉数据识别声音组合。更高层可学习以表示视觉数据中的复杂形状或听觉数据中的词语。再高层可学习以识别常见视觉对象或口语短语。
深度学习架构在被应用于具有自然阶层结构的问题时可能表现特别好。例如,机动交通工具的分类可受益于首先学习以识别轮子、挡风玻璃、以及其他特征。这些特征可在更高层以不同方式被组合以识别轿车、卡车和飞机。
神经网络可被设计成具有各种连通性模式。在前馈网络中,信息从较低层被传递到较高层,其中给定层中的每个神经元向更高层中的神经元进行传达。如上所述,可在前馈网络的相继层中构建阶层式表示。神经网络还可具有回流或反馈(也被称为自顶向下(top-down))连接。在回流连接中,来自给定层中的神经元的输出被传达给相同层中的另一神经元。回流架构可有助于识别在时间上展开的模式。从给定层中的神经元到较低层中的神经元的连接被称为反馈(或自顶向下)连接。当高层级概念的识别可辅助辨别输入的特定低层级特征时,具有许多反馈连接的网络可能是有助益的。
参照图3A,神经网络的各层之间的连接可以是全连通的302或局部连通的304。在全连通网络302中,给定层中的神经元可以将其输出传达给下一层中的每一神经元。替换地,在局部连通网络304中,给定层中的神经元可连接至下一层中有限数目的神经元。卷积网络306可以是局部连通的,并且进一步是其中与给定层中的每个神经元相关联的连接强度被共享的特殊情形(例如,308)。更一般化地,网络的局部连通层可被配置成使得一层中的每个神经元将具有相同或相似的连通性模式,但其连接强度可具有不同的值(例如,310、312、314和316)。局部连通的连通性模式可能在更高层中产生空间上相异的感受野,这是由于给定区域中的更高层神经元可接收到通过训练被调谐为到网络的总输入的受限部分的性质的输入。
局部连通的神经网络可能非常适合于其中输入的空间位置有意义的问题。例如,被设计成识别来自车载相机的视觉特征的网络300可发展具有不同性质的高层神经元,这取决于它们与图像下部关联还是与图像上部关联。例如,与图像下部相关联的神经元可学习以识别车道标记,而与图像上部相关联的神经元可学习以识别交通信号灯、交通标志等。
可以用受监督式学习来训练DCN。在训练期间,可向DCN呈递图像(诸如限速标志的经裁剪图像326),并且可随后计算“前向传递(forward pass)”以产生输出328。输出328可以是对应于特征(诸如“标志”、“60”、和“100)的值向量。”网络设计者可能希望DCN在输出特征向量中针对其中一些神经元输出高得分,例如与经训练的网络300的输出328中所示的“标志”和“60”对应的那些神经元。在训练之前,DCN产生的输出很可能是不正确的,并且由此可计算实际输出与目标输出之间的误差。DCN的权重可随后被调整以使得DCN的输出得分与目标更紧密地对准。
为了合适地调整权重,学习算法可为权重计算梯度向量。该梯度可指示在权重被略加调整情况下误差将增加或减少的量。在顶层,该梯度可直接对应于连接倒数第二层中的活化神经元与输出层中的神经元的权重的值。在较低层中,该梯度可取决于权重的值以及所计算出的较高层的误差梯度。权重可随后被调整以减小误差。这种调整权重的方式可被称为“后向传播”,因为其涉及在神经网络中的“后向传递(backward pass)”。
在实践中,权重的误差梯度可能是在少量示例上计算的,从而计算出的梯度近似于真实误差梯度。这种近似方法可被称为随机梯度下降法。随机梯度下降法可被重复,直到整个系统可达成的误差率已停止下降或直到误差率已达到目标水平。
在学习之后,可向DCN呈递新图像326并且在网络中的前向传递可产生输出328,其可被认为是该DCN的推断或预测。
深度置信网络(DBN)是包括多层隐藏节点的概率性模型。DBN可被用于提取训练数据集的阶层式表示。DBN可通过堆叠多层受限波尔兹曼机(RBM)来获得。RBM是一类可在输入集上学习概率分布的人工神经网络。由于RBM可在没有关于每个输入应该被分类到哪个类的信息的情况下学习概率分布,因此RBM经常被用于无监督式学习。使用混合无监督式和受监督式范式,DBN的底部RBM可按无监督方式被训练并且可以用作特征提取器,而顶部RBM可按受监督方式(在来自先前层的输入和目标类的联合分布上)被训练并且可用作分类器。
深度卷积网络(DCN)是卷积网络的网络,其配置有附加的池化和归一化层。DCN已在许多任务上达成现有最先进的性能。DCN可使用受监督式学习来训练,其中输入和输出目标两者对于许多典范是已知的并被用于通过使用梯度下降法来修改网络的权重。
DCN可以是前馈网络。另外,如上所述,从DCN的第一层中的神经元到下一更高层中的神经元群的连接跨第一层中的各神经元被共享。DCN的前馈和共享连接可被用于进行快速处理。DCN的计算负担可比例如类似大小的包括回流或反馈连接的神经网络的计算负担小得多。
卷积网络的每一层的处理可被认为是空间不变模版或基础投影。如果输入首先被分解成多个通道,诸如彩色图像的红色、绿色和蓝色通道,那么在该输入上训练的卷积网络可被认为是三维的,其具有沿着该图像的轴的两个空间维度以及捕捉颜色信息的第三维度。卷积连接的输出可被认为在后续层318、320以及322中形成特征图,该特征图(例如,320)中的每个元素从先前层(例如,318)中一定范围的神经元以及从该多个通道中的每一个通道接收输入。特征图中的值可以用非线性(诸如矫正)max(0,x)进一步处理。来自毗邻神经元的值可被进一步池化324(这对应于降采样)并可提供附加的局部不变性以及维度缩减。还可通过特征图中神经元之间的侧向抑制来应用归一化,其对应于白化。
深度学习架构的性能可随着有更多被标记的数据点变为可用或随着计算能力提高而提高。现代深度神经网络用比仅仅十五年前可供典型研究者使用的计算资源多数千倍的计算资源来例行地训练。新的架构和训练范式可进一步推升深度学习的性能。经矫正的线性单元可减少被称为梯度消失的训练问题。新的训练技术可减少过度拟合(over-fitting)并因此使更大的模型能够达成更好的普遍化。封装技术可抽象出给定的感受野中的数据并进一步提升总体性能。
图3B是解说示例性深度卷积网络350的框图。深度卷积网络350可包括多个基于连通性和权重共享的不同类型的层。如图3B所示,该示例性深度卷积网络350包括多个卷积块(例如,C1和C2)。每个卷积块可配置有卷积层、归一化层(LNorm)、和池化层。卷积层可包括一个或多个卷积滤波器,其可被应用于输入数据以生成特征图。尽管仅示出了两个卷积块,但本公开不限于此,而是,根据设计偏好,任何数目的卷积块可被包括在深度卷积网络350中。归一化层可被用于对卷积滤波器的输出进行归一化。例如,归一化层可提供白化或侧向抑制。池化层可提供在空间上的降采样聚集以实现局部不变性和维度缩减。
例如,深度卷积网络的平行滤波器组可任选地基于ARM指令集被加载到SOC 100的CPU 102或GPU 104上以达成高性能和低功耗。在替换实施例中,平行滤波器组可被加载到SOC 100的DSP 106或ISP 116上。另外,DCN可访问其他可存在于SOC上的处理块,诸如专用于传感器114和导航120的处理块。
深度卷积网络350还可包括一个或多个全连通层(例如,FC1和FC2)。深度卷积网络350可进一步包括逻辑回归(LR)层。深度卷积网络350的每一层之间是要被更新的权重(未示出)。每一层的输出可以用作深度卷积网络350中后续层的输入以从第一卷积块C1处提供的输入数据(例如,图像、音频、视频、传感器数据和/或其他输入数据)学习阶层式特征表示。
图4是解说可使人工智能(AI)功能模块化的示例性软件架构400的框图。使用该架构,应用402可被设计成可使得SOC 420的各种处理块(例如CPU 422、DSP 424、GPU 426和/或NPU 428)在该应用402的运行时操作期间执行支持计算。
AI应用402可配置成调用在用户空间404中定义的功能,例如,这些功能可提供对指示该设备当前操作位置的场景的检测和识别。例如,AI应用402可取决于识别出的场景是办公室、报告厅、餐馆、还是室外环境(诸如湖泊)而以不同方式配置话筒和相机。AI应用402可向与在场景检测应用编程接口(API)406中定义的库相关联的经编译程序代码提出提供对当前场景的估计的请求。该请求可最终依赖于配置成基于例如视频和定位数据来提供场景估计的深度神经网络的输出。
运行时引擎408(其可以是运行时框架的经编译代码)可进一步可由AI应用402访问。例如,AI应用402可使得运行时引擎以特定时间间隔请求场景估计或以由应用的用户接口检测到的事件触发的方式请求场景估计。在使得运行时引擎估计场景时,运行时引擎可进而发送信号给在SOC 420上运行的操作系统410(诸如Linux内核412)。操作系统410进而可使得在CPU 422、DSP 424、GPU 426、NPU 428、或其某种组合上执行计算。CPU 422可被操作系统直接访问,而其他处理块可通过驱动器(诸如用于DSP 424、用于GPU 426、或用于NPU428的驱动器414-418)被访问。在示例性示例中,深度神经网络可被配置成在处理块的组合(诸如CPU 422和GPU 426)上运行,或可在NPU 428(如果存在的话)上运行。
图5是解说智能手机502上的AI应用的运行时操作500的框图。AI应用可包括预处理模块504,该预处理模块504可被配置(例如,使用JAVA编程语言被配置)成转换图像的格式(506)并随后对该图像进行剪裁和/或调整大小(508)。经预处理的图像可接着被传达给分类应用510,该分类应用510包含场景检测后端引擎512,该场景检测后端引擎512可被配置(例如,使用C编程语言被配置)成基于视觉输入来检测和分类场景。场景检测后端引擎512可被配置成进一步通过缩放(516)和剪裁(518)来预处理(514)该图像。例如,该图像可被缩放和剪裁以使所得到的图像是224像素×224像素。这些维度可映射到神经网络的输入维度。神经网络可由深度神经网络块520配置以使得SOC 100的各种处理块进一步借助深度神经网络来处理图像像素。深度神经网络的结果可随后被取阈(522)并被传递通过分类应用510中的指数平滑块524。经平滑的结果可接着使得智能手机502的设置和/或显示改变。
在一种配置中,机器学习模型(诸如深度卷积网络)被配置为用于在深度卷积网络的每一层处动态地选择要应用于输入图像的降低因子;并基于为每一层选择的降低因子来调整深度卷积网络。该模型包括动态选择装置和/或调整装置。在一方面,动态选择装置和/或调整装置可以是配置成执行所叙述功能的通用处理器102、与通用处理器102相关联的程序存储器、存储器块118、局部处理单元202、和/或路由连接处理单元216。在另一种配置中,前述装置可以是被配置成执行由前述装置所叙述的功能的任何模块或任何装置。
根据本公开的某些方面,每一个局部处理单元202可被配置成基于模型的一个或多个期望功能特征来确定神经网络的参数,以及随着所确定的参数被进一步适配、调谐和更新来使这一个或多个功能特征朝着期望的功能特征发展。
用于深度卷积网络的图像分辨率降低
如前所述,深度卷积网络(DCN)可用于神经网络的图像分类和/或面部识别。对于图像分类和/或面部识别,为输入图像指定图像分辨率。此外,可针对DCN内的各个层指定不同的图像分辨率。
图6A解说了原始DCN 600和经调整的DCN 602的示例。当然,常规DCN的层不限于图6A所示的层,因为可以指定更多或更少的层和分量。经调整的DCN 602可具有大于或小于原始DCN 600复杂度的复杂度。
如图6A所示,原始DCN 600用三个通道接收具有256个像素×256个像素(256×256)的大小的输入图像。通道表示不同的颜色(诸如红色、绿色和蓝色)。取决于图像的颜色和/或应用于图像的滤波器,通道可以更多或更少。另外,如图6A所示,图像被输入到具有步幅为1的第一卷积层604。步幅是指子采样量。也就是说,步幅是输出图像的大小与输入图像的大小的比率。在该示例中,输入图像的大小为256×256,输出图像的大小为256×256。因此,步幅为1。也就是说,如果步幅为1,则不执行子采样。
此外,如图6A所示,来自第一卷积层604的输出具有32个通道。在大多数情况下,滤波器被应用于每个通道。因此,在图6A的示例中,32个滤波器被应用于图像。此外,来自第一卷积层604的输出被输入到第一池化层606。如图6A所示,从每一层输出的图像大小和通道数量可基于步幅因子和/或其他因子而改变。
如图6A所示,输入到每一层的图像大小可以不同。此外,每一层可基于输入图像大小使用输入图像的特定部分来执行特定层的操作。例如,如图6A所示,输入到第二卷积层612的图像的大小为64×64。此外,从第二卷积层612输出的图像大小为32×32。
另外,图6A解说了可通过对原始DCN 600的各层应用降低因子来产生的经调整的DCN 602。降低因子改变输入到每一层的图像大小。例如,如图6A所示,输入到第一池化层606的图像大小为256×256。此外,对于经调整的DCN 602,将降低因子2应用于第一经调整池化层608,使得输入到第一经调整池化层608的图像为128×128。因此,通过对第一经调整池化层608应用降低因子2,将第一经调节卷积层610的步幅调整为2(例如,输出图像大小/输入图像大小)。
图6A和6B的DCN是示例性DCN。当然,DCN的大小(诸如层数)并不限于这些示例。本公开的各方面被构想于任何大小的DCN。
因为上述层期望较低分辨率的图像作为输入,所以在前层的复杂度可至少以因子r2降低。也就是说,在前层计算n2/r2个激活值,而不是n2个激活值。因此,如图6A所示,由于向第一经调整池化层608的输入减半,所以第一经调整卷积层610的输出也减半。因此,降低因子调整至一层的输入和在前层的输出。
图6B解说了卷积层的示例。如图6B所示,第i个输入图Xi与权重矩阵Wij进行卷积,并加到第j个输出图Yj。权重矩阵也被称为卷积内核。此外,权重矩阵(k×k)的大小被称为内核大小。如图6B所示,卷积层接收多个图像620-624作为输入x1-xn并输出多个图像通道y1-ym。通过在每个输入图像上应用卷积滤波器并将卷积相加来计算每个输出图像。
尽管计算复杂度增加,但常规的DCN可使用更高分辨率的图像来改善图像的分类。在某些情况下,DCN可能有确定数字3是否存在于具有减少细节的32x32输入图像内的任务。在该示例中,图像的大小可能不会改善分类。在其他情况下,对于具有增加细节的图像(诸如景观或具有多个对象的图像),指定增加的图像大小以改善图像分类。
通常,在诸如对象分类或场景分类的应用中使用256×256或更高的图像大小。通常,更高的图像分辨率提高分类精确度,同时也增加了计算复杂度。也就是说,随着输入图像的大小增加,DCN的精确度得到改善。
对于一些具有有限资源的设备,诸如移动设备,可能不期望使用大的图像进行分类。因此,期望在不增加性能影响的情况下降低DCN的图像分辨率。也就是说,在一些情况下,DCN可使用较低分辨率的图像,而不会显著降低分类的性能。因此,本公开的各方面涉及调整DCN以在较低分辨率图像上操作,同时保持DCN的分类性能大于性能阈值。此外,本公开的其他各方面旨在改进多个DCN在设备中的存储。
在一种配置中,图像分辨率在各层处被动态地降低以调整DCN的复杂度。尽管如此,在该配置中,选择特定图像分辨率,使得经调整的DCN的分类性能大于性能阈值。根据本公开的各方面,降低因子是指输入图像分辨率降低的比率。例如,当将降低因子2应用于28×28的图像时,降低的图像大小为14×14。作为另一示例,如果对30×30图像应用降低因子3,则降低的图像大小为10×10。
应当注意,DCN内的不同层可以具有不同的降低因子。也就是说,降低因子是因层而异的。在一种配置中,指定内环和外环,以用于选择降低因子并基于所选择的降低因子来调整DCN。
在一种配置中,外环选择降低因子。在这种配置中,外环用于基于各种降低因子来获得经调整的DCN(诸如较高复杂度的DCN和较低复杂度的DCN)。
另外,在一种配置中,内环使用由外环选择的降低因子来调整DCN。具体地说,在该配置中,内环确定经调整的DCN的架构和突触权重值。在确定经调整的DCN的架构和突触权重值之后,内环向外环输出经调整的DCN的分类性能和计算复杂度的差异。基于接收到的输出,外环可以确定经调整的DCN的性能是否大于性能阈值。在该配置中,如果经调整的DCN的性能大于性能阈值,则选择降低因子。
在一种配置中,外环随机选择各种降低因子,并为随机选择的降低因子调用内环。例如,外环可以针对第一层随机地选择降低因子为2,针对第二层的降低因子为3,以及针对第三层的降低因子为4。响应于接收到随机选择的降低因子,内环基于接收到的降低因子来调整DCN模型。在一些情形中,降低因子可能是分数。
对于每个经调整的DCN模型,内环输出原始图像分辨率与降低的图像分辨率之间的分类性能差异。另外,内环输出每个经调整的DCN模型的计算复杂度。
图7解说了基于计算复杂度(诸如DCN执行的乘法次数)以及DCN的分类性能(诸如分类精确度)的从外环生成的图表700的示例。分类性能可以是除分类精确度以外的度量。例如,可基于分类误差来计算分类性能。另外,计算复杂度可以是除DCN执行的乘法次数以外的度量。例如,计算复杂度可以是理论上计算的乘法次数或经验测量的运行时间。
如图7所示,外环可基于原始图像分辨率标绘原始DCN 702的DCN性能。例如,原始DCN 702可具有85%的分类性能并且具有100的计算复杂度。根据本公开的各方面,较低的计算复杂度比较高的计算复杂度更为期望。此外,在本示例中,较高的分类性能比较低的分类性能更为期望。
另外,在本配置中,外环可以为内环提供多组降低因子。例如,外环可以向内环提供一百组随机选择的降低因子。每组降低因子可包括用于每一层的不同的降低因子。此外,在本配置中,对于各组降低因子,内环输出DCN的计算复杂度和分类性能,该DCN具有从给定的一组降低因子调整的复杂度。
在本配置中,基于内环的输出,外环可基于给定的一组降低因子来标绘每个模型的DCN性能。在本配置中,外环可通过去除不在分类性能对复杂度曲线的边界(诸如帕累托(Pareto)边界)上的模型的标绘来修剪曲线。
如图7所示,基于原始DCN 702的DCN性能标绘来指定分类性能对复杂度曲线的边界722。如图7所示,维持在边界722(例如帕累托边界)的预定义距离内的标绘704-720。另外,在边界722的预定义距离之外的标绘724-732被忽略。应当注意,边界不限于图表的特定模型,本公开的各方面涉及确定每个模型的边界。此外,模型可被称为网络和/或DCN。
在修剪超出边界预定义距离之外的标绘之后,外环可以选择具有大于性能阈值的性能的一组或多组降低因子。性能阈值可基于计算复杂度和/或分类性能。
例如,基于图7,对于原始DCN 702,阈值可基于分类性能,使得当经调整的DCN的分类性能大于或等于80%时,选择降低因子。因此,基于图7的示例,外环可以选择与第一标绘704、第二标绘706、第三曲线标绘708、第四标绘710和第五标绘712相关联的降低因子。可离线执行基于内环输出的降低因子选择,使得可在在线操作期间根据期望选择经调整的DCN。
在另一种配置中,外环基于试探法来选择降低因子。根据本公开的一个方面,外环基于各层的计算复杂度来选择降低因子。例如,与其他层相比,某些层具有更高的复杂度。因此,为经调整的层选择低图像分辨率可能对系统是不利的。因此,在本配置中,外环选择针对具有较高复杂度的层选择较高降低因子并且针对具有较低复杂度的层选择较低降低因子。
在另一种配置中,外环可通过观察输入到特定层的示例图像的频谱来确定特定层的降低因子。例如,网络可向DCN模型输入多个图像,并且外环可观察DCN模型中给定层处的每个图像的频谱。在该配置中,如果图像在频谱的较高频率中具有增加的像素数,则可能不期望降低图像分辨率,因为诸如图像对比度的图像信息可能丢失。也就是说,通过使用较低分辨率的图像,频谱中的较高频率被忽略。因此,以降低因子r降低图像的分辨率暗示着保留较低的1/r频率,并忽略其余的较高频率。
因此,在每一层处,外环确定图像是否具有增加数量的高频分量或增加数量的低频分量。更具体地说,在每一层处演算每个图像的能量谱。演算出的能量谱可能导致2D图像。
图8解说了基于本公开的一方面的图像的能量谱的图表800。如图8所示,图表800的x轴和y轴是不同的频率分量。更接近(0,0)的值被认为是低频分量,更远离(0,0)的值被认为是高频分量。在一种配置中,外环对跨所有通道的能量谱进行平均,以确定图像的低能量谱中的能量数量和高能量谱中的能量数量。
在图8的示例中,图像的全能量谱可以是图表800的能量边界802内的能量谱。因此,在该示例中,如果将为2的降低因子r应用于图像,则仅为图像保留第一降低因子边界804内的低能量分量EL。也就是说,对于该图像,第一降低因子边界804之外的高分量EH被忽略。
作为另一示例,如果将为3的降低因子r应用于图像,则仅为图像保留第二降低因子边界806内的低能量分量EL。也就是说,对于该图像,第二降低因子边界806之外的高分量EH被忽略。
因此,对于给定的降低因子,外环基于高能量分量与高能量分量和低能量分量的总和的比例(例如,)来计算能量降低值。在本配置中,如果能量降低值小于阈值,那么因为该降低不会增加高能量分量的损失,所以降低因子可能是期望的。尽管如此,如果能量降低值大于阈值,那么因为该降低可能增加高能量分量的损失,所以降低因子可能不是期望的。因此,根据本公开的一方面,对于每一层,外环基于每一层的能量降低值是否小于阈值来选择降低因子r。能量分量可被称为频率分量。
具体来说,当确定层的降低因子r时,基于所忽略的较高频率中的能量百分比是否小于阈值,外环选择最高的r。可控制阈值参数以获得具有递增复杂度的DCN模型序列。也就是说,较高的阈值导致更高的降低因子,进而导致较低的复杂度模型。
此外,在选择每一层的降低因子之后,外环将所选择的降低因子传送到内环以调整DCN的复杂度。
在又一种配置中,外环基于计算复杂度和频谱两者来选择降低因子。
此外,在一种配置中,内环包括用于基于所接收到的降低因子来调整DCN模型的复杂度的各个阶段。在一种配置中,在接收到降低因子之后,内环调整每个权重层中的权重,诸如全连通层、卷积层和局部连通层。基于较低分辨率输入图像来调整权重。权重是指将较高层连接到较低层的突触的权重、权重矩阵的维度、和/或权重矩阵的值。此外,当调整图像大小时,层中的滤波器可由基于所接收到的针对该层的降低因子而计算出的经调整分辨率的滤波器来代替。
作为示例,卷积层的降低因子为2,使得卷积层将接收具有以因子2降低的分辨率的图像。由于在较高分辨率输入图像上对给定层的权重进行训练,因此权重应该被修改以匹配较低分辨率输入图像。
图9解说了具有原始分辨率的图像902的示例,该图像被输入到原始DCN的层(诸如卷积层)。图9的示例可基于图6A的第二卷积层612和经调整的第二卷积层614。如图6A所示,到第二卷积层612的输入图像的大小为64×64。此外,如图6A所示,可以将为2的降低因子应用于第二卷积层,使得经调整的第二卷积层614接收大小为32×32的输入图像。
如图9所示,原始图像的大小为7×7。此外,如图9所示,原始卷积层的内核904大小为3×3(例如,k×k)。图9还解说了卷积层的输出906。图9的像素大小是为了解说的目的,因为图像大小和内核大小旨在映射到图6A的上述层。
图9还解说了具有降低的分辨率的图像908的示例,该图像被输入到较低复杂度DCN的层(诸如卷积层)。如图9所示,较低分辨率图像908在应用了为2的降低因子之后的大小为4×4。此外,如图9所示,基于为2的降低因子将大小为2×2的经修改的内核910应用于图像。最后,如图9所示,卷积层还产生输出912。
如图9所示,对于原始DCN,从内核904内的九个像素演算出输出906。此外,对于经调整的DCN,从内核910内的四个像素演算出输出912。图9仅解说了一个通道。当然,本发明的各方面被构想用于聚集通道以产生输出。
如图9所示,经调整的DCN与原始DCN相比较,使用较少像素演算输出912。为了容适较低数量的像素,在一种配置中,卷积层中的权重矩阵以相同的降低因子进行下采样。作为示例,如果卷积层的内核大小为k×k,则权重矩阵被下采样至其中代表上限运算符。可使用为图像调整大小的图像处理指定的标准方法来实现权重矩阵的下采样,诸如同步内插或双线性内插。
在另一种配置中,使用训练数据来获得经调整的网络的权重矩阵。具体地说,可使用训练数据来计算被认为要输入到原始DCN的卷积层的较高分辨率的输入图像。可规定标准回归工具(诸如最小二乘法)以获得从较低分辨率输入图像中保留的像素到丢失像素的线性映射。丢失像素指的是原本在较高分辨率图像中存在、但不再存在于较低分辨率图像中的像素。可为较高分辨率权重矩阵指定线性映射以获得经调整分辨率的权重矩阵。
作为另一示例,原始图像大小可以是28×28,而滤波器可以是3×3。此外,在本示例中,如果将为2的降低因子应用于图像使得图像大小为14×14,则给定层处的滤波器可调整以容适新的14×14图像。
另外,一些层不包括权重,但可能取决于输入图像分辨率。例如,可以使用池化层来对接收到的图像进行下采样。因此,池化层取决于输入图像分辨率。此外,内环可修剪取决于输入图像分辨率的非加权层(诸如池化层)中的连接,以与较低分辨率图像一起工作。基于针对该层接收到的降低因子来执行修剪。应当注意,内环不会修改不依赖于输入图像分辨率的其他层类型,诸如神经元或r归一化。
在一示例中,子采样层和/或池化层的修改可以类似于卷积层的修改来执行。图9解说了接收高分辨率图像的原始DCN的子采样层和/或池化层,以及接收较低分辨率图像的较低复杂度DCN的子采样层和/或池化层的示例。
图9的示例可基于图6A的第一池化层606和经调整的第一池化层608。如图6A所示,到第一池化层606的输入图像的大小为256×256。此外,如图6A所示,可以将为2的降低因子应用于第一池化层,使得经调整的第一池化层608接收大小为128×128的输入图像。
图9解说了具有原始分辨率的图像902的示例,该图像被输入到原始DCN的层(诸如池化层)。如图9所示,原始图像的大小为7×7。此外,如图9所示,原始池化层的内核904大小为3×3(例如,k×k)。图9还解说了池化层的输出906。图9的像素大小是为了解说的目的,因为图像大小和内核大小旨在映射到图6A的上述层。
图9还解说了具有降低的分辨率的图像908的示例,该图像被输入到经调整的DCN的层(诸如池化层)。如图9所示,较低分辨率图像在应用了为2的降低因子之后的大小为4×4。此外,如图9所示,基于为2的降低因子将大小为2×2的经修改的内核910应用于图像。最后,如图9所示,池化层还产生输出912。
如图9所示,对于原始DCN,从内核904内的九个像素演算出输出906。此外,对于经调整的DCN,从内核910内的四个像素演算出输出912。图9仅解说了一个通道。当然,本发明的各方面构想用于聚集通道以产生输出。
如图9所示,经调整的DCN与原始DCN相比较,使用较少像素演算出输出912。为了容适较低数量的像素,在一种配置中,池化内核的大小从k×k降低至其中r是降低因子,使得经调整的网络中保留了池化操作的类型。也就是说,如果原始DCN中的池化层执行特定池化操作(诸如平均池化或最大池化),则经调整的DCN中的池化层也执行相同的操作。
最后,基于各层中经调整的滤波器和连接来调整DCN。在在调整DCN的复杂度后,对DCN进行端对端微调。微调是指继续在训练样本上进行经调整的DCN的训练。经调整的DCN的训练样本的传递次数可能小于原始DCN的传递次数。此外,训练样本可包括原始训练样本和/或新训练样本。在微调经调整的DCN后,内环可以能够确定原始DCN和经调整的DCN之间的分类性能差异。应当注意,可使用诸如后向传播的训练系统来微调DCN。
根据本公开的一个方面,微调被应用于特定层,使得未选择层的权重保持恒定。在一种配置中,卷积层被微调,而全连通层不被微调
在确定各种经调整的DCN后,期望改善经调整的DCN的存储。在大多数情况下,从共用基本模型中推导出经调整的DCN。因此,可以联合存储经调整的DCN和原始DCN,使得与单独存储每个DCN(诸如经调整的DCN和原始DCN)相比,整体存储器占用被降低。
在一种配置中,原始DCN与一个或多个经调整的DCN一起存储。可基于特定功能或性能考虑,按需使用每个存储的DCN。尽管如此,在存储多个DCN时,应考虑存储器使用情况。
如前所述,可从共用基本模型中推导出存储的DCN。因此,可指定联合存储,使得相同的值不被存储多于一次。具体地,基于本公开的各方面,图像分辨率的降低被应用于输入具有图像解释的各层。因此,图像减少可能不适用于多数全连通层,因为全连通层的输入不依赖于图像分辨率。也就是说,全连通层可能在计算复杂度上较低,但是具有高的存储器占用。例如,全连通层可使用所分配存储器的大约90%。
因此,如前所述,为了改善存储,在微调阶段期间不包括全连通层。也就是说,全连通层的权重可以被维持与原始DCN相同。因此,全连通层参数跨从共用基本模型推导出的所有经调整的DCN是相同的。
因此,在一种配置中,经调整的网络被指定为共享全连通层参数。也就是说,为所有经调整的DCN和原始DCN存储相同的全连通层参数。因此,DCN可以被共同存储,从而降低存储器占用。此外,卷积层可针对每个DCN(例如,经调整的DCN和原始DCN)被分开存储。
可为诸如具有有限的存储器、功率和计算资源的移动设备的各种设备指定本公开的方面。在某些情况下,移动设备可具有动态资源和等待时间约束。例如,在某些场景下,即使答案不太准确,机器人也可优选快速回答。在这种场景下,存储具有各种复杂度的网络序列是有帮助的,因此应用具有根据情况选择合适的网络的能力。
图10解说了在深度卷积网络中降低图像分辨率的方法1000。在框1002,网络在DCN的每一层处,动态地选择要应用于输入图像的降低因子。在框1004,网络基于为每一层选择的降低因子来调整DCN。
图11解说了用于在深度卷积网络(DCN)中降低图像分辨率的流程图。如图11所示,在框1102,DCN接收用于分类的输入。作为示例,输入可以是具有特定分辨率的图像、视频、和/或音频文件。例如,图像可具有256×256的分辨率。在框1104,在接收到输入之后,通过对输入应用一个或多个降低因子来调整DCN。指定降低因子以在DCN的每一层处降低输入的分辨率。如前所述,降低因子可以是因层而异的,使得在DCN的每一层处降低因子可以不同。
此外,在框1106,系统基于所应用的(诸)降低因子确定DCN的性能。作为示例,对于每个DCN,基于所应用的(诸)降低因子来确定原始图像分辨率和降低的图像分辨率之间的分类性能的差异。另外,每个DCN模型的计算复杂度也是基于所应用的(诸)降低因子来计算的。
在基于一个或多个降低因子确定DCN的性能之后,系统基于DCN的计算复杂度和/或分类性能来选择一个或多个降低因子(框1108)。当然,如前所述,这一个或多个降低因子不限于基于DCN的计算复杂性和/或分类性能来选择。作为对计算复杂度和/或分类性能的附加或替换,可基于试探法、频谱、和/或其他性能测量来选择降低因子。
在选择(诸)降低因子之后,基于所选择的(诸)降低因子来调整DCN的复杂度(框1110)。例如,可通过调整每个权重层(诸如全连通层、卷积层和局部连通层)中的权重,来调整DCN的复杂度。基于较低分辨率输入图像来调整权重。权重是指将较高层连接到较低层的突触的权重、权重矩阵的维度、和/或权重矩阵的值。
在框1112,通过继续在训练样本上对经调整的DCN的训练,对经调整的DCN进行端对端微调。最后,在框1114,联合存储经调整的DCN和原始DCN,使得与单独存储每个DCN(诸如经调整的DCN和原始DCN)相比,整体存储器占用降低。
以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或(诸)软件组件和/或(诸)模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。
如本文所使用的,术语“确定”盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。另外,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。此外,“确定”可包括解析、选择、选取、确立及类似动作。
如本文中所使用的,引述一列项目中的至少一者摂的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。
结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。
结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。
本文所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可以被连接到总线。总线还可以链接各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路以及类似电路,它们在本领域中是众所周知的,因此将不再进一步描述。
处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPROM)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括包装材料。
在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。
处理系统可以被配置为通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可以包括一个或多个神经元形态处理器以用于实现本文所述的神经元模型和神经系统模型。作为另一替换方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(ASIC)来实现,或者用一个或多个现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。
机器可读介质可包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。随后可将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。
如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。另外,任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。
因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括包装材料。
此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文所述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文所描述的方法和技术的任何其他合适的技术。
将理解,权利要求并不被限定于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。
Claims (36)
1.一种在深度卷积网络DCN中降低图像分辨率的计算机实现的方法,包括:
对于所述DCN的多个层的每一层,动态地选择要应用于输入图像的降低因子,所述降低因子改变输入到该层的所述输入图像的大小;以及
至少部分地基于为每一层选择的所述降低因子来调整所述DCN。
2.如权利要求1所述的计算机实现的方法,其中动态地选择所述降低因子包括:
为每一层随机地选择所述降低因子;以及
至少部分地基于所述DCN的性能损失和复杂程度,来调整每个降低因子。
3.如权利要求1所述的计算机实现的方法,其中动态地选择所述降低因子包括:
至少部分地基于所述DCN的每一层的计算复杂度和/或在给定层所述输入图像的高频分量中能量的比例,来为每一层选择所述降低因子;以及
至少部分地基于所述DCN的性能损失和复杂程度来调整每个降低因子。
4.如权利要求1所述的计算机实现的方法,其中调整所述DCN进一步包括至少部分地基于所述降低因子来调整所述DCN的每一层中的权重。
5.如权利要求1所述的计算机实现的方法,其中调整所述DCN进一步包括至少部分地基于所选择的降低因子来修剪所述DCN的池化层中的突触连接。
6.如权利要求1所述的计算机实现的方法,其中调整所述DCN进一步包括微调所述DCN。
7.如权利要求6所述的计算机实现的方法,其中所述微调包括微调所选择的层,同时在至少一个其它层中保持恒定的权重。
8.如权利要求7所述的计算机实现的方法,其中所选择的层包括卷积层,并且所述至少一个其它层包括全连通层。
9.如权利要求1所述的计算机实现的方法,进一步包括:
为原始DCN和经调整的DCN两者存储一个全连通层;以及
存储针对原始DCN的第一卷积层和针对经调整的DCN的第二卷积层。
10.一种用于在深度卷积网络DCN中降低图像分辨率的装备,包括:
用于对于所述DCN的多个层的每一层,动态地选择要应用于输入图像的降低因子的装置,所述降低因子改变输入到该层的所述输入图像的大小;以及
用于至少部分地基于为每一层选择的降低因子来调整所述DCN的装置。
11.如权利要求10所述的装备,其中用于动态地选择所述降低因子的装置包括:
用于为每一层随机地选择所述降低因子的装置;以及
用于至少部分地基于所述DCN的性能损失和复杂程度来调整每个降低因子的装置。
12.如权利要求10所述的装备,其中用于动态地选择所述降低因子的装置包括:
用于至少部分地基于所述DCN的每一层的计算复杂度和/或在给定层所述输入图像的高频分量中能量的比例,来为每一层选择所述降低因子的装置;以及
用于至少部分地基于所述DCN的性能损失和复杂程度来调整每个降低因子的装置。
13.如权利要求10所述的装备,其中用于调整所述DCN的装置进一步包括用于至少部分地基于所述降低因子来调整所述DCN的每一层中的权重的装置。
14.如权利要求10所述的装备,其中用于调整所述DCN的装置进一步包括用于至少部分地基于所选择的降低因子来修剪所述DCN的池化层中的突触连接的装置。
15.如权利要求10所述的装备,其中用于调整所述DCN的装置进一步包括用于微调所述DCN的装置。
16.如权利要求15所述的装备,其中用于微调的装置包括用于微调所选择的层、同时在至少一个其它层中保持恒定的权重的装置。
17.如权利要求16所述的装备,其中所选择的层包括卷积层,并且所述至少一个其它层包括全连通层。
18.如权利要求10所述的装备,进一步包括:
用于为原始DCN和经调整的DCN两者存储一个全连通层的装置;以及
用于存储针对原始DCN的第一卷积层和针对经调整的DCN的第二卷积层的装置。
19.一种用于在深度卷积网络DCN中降低图像分辨率的装置,包括:
存储器单元;以及
耦合至所述存储器单元的至少一个处理器,所述至少一个处理器被配置成:
对于所述DCN的多个层的每一层,动态地选择要应用于输入图像的降低因子,所述降低因子改变输入到该层的所述输入图像的大小;以及
至少部分地基于为每一层选择的所述降低因子来调整所述DCN。
20.如权利要求19所述的装置,其中所述至少一个处理器被进一步配置成:
为每一层随机地选择所述降低因子;以及
至少部分地基于所述DCN的性能损失和复杂程度来调整每个降低因子。
21.如权利要求19所述的装置,其中所述至少一个处理器被进一步配置成:
至少部分地基于所述DCN的每一层的计算复杂度和/或在给定层所述输入图像的高频分量中能量的比例,来为每一层选择所述降低因子;以及
至少部分地基于所述DCN的性能损失和复杂程度来调整每个降低因子。
22.如权利要求19所述的装置,其中所述至少一个处理器进一步被配置为至少部分地基于所述降低因子,来调整所述DCN的每一层中的权重。
23.如权利要求19所述的装置,其中所述至少一个处理器进一步被配置为至少部分地基于所选择的降低因子,来修剪所述DCN的池化层中的突触连接。
24.如权利要求19所述的装置,其中所述至少一个处理器被进一步配置为微调所述DCN。
25.如权利要求24所述的装置,其中所述至少一个处理器进一步被配置为微调所选择的层,同时在至少一个其它层中保持恒定的权重。
26.如权利要求25所述的装置,其中所选择的层包括卷积层,并且所述至少一个其它层包括全连通层。
27.如权利要求19所述的装置,其中所述至少一个处理器被进一步配置成:
为原始DCN和经调整的DCN两者存储一个全连通层;以及
存储针对原始DCN的第一卷积层和针对经调整的DCN的第二卷积层。
28.一种非瞬态计算机可读介质,其上记录有用于在深度卷积网络DCN中降低图像分辨率的程序代码,所述程序代码由处理器执行并且包括:
用于对于所述DCN的多个层的每一层,动态地选择要应用于输入图像的降低因子的程序代码,所述降低因子改变输入到该层的所述输入图像的大小;以及
用于至少部分地基于为每一层选择的降低因子来调整所述DCN的程序代码。
29.如权利要求28所述的计算机可读介质,进一步包括:
用于为每一层随机地选择所述降低因子的程序代码;以及
用于至少部分地基于所述DCN的性能损失和复杂程度来调整每个降低因子的程序代码。
30.如权利要求28所述的计算机可读介质,进一步包括:
用于至少部分地基于所述DCN的每一层的计算复杂度和/或在给定层所述输入图像的高频分量中能量的比例,来为每一层选择所述降低因子的程序代码;以及
用于至少部分地基于所述DCN的性能损失和复杂程度来调整每个降低因子的程序代码。
31.如权利要求28所述的计算机可读介质,进一步包括用于至少部分地基于所述降低因子来调整所述DCN的每一层中的权重的程序代码。
32.如权利要求28所述的计算机可读介质,进一步包括用于至少部分地基于所选择的降低因子来修剪所述DCN的池化层中的突触连接的程序代码。
33.如权利要求28所述的计算机可读介质,进一步包括用于微调所述DCN的程序代码。
34.如权利要求33所述的计算机可读介质,进一步包括用于微调所选择的层、同时保持至少一个其它层中的恒定权重的程序代码。
35.如权利要求34所述的计算机可读介质,其中所选择的层包括卷积层,并且所述至少一个其它层包括全连通层。
36.如权利要求28所述的计算机可读介质,进一步包括:
用于为原始DCN和经调整的DCN两者存储一个全连通层的程序代码;以及
用于存储针对原始DCN的第一卷积层和针对经调整的DCN的第二卷积层的程序代码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562154084P | 2015-04-28 | 2015-04-28 | |
US62/154,084 | 2015-04-28 | ||
US14/859,095 US9786036B2 (en) | 2015-04-28 | 2015-09-18 | Reducing image resolution in deep convolutional networks |
US14/859,095 | 2015-09-18 | ||
PCT/US2016/028493 WO2016176095A1 (en) | 2015-04-28 | 2016-04-20 | Reducing image resolution in deep convolutional networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107533754A CN107533754A (zh) | 2018-01-02 |
CN107533754B true CN107533754B (zh) | 2021-06-25 |
Family
ID=55967426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680024411.1A Active CN107533754B (zh) | 2015-04-28 | 2016-04-20 | 在深度卷积网络中降低图像分辨率 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9786036B2 (zh) |
EP (1) | EP3289529B1 (zh) |
JP (1) | JP6732795B2 (zh) |
CN (1) | CN107533754B (zh) |
WO (1) | WO2016176095A1 (zh) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10417525B2 (en) * | 2014-09-22 | 2019-09-17 | Samsung Electronics Co., Ltd. | Object recognition with reduced neural network weight precision |
US9769367B2 (en) | 2015-08-07 | 2017-09-19 | Google Inc. | Speech and computer vision-based control |
US10732809B2 (en) | 2015-12-30 | 2020-08-04 | Google Llc | Systems and methods for selective retention and editing of images captured by mobile image capture device |
US10225511B1 (en) | 2015-12-30 | 2019-03-05 | Google Llc | Low power framework for controlling image sensor mode in a mobile image capture device |
US9838641B1 (en) | 2015-12-30 | 2017-12-05 | Google Llc | Low power framework for processing, compressing, and transmitting images at a mobile image capture device |
US9836484B1 (en) * | 2015-12-30 | 2017-12-05 | Google Llc | Systems and methods that leverage deep learning to selectively store images at a mobile image capture device |
US9836819B1 (en) | 2015-12-30 | 2017-12-05 | Google Llc | Systems and methods for selective retention and editing of images captured by mobile image capture device |
EP3416105A4 (en) * | 2016-02-12 | 2019-02-20 | Sony Corporation | INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING DEVICE |
US10964326B2 (en) * | 2016-02-16 | 2021-03-30 | Carnegie Mellon University, A Pennsylvania Non-Profit Corporation | System and method for audio-visual speech recognition |
WO2017156547A1 (en) * | 2016-03-11 | 2017-09-14 | Magic Leap, Inc. | Structure learning in convolutional neural networks |
US10089717B2 (en) * | 2016-04-05 | 2018-10-02 | Flipboard, Inc. | Image scaling using a convolutional neural network |
US20170357894A1 (en) * | 2016-06-10 | 2017-12-14 | Apple Inc. | Data packing for convolution of artificial neural networks |
US11100398B2 (en) * | 2016-06-30 | 2021-08-24 | Cogniac, Corp. | Operating machine-learning models on different platforms |
US10354159B2 (en) * | 2016-09-06 | 2019-07-16 | Carnegie Mellon University | Methods and software for detecting objects in an image using a contextual multiscale fast region-based convolutional neural network |
US10354362B2 (en) * | 2016-09-08 | 2019-07-16 | Carnegie Mellon University | Methods and software for detecting objects in images using a multiscale fast region-based convolutional neural network |
US11315018B2 (en) * | 2016-10-21 | 2022-04-26 | Nvidia Corporation | Systems and methods for pruning neural networks for resource efficient inference |
US20180129937A1 (en) | 2016-11-04 | 2018-05-10 | Salesforce.Com, Inc. | Quasi-recurrent neural network |
KR102631381B1 (ko) * | 2016-11-07 | 2024-01-31 | 삼성전자주식회사 | 컨볼루션 신경망 처리 방법 및 장치 |
US10740596B2 (en) * | 2016-11-08 | 2020-08-11 | Nec Corporation | Video security system using a Siamese reconstruction convolutional neural network for pose-invariant face recognition |
US10360494B2 (en) * | 2016-11-30 | 2019-07-23 | Altumview Systems Inc. | Convolutional neural network (CNN) system based on resolution-limited small-scale CNN modules |
CN108133222B (zh) * | 2016-12-01 | 2021-11-02 | 富士通株式会社 | 为数据库确定卷积神经网络cnn模型的装置和方法 |
US20180165845A1 (en) * | 2016-12-09 | 2018-06-14 | Free Construction Sp. Z o.o. | Method of Analysis of Visualised Data |
US10262218B2 (en) * | 2017-01-03 | 2019-04-16 | Qualcomm Incorporated | Simultaneous object detection and rigid transform estimation using neural network |
US11556780B2 (en) * | 2017-01-19 | 2023-01-17 | Nec Corporation | Neural network learning device, neural network learning method, and recording medium on which neural network learning program is stored |
KR101878490B1 (ko) * | 2017-03-10 | 2018-07-13 | 만도헬라일렉트로닉스(주) | 차선 인식 시스템 및 방법 |
US10678846B2 (en) * | 2017-03-10 | 2020-06-09 | Xerox Corporation | Instance-level image retrieval with a region proposal network |
EP3607488A4 (en) * | 2017-04-07 | 2020-11-25 | INTEL Corporation | METHODS AND SYSTEMS WITH IMPROVED NEURAL FOLDING NETWORKS FOR IMAGE PROCESSING |
US11164071B2 (en) * | 2017-04-18 | 2021-11-02 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing computational complexity of convolutional neural networks |
US10217061B2 (en) | 2017-05-17 | 2019-02-26 | SigOpt, Inc. | Systems and methods implementing an intelligent optimization platform |
KR102548718B1 (ko) * | 2017-06-07 | 2023-06-28 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
KR102413028B1 (ko) | 2017-08-16 | 2022-06-23 | 에스케이하이닉스 주식회사 | 중첩 신경망을 프루닝하는 방법 및 장치 |
CN108205580B (zh) | 2017-09-27 | 2021-08-31 | 深圳市商汤科技有限公司 | 一种图像检索方法、装置及计算机可读存储介质 |
US10282237B1 (en) | 2017-10-30 | 2019-05-07 | SigOpt, Inc. | Systems and methods for implementing an intelligent application program interface for an intelligent optimization platform |
CN107967484B (zh) * | 2017-11-14 | 2021-03-16 | 中国计量大学 | 一种基于多分辨率的图像分类方法 |
US11270217B2 (en) | 2017-11-17 | 2022-03-08 | Intel Corporation | Systems and methods implementing an intelligent machine learning tuning system providing multiple tuned hyperparameter solutions |
US10785449B2 (en) * | 2017-12-08 | 2020-09-22 | Qualcomm Incorporated | Communicating using media content |
US11138505B2 (en) * | 2017-12-21 | 2021-10-05 | Fujitsu Limited | Quantization of neural network parameters |
CN108399382A (zh) | 2018-02-13 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 车险图像处理方法和装置 |
US11875557B2 (en) | 2018-04-27 | 2024-01-16 | Carnegie Mellon University | Polynomial convolutional neural network with early fan-out |
CN108596836B (zh) * | 2018-05-09 | 2022-06-28 | 大国创新智能科技(东莞)有限公司 | 基于顶层生成深度学习的数据转换方法、系统、介质和设备 |
US11704567B2 (en) | 2018-07-13 | 2023-07-18 | Intel Corporation | Systems and methods for an accelerated tuning of hyperparameters of a model using a machine learning-based tuning service |
US10528891B1 (en) * | 2018-08-23 | 2020-01-07 | SigOpt, Inc. | Systems and methods for implementing an intelligent machine learning optimization platform for multiple tuning criteria |
KR102129115B1 (ko) * | 2018-09-28 | 2020-07-02 | 한국과학기술원 | 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 |
US10878292B2 (en) * | 2018-12-07 | 2020-12-29 | Goodrich Corporation | Automatic generation of a new class in a classification system |
KR20200072307A (ko) * | 2018-12-12 | 2020-06-22 | 삼성전자주식회사 | 뉴럴 네트워크에서의 부하 균형을 위한 장치 및 방법 |
US20200233855A1 (en) * | 2019-01-21 | 2020-07-23 | saf.ai | Methods For Self-Aware, Self-Healing, And Self-Defending Data |
CN109862208B (zh) * | 2019-03-19 | 2021-07-02 | 深圳市商汤科技有限公司 | 视频处理方法、装置、计算机存储介质以及终端设备 |
US11157812B2 (en) | 2019-04-15 | 2021-10-26 | Intel Corporation | Systems and methods for tuning hyperparameters of a model and advanced curtailment of a training of the model |
US11410016B2 (en) | 2019-04-26 | 2022-08-09 | Alibaba Group Holding Limited | Selective performance of deterministic computations for neural networks |
JP2020187554A (ja) * | 2019-05-15 | 2020-11-19 | 株式会社スター精機 | 機械作業情報の記録方法及び確認方法 |
JP7195220B2 (ja) * | 2019-06-17 | 2022-12-23 | 富士フイルム株式会社 | 学習装置、学習装置の作動方法、および学習装置の作動プログラム |
US11797876B1 (en) * | 2019-06-26 | 2023-10-24 | Amazon Technologies, Inc | Unified optimization for convolutional neural network model inference on integrated graphics processing units |
US11049286B2 (en) | 2019-07-31 | 2021-06-29 | Hewlett Packard Enterprise Development Lp | Deep neural network color space optimization |
KR102147912B1 (ko) | 2019-08-13 | 2020-08-25 | 삼성전자주식회사 | 프로세서 칩 및 그 제어 방법들 |
KR20210039197A (ko) * | 2019-10-01 | 2021-04-09 | 삼성전자주식회사 | 데이터를 처리하는 방법 및 장치 |
KR102268676B1 (ko) * | 2019-12-27 | 2021-06-23 | 중앙대학교 산학협력단 | 트리 구조 그래프 합성곱 신경망에 기반한 3차원 포인트 클라우드 생성 시스템 및 방법 |
US11436761B2 (en) | 2020-03-18 | 2022-09-06 | International Business Machines Corporation | Preventing feature loss when compressing images |
CN112132113A (zh) * | 2020-10-20 | 2020-12-25 | 北京百度网讯科技有限公司 | 车辆再识别的方法、装置、训练方法以及电子设备 |
US11954910B2 (en) | 2020-12-26 | 2024-04-09 | International Business Machines Corporation | Dynamic multi-resolution processing for video classification |
US11956453B2 (en) * | 2021-06-15 | 2024-04-09 | Tencent America LLC | Content-adaptive online training for DNN-based cross component prediction with scaling factors |
US11949892B2 (en) * | 2021-06-15 | 2024-04-02 | Tencent America LLC | Content-adaptive online training for DNN-based cross component prediction with low-bit precision |
FR3128551A1 (fr) * | 2021-10-25 | 2023-04-28 | Stmicroelectronics (Rousset) Sas | Procédé de détection d’événements ou d’éléments dans des signaux physiques par la mise en œuvre d’un réseau de neurones artificiel |
US20230140170A1 (en) * | 2021-10-28 | 2023-05-04 | Samsung Electronics Co., Ltd. | System and method for depth and scene reconstruction for augmented reality or extended reality devices |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462778A (zh) * | 2014-11-06 | 2015-03-25 | 华北电力大学 | 一种基于深度学习的pm2.5污染物测量方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4072491B2 (ja) * | 2003-10-23 | 2008-04-09 | キヤノン株式会社 | 画像処理装置、画像処理方法、プログラム及びコンピュータ可読媒体 |
US7835549B2 (en) | 2005-03-07 | 2010-11-16 | Fujifilm Corporation | Learning method of face classification apparatus, face classification method, apparatus and program |
US8861842B2 (en) | 2010-02-05 | 2014-10-14 | Sri International | Method and apparatus for real-time pedestrian detection for urban driving |
US8873813B2 (en) | 2012-09-17 | 2014-10-28 | Z Advanced Computing, Inc. | Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities |
US9042645B2 (en) | 2012-05-16 | 2015-05-26 | Imec | Feature detection in numeric data |
US8957988B2 (en) * | 2013-01-23 | 2015-02-17 | Orcam Technologies Ltd. | Apparatus for processing images to prolong battery life |
CN103544705B (zh) * | 2013-10-25 | 2016-03-02 | 华南理工大学 | 一种基于深度卷积神经网络的图像质量测试方法 |
US9202144B2 (en) | 2013-10-30 | 2015-12-01 | Nec Laboratories America, Inc. | Regionlets with shift invariant neural patterns for object detection |
-
2015
- 2015-09-18 US US14/859,095 patent/US9786036B2/en active Active
-
2016
- 2016-04-20 CN CN201680024411.1A patent/CN107533754B/zh active Active
- 2016-04-20 JP JP2017556142A patent/JP6732795B2/ja active Active
- 2016-04-20 EP EP16722460.9A patent/EP3289529B1/en active Active
- 2016-04-20 WO PCT/US2016/028493 patent/WO2016176095A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462778A (zh) * | 2014-11-06 | 2015-03-25 | 华北电力大学 | 一种基于深度学习的pm2.5污染物测量方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160321784A1 (en) | 2016-11-03 |
EP3289529A1 (en) | 2018-03-07 |
EP3289529B1 (en) | 2024-04-24 |
JP2018523182A (ja) | 2018-08-16 |
CN107533754A (zh) | 2018-01-02 |
US9786036B2 (en) | 2017-10-10 |
WO2016176095A1 (en) | 2016-11-03 |
JP6732795B2 (ja) | 2020-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107533754B (zh) | 在深度卷积网络中降低图像分辨率 | |
US10691952B2 (en) | Adapting to appearance variations when tracking a target object in video sequence | |
CN107533669B (zh) | 滤波器特异性作为用于神经网络的训练准则 | |
CN108027899B (zh) | 用于提高经训练的机器学习模型的性能的方法 | |
CN107209873B (zh) | 用于深度卷积网络的超参数选择 | |
CN107851213B (zh) | 神经网络中的转移学习 | |
CN108431826B (zh) | 自动检测视频图像中的对象 | |
US20160283864A1 (en) | Sequential image sampling and storage of fine-tuned features | |
US20170039469A1 (en) | Detection of unknown classes and initialization of classifiers for unknown classes | |
US20170061328A1 (en) | Enforced sparsity for classification | |
US20170032247A1 (en) | Media classification | |
TW201627923A (zh) | 模型壓縮和微調 | |
AU2016256315A1 (en) | Incorporating top-down information in deep neural networks via the bias term | |
JP2023546582A (ja) | 個人化ニューラルネットワークプルーニング | |
US10902312B2 (en) | Tracking axes during model conversion | |
CN118215934A (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 |