CN111401517A - 一种感知网络结构搜索方法及其装置 - Google Patents

一种感知网络结构搜索方法及其装置 Download PDF

Info

Publication number
CN111401517A
CN111401517A CN202010109254.2A CN202010109254A CN111401517A CN 111401517 A CN111401517 A CN 111401517A CN 202010109254 A CN202010109254 A CN 202010109254A CN 111401517 A CN111401517 A CN 111401517A
Authority
CN
China
Prior art keywords
search space
convolution layer
operation type
sub
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010109254.2A
Other languages
English (en)
Other versions
CN111401517B (zh
Inventor
韩凯
郭健元
王云鹤
陈醒濠
聂迎
许奕星
许春景
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010109254.2A priority Critical patent/CN111401517B/zh
Publication of CN111401517A publication Critical patent/CN111401517A/zh
Priority to PCT/CN2021/076984 priority patent/WO2021164751A1/zh
Priority to EP21757765.9A priority patent/EP4109343A4/en
Application granted granted Critical
Publication of CN111401517B publication Critical patent/CN111401517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • G06V10/464Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了一种感知网络结构搜索方法,涉及人工智能领域,包括:获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络。本申请中结构搜索后得到的感知网络的性能更优。

Description

一种感知网络结构搜索方法及其装置
技术领域
本申请涉及人工智能领域,尤其涉及一种感知网络结构搜索方法及其装置。
背景技术
计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机或摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成象系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
目前视觉感知网络能完成的功能越来越多,包括图片分类、2D检测、语义分割(Mask)、关键点检测、线性物体检测(比如自动驾驶技术中的车道线或停止线检测)、可行驶区域检测等。另外,视觉感知系统具有成本低、非接触性、体积小、信息量大的特点。随着视觉感知算法的精度的不断提高,其成为当今众多人工智能系统的关键技术,得到越来越广泛的应用,如:高级驾驶辅助系统(advanced driving assistant system,ADAS)和自动驾驶系统(autonomous driving system,ADS)中对路面上的动态障碍物(人或车)、静态物体(交通灯、交通标志或交通锥状物)的识别,在终端视觉的拍照美颜功能中通过识别人体的Mask和关键点实现瘦身效果等。
随着人工智能技术的快速发展,一个性能优良的神经网络往往拥有精妙的网络结构,而这需要具有高超技能和丰富经验的人类专家花费大量精力进行构建。为了更好地构建神经网络,人们提出了通过神经网络结构搜索(neuralarchitecture search,NAS)的方法来搭建神经网络,通过自动化地搜索神经网络结构,从而得到性能优异的神经网络结构。
然而针对于视觉感知网络,传统方案都是针对于视觉感知网络中的某一部分单独进行结构搜索,从而使得最终搭建的感知网络可能无法很好地满足应用需求。
发明内容
第一方面,本申请提供了一种感知网络结构搜索方法,包括:
获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作(operation)类型;
在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,在第一方面的一种设计中,所述在所述目标搜索空间内对所述第一卷积层进行结构搜索,包括:获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
所述在所述目标搜索空间内对所述第二卷积层进行结构搜索,包括:获取所述第二卷积层对应的第二子搜索空间,所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第二子搜索空间内对所述第二卷积层进行结构搜索,得到所述第二卷积层对应的第二操作类型,所述第二操作类型为所述第二子搜索空间包括的操作类型中的一个;和/或,
所述在所述目标搜索空间内对所述第三卷积层进行结构搜索,包括:获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
可选地,在第一方面的一种设计中,所述获取所述第一卷积层对应的第一子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
可选地,在第一方面的一种设计中,所述获取所述第一卷积层对应的第一子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,并根据所述对应于所述主干网络的第二权重值从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力。
可选地,在第一方面的一种设计中,所述获取所述第二卷积层对应的第二子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第二卷积层的第二权重值,并根据所述对应于所述第二卷积层的第一权重值,从所述目标搜索空间中得到所述第二卷积层对应的第二子搜索空间。
可选地,在第一方面的一种设计中,所述获取所述第二卷积层对应的第二子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述FPN的第二权重值,并根据所述对应于所述的第二权重值从所述目标搜索空间中确定所述FPN对应的第二子搜索空间。
可选地,在第一方面的一种设计中,所述获取所述第三卷积层对应的第三子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
可选地,在第一方面的一种设计中,所述获取所述第三卷积层对应的第三子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
可选地,在第一方面的一种设计中,所述主干网络包括多个卷积层,所述第一卷积层为所述主干网络包括的多个卷积层中的一个,所述在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,包括:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,确定所述主干网络包括的多个卷积层中每个卷积层对应的操作类型、所述第二卷积层对应的第二操作类型和所述第三卷积层对应的第三操作类型。
可选地,在第一方面的一种设计中,所述FPN包括多个卷积层,所述第二卷积层为所述FPN包括的多个卷积层中的一个,所述在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,包括:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型、所述FPN包括的多个卷积层中每个卷积层对应的操作类型和所述第三卷积层对应的第三操作类型。
可选地,在第一方面的一种设计中,所述header包括多个卷积层,所述第三卷积层为所述header包括的多个卷积层中的一个,所述在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,包括:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型、所述第二卷积层对应的第二操作类型和所述header包括的多个卷积层中每个卷积层对应的操作类型。
可选地,在第一方面的一种设计中,所述方法还包括:
接收端侧的第一模型指标;
所述在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,包括:根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,直到所述预设损失满足预设条件,得到所述搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters。
可选地,在第一方面的一种设计中,所述方法还包括:
向所述端侧发送所述搜索后的感知模型。
可选地,在第一方面的一种设计中,所述方法还包括:
对所述搜索后的感知模型进行权重训练,得到训练后的感知模型;
向所述终端设备发送所述训练后的感知模型。
第二方面,本申请提供了一种感知网络结构搜索方法,包括:
获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;
在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,在第二方面的一种设计中,所述在所述目标搜索空间内对所述第一卷积层进行结构搜索,包括:获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
所述在所述目标搜索空间内对所述第三卷积层进行结构搜索,包括:获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
可选地,在第二方面的一种设计中,所述获取所述第一卷积层对应的第一子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
可选地,在第二方面的一种设计中,所述获取所述第一卷积层对应的第一子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,并根据所述对应于所述主干网络的第二权重值从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力。
可选地,在第二方面的一种设计中,所述获取所述第三卷积层对应的第三子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
可选地,在第二方面的一种设计中,所述获取所述第三卷积层对应的第三子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
可选地,在第二方面的一种设计中,所述主干网络包括多个卷积层,所述第一卷积层为所述主干网络包括的多个卷积层中的一个,所述在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,包括:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,确定所述主干网络包括的多个卷积层中每个卷积层对应的操作类型和所述第三卷积层对应的第三操作类型。
可选地,在第二方面的一种设计中,所述header包括多个卷积层,所述第三卷积层为所述header包括的多个卷积层中的一个,所述在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,包括:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型和所述header包括的多个卷积层中每个卷积层对应的操作类型。
可选地,在第二方面的一种设计中,所述方法还包括:
接收端侧的第一模型指标;
所述在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,包括:根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,直到所述预设损失满足预设条件,得到所述搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters。
可选地,在第二方面的一种设计中,所述方法还包括:
向所述端侧发送所述搜索后的感知模型。
可选地,在第二方面的一种设计中,所述方法还包括:
对所述搜索后的感知模型进行权重训练,得到训练后的感知模型;
向所述终端设备发送所述训练后的感知模型。
第三方面,本申请提供了一种感知网络结构搜索装置,包括:
获取模块,用于获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作operation类型;
结构搜索模块,用于在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,在第三方面的一种设计中,所述结构搜索模块,具体用于:
获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
获取所述第二卷积层对应的第二子搜索空间,所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第二子搜索空间内对所述第二卷积层进行结构搜索,得到所述第二卷积层对应的第二操作类型,所述第二操作类型为所述第二子搜索空间包括的操作类型中的一个;和/或,
获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
可选地,在第三方面的一种设计中,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
可选地,在第三方面的一种设计中,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,并根据所述对应于所述主干网络的第二权重值从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力。
可选地,在第三方面的一种设计中,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第二卷积层的第二权重值,并根据所述对应于所述第二卷积层的第一权重值,从所述目标搜索空间中得到所述第二卷积层对应的第二子搜索空间。
可选地,在第三方面的一种设计中,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述FPN的第二权重值,并根据所述对应于所述的第二权重值从所述目标搜索空间中确定所述FPN对应的第二子搜索空间。
可选地,在第三方面的一种设计中,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
可选地,在第三方面的一种设计中,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
可选地,在第三方面的一种设计中,所述主干网络包括多个卷积层,所述第一卷积层为所述主干网络包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,确定所述主干网络包括的多个卷积层中每个卷积层对应的操作类型、所述第二卷积层对应的第二操作类型和所述第三卷积层对应的第三操作类型。
可选地,在第三方面的一种设计中,所述FPN包括多个卷积层,所述第二卷积层为所述FPN包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型、所述FPN包括的多个卷积层中每个卷积层对应的操作类型和所述第三卷积层对应的第三操作类型。
可选地,在第三方面的一种设计中,所述header包括多个卷积层,所述第三卷积层为所述header包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型、所述第二卷积层对应的第二操作类型和所述header包括的多个卷积层中每个卷积层对应的操作类型。
可选地,在第三方面的一种设计中,所述装置还包括:
接收模块,用于接收端侧的第一模型指标;
所述结构搜索模块,具体用于:
根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,直到所述预设损失满足预设条件,得到所述搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters。
可选地,在第三方面的一种设计中,所述装置还包括:
发送模块,用于向所述端侧发送所述搜索后的感知模型。
可选地,在第三方面的一种设计中,所述装置还包括:
权重训练模块,用于对所述搜索后的感知模型进行权重训练,得到训练后的感知模型;
所述发送模块,还用于向所述终端设备发送所述训练后的感知模型。
第四方面,本申请提供了一种感知网络结构搜索装置,包括:
获取模块,用于获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;
结构搜索模块,用于在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,在第四方面的一种设计中,所述结构搜索模块,具体用于:
获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
可选地,在第四方面的一种设计中,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
可选地,在第四方面的一种设计中,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,并根据所述对应于所述主干网络的第二权重值从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力。
可选地,在第四方面的一种设计中,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
可选地,在第四方面的一种设计中,所述主干网络包括多个卷积层,所述第一卷积层为所述主干网络包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,确定所述主干网络包括的多个卷积层中每个卷积层对应的操作类型和所述第三卷积层对应的第三操作类型。
可选地,在第四方面的一种设计中,所述header包括多个卷积层,所述第三卷积层为所述header包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型和所述header包括的多个卷积层中每个卷积层对应的操作类型。
可选地,在第四方面的一种设计中,所述装置还包括:
接收模块,用于接收端侧的第一模型指标;
所述结构搜索模块,具体用于:
根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,直到所述预设损失满足预设条件,得到所述搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters。
可选地,在第四方面的一种设计中,所述装置还包括:
发送模块,用于向所述端侧发送所述搜索后的感知模型。
可选地,在第四方面的一种设计中,所述装置还包括:
训练模块,用于对所述搜索后的感知模型进行权重训练,得到训练后的感知模型;
所述发送模块,还用于向所述终端设备发送所述训练后的感知模型。
第五方面,本申请实施例提供了一种图像处理方法,所述方法包括:
获取目标图像;
通过感知网络对所述目标图像进行目标检测,得到检测结果;
其中,所述感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,所述第二卷积层对应于第二操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系、所述第二卷积层与所述第二操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;或,
所述感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;
其中,所述目标搜索空间包括多个操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,在第五方面的一种设计中,在进行结构搜索时,所述第一卷积层对应的搜索空间为第一子搜索空间;或,
所述第二卷积层对应的搜索空间为第二子搜索空间;或,
所述第三卷积层对应的搜索空间为第三子搜索空间;
其中,所述第一子搜索空间和所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型。
第六方面,本申请实施例提供了一种图像处理装置,所述装置包括:
获取模块,用于获取目标图像;
目标检测模块,用于通过感知网络对所述目标图像进行目标检测,得到检测结果;
其中,所述感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,所述第二卷积层对应于第二操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系、所述第二卷积层与所述第二操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;或,
所述感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;
其中,所述目标搜索空间包括多个操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,在第六方面的一种设计中,在进行结构搜索时,所述第一卷积层对应的搜索空间为第一子搜索空间;或,
所述第二卷积层对应的搜索空间为第二子搜索空间;或,
所述第三卷积层对应的搜索空间为第三子搜索空间;
其中,所述第一子搜索空间和所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型。
第七方面,本申请实施例提供了一种感知网络结构搜索装置,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于执行存储器中的程序,以执行如上述第一方面及其任一可选的方法或第二方面及其任一可选的方法。
第八方面,本申请实施例提供了一种图像处理装置,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于执行存储器中的程序,以执行如上述第五方面及其任一可选的方法。
第九方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面及其任一可选的方法或第二方面及其任一可选的方法。
第十方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第五方面及其任一可选的方法。
第十一方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面及其任一可选的方法或第二方面及其任一可选的方法。
第十二方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第五方面及其任一可选的方法。
第八方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持执行设备或训练设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据;或,信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存执行设备或训练设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
本申请提供了一种感知网络结构搜索方法,包括:获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作operation类型;在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。通过上述方式,对待搜索感知网络中的三个网络结构(主干网络、FPN以及header包括的部分和全部卷积层)都进行了结构搜索,使得结构搜索后得到的感知网络的性能更优。
附图说明
图1为人工智能主体框架的一种结构示意图;
图2a和图2b为本发明的应用系统框架示意;
图3为本申请的一种应用场景示意;
图4为本申请的一种应用场景示意;
图5为本申请的一种系统架构示意;
图6为本申请实施例的神经网络的结构示意;
图7为本申请实施例的神经网络的结构示意;
图8a为本申请实施例提供的一种芯片的硬件结构;
图8b为本申请实施例提供的一种系统架构;
图9为本申请实施例提供的一种感知网络结构搜索方法的流程示意;
图10a和图10b为本申请实施例的主干网络backbone;
图11为一种FPN的结构示意;
图12a为一种header的示意;
图12b为一种header的RPN层的示意;
图13a为本实施例中的一种结构搜索过程的示意;
图13b为本实施例中的一种结构搜索过程的示意;
图14为本申请实施例提供的一种感知网络结构搜索方法的流程示意;
图15为本申请实施例提供的一种图像处理方法的流程示意;
图16为本申请实施例提供的一种感知网络结构搜索方法的流程示意;
图17为本申请实施例提供的感知网络结构搜索装置的一种结构示意图;
图18为本申请实施例提供的图像处理装置的一种结构示意图;
图19为本申请实施例提供的执行设备的一种结构示意图;
图20为本申请实施例提供的训练设备一种结构示意图;
图21为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、平安城市等。
本申请实施例主要应用在驾驶辅助、自动驾驶、手机终端等需要完成多种感知任务的领域。本发明的应用系统框架如图2a和图2b所示,视频经过抽帧得到单张图片,该图片送入到本发明中图2a或图2b所示的感知网络,得到该图片中感兴趣物体的2D、3D、Mask(掩膜)、关键点等信息。这些检测结果输出到后处理模块进行处理,比如在自动驾驶系统中送入规划控制单元进行决策、在手机终端中送入美颜算法进行处理得到美颜后的图片。下面分别对ADAS/ADS视觉感知系统和手机美颜两种应用场景做简单的介绍。
应用场景1:ADAS/ADS视觉感知系统
如图3所示,在ADAS和ADS中,需要实时进行多类型的2D目标检测,包括:动态障碍物(行人(Pedestrian)、骑行者(Cyclist)、三轮车(Tricycle)、轿车(Car)、卡车(Truck)、公交车(Bus)),静态障碍物(交通锥标(TrafficCone)、交通棍标(TrafficStick)、消防栓(FireHydrant)、摩托车(Motocycle)、自行车(Bicycle)),交通标志(TrafficSign、导向标志(GuideSign)、广告牌(Billboard)、红色交通灯(TrafficLight_Red)/黄色交通灯(TrafficLight_Yellow)/绿色交通灯(TrafficLight_Green)/黑色交通灯(TrafficLight_Black)、路标(RoadSign))。另外,为了准确获取动态障碍物的在3维空间所占的区域,还需要对动态障碍物进行3D估计,输出3D框。为了与激光雷达的数据进行融合,需要获取动态障碍物的Mask,从而把打到动态障碍物上的激光点云筛选出来;为了进行精确的泊车位,需要同时检测出泊车位的4个关键点;为了进行构图定位,需要检测出静态目标的关键点。使用本申请实施例提供的技术方案,可以在感知网络中完成上述的全部或一部分功能。
应用场景2:手机美颜功能
如图4所示,在手机中,通过本申请实施例提供的感知网络检测出人体的Mask和关键点,可以对人体相应的部位进行放大缩小,比如进行收腰和美臀操作,从而输出美颜的图片。
应用场景3:图像分类场景:
物体识别装置在获取待分类图像后,采用本申请的物体识别方法获取待分类图像中的物体的类别,然后可根据待分类图像中物体的物体的类别对待分类图像进行分类。对于摄影师来说,每天会拍很多照片,有动物的,有人物,有植物的。采用本申请的方法可以快速地将照片按照照片中的内容进行分类,可分成包含动物的照片、包含人物的照片和包含植物的照片。
对于图像数量比较庞大的情况,人工分类的方式效率比较低下,并且人在长时间处理同一件事情时很容易产生疲劳感,此时分类的结果会有很大的误差;而采用本申请的方法可以快速地将图像进行分类,并且不会有误差。
应用场景4商品分类:
物体识别装置获取商品的图像后,然后采用本申请的物体识别方法获取商品的图像中商品的类别,然后根据商品的类别对商品进行分类。对于大型商场或超市中种类繁多的商品,采用本申请的物体识别方法可以快速完成商品的分类,降低了时间开销和人工成本。
下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:
本申请实施例提供的训练CNN特征提取模型的方法,涉及计算机视觉的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的物体的图像或图像块和物体的类别)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的CNN特征提取模型的;并且,本申请实施例将输入数据(如本申请中的物体的图像)输入到所述训练好的CNN特征提取模型中,得到输出数据(如本申请中得到该图片中感兴趣物体的2D、3D、Mask、关键点等信息)。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)物体识别,利用图像处理和机器学习、计算机图形学等相关方法,确定图像物体的类别。
(2)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0002389371820000151
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(3)深度神经网络
深度神经网络(Deep Neural Network,DNN),可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准,我们常说的多层神经网络和深度神经网络其本质上是同一个东西。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
Figure BDA0002389371820000152
其中,
Figure BDA0002389371820000153
是输入向量,
Figure BDA0002389371820000154
是输出向量,
Figure BDA0002389371820000155
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量
Figure BDA0002389371820000156
经过如此简单的操作得到输出向量
Figure BDA0002389371820000157
由于DNN层数多,则系数W和偏移向量
Figure BDA0002389371820000158
的数量也就是很多了。那么,具体的参数在DNN是如何定义的呢?首先我们来看看系数W的定义。以一个三层的DNN为例,如:第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
Figure BDA0002389371820000159
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结下,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
Figure BDA00023893718200001510
注意,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。
(4)卷积神经网络(Convosutionas Neuras Network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,我们都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(5)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
(6)循环神经网络(recurrent neural networks,RNN)是用来处理序列数据的。
在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
(7)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(8)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
下面介绍本申请实施例提供系统架构。
参见图5,本申请实施例提供了一种系统架构100。如所述系统架构100所示,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括:物体的图像或者图像块及物体的类别;并将训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到CNN特征提取模型(解释说明:这里的特征提取模型就是前面介绍的经训练阶段训练得到的模型,可以是用于特征提取的神经网络等)。下面将以实施例一更详细地描述训练设备120如何基于训练数据得到CNN特征提取模型,该CNN特征提取模型能够用于实现本申请实施例提供的神经网络,即,将待识别图像或图像块通过相关预处理后输入该CNN特征提取模型,即可得到待识别图像或图像块感兴趣物体的2D、3D、Mask、关键点等信息。本申请实施例中的CNN特征提取模型具体可以为CNN卷积神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行CNN特征提取模型的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则可以应用于不同的系统或设备中,如应用于图5所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)AR/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在图5中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:待识别图像或者图像块或者图片。
在执行设备120对输入数据进行预处理,或者在执行设备120的计算模块111执行计算等相关的处理(比如进行本申请中神经网络的功能实现)过程中,执行设备120可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的图像或图像块或者图片中感兴趣物体的2D、3D、Mask、关键点等信息返回给客户设备140,从而提供给用户。
可选地,客户设备140,可以是自动驾驶系统中的规划控制单元、手机终端中的美颜算法模块。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则,该相应的目标模型/规则即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图5中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图5仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图5中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图5所示,根据训练设备120训练得到CNN特征提取模型,该CNN特征提取模型在本申请实施例中可以是CNN卷积神经网络也可以是下面实施例即将介绍的的神经网络。
由于CNN是一种非常常见的神经网络,下面结合图5重点对CNN的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
本申请实施例的图像处理方法具体采用的神经网络的结构可以如图6所示。在图6中,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层230。其中,输入层210可以获取待处理图像,并将获取到的待处理图像交由卷积层/池化层220以及后面的神经网络层230进行处理,可以得到图像的处理结果。下面对图6中的CNN 200中内部的层结构进行详细的介绍。
卷积层/池化层220:
卷积层:
如图6所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的卷积特征图的尺寸也相同,再将提取到的多个尺寸相同的卷积特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图6中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图6所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图6由210至240方向的传播为前向传播)完成,反向传播(如图6由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络210仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
本申请实施例的图像处理方法具体采用的神经网络的结构可以如图7所示。在图7中,卷积神经网络(CNN)200可以包括输入层110,卷积层/池化层120(其中池化层为可选的),以及神经网络层130。与图6相比,图7中的卷积层/池化层120中的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
需要说明的是,图6和图7所示的卷积神经网络仅作为一种本申请实施例的图像处理方法的两种可能的卷积神经网络的示例,在具体的应用中,本申请实施例的图像处理方法所采用的卷积神经网络还可以以其他网络模型的形式存在。
另外,采用本申请实施例的神经网络结构的搜索方法得到的卷积神经网络的结构可以如图6和图7中的卷积神经网络结构所示。
图8a为本申请实施例提供的一种芯片的硬件结构,该芯片包括神经网络处理器NPU 50。该芯片可以被设置在如图5所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图5所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则。如图6和图7所示的卷积神经网络中各层的算法均可在如图8a所示的芯片中得以实现。
神经网络处理器NPU 50,NPU作为协处理器挂载到主中央处理器(centralprocessing unit,CPU)(host CPU)上,由主CPU分配任务。NPU的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(directmemory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
可选地,本申请中此处的输入数据为图片,输出数据为图片中感兴趣物体的2D、3D、Mask、关键点等信息。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic randomaccessmemory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
上文中介绍的图5中的执行设备110能够执行本申请实施例的图像处理方法或者图像处理方法的各个步骤,图6和图7所示的CNN模型和图8a所示的芯片也可以用于执行本申请实施例的图像处理方法或者图像处理方法的各个步骤。下面结合附图对本申请实施例的图像处理方法和本申请实施例的图像处理方法进行详细的介绍。
如图8b所示,本申请实施例提供了一种系统架构300。该系统架构包括本地设备301、本地设备302以及执行设备210和数据存储系统250,其中,本地设备301和本地设备302通过通信网络与执行设备210连接。
执行设备210可以由一个或多个服务器实现。可选的,执行设备210可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码来实现本申请实施例的搜索神经网络结构的方法。
具体地,执行设备210可以执行以下过程:
获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
通过上述过程执行设备210能够搭建成一个目标神经网络,该目标神经网络可以用于图像分类或者进行图像处理等等。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备210进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在一种实现方式中,本地设备301、本地设备302从执行设备210获取到目标神经网络的相关参数,将目标神经网络部署在本地设备301、本地设备302上,利用该目标神经网络进行图像分类或者图像处理等等。
在另一种实现中,执行设备210上可以直接部署目标神经网络,执行设备210通过从本地设备301和本地设备302获取待处理图像,并根据目标神经网络对待处理图像进行分类或者其他类型的图像处理。
上述执行设备210也可以称为云端设备,此时执行设备210一般部署在云端。
下面先结合8b对本申请实施例的神经网络的构建方法进行详细的介绍。图9所示的方法可以由神经网络构建装置来执行,该神经网络构建装置可以是电脑、服务器等运算能力足以用来神经网络构建装置。
图9所示的方法包括步骤901至902,下面分别对这些步骤进行详细的描述。
901、获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作operation类型。
本申请实施例中,待搜索感知网络的架构可以为图2a中示出的架构,其主要由主干网络backbone、特征金字塔网络(feature pyramid network,FPN)以及头端header组成。
本申请实施例中,主干网络backbone用于接收输入的图片,并对输入的图片进行卷积处理,输出对应所述图片的具有不同分辨率的特征图;也就是说输出对应所述图片的不同大小的特征图,也就是说,Backbone完成基础特征的提取,为后续的检测提供相应的特征。
具体的,主干网络可以对输入的图片进行一系列的卷积处理,得到在不同的尺度下的特征图(feature map)。这些特征图将为后续的检测模块提供基础特征。主干网络可以采用多种形式,比如视觉几何组(visual geometry group,VGG)、残差神经网络(residualneural network,resnet)、GoogLeNet的核心结构(Inception-net)等。
主干网络backbone可以对输入的图像进行卷积处理,生成若干不同尺度的卷积特征图,每张特征图是一个H*W*C的矩阵,其中H是特征图的高度,W是特征图的宽度、C是特征图的通道数。
Backbone可以采用目前多种现有的卷积网络框架,比如VGG16、Resnet50、Inception-Net等,下面以Resnet18为Backbone为例进行说明。该流程如图10a所示。
假设输入的图片的分辨率为H*W*3(高度H,宽度W,通道数为3,也就是RBG三个通道)。输入图片经过Resnet18的第一个卷积模块Res18-Conv1(图中的卷积模块1)进行卷积运算,生成Featuremap(特征图)C1,这个特征图相对于输入图像进行了2次下采样,并且通道数扩充为64,因此C1的分辨率是H/4*W/4*64,该卷积模块1由若干卷积层组成,后面的卷积模块类似,参照图10b,图10b为卷积模块的结构示意,如图10b中示出的那样,卷积模块1可以包括多个卷积层(卷积层1至卷积层N);C1经过Resnet18的第2个卷积模块Res18-Conv2(图中的卷积模块2)进行卷积运算,得到Featuremap C2,这个特征图的分辨率与C1一致;C2继续经过Resnet18的第3个卷积模块Res18-Conv3(图中的卷积模块3)处理,生成Featuremap C3,这个特征图相对C2进一步下采样,通道数增倍,其分辨率为H/8*W/8*128;最后C3经过Res18-Conv4(图中的卷积模块4)处理,生成Featuremap C4,其分辨率为H/16*W/16*256。
从图10a可以看出,Resnet18对输入图片进行多个层次的卷积处理,得到不同尺度的特征图:C1/C2/C3/C4。底层的特征图的宽度和高度比较大,通道数较少,其主要为图像的低层特征(比如图像边缘、纹理特征),高层的特征图的宽度和高度比较小,通道数较多,其主要为图像的高层特征(比如形状、物体特征)。后续的2D检测流程将会基于这些特征图进行进一步的预测。
本申请实施例中,主干网络backbone包括多个卷积模块,每个卷积模块包括多个卷积层,每个卷积模块可以对输入的特征图进行卷积处理,已得到不同分辨率的特征图,本申请实施例中主干网络backbone包括的第一卷积层为主干网络backbone包括的多个卷积层中的一个。
需要说明的是,本申请实施例中的主干网络也可以称为骨干网络,这里并不限定。
需要说明的是,图10a和图10b中示出的主干网络backbone仅为一种实现方式,并不构成对本申请的限定。
本申请实施例中,FPN与主干网络backbone连接,FPN可以对主干网络backbone生成的多个不同分辨率的特征图进行卷积处理,来构造特征金字塔。
参照图11,图11为一种FPN的结构示意,其中,使用卷积模块1对最顶层特征图C4进行处理,卷积模块1可以包括至少一个卷积层,示例性的,卷积模块1可以使用空洞卷积和1×1卷积将最顶层特征图C4的通道数下降为256,作为特征金字塔的最顶层特征图P4;横向链接最顶层下一层特征图C3的输出结果并使用1×1卷积(卷积模块2)降低通道数至256后,与特征图p4逐像素相加得到特征图p3;以此类推,从上到下,构建出特征金字塔Φp={特征图p4,特征图p3,特征图p2,特征图p1}。
本申请实施例中,FPN包括多个卷积模块,每个卷积模块包括多个卷积层,每个卷积模块可以对输入的特征图进行卷积处理,本申请实施例中FPN包括的第二卷积层为FPN包括的多个卷积层中的一个。
需要说明的是,图11中示出的FPN仅为一种实现方式,并不构成对本申请的限定。
本申请实施例中,header与FPN连接,header可以根据FPN提供的特征图,完成一个任务的2D框的检测,输出这个任务的物体的2D框以及对应的置信度等等,接下来描述一种header的结构示意,参照图12a,图12a为一种header的示意,如图12a中示出的那样,Header包括候选区域生成网络(Region Proposal Network,RPN)、ROI-ALIGN和RCNN三个模块。
其中,RPN模块可以用于在FPN提供的一个或者多个特征图上预测所述任务物体所在的区域,并输出匹配所述区域的候选2D框;或者可以这样理解,RPN在FPN输出的一个或者多个横图上预测出可能存在该任务物体的区域,并且给出这些区域的框,这些区域称为候选区域(Proposal)。比如,当Header负责检测车时,其RPN层就预测出可能存在车的候选框;当Header负责检测人时,其RPN层就预测出可能存在人的候选框。当然,这些Proposal是不准确的,一方面其不一定含有该任务的物体,另一方面这些框也是不紧致的。
2D候选区域预测流程可以由Header的RPN模块实施,其根据FPN提供的特征图,预测出可能存在该任务物体的区域,并且给出这些区域的候选框(也可以叫候选区域,Proposal)。在本实施例中,若Header负责检测车,其RPN层就预测出可能存在车的候选框。
RPN层的基本结构可以如图12b所示。在FPN提供的特征图上通过卷积模块1(例如一个3*3的卷积),生成特征图RPNHidden。后面Header的RPN层将会从RPN Hidden中预测Proposal。具体来说,Header的RPN层分别通过卷积模块2和卷积模块3(例如分别是一个1*1的卷积),预测出RPN Hidden每个位置处的Proposal的坐标以及置信度。这个置信度越高,表示这个Proposal存在该任务的物体的概率越大。比如,在Header中某个Proposal的score越大,就表示其存在车的概率越大。每个RPN层预测出来的Proposal需要经过Proposal合并模块,根据Proposal之间的重合程度去掉多余的Proposal(这个过程可以采用但不限制于NMS算法),在剩余的K个Proposal中挑选出score最大的N(N<K)个Proposal作为候选的可能存在物体的区域。从图12b可以看出,这些Proposal是不准确的,一方面其不一定含有该任务的物体,另一方面这些框也是不紧致的。因此,RPN模块只是一个粗检测的过程,需要后续的RCNN模块进行细分。在RPN模块回归Proposal的坐标时,并不是直接回归坐标的绝对值,而是回归出相对于Anchor的坐标。当这些Anchor与实际的物体匹配越高,RPN能检测出物体的概率越大。
ROI-ALIGN模块用于根据所述RPN模块预测得到的区域,从所述FPN提供的一个特征图中扣取出所述候选2D框所在区域的特征;也就是说,ROI-ALIGN模块主要根据RPN模块提供的Proposal,在某个特征图上把每个Proposal所在的区域的特征扣取出来,并且resize到固定的大小,得到每个Proposal的特征。可以理解的是,ROI-ALIGN模块可以使用但不局限于ROI-POOLING(感兴趣区域池化)/ROI-ALIGN(感兴趣区域提取)/PS-ROIPOOLING(位置敏感的感兴趣区域池化)/PS-ROIALIGN(位置敏感的感兴趣区域提取)等特征抽取方法。
RCNN模块用于通过神经网络对所述候选2D框所在区域的特征进行卷积处理,得到所述候选2D框属于各个物体类别的置信度;通过神经网络对所述候选区域2D框的坐标进行调整,使得调整后的2D候选框比所述候选2D框与实际物体的形状更加匹配,并选择置信度大于预设阈值的调整后的2D候选框作为所述区域的2D框。也就是说,RCNN模块主要是对ROI-ALIGN模块提出的每个Proposal的特征进行细化处理,得到每个Proposal的属于各个类别置信度(比如对于车这个任务,会给出Backgroud/Car/Truck/Bus 4个分数),同时对Proposal的2D框的坐标进行调整,输出更加紧致的2D框。这些2D框经过非极大值抑制(nonmaximum suppression,NMS)合并后,作为最后的2D框输出。
2D候选区域细分类主要由图12a中的Header的RCNN模块实施,其根据ROI-ALIGN模块提取出来的每个Proposal的特征,进一步回归出更加紧致的2D框坐标,同时对这个Proposal进行分类,输出其属于各个类别的置信度。RCNN的可实现形式很多,其中一种实现形式如图12b所示。ROI-ALIGN模块输出的特征大小可以为N*14*14*256(Feature ofproposals),其在RCNN模块中首先经过Resnet18的卷积模块4(Res18-Conv5)处理,输出的特征大小为N*7*7*512,然后通过一个Global Avg Pool(平均池化层)进行处理,把输入特征中每个通道内的7*7的特征进行平均,得到N*512的特征,其中每个1*512维的特征向量代表每个Proposal的特征。接下来通过2个全连接层FC分别回归框的精确坐标(输出N*4的向量,这4个数值分表表示框的中心点x/y坐标,框的宽高),框的类别的置信度(在Header0中,需要给出这个框是Backgroud/Car/Truck/Bus的分数)。最后通过框合并操作,选择分数最大的若干个框,并且通过NMS操作去除重复的框,从而得到紧致的框输出。
在一些实际应用场景中,该感知网络还可以包括其他Header,可以在检测出2D框的基础上,进一步进行3D/Mask/Keypoint检测。示例性的,以3D为例,ROI-ALIGN模块根据Header提供的准确的2D框,在FPN输出的特征图上提取出每个2D框所在区域的特征,假设2D框的个数为M,那么ROI-ALIGN模块输出的特征大小为M*14*14*256,其首先经过Resnet18的卷积模块5(例如为Res18-Conv5)处理,输出的特征大小为N*7*7*512,然后通过一个GlobalAvg Pool(平均池化层)进行处理,把输入特征中每个通道的7*7的特征进行平均,得到M*512的特征,其中每个1*512维的特征向量代表每个2D框的特征。接下来通过3个全连接层FC分别回归框中物体的朝向角(orientation,M*1向量)、质心点坐标(centroid,M*2向量,这2个数值表示质心的x/y坐标)和长宽高(dimention)。
本申请实施例中,header包括至少是一个卷积模块,每个卷积模块包括至少一个卷积层,每个卷积模块可以对输入的特征图进行卷积处理,本申请实施例中header包括的第三卷积层为header包括的多个卷积层中的一个。
需要说明的是,图12a和图12b中示出的header仅为一种实现方式,并不构成对本申请的限定。
本申请实施例中,还需要获取目标搜索空间,其中,目标搜索空间可以是根据待搜索感知网络的应用需求确定的。具体地,上述目标搜索空间可以是根据待搜索感知网络的处理数据的类型确定的。
例如,当上述待搜索感知网络为用于处理图像数据的神经网络时,上述目标搜索空间包含的操作的种类和数量要与图像数据的处理相适应。上述目标搜索空间包含的可以是预先设定好的卷积神经网络中的多个操作类型,操作类型可以是基础运算或者基础运算的组合,这些基础运算或者基础运算的组合可以统称为操作类型。
示例性的,上述目标搜索空间可以包含但不限于包括但不限于卷积、池化、残差连接等操作类型,例如可以包括以下操作类型:
1x3和3x1convolution、1x7和7x1convolution、3x3 dilatedconvolution、3x3average pooling、3x3 max pooling、5x5max pooling、7x7 max pooling、1x1convolution、3x3convolution、3x3separable conv、5x5 seperable conv、7x7separable conv、跳连接操作、置零操作(Zero,相应位置所有神经元置零)等等;
其中,示例性的,3x3 average pooling表示池化核大小为3×3的均值池化;3x3max pooling表示池化核大小为3×3的最大值池化;3x3 dilatedconvolution表示卷积核大小为3×3且空洞率为2的空洞卷积;3x3 separable conv表示卷积核大小为3×3的分离卷积;5x5seperable conv表示卷积核大小为5×5的分离卷积。
本申请实施例中,在获取到待搜索感知网络和目标搜索空间之后,可以将通过结构搜索来确定待搜索感知网络中包括的卷积层对应的操作类型。
902、在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
本申请实施例中,在获取到待搜索感知网络和目标搜索空间之后,可以在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
首先,描述要进行结构搜索的对象:
如上述实施例中描述的那样,待搜索感知网络可以包括多个卷积层,其中,主干网络包括多个卷积层,FPN包括多个卷积层,header包括多个卷积层,本实施例中,可以将主干网络包括的一部分或者全部卷积层作为结构搜索的对象,同时,将FPN包括的一部分或者全部卷积层作为结构搜索的对象,同时,将header包括的一部分或者全部卷积层作为结构搜索的对象,需要说明的是,选择的进行结构搜索的卷积层的数量越多,最后搜索得到的感知网络越好,但是需要消耗额外的内存开销。
本申请实施例中,参照图13a,图13a为本实施例中的一种结构搜索过程的示意,如图13a中示出的那样,该卷积层(第一卷积层、第二卷积层或第三卷积层)对应的搜索空间包括操作类型1、操作类型2、…、操作类型N,在对待搜索的感知网络进行前馈时,特征图输入到该卷积层时,分别通过搜索空间包括的操作类型1、操作类型2、…、操作类型N进行卷积处理,以得到卷积处理后的N个特征图,并对N个特征图进行加权平均,可以选择主干网络中的部分或全部卷积层进行结构搜索、FPN中的部分或全部卷积层进行结构搜索、header中的部分或全部卷积层进行结构搜索,其中待搜索感知网络的每个卷积层都采用上述处理方式,并将加权平均后的特征图,作为该卷积层的输出特征图,其中,针对于每个卷积层(第一卷积层、第二卷积层或第三卷积层),在做加权平均时,其对应的搜索空间的每个操作类型都对应有一个权重值,在刚开始进行结构搜索时,各个权重值都有一个初始值,进行前馈后,可以得到处理结果,并将处理结果和真值进行比对得到损失loss,计算梯度,然后利用这个梯度更新待搜索感知网络中每个进行结构搜索的卷积层对应的搜索空间包括的各个操作类型对应的权重值,进过一定次数的迭代后,可以得到待搜索感知网络中每个进行结构搜索的卷积层对应的搜索空间包括的各个操作类型对应的权重值。针对于每个需要进行结构搜索的卷积层,可以确定该卷积层的操作类型为最大的权重值对应的操作类型。
本申请实施例中,所述主干网络包括多个卷积层,所述第一卷积层为所述主干网络包括的多个卷积层中的一个,在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,确定所述主干网络包括的多个卷积层中每个卷积层对应的操作类型、所述第二卷积层对应的第二操作类型和所述第三卷积层对应的第三操作类型。
本申请实施例中,所述FPN包括多个卷积层,所述第二卷积层为所述FPN包括的多个卷积层中的一个,在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型、所述FPN包括的多个卷积层中每个卷积层对应的操作类型和所述第三卷积层对应的第三操作类型。
本申请实施例中,所述header包括多个卷积层,所述第三卷积层为所述header包括的多个卷积层中的一个,在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型、所述第二卷积层对应的第二操作类型和所述header包括的多个卷积层中每个卷积层对应的操作类型。
在一种实施例中,可以对主干网络包括的全部卷积层进行结构搜索,对FPN包括的部分卷积层进行结构搜索,对header包括的部分卷积层进行结构搜索。
在一种实施例中,可以对主干网络包括的部分卷积层进行结构搜索,对FPN包括的全部卷积层进行结构搜索,对header包括的部分卷积层进行结构搜索。
在一种实施例中,可以对主干网络包括的部分卷积层进行结构搜索,对FPN包括的部分卷积层进行结构搜索,对header包括的全部卷积层进行结构搜索。
在一种实施例中,可以对主干网络包括的全部卷积层进行结构搜索,对FPN包括的全部卷积层进行结构搜索,对header包括的部分卷积层进行结构搜索。
在一种实施例中,可以对主干网络包括的部分卷积层进行结构搜索,对FPN包括的全部卷积层进行结构搜索,对header包括的全部卷积层进行结构搜索。
在一种实施例中,可以对主干网络包括的全部卷积层进行结构搜索,对FPN包括的部分卷积层进行结构搜索,对header包括的全部卷积层进行结构搜索。
在一种实施例中,可以对主干网络包括的全部卷积层进行结构搜索,对FPN包括的全部卷积层进行结构搜索,对header包括的全部卷积层进行结构搜索。
示例性的,假设主干网络backbone有L层卷积层,FPN有M层卷积层,header有N层卷积层,那么α,β,γ分别为L*8、M*8、N*8的二维数组,每个数代表每一层中搜索空间的每个操作类型的权重值,权重值越高表示被选中的概率越大。结构搜索过程中三部分参数α,β,γ一起进行更新,对应的损失函数可以为:
Figure BDA0002389371820000281
其中C()是计算量或参数量,该部分为非必须的,若预先指定了计算量或参数量要求,则可以包括该部分。使用这个损失函数进行结构搜索训练指定迭代次数后,就得到了优化后的的参数α,β,γ,通过选取每一卷积层值最大的α,β,γ对应的操作类型,就可以得结构搜索出来的待搜索感知网络中三部分的结构。
本申请实施例中,由于卷积层搜索对应的目标搜索空间包括的操作类型的数量很多,若直接基于目标搜索空间包括的全部操作类型进行结构搜索,会消耗大量的内存。
本申请实施例中,在进行结构搜索时,所述第一卷积层对应的搜索空间为第一子搜索空间;或,所述第二卷积层对应的搜索空间为第二子搜索空间;或,所述第三卷积层对应的搜索空间为第三子搜索空间;其中,所述第一子搜索空间、所述第二子搜索空间和所述第三子搜索空间为所述目标搜索空间的子集。
具体的,可以获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,获取所述第二卷积层对应的第二子搜索空间,所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第二子搜索空间内对所述第二卷积层进行结构搜索,得到所述第二卷积层对应的第二操作类型,所述第二操作类型为所述第二子搜索空间包括的操作类型中的一个;和/或,获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
即,针对于卷积层或者网络结构(主干网络、FPN或header),可以将目标搜索空间的一个子集(下文可以称为子搜索空间)作为该卷积层或网络结构在结构搜索时对应使用的搜索空间。接下来描述如何确定上述子集,本实施例针对于下述两种情况进行说明:1、确定每个需要进行结构搜索的卷积层对应的子搜索空间;2、确定各个网络结构(主干网络、FPN以及header)对应的子搜索空间。
一、确定每个需要进行结构搜索的卷积层对应的子搜索空间
本申请实施例中,可以获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间;获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第二卷积层的第二权重值,并根据所述对应于所述第二卷积层的第一权重值,从所述目标搜索空间中得到所述第二卷积层对应的第二子搜索空间;获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
针对于每一卷积层,输入特征图为x,目标搜索空间可以包括N个操作类型作为候选,特征图x输入到这N个操作类型里,输出N个特征图{y1,y2,...,yN},可以使用α作为权重值对他们做加权求和:
y=α1y12y2+…+αNyN
该卷积层的输出特征图y作为下一层的输入特征图。对待搜索感知网络进行前馈后,得到推理结果,搜索过程中的损失函数可以为:
Figure BDA0002389371820000291
其中,f(α)是搜索时的识别损失函数,比如但不限于交叉熵损失函数,L21正则能够促使稀疏的出现,容易选择更合适的子搜索空间。使用这个损失函数进行搜索训练指定迭代次数后,可以得到稀疏的参数α,通过选取值最大的M个α对应的操作类型,就可以提炼出了该卷积层对应的子搜索空间。上述α可以表示该搜索类型对于待搜索感知网络的输出结果的影响能力,α越大,相当于该搜索类型对于待搜索感知网络的输出结果的影响能力越大。
需要说明的是,当进行某一卷积层的子搜索空间确定时,在进行前馈时,该卷积层的权重可以设置为预设值,其余卷积层设置为预设的操作类型和权重值。
本申请实施例中,可以根据所述目标搜索空间包括的各个操作类型对应于所述第一卷积层的权重值(即上述α),从所述目标搜索空间中得到所述第一卷积层对应的第一子搜索空间,其中所述权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力;根据所述目标搜索空间包括的各个操作类型对应于所述第二卷积层的权重值,从所述目标搜索空间中确定所述第二卷积层对应的第二子搜索空间;根据所述目标搜索空间包括的各个操作类型对应于所述第三卷积层的权重值,从所述目标搜索空间中确定所述第三卷积层对应的第三子搜索空间。
需要说明的是,可以对待搜索感知网络中的部分或全部卷积层利用上述方式确定对应的子搜索空间。
需要说明的是,由于针对于每个卷积层而言,每次结构搜索都存在多个操作类型对输入特征图进行处理,若多个卷积层同时进行上述子搜索空间的确定步骤,则会占用大量内容,因此,可以串行进行各个卷积层的子搜索空间确定步骤,即依次确定各个卷积层的子搜索空间。
在一种实施例中,所述主干网络还包括第四卷积层,所述FPN还包括第五卷积层,所述header还包括第六卷积层,在进行结构搜索时,所述第四卷积层和所述第一卷积层对应于第四子搜索空间;或,
所述第五卷积层和所述第二卷积层对应于第五子搜索空间;或,
所述第六卷积层和所述第三卷积层对应于第六子搜索空间;
其中,所述第四子搜索空间、所述第五子搜索空间和所述第六子搜索空间为所述目标搜索空间的子集。
本申请表实施例中,在进行结构搜索时,若同一个网络结构包括多个卷积层需要进行结构搜索时,可以共享操作类型对应的权重值,具体的,若对于卷积层1而言,其加权求和的方式为:y=α1y12y2+…+αNyN;对于和卷积层1属于同一个网络结构的卷积层2而言,其加权求和的方式为:Y=α1Y12Y2+…+αNYN;在每次迭代时,卷积层1和卷积层2中各个操作类型的权重值是同步更新的,即,若在某次迭代时,卷积层1的操作类型1对应于权重值1,则卷积层2中的操作类型1也对应于权重值1,进行权重值更新时,操作类型1对应的权重值由权重值1变为权重值2,则相应的,卷积层2中的操作类型2对应的权重值也由权重值1更新为权重值2。通过上述方式,使得卷积层1对应的子搜索空间与卷积层2对应的搜索空间相同,由于操作类型对应的权重值共享(为了方便描述,本申请实施例可以将上述方式描述为权重值共享的方式),减少了训练过程中的训练参数量。具体可以参照图13b示出的那样。
需要说明的是,图13b中的结构搜索过程仅为一种示意,实际应用中,卷积层1和卷积层2可以为直连的卷积层或者是非直连的卷积层,本申请并不限定。
本申请表实施例中,在进行结构搜索时,若同一个网络结构包括多个卷积层需要进行结构搜索时,可以基于各个卷积层的权重值来确定对应的子搜索空间,具体的,若对于卷积层1而言,当完成迭代后其加权求和的方式为:y=α1y12y2+…+αNyN;对于和卷积层1属于同一个网络结构的卷积层2而言,当完成迭代后其加权求和的方式为:Y=β1Y12Y2+…+βNYN;其中,α1和β1为对于与操作类型1的权重值,可以将α1和β1的加和作为卷积层1和卷积层2共同对应的操作类型1的权重值,对于其他操作类型也可以进行上述处理。可以确定加和最大的M个权重值对应的操作类型作为卷积层1和卷积层2对应的子搜索空间(以下实施例可以将该方式称为权重值加和的方式),通过上述方法,使得卷积层1对应的子搜索空间与卷积层2对应的搜索空间相同。
二、确定各个网络结构(主干网络、FPN以及header)对应的子搜索空间
本申请实施例中,可以获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,并根据所述对应于所述主干网络的第二权重值从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力;获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述FPN的第二权重值,并根据所述对应于所述的第二权重值从所述目标搜索空间中确定所述FPN对应的第二子搜索空间;获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
本申请实施例中,可以通过将各个网络结构包括的卷积层进行操作类型的权重值共享,或者通过对应的权重值的加和的方式来确定各个网络结构对应的子搜索空间,具体技术细节可以参照上述实施例中的描述,这里不再赘述。
综上,本申请实施例中,可以但不限定于包括如下子搜索空间的确定方式:
1、同一个网络结构包括的卷积层之间不共享操作类型的权重值,且各个卷积层对应的子搜索空间不同,即同一个网络结构对应于多个子搜索空间;
2、同一个网络结构包括的卷积层之间不共享操作类型的权重值,但是通过权重值加和的方式,使得同一个网络结构包括的部分卷积层对应的子搜索空间相同,同一个网络结构对应于多个子搜索空间;
3、同一个网络结构包括的卷积层之间不共享操作类型的权重值,但是通过权重值加和的方式,使得同一个网络结构包括的全部卷积层对应的子搜索空间相同,同一个网络结构对应于同一个子搜索空间;
4、同一个网络结构包括的部分卷积层之间共享权重值,使得同一个网络结构包括的部分卷积层对应的子搜索空间相同,同一个网络结构对应于多个子搜索空间;
5、同一个网络结构包括的部分卷积层之间共享权重值,但是通过权重值加和的方式,使得同一个网络结构包括的全部卷积层对应的子搜索空间相同,同一个网络结构对应于同一个子搜索空间;
6、同一个网络结构包括的全部卷积层之间共享权重值,同一个网络结构包括的全部卷积层对应的子搜索空间相同,同一个网络结构对应于同一个子搜索空间。
本申请实施例中,在得到各个卷积层或者网络结构对应的子搜索空间后,可以基于对应的子搜索空间进行结构搜索。
本申请实施例中,终端设备还可以包括:接收端侧的第一模型指标,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters;根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,得到搜索后的感知模型,其中,所述预设损失与所述模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异。
本申请实施例中,如果用户给定了需要的计算量或参数量s,那么结构搜索时,对应的损失函数可以为:
Figure BDA0002389371820000321
其中,惩罚项可以促使搜索的模型计算量或参数量和用户指定的模型计算量FLOPs或模型参数量Parameters之间误差较小。
本申请实施例中,还可以向所述端侧发送所述搜索后的感知模型。
本申请实施例中,还可以对所述搜索后的感知模型进行权重训练,得到训练后的感知模型,并向所述终端设备发送所述训练后的感知模型。
本申请实施例中在COCO数据集上进行结构搜索得到的感知模型,跟已有的方法相比,在同等参数量的情况下,本申请实施例能够得到性能更优的感知模型。可以看到,相比于只搜索主干网络backbone和header的DetNAS-1.3G方法,只搜索主干网络backbone的NASFPN,只搜索主干网络backbone和Head的Auto-FPN,本申请实施例的结构搜索方法达到了更高的mAP。具体可以参照表1:
表1本在COCO数据集上的结果统计
Table 2.Comparison of the number of parameters,FLOPs and mAP on COCOminival.The FLOPs is based on the 800×800 inpur and 1000 proposals in regionproposal network.
Figure BDA0002389371820000324
means the 2x schedule in training.
Figure BDA0002389371820000322
本申请提供了一种感知网络结构搜索方法,包括:获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。通过上述方式,对待搜索感知网络中的三个网络结构(主干网络、FPN以及header包括的部分和全部卷积层)都进行了结构搜索,使得结构搜索后得到的感知网络的性能更优。
参照图14,图14为本申请实施例提供的一种感知网络结构搜索方法的流程示意,如图14中示出的那样,本申请实施例提供的一种感知网络结构搜索方法包括:
1401、获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型。
参照图2b,和上述图9对应的实施例不同的是,本申请实施例中的待搜索感知网络的架构中不包括FPN,主干网络与所述header连接,其余技术细节可以参照图9对应的实施例中的描述,这里不再赘述。
1402、在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
关于如何根据在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,可以参照上述图9对应的实施例中的描述,这里不再赘述。
可选地,可以获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间为所述目标搜索空间的子集;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个。
可选地,可以获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
可选地,可以获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,并根据所述对应于所述主干网络的第二权重值从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力。
可选地,可以获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间为所述目标搜索空间的子集;
在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
可选地,可以获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
可选地,可以获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
可选地,所述主干网络包括多个卷积层,所述第一卷积层为所述主干网络包括的多个卷积层中的一个,可以在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,确定所述主干网络包括的多个卷积层中每个卷积层对应的操作类型和所述第三卷积层对应的第三操作类型。
可选地,所述header包括多个卷积层,所述第三卷积层为所述header包括的多个卷积层中的一个,可以在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型和所述header包括的多个卷积层中每个卷积层对应的操作类型。
可选地,可以接收端侧的第一模型指标;根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,直到所述预设损失满足预设条件,得到所述搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters。
可选地,可以向所述端侧发送所述搜索后的感知模型。
可选地,可以对所述搜索后的感知模型进行权重训练,得到训练后的感知模型;向所述终端设备发送所述训练后的感知模型。
本申请提供了一种感知网络结构搜索方法,包括:获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型和所述第三操作类型为所述多个操作类型中的操作类型。通过上述方式,对待搜索感知网络中的两个网络结构(主干网络以及header包括的部分和全部卷积层)都进行了结构搜索,使得结构搜索后得到的感知网络的性能更优。
参照图15,图15为本申请实施例提供的一种图像处理方法的流程示意,如图15中示出的那样,本申请实施例提供的一种图像处理方法包括:
1501、获取目标图像。
1502、通过感知网络对所述目标图像进行目标检测,得到检测结果;
其中,所述感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,所述第二卷积层对应于第二操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系、所述第二卷积层与所述第二操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;或,
所述感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;
其中,所述目标搜索空间包括多个操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
本申请实施例中,可以根据通过图9或者图14对应的感知网络结构搜索方法得到的感知网络(并进行了权重值训练)对目标图像进行图像处理,得到检测结果。
可选地,在进行结构搜索时,所述第一卷积层对应的搜索空间为第一子搜索空间;或,所述第二卷积层对应的搜索空间为第二子搜索空间;或,
所述第三卷积层对应的搜索空间为第三子搜索空间;
其中,所述第一子搜索空间和所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型。
本申请提供了一种图像处理方法,包括:获取目标图像;通过感知网络对所述目标图像进行目标检测,得到检测结果;其中,所述感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,所述第二卷积层对应于第二操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系、所述第二卷积层与所述第二操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;或,所述感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;其中,所述目标搜索空间包括多个操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型通过上述方式,对待搜索感知网络中的两个网络结构(主干网络以及header包括的部分和全部卷积层)都进行了结构搜索,使得结构搜索后得到的感知网络的性能更优。
参照图16,图16为本申请实施例提供的一种感知网络结构搜索方法的流程示意,如图16中示出的那样,本申请实施例提供的一种感知网络结构搜索方法包括:
1601、接收端侧的第一模型指标;
1602、根据所述第一模型指标以及预设损失对待搜索感知网络进行结构搜索,得到搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量。
本申请实施例中,如果用户给定了需要的计算量或参数量s,那么结构搜索时,对应的损失函数可以为:
Figure BDA0002389371820000361
其中,惩罚项可以促使搜索的模型计算量或参数量和用户指定的模型计算量FLOPs或模型参数量Parameters之间误差较小。
可选地,还可以向所述端侧发送所述搜索后的感知模型。
可选地,还可以对所述搜索后的感知模型进行权重训练,得到训练后的感知模型,向所述终端设备发送所述训练后的感知模型。
在图1至图16所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图17,图17为本申请实施例提供的感知网络结构搜索装置的一种结构示意图,感知网络结构搜索装置可以是服务器,感知网络结构搜索装置包括:
获取模块1701,用于获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;
结构搜索模块1702,用于在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,所述结构搜索模块,具体用于:
获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
获取所述第二卷积层对应的第二子搜索空间,所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第二子搜索空间内对所述第二卷积层进行结构搜索,得到所述第二卷积层对应的第二操作类型,所述第二操作类型为所述第二子搜索空间包括的操作类型中的一个;和/或,
获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
可选地,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
可选地,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,并根据所述对应于所述主干网络的第二权重值从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力。
可选地,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第二卷积层的第二权重值,并根据所述对应于所述第二卷积层的第一权重值,从所述目标搜索空间中得到所述第二卷积层对应的第二子搜索空间。
可选地,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述FPN的第二权重值,并根据所述对应于所述的第二权重值从所述目标搜索空间中确定所述FPN对应的第二子搜索空间。
可选地,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
可选地,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
可选地,所述主干网络包括多个卷积层,所述第一卷积层为所述主干网络包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,确定所述主干网络包括的多个卷积层中每个卷积层对应的操作类型、所述第二卷积层对应的第二操作类型和所述第三卷积层对应的第三操作类型。
可选地,所述FPN包括多个卷积层,所述第二卷积层为所述FPN包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型、所述FPN包括的多个卷积层中每个卷积层对应的操作类型和所述第三卷积层对应的第三操作类型。
可选地,所述header包括多个卷积层,所述第三卷积层为所述header包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型、所述第二卷积层对应的第二操作类型和所述header包括的多个卷积层中每个卷积层对应的操作类型。
可选地,所述装置还包括:
接收模块,用于接收端侧的第一模型指标;
所述结构搜索模块,具体用于:
根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,直到所述预设损失满足预设条件,得到所述搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters。
可选地,所述装置还包括:
发送模块,用于向所述端侧发送所述搜索后的感知模型。
可选地,所述装置还包括:
权重训练模块,用于对所述搜索后的感知模型进行权重训练,得到训练后的感知模型;
所述发送模块,还用于向所述终端设备发送所述训练后的感知模型。
本申请提供了一种感知网络结构搜索装置,获取模块1701获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;结构搜索模块1702在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。通过上述方式,对待搜索感知网络中的三个网络结构(主干网络、FPN以及header包括的部分和全部卷积层)都进行了结构搜索,使得结构搜索后得到的感知网络的性能更优。
参照图17,本申请实施例提供的一种感知网络结构搜索装置,包括:
获取模块1701,用于获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;
结构搜索模块1702,用于在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,所述结构搜索模块,具体用于:
获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
可选地,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
可选地,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,并根据所述对应于所述主干网络的第二权重值从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力。
可选地,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
可选地,所述主干网络包括多个卷积层,所述第一卷积层为所述主干网络包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,确定所述主干网络包括的多个卷积层中每个卷积层对应的操作类型和所述第三卷积层对应的第三操作类型。
可选地,所述header包括多个卷积层,所述第三卷积层为所述header包括的多个卷积层中的一个,所述结构搜索模块,具体用于:
在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,得到所述第一卷积层对应的第一操作类型和所述header包括的多个卷积层中每个卷积层对应的操作类型。
可选地,所述装置还包括:
接收模块,用于接收端侧的第一模型指标;
所述结构搜索模块,具体用于:
根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,直到所述预设损失满足预设条件,得到所述搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters。
可选地,所述装置还包括:
发送模块,用于向所述端侧发送所述搜索后的感知模型。
可选地,所述装置还包括:
训练模块,用于对所述搜索后的感知模型进行权重训练,得到训练后的感知模型;
所述发送模块,还用于向所述终端设备发送所述训练后的感知模型。
本申请提供了一种感知网络结构搜索装置,获取模块1701获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作类型;结构搜索模块1702在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型和所述第三操作类型为所述多个操作类型中的操作类型。通过上述方式,对待搜索感知网络中的两个网络结构(主干网络以及header包括的部分和全部卷积层)都进行了结构搜索,使得结构搜索后得到的感知网络的性能更优。
参阅图18,图18为本申请实施例提供的图像处理装置的一种结构示意图,图像处理装置可以是终端设备或者服务器,图像处理装置包括:
获取模块1801,用于获取目标图像;
目标检测模块1802,用于通过感知网络对所述目标图像进行目标检测,得到检测结果;
其中,所述感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,所述第二卷积层对应于第二操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系、所述第二卷积层与所述第二操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;或,
所述感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;
其中,所述目标搜索空间包括多个操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,在进行结构搜索时,所述第一卷积层对应的搜索空间为第一子搜索空间;或,
所述第二卷积层对应的搜索空间为第二子搜索空间;或,
所述第三卷积层对应的搜索空间为第三子搜索空间;
其中,所述第一子搜索空间和所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型。
本申请实施例提供了一种图像处理装置,获取模块1801获取目标图像;目标检测模块1802通过感知网络对所述目标图像进行目标检测,得到检测结果;其中,所述感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,所述第二卷积层对应于第二操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系、所述第二卷积层与所述第二操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;或所述感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;其中,所述目标搜索空间包括多个操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。通过上述方式,对待搜索感知网络中的两个网络结构(主干网络以及header包括的部分和全部卷积层)或者三个网络结构(主干网络、FPN以及header包括的部分和全部卷积层)都进行了结构搜索,使得结构搜索后得到的感知网络的性能更优。
接下来介绍本申请实施例提供的一种执行设备,请参阅图19,图19为本申请实施例提供的执行设备的一种结构示意图,执行设备1900具体可以表现为虚拟现实VR设备、手机、平板、笔记本电脑、智能穿戴设备、监控数据处理设备或服务器等,此处不做限定。具体的,执行设备1900包括:接收器1901、发射器1902、处理器1903和存储器1904(其中执行设备1900中的处理器1903的数量可以一个或多个,图19中以一个处理器为例),其中,处理器1903可以包括应用处理器19031和通信处理器19032。在本申请的一些实施例中,接收器1901、发射器1902、处理器1903和存储器1904可通过总线或其它方式连接。
存储器1904可以包括只读存储器和随机存取存储器,并向处理器1903提供指令和数据。存储器1904的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1904存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器1903控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1903中,或者由处理器1903实现。处理器1903可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1903中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1903可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1903可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1904,处理器1903读取存储器1904中的信息,结合其硬件完成上述方法的步骤。
接收器1901可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1902可用于通过第一接口输出数字或字符信息;发射器1902还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1902还可以包括显示屏等显示设备。
本申请实施例中,在一种情况下,处理器1903,用于获取目标图像,通过感知网络对所述目标图像进行目标检测,得到检测结果;其中,所述感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,所述第二卷积层对应于第二操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系、所述第二卷积层与所述第二操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;或所述感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;其中,所述目标搜索空间包括多个操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
可选地,在进行结构搜索时,所述第一卷积层对应的搜索空间为第一子搜索空间;或,所述第二卷积层对应的搜索空间为第二子搜索空间;或,所述第三卷积层对应的搜索空间为第三子搜索空间;其中,所述第一子搜索空间和所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型。
本申请实施例还提供了一种训练设备,请参阅图20,图20是本申请实施例提供的训练设备一种结构示意图,训练设备2000上可以部署有图17对应实施例中所描述的感知网络结构搜索装置,用于实现图17对应实施例中感知网络结构搜索装置的功能,具体的,训练设备2000由一个或多个服务器实现,训练设备2000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)2020(例如,一个或一个以上处理器)和存储器2032,一个或一个以上存储应用程序2042或数据2044的存储介质2030(例如一个或一个以上海量存储设备)。其中,存储器2032和存储介质2030可以是短暂存储或持久存储。存储在存储介质2030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器2020可以设置为与存储介质2030通信,在训练设备2000上执行存储介质2030中的一系列指令操作。
训练设备2000还可以包括一个或一个以上电源2026,一个或一个以上有线或无线网络接口2050,一个或一个以上输入输出接口2058;或,一个或一个以上操作系统2041,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器2020,用于执行获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作operation类型;在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。
本申请实施例提供的执行设备、训练设备或终端设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的数据处理方法,或者,以使训练设备内的芯片执行上述实施例描述的数据处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图21,图21为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 2100,NPU 2100作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路2103,通过控制器2104控制运算电路2103提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路2103内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路2103是二维脉动阵列。运算电路2103还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路2103是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器2102中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器2101中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)2108中。
统一存储器2106用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)2105,DMAC被搬运到权重存储器2102中。输入数据也通过DMAC被搬运到统一存储器2106中。
BIU为Bus Interface Unit即,总线接口单元2110,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)2109的交互。
总线接口单元2110(Bus Interface Unit,简称BIU),用于取指存储器2109从外部存储器获取指令,还用于存储单元访问控制器2105从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器2106或将权重数据搬运到权重存储器2102中或将输入数据数据搬运到输入存储器2101中。
向量计算单元2107包括多个运算处理单元,在需要的情况下,对运算电路2103的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元2107能将经处理的输出的向量存储到统一存储器2106。例如,向量计算单元2107可以将线性函数;或,非线性函数应用到运算电路2103的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元2107生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路2103的激活输入,例如用于在神经网络中的后续层中的使用。
控制器2104连接的取指存储器(instruction fetch buffer)2109,用于存储控制器2104使用的指令;
统一存储器2106,输入存储器2101,权重存储器2102以及取指存储器2109均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (30)

1.一种感知网络结构搜索方法,其特征在于,包括:
获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作(operation)类型;
在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述多个操作类型包括所述第一操作类型、所述第二操作类型和所述第三操作类型。
2.根据权利要求1所述的方法,其特征在于,所述在所述目标搜索空间内对所述第一卷积层进行结构搜索,包括:获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
所述在所述目标搜索空间内对所述第二卷积层进行结构搜索,包括:获取所述第二卷积层对应的第二子搜索空间,所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第二子搜索空间内对所述第二卷积层进行结构搜索,得到所述第二卷积层对应的第二操作类型,所述第二操作类型为所述第二子搜索空间包括的操作类型中的一个;和/或,
所述在所述目标搜索空间内对所述第三卷积层进行结构搜索,包括:获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
3.根据权利要求2所述的方法,其特征在于,所述获取所述第一卷积层对应的第一子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
4.根据权利要求2所述的方法,其特征在于,所述获取所述第一卷积层对应的第一子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述主干网络的第二权重值,从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间。
5.根据权利要求2至4任一所述的方法,其特征在于,所述获取所述第二卷积层对应的第二子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第二卷积层的第二权重值,并根据所述对应于所述第二卷积层的第一权重值,从所述目标搜索空间中得到所述第二卷积层对应的第二子搜索空间。
6.根据权利要求2至4任一所述的方法,其特征在于,所述获取所述第二卷积层对应的第二子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述FPN的第二权重值,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述的第二权重值从所述目标搜索空间中确定所述FPN对应的第二子搜索空间。
7.根据权利要求2至6任一所述的方法,其特征在于,所述获取所述第三卷积层对应的第三子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
8.根据权利要求2至6任一所述的方法,其特征在于,所述获取所述第三卷积层对应的第三子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
9.根据权利要求1至8任一所述的方法,其特征在于,所述方法还包括:
接收端侧的第一模型指标;
所述在所述目标搜索空间内对所述待搜索感知网络进行结构搜索,包括:根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,直到所述预设损失满足预设条件,得到所述搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters。
10.一种感知网络结构搜索方法,其特征在于,包括:
获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作(operation)类型;
在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
11.根据权利要求10所述的方法,其特征在于,所述在所述目标搜索空间内对所述第一卷积层进行结构搜索,包括:获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
所述在所述目标搜索空间内对所述第三卷积层进行结构搜索,包括:获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
12.根据权利要求11所述的方法,其特征在于,所述获取所述第一卷积层对应的第一子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
13.根据权利要求11或12所述的方法,其特征在于,所述获取所述第三卷积层对应的第三子搜索空间,包括:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
14.一种图像处理方法,其特征在于,所述方法包括:
获取目标图像;
通过感知网络对所述目标图像进行目标检测,得到检测结果;
其中,所述感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,所述第二卷积层对应于第二操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系、所述第二卷积层与所述第二操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;或,
所述感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;
其中,所述目标搜索空间包括多个操作类型,所述第一操作类型、所述第二操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
15.根据权利要求14所述的方法,其特征在于,在进行结构搜索时,所述第一卷积层对应的搜索空间为第一子搜索空间;或,
所述第二卷积层对应的搜索空间为第二子搜索空间;或,
所述第三卷积层对应的搜索空间为第三子搜索空间;
其中,所述第一子搜索空间和所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型。
16.一种感知网络结构搜索装置,其特征在于,包括:
获取模块,用于获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作operation类型;
结构搜索模块,用于在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第二卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第二卷积层对应于第二操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述多个操作类型包括所述第一操作类型、所述第二操作类型和所述第三操作类型。
17.根据权利要求16所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
获取所述第二卷积层对应的第二子搜索空间,所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第二子搜索空间内对所述第二卷积层进行结构搜索,得到所述第二卷积层对应的第二操作类型,所述第二操作类型为所述第二子搜索空间包括的操作类型中的一个;和/或,
获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
18.根据权利要求17所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
19.根据权利要求17所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述主干网络的第二权重值,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述主干网络的第二权重值,从所述目标搜索空间中确定所述主干网络对应的第一子搜索空间。
20.根据权利要求17至19任一所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第二卷积层的第二权重值,并根据所述对应于所述第二卷积层的第一权重值,从所述目标搜索空间中得到所述第二卷积层对应的第二子搜索空间。
21.根据权利要求17至19任一所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述FPN的第二权重值,其中所述第二权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述的第二权重值从所述目标搜索空间中确定所述FPN对应的第二子搜索空间。
22.根据权利要求17至21任一所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
23.根据权利要求17至21任一所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述header的第二权重值,并根据所述对应于所述header的第二权重值header,从所述目标搜索空间中确定所述header对应的第三子搜索空间。
24.根据权利要求16至23任一所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收端侧的第一模型指标;
所述结构搜索模块,具体用于:
根据所述第一模型指标以及预设损失对所述待搜索感知网络进行结构搜索,直到所述预设损失满足预设条件,得到所述搜索后的感知模型,其中,所述预设损失与模型指标损失有关,所述模型指标损失指示所述待搜索感知网络的第二模型指标与所述第一模型指标之间的差异,所述第一模型指标和所述第二模型指标至少包括如下的一种:模型计算量FLOPs或模型参数量Parameters。
25.一种感知网络结构搜索装置,其特征在于,包括:
获取模块,用于获取待搜索感知网络和目标搜索空间,所述待搜索感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述目标搜索空间包括多个操作(operation)类型;
结构搜索模块,用于在所述目标搜索空间内对所述第一卷积层进行结构搜索,在所述目标搜索空间内对所述第三卷积层进行结构搜索,得到搜索后的感知网络,其中,所述搜索后的感知网络包括的第一卷积层对应于第一操作类型,所述搜索后的感知网络包括的第三卷积层对应于第三操作类型,所述第一操作类型和所述第三操作类型为所述多个操作类型中的操作类型。
26.根据权利要求25所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述第一卷积层对应的第一子搜索空间,所述第一子搜索空间包括所述多个操作类型中的部分或全部操作类型;在所述第一子搜索空间内对所述第一卷积层进行结构搜索,得到所述第一卷积层对应的第一操作类型,所述第一操作类型为所述第一子搜索空间包括的操作类型中的一个;和/或,
获取所述第三卷积层对应的第三子搜索空间,所述第三子搜索空间包括所述多个操作类型中的部分或全部操作类型,在所述第三子搜索空间内对所述第三卷积层进行结构搜索,得到所述第三卷积层对应的第三操作类型,所述第三操作类型为所述第三子搜索空间包括的操作类型中的一个。
27.根据权利要求26所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第一卷积层的第一权重值,所述第一权重值表示操作类型对于所述待搜索感知网络的输出结果的影响能力,并根据所述对应于所述第一卷积层的第一权重值,从所述目标搜索空间中获取所述第一卷积层对应的第一子搜索空间。
28.根据权利要求26或27所述的装置,其特征在于,所述结构搜索模块,具体用于:
获取所述目标搜索空间包括的多个操作类型中的每个操作类型对应于所述第三卷积层的第一权重值,并根据所述对应于所述第三卷积层的第一权重值,从所述目标搜索空间中得到所述第三卷积层对应的第三子搜索空间。
29.一种图像处理装置,其特征在于,所述装置包括:
获取模块,用于获取目标图像;
目标检测模块,用于通过感知网络对所述目标图像进行目标检测,得到检测结果;
其中,所述感知网络包括主干网络、特征金字塔网络FPN和头端header,所述主干网络与所述FPN连接,所述FPN与所述header连接,所述主干网络包括第一卷积层,所述FPN包括第二卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,所述第二卷积层对应于第二操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系、所述第二卷积层与所述第二操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;或,
所述感知网络包括主干网络和头端header,所述主干网络与所述header连接,所述主干网络包括第一卷积层,所述header包括第三卷积层,所述第一卷积层对应于第一操作类型,第三卷积层对应于第三操作类型,所述第一卷积层与第一操作类型的对应关系以及所述第三卷积层与所述第三操作类型的对应关系为基于在所述目标搜索空间内对待搜索感知网络进行结构搜索得到的;
其中,所述目标搜索空间包括所述第一操作类型、所述第二操作类型和所述第三操作类型。
30.根据权利要求29所述的装置,其特征在于,在进行结构搜索时,所述第一卷积层对应的搜索空间为第一子搜索空间;或,
所述第二卷积层对应的搜索空间为第二子搜索空间;或,
所述第三卷积层对应的搜索空间为第三子搜索空间;
其中,所述第一子搜索空间和所述第二子搜索空间包括所述多个操作类型中的部分或全部操作类型。
CN202010109254.2A 2020-02-21 2020-02-21 一种感知网络结构搜索方法及其装置 Active CN111401517B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010109254.2A CN111401517B (zh) 2020-02-21 2020-02-21 一种感知网络结构搜索方法及其装置
PCT/CN2021/076984 WO2021164751A1 (zh) 2020-02-21 2021-02-20 一种感知网络结构搜索方法及其装置
EP21757765.9A EP4109343A4 (en) 2020-02-21 2021-02-20 PERCEPTION NETWORK ARCHITECTURE SEARCH METHOD AND DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010109254.2A CN111401517B (zh) 2020-02-21 2020-02-21 一种感知网络结构搜索方法及其装置

Publications (2)

Publication Number Publication Date
CN111401517A true CN111401517A (zh) 2020-07-10
CN111401517B CN111401517B (zh) 2023-11-03

Family

ID=71436308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010109254.2A Active CN111401517B (zh) 2020-02-21 2020-02-21 一种感知网络结构搜索方法及其装置

Country Status (3)

Country Link
EP (1) EP4109343A4 (zh)
CN (1) CN111401517B (zh)
WO (1) WO2021164751A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112215073A (zh) * 2020-09-10 2021-01-12 华蓝设计(集团)有限公司 高速运动场景下的交通标线快速识别与循迹方法
CN112528123A (zh) * 2020-12-18 2021-03-19 北京百度网讯科技有限公司 模型搜索方法、装置、电子设备、存储介质和程序产品
CN112766282A (zh) * 2021-01-18 2021-05-07 上海明略人工智能(集团)有限公司 图像识别方法、装置、设备及计算机可读介质
WO2021164751A1 (zh) * 2020-02-21 2021-08-26 华为技术有限公司 一种感知网络结构搜索方法及其装置
CN113657388A (zh) * 2021-07-09 2021-11-16 北京科技大学 一种融合图像超分辨率重建的图像语义分割方法
CN115063635A (zh) * 2022-06-23 2022-09-16 澜途集思生态科技集团有限公司 基于DetNAS算法的生态生物识别方法
WO2022246720A1 (zh) * 2021-05-24 2022-12-01 中国科学院深圳先进技术研究院 手术动作识别模型的训练方法、介质和设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117132761A (zh) * 2023-08-25 2023-11-28 京东方科技集团股份有限公司 目标检测方法及装置、存储介质及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190130257A1 (en) * 2017-10-27 2019-05-02 Sentient Technologies (Barbados) Limited Beyond Shared Hierarchies: Deep Multitask Learning Through Soft Layer Ordering
US20190188285A1 (en) * 2017-12-19 2019-06-20 Facebook, Inc. Image Search with Embedding-based Models on Online Social Networks
CN109919304A (zh) * 2019-03-04 2019-06-21 腾讯科技(深圳)有限公司 神经网络搜索方法、装置、可读存储介质和计算机设备
CN110119462A (zh) * 2019-04-03 2019-08-13 杭州中科先进技术研究院有限公司 一种属性网络的社区搜索方法
CN110427827A (zh) * 2019-07-08 2019-11-08 辽宁工程技术大学 一种多尺度感知及全局规划下的自主驾驶网络
US20190370648A1 (en) * 2018-05-29 2019-12-05 Google Llc Neural architecture search for dense image prediction tasks
CN110569972A (zh) * 2019-09-11 2019-12-13 北京百度网讯科技有限公司 超网络的搜索空间构建方法、装置以及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190286984A1 (en) * 2018-03-13 2019-09-19 Google Llc Neural architecture search by proxy
CN108694401B (zh) * 2018-05-09 2021-01-12 北京旷视科技有限公司 目标检测方法、装置及系统
US10304009B1 (en) * 2018-10-08 2019-05-28 StradVision, Inc. Learning method and testing method for object detector based on R-CNN, and learning device and testing device using the same
CN110020667A (zh) * 2019-02-21 2019-07-16 广州视源电子科技股份有限公司 神经网络结构的搜索方法、系统、存储介质以及设备
CN110533180A (zh) * 2019-07-15 2019-12-03 北京地平线机器人技术研发有限公司 网络结构搜索方法和装置、可读存储介质、电子设备
CN111401517B (zh) * 2020-02-21 2023-11-03 华为技术有限公司 一种感知网络结构搜索方法及其装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190130257A1 (en) * 2017-10-27 2019-05-02 Sentient Technologies (Barbados) Limited Beyond Shared Hierarchies: Deep Multitask Learning Through Soft Layer Ordering
US20190188285A1 (en) * 2017-12-19 2019-06-20 Facebook, Inc. Image Search with Embedding-based Models on Online Social Networks
US20190370648A1 (en) * 2018-05-29 2019-12-05 Google Llc Neural architecture search for dense image prediction tasks
CN109919304A (zh) * 2019-03-04 2019-06-21 腾讯科技(深圳)有限公司 神经网络搜索方法、装置、可读存储介质和计算机设备
CN110119462A (zh) * 2019-04-03 2019-08-13 杭州中科先进技术研究院有限公司 一种属性网络的社区搜索方法
CN110427827A (zh) * 2019-07-08 2019-11-08 辽宁工程技术大学 一种多尺度感知及全局规划下的自主驾驶网络
CN110569972A (zh) * 2019-09-11 2019-12-13 北京百度网讯科技有限公司 超网络的搜索空间构建方法、装置以及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
常亮 等: "图像理解中的卷积神经网络", 《自动化学报》 *
常亮 等: "图像理解中的卷积神经网络", 《自动化学报》, vol. 42, no. 9, 30 September 2019 (2019-09-30), pages 1300 - 1312 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021164751A1 (zh) * 2020-02-21 2021-08-26 华为技术有限公司 一种感知网络结构搜索方法及其装置
CN112215073A (zh) * 2020-09-10 2021-01-12 华蓝设计(集团)有限公司 高速运动场景下的交通标线快速识别与循迹方法
CN112528123A (zh) * 2020-12-18 2021-03-19 北京百度网讯科技有限公司 模型搜索方法、装置、电子设备、存储介质和程序产品
CN112766282A (zh) * 2021-01-18 2021-05-07 上海明略人工智能(集团)有限公司 图像识别方法、装置、设备及计算机可读介质
CN112766282B (zh) * 2021-01-18 2024-04-12 上海明略人工智能(集团)有限公司 图像识别方法、装置、设备及计算机可读介质
WO2022246720A1 (zh) * 2021-05-24 2022-12-01 中国科学院深圳先进技术研究院 手术动作识别模型的训练方法、介质和设备
CN113657388A (zh) * 2021-07-09 2021-11-16 北京科技大学 一种融合图像超分辨率重建的图像语义分割方法
CN113657388B (zh) * 2021-07-09 2023-10-31 北京科技大学 一种融合图像超分辨率重建的图像语义分割方法
CN115063635A (zh) * 2022-06-23 2022-09-16 澜途集思生态科技集团有限公司 基于DetNAS算法的生态生物识别方法

Also Published As

Publication number Publication date
CN111401517B (zh) 2023-11-03
EP4109343A4 (en) 2023-11-08
EP4109343A1 (en) 2022-12-28
WO2021164751A1 (zh) 2021-08-26

Similar Documents

Publication Publication Date Title
CN110298262B (zh) 物体识别方法及装置
CN111401517B (zh) 一种感知网络结构搜索方法及其装置
CN110070107B (zh) 物体识别方法及装置
CN111368972B (zh) 一种卷积层量化方法及其装置
CN112418392A (zh) 一种神经网络构建方法以及装置
CN113011575A (zh) 神经网络模型更新方法、图像处理方法及装置
CN112446398A (zh) 图像分类方法以及装置
WO2021218786A1 (zh) 一种数据处理系统、物体检测方法及其装置
CN112990211A (zh) 一种神经网络的训练方法、图像处理方法以及装置
CN111310604A (zh) 一种物体检测方法、装置以及存储介质
CN114255361A (zh) 神经网络模型的训练方法、图像处理方法及装置
CN113570029A (zh) 获取神经网络模型的方法、图像处理方法及装置
CN112215332A (zh) 神经网络结构的搜索方法、图像处理方法和装置
CN113537462A (zh) 数据处理方法、神经网络的量化方法及相关装置
CN113011562A (zh) 一种模型训练方法及装置
CN110222718A (zh) 图像处理的方法及装置
CN114595799A (zh) 一种模型训练方法及装置
CN112464930A (zh) 目标检测网络构建方法、目标检测方法、装置和存储介质
WO2022217434A1 (zh) 感知网络、感知网络的训练方法、物体识别方法及装置
CN111797881A (zh) 图像分类方法及装置
CN111695673A (zh) 训练神经网络预测器的方法、图像处理方法及装置
CN115375781A (zh) 一种数据处理方法及其装置
CN110705564B (zh) 图像识别的方法和装置
US20230401826A1 (en) Perception network and data processing method
WO2024078411A1 (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