CN113657578A - 高效卷积神经网络 - Google Patents

高效卷积神经网络 Download PDF

Info

Publication number
CN113657578A
CN113657578A CN202110869378.5A CN202110869378A CN113657578A CN 113657578 A CN113657578 A CN 113657578A CN 202110869378 A CN202110869378 A CN 202110869378A CN 113657578 A CN113657578 A CN 113657578A
Authority
CN
China
Prior art keywords
residual bottleneck
blocks
layer
computing system
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110869378.5A
Other languages
English (en)
Inventor
A.G.霍华德
M.桑德勒
L-C.陈
A.日莫吉诺夫
M.朱
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.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN113657578A publication Critical patent/CN113657578A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

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

Abstract

本公开提供新的、更有效的神经网络架构。作为一个示例,在一些实现方式中,本公开的神经网络架构可以包括线性瓶颈层,该线性瓶颈层在结构上位于一个或多个卷积层(例如,一个或多个深度可分离卷积层)之前和/或之后。作为另一示例,在一些实现方式中,本公开的神经网络架构可以包括一个或多个反向残差块,其中,反向残差块的输入和输出是薄瓶颈层,而中间层是扩展表示。例如,扩展表示可以包括一个或多个卷积层,诸如一个或多个深度可分离卷积层。在起到反向残差块的输入和输出作用的薄瓶颈层之间可以存在残差快捷连接。

Description

高效卷积神经网络
本申请是申请日2018年08月09日、申请号为201880066914.4、发明名称为“高效卷积神经网络”的PCT发明专利申请的分案申请。
相关申请的交叉引用
本申请要求名称均为“Highly Efficient Convolutional Neural Networks(高效卷积神经网络)”的、在2017年11月24日提交的美国临时专利申请第62/586,007号和在2018年2月17日提交的美国专利申请第15/898,566号的优先权和权益。美国临时专利申请第62/586,007号和美国专利申请第15/898,566号通过引用整体并入本文。
技术领域
本公开总体上涉及人工神经网络(“神经网络”)。更具体地,本公开涉及用于移动和/或嵌入式视觉应用的有效卷积神经网络结构,并且还涉及降低与卷积神经网络相关联的计算成本和/或存储器要求的技术。
背景技术
卷积神经网络已经成为计算机视觉的主力,并且在大多数主要用例中达到了最前沿的结果。卷积神经网络领域的总体趋势是制作更大更复杂的网络以便实现更高的准确度。随着卷积神经网络为了(in service of)增加准确度而增加尺寸和复杂性,它们的计算成本也随之增加。然而,在某一点,这些进步带来减少的回报,因为增加复杂性、尺寸和额外的计算仅使得准确度小幅上涨。
在某些计算资源(例如,存储器和处理能力)受到限制的计算环境的背景下,当前向更大型和更复杂的网络发展的趋势尤其成问题。例如,移动计算设备和/或嵌入式计算为实现这种大型和复杂的网络提供了挑战性的环境。此外,在某些场景或应用中,网络要解决的问题可能不需要提供最前沿准确度的大型复杂的模型。
因此,期望用于减少神经网络(例如,卷积神经网络)的计算成本和/或存储要求的技术。在某些情况下,这种技术可以称为执行神经网络压缩。
神经网络压缩的一个一般方向是网络剪枝(network pruning),其中网络中包括的连接的子集被去除。然而,如果对要去除哪些连接/参数没有约束,则网络剪枝通常导致不规则的网络。这样的网络是不期望的,因为计算上的节省无法轻易利用并且连接的非结构化性质需要额外努力来表示。这些缺点对训练时间和存储器使用产生负面影响。另一方面,如果过多地限制对要去除的参数的约束,则模型的灵活性会降低。
神经网络压缩的另一个方向为架构搜索带来包括遗传算法和强化学习的优化方法。然而,一个缺点是最终产生的网络过于复杂。
发明内容
本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中获悉,或者可以通过实施例的实践而获悉。
本公开的一个示例方面针对一种计算系统,该计算系统包括一个或多个处理器以及存储由一个或多个处理器实现的卷积神经网络的一个或多个非暂时性计算机可读介质。卷积神经网络包括一个或多个卷积块。一个或多个卷积块中的每一个包括线性瓶颈层和一个或多个卷积层。
本公开的另一示例方面针对一种计算系统,该计算系统包括一个或多个处理器以及存储由一个或多个处理器实现的卷积神经网络的一个或多个非暂时性计算机可读介质。卷积神经网络包括一个或多个反向残差块。一个或多个反向残差块中的每一个包括被配置为提供第一输出的一个或多个卷积层以及被配置为接收第一输出并生成第二输出的线性瓶颈层。线性瓶颈层还被配置为接收残差并将残差加到第二输出以提供第三输出。
本公开的另一示例方面针对一种计算系统,该计算系统包括一个或多个处理器以及存储由一个或多个处理器实现的卷积神经网络的一个或多个非暂时性计算机可读介质。卷积神经网络包括一个或多个卷积块。一个或多个卷积块中的每一个包括线性层和一个或多个非线性卷积层。
本公开的另一示例方面针对一种计算系统,该计算系统包括一个或多个处理器和存储由一个或多个处理器实现的卷积神经网络的一个或多个非暂时性计算机可读介质。卷积神经网络包括一个或多个反向残差块。一个或多个反向残差块中的每一个包括被配置为提供第一输出的一个或多个卷积层和被配置为接收第一输出并生成第二输出的线性层。线性层还被配置为接收残差并将残差加到第二输出以提供第三输出。
本公开的另一示例方面针对一种计算系统,该计算系统包括一个或多个处理器和存储由一个或多个处理器实现的卷积神经网络的一个或多个非暂时性计算机可读介质。卷积神经网络包括一个或多个反向残差块。一个或多个反向残差块中的每一个包括提供第一输出的线性瓶颈层和接收第一输出并生成第二输出的一个或多个卷积层。线性瓶颈层被配置为通过残差快捷连接向下游线性瓶颈层提供描述第一输出的残差。
本公开的另一示例方面针对由一个或多个计算机实现的神经网络系统。神经网络系统被配置为接收输入图像并生成对于输入图像的输出。神经网络系统包括卷积子网络。卷积子网络包括线性瓶颈层和一个或多个卷积层。
本公开的另一示例方面针对由一个或多个计算机实现的神经网络系统。神经网络系统被配置为接收输入图像并生成对于输入图像的输出。神经网络系统包括反向残差子网络。反向残差子网络包括被配置为提供第一输出的一个或多个卷积层和被配置为接收第一输出并生成第二输出的线性层。线性层还被配置为接收残差并将残差加到第二输出以提供第三输出。
本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。结合在本说明书中并构成本说明书的一部分的附图示出了本公开的示例实施例,并且与说明书一起用于解释相关原理。
附图说明
参考附图在说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,在附图中:
图1A描绘了根据本公开的示例实施例的示例计算系统的框图。
图1B描绘了根据本公开的示例实施例的示例计算设备的框图。
图1C描绘了根据本公开的示例实施例的示例计算设备的框图。
图2A描绘了根据本公开的示例实施例的示例标准卷积滤波器的图形图。
图2B描绘了根据本公开的示例实施例的示例深度(depthwise)卷积滤波器的图形图。
图2C描绘了根据本公开的示例实施例的示例逐点(pointwise)卷积滤波器的图形图。
图3A和图3B描绘了根据本公开的示例实施例的示例卷积块的图形图。
图4描绘了根据本公开的示例实施例的示例反向残差块(inverted residualblock)的图形图。
图5A描绘了根据本公开的示例实施例的示例卷积块的流程图。
图5B描绘了根据本公开的示例实施例的示例反向残差块的流程图。
图6描绘了本公开的示例实施例的示例实验结果。
图7A和图7B描绘了本公开的示例实施例的示例实验结果。
在多个图中重复的附图标记旨在标识各种实现方式中的相同特征。
具体实施方式
1.概述
本公开的示例方面针对新的、更有效的神经网络架构。作为一个示例,在一些实现方式中,本公开的神经网络架构可以包括线性瓶颈层,该线性瓶颈层在结构上位于一个或多个卷积层之前和/或之后,例如,一个或多个深度可分离卷积层。作为另一示例,在一些实现方式中,本公开的神经网络架构可以包括一个或多个反向残差块(inverted residualblock),其中反向残差块的输入和输出是薄瓶颈层,而中间层是扩展表示。例如,扩展表示可以包括一个或多个卷积层,例如,一个或多个深度可分离卷积层。根据本公开的另一方面,在起到反向残差块的输入和输出作用的薄瓶颈层之间可以存在残差快捷连接。此外,如上所述,瓶颈层本质上可以是线性的。本文所述的神经网络架构已被证明可在跨不同大小的频谱的多个基准上改善移动优化模型的最前沿性能,同时还减少了实现所需的存储和处理资源的量。
更具体地,神经网络已经彻底改变了机器智能的许多领域,能够对挑战性的图像识别任务实现超人类的准确度。然而,改善准确度的动力通常是有代价的:现代最前沿的网络需要大量计算资源,这超出许多移动和嵌入式应用的能力。
相比之下,本公开引入了新的、更有效的神经网络架构,其对于移动和资源受限的环境特别有益。本文所述的网络通过在保持相同的准确度的同时显著减少所需的操作和存储器的数量,推动移动定制的计算机视觉模型的最前沿水平。
根据本公开的一方面,神经网络可以包括一个或多个卷积块。术语“块”通常是指网络内一层或多层的定义结构,并且也可以称为模块或子网络。每个卷积块可以包括线性瓶颈层和一个或多个卷积层。卷积层可以执行非线性变换。因此,与仅依赖于非线性层的某些现有网络结构相比,本公开的某些实现方式可以包括对其输入数据执行线性变换的瓶颈层。
在一些实现方式中,一个或多个卷积层可以是或包括一个或多个可分离卷积层。例如,每个可分离卷积层可以被配置为在处理输入期间分别应用深度卷积和逐点卷积两者。
根据本公开的另一方面,线性瓶颈层可以在第一维空间中操作或以其他方式表示数据,而一个或多个卷积层(例如,可分离卷积层)可以在第二维空间中操作或以其他方式表示数据,其中第二维空间包括更大数量的维度。作为示例,线性瓶颈层可以以第一张量表示数据,而一个或多个卷积层可以以一个或多个第二张量表示数据,其中一个或多个第二张量中的每一个都包括比第一张量大的欧几里得空间。因此,线性瓶颈层可被配置为在低维空间中操作(例如,执行线性变换),而一个或多个卷积层被配置为在高维空间中操作(例如,执行一个或多个非线性变换)。这样,在某些情况下,卷积层可以被称为“扩展卷积层”。
该维度结构使得卷积块的输入域和输出域之间能够自然分离。这允许将输入/输出域与变换的可表达性(expressiveness)解耦,这为分析提供了方便的框架。具体地,该维度结构可以在构建块的输入/输出域(例如,瓶颈层)和层变换(即将输入转换为输出的非线性函数)之间实现自然分离。前者可以看作是网络在每一层的容量,而后者则可以看作是可表达性。这与传统的卷积网络结构形成了对比,在传统的卷积网络结构中,可表达性和容量纠缠在一起,并且是输出层深度的函数。
此外,由于这种交替的维度结构,在某些情况下,卷积块可以被称为“混合线性卷积块”和/或“交替线性卷积块”
在一些实现方式中,神经网络可以包括一个接一个地堆叠的多个卷积块。因此,在一些实现方式中,特定卷积块的线性瓶颈层可将上一卷积块(例如,上一顺序卷积块)的卷积层的输出作为输入(例如,对其执行线性变换)。
因此,在堆叠配置中,神经网络可以包括与多个非线性卷积层(例如,可分离卷积层)交错的多个线性瓶颈层。这样,取决于如何定义卷积块,每个块的线性瓶颈层在结构上可以位于该块的相应卷积层之前或之后。
本公开的另一主要贡献是新颖的层模块:具有线性瓶颈的反向残差块。反向残差块可以类似于上述的卷积块,但是可以进一步包括经由残差快捷连接在层之间(例如,在线性瓶颈层之间)传递残差信息。
在一些实现方式中,反向残差块可以包括被配置为提供第一输出的一个或多个卷积层和被配置为接收第一输出并生成第二输出的线性瓶颈层。另外,线性瓶颈层还可以被配置为接收残差并将该残差加到第二输出以提供第三输出。
作为一个示例,线性瓶颈层可以从上一反向残差块(例如,上一顺序反向残差块)的线性瓶颈层接收残差。更具体地,在一些实现方式中,多个反向残差块可以一个接一个地堆叠,并且每个反向残差块可以包括线性瓶颈层,该线性瓶颈层从先前块(例如,上一顺序块)的线性瓶颈层接收残差和/或向后续块(例如,下一个顺序块)的线性瓶颈层提供残差。例如,可以经由相应的残差快捷连接来提供残差。在另一示例中,反向残差块(例如,网络的初始反向残差块)的线性瓶颈层可以从在结构上位于该至少一个反向残差块的一个或多个卷积层之前的初始线性瓶颈层接收残差。
如上所述,线性瓶颈层可以被配置为在比卷积层更低维度的空间中操作。因此,在一个示例中,反向残差块可以采用低维压缩表示作为输入,该低维压缩表示首先被扩展至高维并利用卷积层(例如,轻量级深度卷积)进行滤波。随后可以使用线性卷积将特征投影回低维表示。
类似于卷积块,反向残差块的维度结构使得能够在卷积块的输入和输出域(例如,块的容量)以及块的层变换(例如,块的可表达性)之间实现自然分离。这允许将输入/输出域与变换的可表达性解耦,这为分析提供了方便的框架。
本公开提供了许多技术效果和益处。作为一个示例技术效果和益处,可以在任何现代框架中使用标准操作来有效地实现由本公开提供的神经网络结构。作为一个示例技术效果和益处,由本公开提供的神经网络结构已被证明能使用标准基准在多个性能点上实现或击败最前沿的网络。因此,本公开代表网络自身性能的进步。
此外,本文描述的卷积块设计特别适合于移动设计。具体地,作为另一示例技术效果和益处,本公开的神经网络结构显著减少了推断(inference)期间所需的存储占用,因为它们从未完全实现大的中间张量。这减少了许多现代设备(例如,嵌入式硬件设计)中对主存储器访问的需求,这些现代设备提供了少量的极快存储器(例如,非常快的软件控制的高速缓存存储器)。减少所需的访问和/或计算操作的数量还提高了可以执行推断的速度,同时减少了所消耗的处理资源的数量。因此,除了网络自身性能的进步之外,本公开还提供了显著的改进,这减少了存储器和处理资源的使用,从而提高了推断速度。
现在参考附图,将进一步详细讨论本公开的示例实施例。
2.示例设备和系统
图1A描绘了可以实现本公开的一个示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,例如,诸如个人计算设备(例如,膝上型计算机或台式计算机)、移动计算设备(例如,智能电话或平板)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。在一些实现方式中,设备102不一定是与用户相关联的设备,反而可以是任何任意的移动或嵌入式设备或系统。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器114可以存储由处理器112运行以使用户计算设备102执行操作的数据116和指令118。
用户计算设备102可以存储或包括一个或多个机器学习模型120。例如,机器学习模型120可以是或可以包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其他多层线性和/或非线性模型。神经网络可以包括递归神经网络(例如,长短期记忆递归神经网络)、前馈神经网络、卷积神经网络(例如,MobileNet)或其他形式的神经网络。
在一些实现方式中,一个或多个机器学习模型120可以通过网络180从服务器计算系统130接收,存储在用户计算设备的存储器114中,并由一个或多个处理器112使用或以其他方式实现。在一些实现方式中,用户计算设备102可以实现单个机器学习模型120的多个并行实例。
附加地或替选地,一个或多个机器学习模型140可以包括在服务器计算系统130中或由其存储和实现,该服务器计算系统130根据客户端-服务器关系与用户计算设备102进行通信。例如,机器学习模型140可以由服务器计算系统130实现为网络服务(web service)的一部分。因此,可以在用户计算设备102处存储和实现一个或多个模型120和/或可以在服务器计算系统130处存储和实现一个或多个模型140。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或手写笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可通过其输入通信的其他装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器134可以存储由处理器132运行以使服务器计算系统130执行操作的数据136和指令138。
在一些实现方式中,服务器计算系统130包括一个或多个服务器计算设备或由其实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
服务器计算系统130可以通过与经由网络180通信地耦合的训练计算系统150的交互来训练机器学习模型140。训练计算系统150可以与服务器计算系统130分离或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器154可以存储由处理器152运行以使训练计算系统150执行操作的数据156和指令158。在一些实现方式中,训练计算系统150包括一个或多个服务器计算设备或由其实现。
训练计算系统150可以包括模型训练器160,模型训练器160使用各种训练或学习技术(例如,误差反向传播(backwards propagation of errors))来训练存储在服务器计算系统130处的机器学习模型140。在一些实现方式中,执行误差反向传播可以包括执行沿时间的截断反向传播(truncated backpropagation through time)。模型训练器160可以执行多种泛化(generalization)技术(例如,权重衰减、随机失活(dropouts)等),以改进模型被训练的泛化能力。具体地,模型训练器160可以基于一组训练数据162来训练机器学习模型140。
在一些实现方式中,如果用户已经提供了同意(consent),则训练示例可以由用户计算设备102提供。因此,在这样的实现方式中,提供给用户计算设备102的模型120可以由训练计算系统150在从用户计算设备102接收的用户特定数据上训练。在某些情况下,该过程可以称为个性化(personalize)模型。
模型训练器160包括用于提供期望功能的计算机逻辑。可以以控制通用处理器的硬件、固件和/或软件来实现模型训练器160。例如,在一些实现方式中,模型训练器160包括存储在存储设备上、加载到存储器中并且由一个或多个处理器运行的程序文件。在其他实现方式中,模型训练器160包括一组或多组计算机可执行指令,其存储在有形的计算机可读存储介质中,诸如RAM硬盘或光或磁介质。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或其某种组合,并且可以包括任何数量的有线或无线链路。通常,可以使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来承载通过网络180的通信。
图1A示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现方式中,机器学习模型120可以在用户计算设备102处被本地训练和使用。在这样的实现方式的一些中,用户计算设备102可以实现模型训练器160,以基于用户特定数据来个性化机器学习模型120。
图1B描绘了根据本公开的示例实施例的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1到N)。每个应用包含自己的机器学习库和机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息收发应用、电子邮件应用、浏览器应用、照片存储和管理应用等。
如图1B所示,每个应用可以与计算设备的多个其他组件(例如,一个或多个传感器、上下文管理器、设备状态组件和/或附加组件)通信。在一些实现方式中,每个应用可以使用API(例如,公共API)与每个设备组件通信。在某些实现方式中,每个应用使用的API特定于该应用。
图1C描绘了根据本公开的示例实施例的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1到N)。每个应用与中央智能层通信。示例应用包括文本消息收发应用、电子邮件应用、照片存储和管理应用、浏览器应用等。在一些实现方式中,每个应用可以使用API(例如,所有应用的共用API)与中央智能层(以及存储在其中的模型)进行通信。
中央智能层包括许多机器学习模型。例如,如图1C所示,可以为每个应用提供相应的机器学习模型(例如,神经网络模型),并由中央智能层管理。在其他实现方式中,两个或更多应用可以共享单个机器学习模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型(例如,单个神经网络模型)。在一些实现方式中,中央智能层包括在计算设备50的操作系统内或由其实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的数据的集中式存储库(repository)。如图1C所示,中央设备数据层可以与计算设备的多个其他组件(例如,一个或多个传感器、上下文管理器、设备状态组件和/或附加组件)通信。在一些实现方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
3.示例网络结构
3.1示例深度可分离卷积
深度可分离卷积可以是用于构建有效神经网络的关键构建块。基本思想是用将卷积分为两个单独的层的因式分解版本(factorized version)代替全卷积算子。在一些实现方式中,第一层称为深度卷积,并且通过对每个输入通道应用单个卷积滤波器来应用轻量级滤波。在这样的实现方式中,第二层是1×1卷积,称为逐点卷积,它负责通过计算输入通道的线性组合来构建新特征。因此,在一些实现方式中,深度卷积将单个滤波器应用于每个输入通道。然后逐点卷积应用1×1卷积以将深度卷积的输出组合。
图2A-C示出了如何将标准卷积(图2A)因式分解为深度卷积(图2B)和1×1逐点卷积(图2C)。
标准卷积在一个步骤中既可以对输入进行滤波又可以将输入组合为一组新的输出。深度可分离卷积将其分为两层,用于滤波的单独层和用于组合的单独层。这种因式分解具有急剧减少计算和模型大小的效果。
具体地,标准卷积可以采用hi×wi×di输入张量Li并应用卷积核
Figure BDA0003188511340000111
来生成Lj,即hi×Wi×dj输出张量。标准卷积层的计算成本为:
hi·wi·di·dj·k·k (1)
其中,计算成本取决于所有项的乘积。
深度可分离卷积可以代替标准卷积层,而成本仅为:
hi·wi·di·k·k+hi·wi·di·dj (2)
这是深度卷积和1×1逐点卷积的和。
与传统计算层相比,深度可分离卷积将计算减少了以下因子:
Figure BDA0003188511340000112
在本公开的神经网络结构的一些示例实现方式中,卷积神经网络可以使用k=3(3×3深度可分离卷积),因此计算成本比标准卷积少8到9倍,而仅略微降低了准确度。
3.2线性瓶颈的示例讨论
考虑由n层组成的深层神经网络。看一下层Li,这样的层具有维度为hi×wi×di的激活张量。在本节中,将讨论这些激活张量的基本性质,将其视为具有di维度的hi×wi个“像素”的容器。非正式地,对于第i层,当输入是真实图像时,其“感兴趣的流形(manifold ofinterest)”将指一组可观察的高维像素。显然,这种流形不是直接可表达的,但是可以凭经验研究其各种性质。例如,已经假设神经网络中的这种感兴趣的流形可以嵌入到低维子空间中。换句话说,当人们看着深度卷积层的所有单独的d通道像素时,这些值中编码的信息实际上位于某种流形中,其进而可以嵌入到低维子空间中。然而,注意,流形的维数(dimensionality)与可以通过线性变换嵌入的子空间的维数不同。
乍一看,然后可以简单地通过减少操作空间的维数来减少层的维数,来捕获并利用这样的事实。然而,当考虑到深度卷积神经网络实际上具有非线性的每坐标变换(诸如relu)时,这种直觉就失效了。例如,应用于1维空间中的线的relu会产生“射线(ray)”,而在
Figure BDA0003188511340000121
空间中,对于一般取向(orientation)而言,它会导致具有n个接头(joint)的分段(piece-wise)线性曲线。可以看出,通常,如果层变换relu Bx的结果为非零体积S,则通过输入的线性变换B获得映射到此集合内部S的内部的点,从而表明输入空间中与全尺寸输出相对应的部分限于线性变换。换句话说,深度网络仅在输出域的非零体积部分具有线性分类器的功能(power)。
这表明如果输出流形具有非零体积部分V,则映射到V的输入通过线性变换被映射。另一方面,当relu使体积崩溃(collapse)时,它不可避免地会丢失信息。然而,也可以展示,如果输入流形可嵌入到封闭空间的明显更低维的子空间中,则relu变换通常会保留信息,同时将急需的复杂性引入一组可表达的函数中。
总而言之,本公开的各方面认识并利用了指示感兴趣的流形应位于更高维空间的低维子空间中的两个属性。首先,通过神经网络后的非零体积集合对应于线性变换。其次,relu能够保留有关输入流形的完整信息,但前提是输入域位于输入空间的低维子空间中。
本公开的各方面可以基于这些原理来优化现有的神经架构。由于感兴趣的流形是低维的,因此这可以通过将线性瓶颈层插入卷积块中来捕获。线性层可以防止非线性破坏过多的信息。输入瓶颈的尺寸与内部尺寸之间的比率可以称为扩展比(expansion ratio)。
3.3示例卷积块
图3A和图3B描绘了根据本公开的示例实施例的示例卷积块的图形图。
首先参考图3A,描绘了第一示例卷积块300。术语“块”通常指网络内的一层或多层的定义结构,并且也可以称为模块或子网络。神经网络可以包括一个或多个卷积块300。例如,多个块300可以一个接一个地堆叠。
示例卷积块300包括线性瓶颈层302和扩展卷积块,该扩展卷积块包括深度卷积层304和逐点卷积层306。
根据本公开的另一方面,线性瓶颈层302可以在第一维空间中操作或以其他方式表示数据,而一个或多个卷积层(例如,可分离卷积层304和306)可以在第二维空间中操作或以其他方式表示数据,其中,第二维空间包括大量维度。因此,线性瓶颈层302可以被配置为在低维空间中操作(例如,执行线性变换),而一个或多个卷积层304和306被配置为在高维空间中操作(例如,执行一个或多个非线性变换)。这样,卷积层304和306可以被称为“扩展卷积层”或一起被称为“扩展卷积块”。
因此,与某些仅依赖于非线性层的现有网络结构相比,卷积块300可以包括瓶颈层302,该瓶颈层对其输入数据执行线性变换。
该维度结构使得卷积块的输入域和输出域之间能够自然分离。这允许将输入/输出域与变换的可表达性解耦,这为分析提供了方便的框架。此外,由于这种交替的维度结构,在某些情况下,卷积块可以被称为“混合线性卷积块”和/或“交替线性卷积块”。
在逐点卷积层306之后是第二线性瓶颈层312。作为一个示例,在一些实现方式中,第二线性瓶颈层312可以是卷积块300的后续迭代的线性瓶颈层。例如,在图3A中,这种关系(即,层312属于后续块)由应用在层312中的较浅阴影表示。在整个附图中,继续了这种较浅阴影表示的约定,即较浅阴影层属于后续块。
因此,在一些实现方式中,后续卷积块的线性瓶颈层(例如,312)可以将上一卷积块(例如,块300)的卷积层(例如,304和306)的输出作为输入(例如,对其执行线性变换)。
因此,在堆叠配置中,神经网络可以包括与多个非线性卷积层(例如,可分离卷积层)交错的多个线性瓶颈层。这样,取决于如何定义卷积块,每个块的线性瓶颈层在结构上可以位于该块的相应卷积层之前或之后。
例如,通过改变定义块的约定,可以切换线性瓶颈层和卷积层的顺序。例如,图3B说明了这一原理。
图3B描绘了另一示例卷积块350的图形图。卷积块350包括深度卷积层352和逐点卷积层354。层352和354可以类似于上面参考图3A所述的层304和306进行操作。
仍然参考图3B,在卷积层352和354之后是线性瓶颈层356。线性瓶颈层356可以类似于上面参考图3A所述的层302和/或312进行操作。
仍然参考图3B,在线性瓶颈层356之后是一个或多个附加的卷积层362。例如,附加的卷积层362可以是可分离卷积层,使得一个或多个附加的深度卷积层紧接在线性瓶颈层356之后。
因此,参考图3A和图3B二者,可以看出示例卷积块可以包括在结构上位于一个或多个卷积层(例如,诸如执行非线性变换的可分离卷积层的卷积层)之前和/或之后的线性瓶颈层。事实上,在实践中,示例块300和350当分别放置于堆叠配置中时是等效的。在一些实现方式中,堆叠中的初始块和/或最终块可以包括两个线性瓶颈层。
作为另一示例,图5A描绘了根据本公开的示例实施例的另一示例卷积块的流程图。
3.4示例反向残差块
图4描绘了根据本公开的示例实施例的示例反向残差块400的图形图。反向残差块400可以类似于上述的卷积块300和350,但是可以进一步包括经由残差快捷连接408在层之间(例如,在线性瓶颈层402和412之间)传递残差信息。
更具体地,示例反向残差块400可以包括线性瓶颈层402。在线性瓶颈层402之后,块400可以进一步包括一个或多个卷积层。例如,如图4所示,块400可以进一步包括多个深度卷积层404和多个逐点卷积层406。例如,这些层404和406可以被称为扩展卷积层或扩展卷积块。
第二线性瓶颈层412可以在卷积层404和406之后。作为一个示例,在一些实现方式中,第二线性瓶颈层412可以是反向残差块400的后续迭代的线性瓶颈层。
因此,在一些实现方式中,后续反向残差块的线性瓶颈层(例如,412)可以将上一卷积块(例如,块400)的卷积层(例如,404和406)的输出作为输入(例如,对其执行线性变换)。
此外,根据本公开的一方面,线性瓶颈层402可以被配置为经由残差快捷连接408向第二线性瓶颈层412提供残差。第二线性瓶颈层412可以被配置为将残差加到它通过对逐点卷积层406的输出进行变换生成的输出中。这种模式可以重复。也就是说,类似于层412,线性瓶颈层402可以从上一反向残差块(例如,上一顺序反向残差块)(未示出)的上一线性瓶颈层接收残差。同样,线性瓶颈层412本身可以向后续块(例如,下一个顺序块)(未示出)的线性瓶颈层提供残差。
插入快捷的一种动机类似于经典的残差连接的动机:改进梯度跨多个层传播的能力。然而,反向设计是大大提高了存储效率,以及提供了改进的性能。
此外,在本文描述的网络中,层是可去除的。例如,可以去除卷积块(例如,反向残差块),并且网络的其余部分可以重新布线,无需任何重新训练,而仅需付出少许的准确度成本。
作为另一示例,图5B描绘了根据本公开的示例实施例的另一示例反向残差块的流程图。
图3A-B、图4和图5A-B所示的具体的层、滤波器或核大小仅作为示例提供。
4.示例网络实现方式
现在将详细描述一种示例模型实现方式(称为“MobileNet V2”)的示例架构。该示例提供了本公开的各方面的可能实现方式的一个示例。本公开不受示例实现方式的限制或不限于示例实现方式。
如前几节所述,基本构建块可以是带有残差的瓶颈深度可分离卷积。MobilenetV2的架构可以包含具有32个滤波器的初始全卷积层,之后是表2中列出的19个残差瓶颈层。Relu6由于它在用于低精度计算时具有鲁棒性的性质,可以用作非线性的源。可以使用3×3的核大小,这对于现代网络而言是标准的。在训练期间,可以利用随机失活和批量归一化。
除第一层外,示例架构可以在整个网络中使用恒定的扩展速率。在5到10之间的扩展速率会导致几乎相同的性能曲线,其中较小的网络在较小的扩展速率下效果更好,而较大的网络在较大的扩展速率下性能稍好。
在对本公开的示例实现方式执行的一些示例实验中,将扩展因子6始终应用于输入张量的大小。例如,对于采用64通道输入张量并产生大小为128通道的张量的瓶颈层,则中间扩展层为64*6=384个通道。
表1:瓶颈残差块从k通道到k′通道的变换,其中步幅(stride)为s,且扩展因子为t。
Figure BDA0003188511340000161
表2:示例Mobilenet V2架构。根据重复次数,每行描述了一个或多个相同(模步幅(modulo stride))层的序列。每个块中的最后一层可以具有步幅1或2。可以使用更少的步幅2的块来保留内部张量的布局。可以始终对输入张量应用扩展。
Figure BDA0003188511340000162
权衡超参数:通过使用输入图像分辨率和宽度乘数(width multiplier)作为可根据期望的准确度/性能权衡进行调整的可调超参数,架构可以根据不同的性能点进行定制。一个示例网络(乘数1,224x224)的计算成本为300百万次乘加,并使用了3.4百万个参数。针对从96到224的输入分辨率和从0.35到1.5的宽度乘数,探索了性能权衡。网络计算成本从7次乘加变动到920次乘加,而模型大小在1.7M和5.3M之间变化。对于小于1的乘数,可以将宽度乘数应用于除最后一个卷积层以外的所有层。这改善了较小模型的性能。
5.示例实现方式说明
5.1示例存储有效推断
反向残差瓶颈层允许特别存储有效的实现方式,这对于移动应用非常重要。使用例如Tensorflow或Caffe的推断的标准有效实现方式,可以构建有向非循环计算超图G,其由代表运算的边和代表中间计算的张量的节点组成。为了使需要存储在存储器中的张量总数最小化,对计算进行了调度。在最一般的情况下,它会搜索所有可能的计算阶数(computation order)Σ(G)并选取使下式最小化的计算阶数:
Figure BDA0003188511340000171
其中,R(i,π,G)是连接到πi…πn节点中的任何一个的中间张量的列表,|A|表示节点|A|的大小,并且size(i)是在运算i期间内部存储所需的存储的总量。
对于仅具有平凡并行结构(例如,残差连接)的图,只有一个不平凡可行计算阶数,因此可以简化对计算图G进行推断所需的存储的总量和界限:
Figure BDA0003188511340000172
换句话说,存储量就是所有张量上组合的输入和输出的最大总大小。在下面的内容中,展示了如果将瓶颈残差块视为单个运算(并且将内部卷积视为一次性张量),则存储的总量将由瓶颈张量的大小而不是由瓶颈内部的张量的大小(甚至大得多的)来支配(dominate)。
瓶颈残差块:在某些实现方式中,瓶颈块算子F(x)可以表示为三个算子的复合
Figure BDA0003188511340000173
其中A是线性变换A:Rs×s×k→Rs×s×n
Figure BDA0003188511340000174
是非线性的每通道变换:
Figure BDA0003188511340000175
并且B仍是对输出域的线性变换:B:Rs′×s′×n→Rs′×s′×k′
对于本文描述的各方面的某些示例实现方式,
Figure BDA0003188511340000176
Figure BDA0003188511340000177
但是结果适用于任何每通道变换。假设输入域的大小为|x|并且输出域的大小为|y|,则F(X)可以仅使用|s2k|+|s′2k′|+O(max(s2,s′2))的存储。
示例算法可以基于以下事实:内部张量I可以表示为大小均为n/t的t个张量的级联(concatenation),然后函数可以表示为:
Figure BDA0003188511340000178
通过累加和,只需要将一个大小为n/t的中间块始终保留在存储器中。使用n=t,最终可能必须始终仅保留中间表示的单个通道。启用此技巧的两个约束是:(a)内部变换(其可以包括非线性和深度)针对每个通道的事实,以及(b)连续的非每个通道算子具有很大的输入大小与输出的比率。对于大多数传统的神经网络,这种技巧不会产生明显的改善。
注意,使用t路拆分计算F(X)所需的乘加算子的数量与t无关,但是,在现有的实现方式中,发现用几个较小的乘法代替一个矩阵乘法会由于高速缓存未命中的增加而损害运行时性能。发现该方法在用于t为2与5之间的小常数时最有用,这大大降低了存储需求,并且仍然允许利用通过使用由深度学习框架提供的高度优化的矩阵乘法和卷积算子获得的大多数效率。特殊的框架级别优化可能会导致进一步的运行时改进。
6.示例应用和实验
本公开描述的网络和网络结构可以用于解决多个不同的问题或应用于多个不同的任务。以下提供本公开的各方面的示例实现方式的示例实验。这些仅作为示例提供。本公开不限于这些示例或不受这些示例的限制。
6.1 ImageNet分类
作为一个示例,可以训练包括本文描述的一个或多个结构的卷积神经网络来执行图像分类。
示例训练设置:可以使用Tensorflow执行训练。可以使用衰减和动量均设置为0.9的标准RMSPropOptimizer。可以在每层之后使用批量归一化,并且标准权重衰减可以设置为0.00004。可以使用0.045的初始学习速率,而每代(epoch)的学习速率衰减率为0.98。训练可以由16个GPU异步工作者执行,批大小为96。
示例结果:将本公开的示例网络与MobileNetV1、ShuffleNet和NASNet-A模型进行比较。对于ShuffleNet,请参见Zhang等人的“Sufflenet:An extremely efficientconvolutional neural network for mobile devices(一种用于移动设备的极其高效的卷积神经网络)”,CoRR,abs/1707.01083,2017年。对于NASNet-A,请参见Zoph等人的“Learning Transferable architectures for scalable image recognition(学习可扩展架构以实现可伸缩图像识别)”,CoRR,abs/1707.07012,2017年。
表4提供了若干选定模型的统计,图6给出了完整的性能图。具体地,图6示出了MobileNetV2相对于MobileNetV1、SuffleNet和NAS的性能曲线。对于所有的MobileNetV2网络,乘数0.35、0.5、0.75和1.0用于所有分辨率,而加数1.4用于224。
表4:ImageNet的性能、不同网络的比较。按照运算的惯例,对乘加总次数进行计数。在最后一列中,报告了使用专有优化的Tensorflow在Pixel Phone的单个大型核上运行这些网络的运行时间(以毫秒(ms)为单位)。由于框架尚不支持有效的组卷积,因此未报告ShuffleNet编号。
Figure BDA0003188511340000191
6.2示例对象检测
作为另一示例,可以训练包括本文描述的一个或多个结构的卷积神经网络来执行对象检测。例如,可以修改单发检测器(Single Shot Detector,SSD)模型以形成移动友好(mobile-friendly)变型,其可以称为“SSDLite”。具体地,在SSD预测层中,可以用可分离卷积(例如,深度后跟随1x1投影)代替所有常规卷积。此设计与MobileNet的总体设计一致,并且显示出更高的计算效率。与常规SSD相比,SSDLite大大减少了参数数量和计算成本两者,如下表5所示。
表5:配置有MobilenetV2并且预测80个类的SSD和SSDLite之间的大小和计算成本的比较。
Figure BDA0003188511340000192
在COCO数据集上,将MobileNetV2和V1作为用于对象检测的特征提取器的性能与单发检测器(SSD)的修改后版本进行比较。还将这些与作为基准的YOLOv2和原始SSD(以VGG-16作为基础网络)进行比较。
对于MobileNetV2,SSDLite的第一层附接到第15层的中间扩展层(输出步幅为16),SSDLite的第二层和其余层附接到最后一层的顶部(输出步幅为32)。此设置与MobileNet V1一致,因为第一层和第二层附接到具有相同输出步幅的基本网络特征映射。
这两个MobileNet模型都使用开源Tensorflow对象检测API进行训练和评估。这两个模型的输入分辨率均为320x320。对mAP(COCO挑战度量)、参数数量和乘加次数进行了基准测试(benchmark)和比较。在表6中示出了结果。MobileNetV2 SSDLite不仅是最高效的模型,而且是三个模型中最准确的。值得注意的是,MobileNetV2 SSDLite效率高20倍,且大小小10倍,但在COCO数据集上仍优于YOLOv2。
表6:在COCO数据集对象检测任务上,MobileNetV2+SSDLite和其他实时检测器的性能比较。MobileNetV2+SSDLite以极少的参数和计算复杂性实现了有竞争力的准确度。所有模型都在trainval35k上进行训练,并在test-dev上进行评估。
Figure BDA0003188511340000201
6.3示例语义分割
作为又一示例,可以训练包括本文描述的一个或多个结构的卷积神经网络来执行语义分割。例如,MobileNet架构可以与DeepLabv3一起用作特征提取器(请参见Liang-Chieh Chen等人,“Rethinking atrous convolution for semantic image segmentation(对用于语义图像分割的空洞卷积的重新思考)”,CoRR,abs/1706.05587,2017年)。
具体地,MobileNet可以与DeepLabv3一起用作特征提取器,用于语义分割任务。DeepLabv3采用功能强大的工具-空洞卷积(atrous convolution)以显式控制所计算的特征映射(map)的分辨率,并构建五个并行头,包括(a)空洞空间金字塔池化模块(AtrousSpatial Pyramid Pooling module,ASPP),其包含具有不同空洞速率的三个3×3卷积,(b)1×1卷积头,以及(c)图像级特征。输入图像空间分辨率与最终输出分辨率的比率由output_stride(输出步幅)表示,其通过适当地应用空洞卷积来控制。对于语义分割,可以使用output_stride=16;或者,对于更密集的特征映射,可以使用output_stride=8。在PASCAL VOC 2012数据集上进行了示例实验,带有额外的加注释的图像和评估度量mIOU。
主要针对以下三个方面进行了实验:(1)不同的特征提取器;(2)简化DeepLabv3头以进行更快的计算;以及(3)不同的推断策略以提高性能。下面在表7中列出了主要结果。从表中可以观察到,(a)包括多尺度输入并添加左右翻转图像的推断策略会显著增大FLOPS,因此不适合设备上的应用;(b)使用output_stride=16比output_stride=8更加有效,从而减少计算;(c)MobileNetV1已经是功能强大的特征提取器,并且仅需要比ResNet-101少大约4.9-5.7倍的FLOPS(例如,mIOU:78.56vs 82.70,FLOPS:1983.80vs 9741.18);(d)与原始的最后一个特征映射相比,在MobileNetV2的倒数第二个特征映射之上构建DeepLabv3头更有效,因为倒数第二个特征映射包含320个通道而不是1280个通道,并且通过这样做,可以实现相似性能,而需要的FLOPS比MobileNetV1对应的FLOPS少大约2.5倍;以及(e)DeepLabv3头在计算上非常昂贵,并且去除ASPP模块会显著降低FLOPS,而性能略有劣化。最后,在表中以粗体标识了设备上的应用的一个候选,其实现75.32%的mIOU,仅要求5.5B的FLOPS(或2.75B的MAdds)。
表7:在PASCAL VOC 2012验证集上的MobileNet+DeepLabv3推断策略。MNet V2*:倒数第二个特征映射用于DeepLabv3头,其包括(1)空洞空间金字塔池化(ASPP)模块,以及(2)1×1卷积以及图像池化特征。OS:output_stride(输出步幅),其控制分割图的输出分辨率。MF:测试过程中的多尺度和左右翻转的输入(Multi-scale and left-right flippedinput)。所有模型都已在COCO上进行了预训练。以粗体显示设备上的应用的潜在候选。PASCAL图像的尺寸为512x512,并且空洞卷积使我们能够在不增加参数的数量的情况下控制输出特征分辨率。
Figure BDA0003188511340000221
6.4附加示例实验
图7A和图7B描绘了本公开的示例实施例的附加示例实验结果。
具体地,图7A示出了瓶颈层中非线性的影响。从理论上推测,线性瓶颈模型比非线性瓶颈模型的功能要弱得多,因为激活总是可以在线性状态下进行操作,只要对偏差和尺度(scaling)进行适当的更改。然而,图7A所示的示例实验结果表明,线性瓶颈事实上改善了性能,这表明非线性算子在瓶颈的低维空间中无益。
图7B示出了残差块中变化的影响。具体地,图7B中所示的示例实验结果表明,连接瓶颈层的快捷方式比连接扩展层的快捷方式性能更好。
7.示例讨论
本公开的各方面针对一种新的网络架构,其使得能够实现在多个性能点上推动最前沿技术水平的一系列模型。一个基本的构建单元-瓶颈残差块具有使其特别适合于移动应用的多个属性。它允许非常存储有效的推断,并可以利用所有神经框架中存在的标准运算。
对于ImageNet数据集,根据本公开的示例架构适用于从10百万次乘加变动到700百万次乘加的模型,从而改进了现有技术。此外,架构比基于自动网络搜索的先前最前沿的技术要简单的多。
对于对象检测任务,根据本公开的示例网络在准确度和模型复杂性方面均优于COCO数据集上的最前沿的实时检测器。值得注意的是,与修改的SSD检测模块结合的架构比YOLOv2的计算少20倍且参数少10倍。
在理论上:所提出的卷积块具有允许将网络表达性(由扩展层编码)与其容量(由瓶颈输入编码)分离的独特属性。
8.附加公开
本文讨论的技术提到服务器、数据库、软件应用和其他基于计算机的系统,以及采取的行动和发送到此类系统及从此类系统发送的信息。基于计算机的系统的固有灵活性允许在组件之间进行任务和功能的各种各样可能的配置、组合以及划分。例如,本文讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实现。数据库和应用可以在单个系统上实现,也可以分布在多个系统上。分布式组件可以顺序或并行运行。
尽管已经关于本主题内容的各种具体示例实施例详细描述了本主题内容,但是每个示例都是通过说明而不是对本公开的限制的方式提供的。本领域技术人员在理解前述内容后可以容易地给出这些实施例的变更、变型和等效。因此,本主题公开并不排除包含如本领域的普通技术人员将容易理解的对本主题内容的这种修改、变型和/或添加。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,本公开旨在涵盖这种变更、变型和等效。

Claims (20)

1.一种计算系统,包括:
一个或多个处理器;和
一个或多个非暂时性计算机可读介质,其存储:
被配置为处理输入图像以生成预测的卷积神经网络,所述卷积神经网络包括:
被配置为接收和处理所述输入图像以生成第一中间表示的初始卷积层;
以一个接一个的顺序排列的多个反向残差瓶颈块,所述多个反向残差瓶颈块被配置为接收和处理所述第一中间表示以生成第二中间表示,所述多个反向残差瓶颈块中的每一个包括一个或多个层重复,每个层重复包括:
被配置为应用深度卷积的卷积层;
被配置为应用逐点卷积的卷积层;和
线性瓶颈层;和
被配置为接收和处理所述第二中间表示以生成所述预测的一个或多个后续层;和
指令,其当由所述一个或多个处理器执行时,使所述计算系统使用所述卷积神经网络处理所述输入图像以生成所述预测。
2.如权利要求1所述的计算系统,其中,所述初始卷积层应用3×3滤波器。
3.如权利要求1所述的计算系统,其中,所述初始卷积层包括32个通道。
4.如权利要求1所述的计算系统,其中,所述多个反向残差瓶颈块包括7个反向残差瓶颈块。
5.如权利要求4所述的计算系统,其中,所述7个反向残差瓶颈块中的至少第一顺序反向残差瓶颈块、第二顺序反向残差瓶颈块和第四顺序反向残差瓶颈块中的每一个应用3×3滤波器。
6.如权利要求4所述的计算系统,其中,所述7个反向残差瓶颈块的第一顺序反向残差瓶颈块具有扩展因子1,并且所述7个反向残差瓶颈块的第二顺序反向残差瓶颈块、第三顺序反向残差瓶颈块、第四顺序反向残差瓶颈块、第五顺序反向残差瓶颈块、第六顺序反向残差瓶颈块和第七顺序反向残差瓶颈块中的每一个具有扩展因子6。
7.如权利要求1所述的计算系统,其中,所述多个反向残差瓶颈块的第一顺序反向残差瓶颈块包括16个通道。
8.如权利要求1所述的计算系统,其中,所述多个反向残差瓶颈块的第二顺序反向残差瓶颈块包括24个通道。
9.如权利要求1所述的计算系统,其中,所述多个反向残差瓶颈块的最终顺序反向残差瓶颈块包括320个通道。
10.如权利要求1所述的计算系统,其中,所述多个反向残差瓶颈块的第一顺序反向残差瓶颈块包括单个层重复。
11.如权利要求1所述的计算系统,其中,所述多个反向残差瓶颈块的第二顺序反向残差瓶颈块包括两个层重复。
12.如权利要求1所述的计算系统,其中,所述多个反向残差瓶颈块的最终顺序反向残差瓶颈块包括单个层重复。
13.如权利要求1所述的计算系统,其中,所述多个反向残差瓶颈块的第一顺序反向残差瓶颈块具有所述多个反向残差瓶颈块的第二顺序反向残差瓶颈块的三分之二的通道。
14.如权利要求1所述的计算系统,其中,所述多个反向残差瓶颈块的第一顺序反向残差瓶颈块具有所述多个反向残差瓶颈块的第二顺序反向残差瓶颈块的一半的层重复。
15.如权利要求1所述的计算系统,其中,所述一个或多个后续层执行至少一个后续卷积和池化操作。
16.一个或多个非暂时性计算机可读介质,其存储:
被配置为处理输入图像以生成预测的卷积神经网络,所述卷积神经网络包括:
被配置为接收和处理所述输入图像以生成第一中间表示的初始卷积层;
以一个接一个的顺序排列的多个反向残差瓶颈块,所述多个反向残差瓶颈块被配置为接收和处理所述第一中间表示以生成第二中间表示,所述多个反向残差瓶颈块中的每一个包括线性层和深度可分离卷积层;和
被配置为接收和处理所述第二中间表示以生成所述预测的一个或多个后续层;和
指令,其当由一个或多个处理器执行时,使计算系统使用所述卷积神经网络处理所述输入图像以生成所述预测。
17.如权利要求16所述的一个或多个非暂时性计算机可读介质,其中,所述初始卷积层包括32个通道。
18.如权利要求16所述的一个或多个非暂时性计算机可读介质,其中,所述多个反向残差瓶颈块包括7个反向残差瓶颈块。
19.如权利要求18所述的一个或多个非暂时性计算机可读介质,其中,所述7个反向残差瓶颈块的至少第一顺序反向残差瓶颈块、第二顺序反向残差瓶颈块和第四顺序反向残差瓶颈块中的每一个应用3×3滤波器。
20.如权利要求18所述的一个或多个非暂时性计算机可读介质,其中,所述7个反向残差瓶颈块的第一顺序反向残差瓶颈块具有扩展因子1,并且所述7个反向残差瓶颈块的第二顺序反向残差瓶颈块、第三顺序反向残差瓶颈块、第四顺序反向残差瓶颈块、第五顺序反向残差瓶颈块、第六顺序反向残差瓶颈块和第七顺序反向残差瓶颈块中的每一个具有扩展因子6。
CN202110869378.5A 2017-11-14 2018-08-09 高效卷积神经网络 Pending CN113657578A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762586007P 2017-11-14 2017-11-14
US62/586,007 2017-11-14
US15/898,566 US11734545B2 (en) 2017-11-14 2018-02-17 Highly efficient convolutional neural networks
US15/898,566 2018-02-17
CN201880066914.4A CN111213160B (zh) 2017-11-14 2018-08-09 高效卷积神经网络

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201880066914.4A Division CN111213160B (zh) 2017-11-14 2018-08-09 高效卷积神经网络

Publications (1)

Publication Number Publication Date
CN113657578A true CN113657578A (zh) 2021-11-16

Family

ID=66432270

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201880066914.4A Active CN111213160B (zh) 2017-11-14 2018-08-09 高效卷积神经网络
CN202410537457.XA Pending CN118569317A (zh) 2017-11-14 2018-08-09 高效卷积神经网络
CN202110869378.5A Pending CN113657578A (zh) 2017-11-14 2018-08-09 高效卷积神经网络

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201880066914.4A Active CN111213160B (zh) 2017-11-14 2018-08-09 高效卷积神经网络
CN202410537457.XA Pending CN118569317A (zh) 2017-11-14 2018-08-09 高效卷积神经网络

Country Status (4)

Country Link
US (3) US11734545B2 (zh)
EP (2) EP3646251A1 (zh)
CN (3) CN111213160B (zh)
WO (1) WO2019099074A1 (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366328B2 (en) * 2017-09-19 2019-07-30 Gyrfalcon Technology Inc. Approximating fully-connected layers with multiple arrays of 3x3 convolutional filter kernels in a CNN based integrated circuit
US10360470B2 (en) * 2016-10-10 2019-07-23 Gyrfalcon Technology Inc. Implementation of MobileNet in a CNN based digital integrated circuit
US11734545B2 (en) * 2017-11-14 2023-08-22 Google Llc Highly efficient convolutional neural networks
US11275991B2 (en) * 2018-04-04 2022-03-15 Nokia Technologies Oy Coordinated heterogeneous processing of training data for deep neural networks
CN108830211A (zh) * 2018-06-11 2018-11-16 厦门中控智慧信息技术有限公司 基于深度学习的人脸识别方法及相关产品
US11429824B2 (en) * 2018-09-11 2022-08-30 Intel Corporation Method and system of deep supervision object detection for reducing resource usage
CN111988609B (zh) * 2019-05-22 2024-07-16 富士通株式会社 图像编码装置、概率模型生成装置和图像解码装置
WO2020258077A1 (zh) * 2019-06-26 2020-12-30 深圳大学 一种行人检测方法及装置
US20220254015A1 (en) * 2019-07-31 2022-08-11 Montefiore Medical Center Identifying neutrophil extracellular traps in peripheral blood smears
CN110543849B (zh) * 2019-08-30 2022-10-04 北京市商汤科技开发有限公司 检测器的配置方法及装置、电子设备和存储介质
CN110544251B (zh) * 2019-09-08 2021-02-09 河海大学 基于多迁移学习模型融合的大坝裂缝检测方法
US11657282B2 (en) * 2019-09-16 2023-05-23 Qualcomm Incorporated Efficient inferencing with fast pointwise convolution
CN112840358B (zh) 2019-09-24 2023-05-23 百度时代网络技术(北京)有限公司 用于深度神经网络的基于光标的自适应量化
US11449714B2 (en) 2019-10-30 2022-09-20 Google Llc Efficient convolutional neural networks and techniques to reduce associated computational costs
CN110909767A (zh) * 2019-11-04 2020-03-24 浙江工业大学 一种移动端的救生衣检测方法
CN110930320B (zh) * 2019-11-06 2022-08-16 南京邮电大学 一种基于轻量化卷积神经网络的图像去雾方法
WO2021096324A1 (en) * 2019-11-14 2021-05-20 Samsung Electronics Co., Ltd. Method for estimating depth of scene in image and computing device for implementation of the same
CN111161543A (zh) * 2019-11-14 2020-05-15 南京行者易智能交通科技有限公司 一种基于图像识别的公交前车违章行为自动抓拍方法及系统
CN111126303B (zh) * 2019-12-25 2023-06-09 北京工业大学 一种面向智能停车的多车位检测方法
CN111144666B (zh) * 2020-01-02 2022-11-29 吉林大学 一种基于深度时空残差网络的海洋温跃层预测方法
CN113139553B (zh) * 2020-01-16 2024-07-12 中国科学院国家空间科学中心 一种基于U-net的紫外极光图像极光卵形态提取方法及系统
CN111291627B (zh) * 2020-01-16 2024-04-19 广州酷狗计算机科技有限公司 人脸识别方法、装置及计算机设备
KR20210112834A (ko) * 2020-03-06 2021-09-15 삼성전자주식회사 뉴럴 네트워크 내 레이어에 관한 컨볼루션 연산의 처리 방법 및 장치
CN111415338A (zh) * 2020-03-16 2020-07-14 城云科技(中国)有限公司 目标检测模型的构建方法及系统
CN113536824B (zh) * 2020-04-13 2024-01-12 南京行者易智能交通科技有限公司 一种基于YOLOv3的乘客检测模型的改进方法,及模型训练方法
CN111651762A (zh) * 2020-04-21 2020-09-11 浙江大学 一种基于卷积神经网络的pe恶意软件检测方法
CN111582095B (zh) * 2020-04-27 2022-02-01 西安交通大学 一种轻量级行人异常行为快速检测方法
US11657279B2 (en) * 2020-06-16 2023-05-23 National Taiwan University Of Science And Technology Electronic device and method for document segmentation
KR20220033314A (ko) 2020-09-09 2022-03-16 삼성전자주식회사 호스트 프로세서 및 가속기의 동작 방법 및 이들을 포함한 전자 장치
CN111931699A (zh) * 2020-09-10 2020-11-13 华南理工大学 行人属性识别方法、装置和计算机设备
CN112233092A (zh) * 2020-10-16 2021-01-15 广东技术师范大学 一种用于无人机电力巡检智能缺陷检测的深度学习方法
CN112308004A (zh) * 2020-11-06 2021-02-02 神思电子技术股份有限公司 一种基于流卷积的目标检测方法
CN112418397B (zh) * 2020-11-19 2021-10-26 重庆邮电大学 一种基于轻量级卷积神经网络的图像分类方法
CN112434740A (zh) * 2020-11-26 2021-03-02 西北大学 一种基于深度学习的秦俑碎块分类方法
CN112711271B (zh) * 2020-12-16 2022-05-17 中山大学 基于深度强化学习的自主导航无人机功率优化方法
CN112263224B (zh) * 2020-12-24 2021-03-23 南京信息工程大学 一种基于fpga边缘计算的医学信息处理方法
TWI840715B (zh) * 2021-01-21 2024-05-01 創惟科技股份有限公司 基於卷積神經網路的運算電路、資料處理方法及電腦可讀取儲存媒體
CN112801185B (zh) * 2021-01-28 2023-02-24 河北师范大学 一种基于改进神经网络的网络安全态势理解和评估方法
CN112926552B (zh) * 2021-04-23 2022-08-12 河南大学 基于深度神经网络的遥感影像车辆目标识别模型及方法
CN113177560A (zh) * 2021-04-27 2021-07-27 西安电子科技大学 一种普适性轻量级深度学习车辆检测方法
CN113408381B (zh) * 2021-06-08 2023-09-19 上海对外经贸大学 基于自注意残差卷积神经网络的微表情分类方法
US11797280B1 (en) * 2021-06-30 2023-10-24 Amazon Technologies, Inc. Balanced partitioning of neural network based on execution latencies
CN113762462A (zh) * 2021-07-26 2021-12-07 华南师范大学 一种轻量化模型压缩方法及系统
EP4137996A1 (en) * 2021-08-19 2023-02-22 Continental Autonomous Mobility Germany GmbH Method for training a neural network
CN114022812B (zh) * 2021-11-01 2024-05-10 大连理工大学 一种基于轻量化SSD的DeepSort水面漂浮物多目标跟踪方法
CN114119965B (zh) * 2021-11-30 2024-08-13 齐鲁工业大学 一种道路目标检测方法及系统
CN115439684B (zh) * 2022-08-25 2024-02-02 艾迪恩(山东)科技有限公司 基于轻量化YOLOv5的生活垃圾分类方法及APP
CN116012601B (zh) * 2023-01-16 2024-09-20 苏州大学 一种yolo_sr系统、用于扫地机器人的目标检测方法及装置
WO2024192140A1 (en) * 2023-03-13 2024-09-19 The Board Of Trustees Of The Leland Stanford Junior University Efficient compute architecture with custom latch arrays for machine learning applications
CN116206133B (zh) * 2023-04-25 2023-09-05 山东科技大学 一种rgb-d显著性目标检测方法
CN116844051B (zh) * 2023-07-10 2024-02-23 贵州师范大学 一种融合aspp和深度残差的遥感图像建筑物提取方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150294219A1 (en) * 2014-04-11 2015-10-15 Google Inc. Parallelizing the training of convolutional neural networks
CN106204467A (zh) * 2016-06-27 2016-12-07 深圳市未来媒体技术研究院 一种基于级联残差神经网络的图像去噪方法
CN106845371A (zh) * 2016-12-31 2017-06-13 中国科学技术大学 一种城市路网机动车尾气排放遥感监控系统
CN107316079A (zh) * 2017-08-08 2017-11-03 珠海习悦信息技术有限公司 终端卷积神经网络的处理方法、装置、存储介质及处理器
CN111213160A (zh) * 2017-11-14 2020-05-29 谷歌有限责任公司 高效卷积神经网络

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6961011B2 (ja) * 2016-12-09 2021-11-05 ベイジン ホライズン インフォメーション テクノロジー カンパニー リミテッド データ管理のためのシステム及び方法
US10580131B2 (en) 2017-02-23 2020-03-03 Zebra Medical Vision Ltd. Convolutional neural network for segmentation of medical anatomical images
US11354577B2 (en) 2017-03-15 2022-06-07 Samsung Electronics Co., Ltd System and method for designing efficient super resolution deep convolutional neural networks by cascade network training, cascade network trimming, and dilated convolutions
GB201709672D0 (en) * 2017-06-16 2017-08-02 Ucl Business Plc A system and computer-implemented method for segmenting an image

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150294219A1 (en) * 2014-04-11 2015-10-15 Google Inc. Parallelizing the training of convolutional neural networks
CN106204467A (zh) * 2016-06-27 2016-12-07 深圳市未来媒体技术研究院 一种基于级联残差神经网络的图像去噪方法
CN106845371A (zh) * 2016-12-31 2017-06-13 中国科学技术大学 一种城市路网机动车尾气排放遥感监控系统
CN107316079A (zh) * 2017-08-08 2017-11-03 珠海习悦信息技术有限公司 终端卷积神经网络的处理方法、装置、存储介质及处理器
CN111213160A (zh) * 2017-11-14 2020-05-29 谷歌有限责任公司 高效卷积神经网络

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIA-REN CHANG ETAL.: "Deep Competitive Pathway Networks", PROCEEDINGS OF MACHINE LEARNING RESEARCH, no. 77, 29 September 2017 (2017-09-29), pages 264 - 278 *

Also Published As

Publication number Publication date
WO2019099074A1 (en) 2019-05-23
EP3933707A1 (en) 2022-01-05
CN118569317A (zh) 2024-08-30
CN111213160A (zh) 2020-05-29
US11734545B2 (en) 2023-08-22
US20210350206A1 (en) 2021-11-11
US11823024B2 (en) 2023-11-21
EP3646251A1 (en) 2020-05-06
US20190147318A1 (en) 2019-05-16
CN111213160B (zh) 2024-05-14
US20240119256A1 (en) 2024-04-11

Similar Documents

Publication Publication Date Title
CN111213160B (zh) 高效卷积神经网络
Ruthotto et al. Deep neural networks motivated by partial differential equations
He et al. Structured pruning for deep convolutional neural networks: A survey
Chen et al. Physics-informed learning of governing equations from scarce data
Chamberland et al. Deep neural decoders for near term fault-tolerant experiments
US20200410384A1 (en) Hybrid quantum-classical generative models for learning data distributions
US11157814B2 (en) Efficient convolutional neural networks and techniques to reduce associated computational costs
Moniz et al. Nested lstms
EP3446260B1 (en) Memory-efficient backpropagation through time
TWI825596B (zh) 用於執行類神經網路計算之電路、方法及非暫時性機器可讀儲存裝置
US20170323183A1 (en) Large-scale classification in neural networks using hashing
CN106875013A (zh) 用于多核优化循环神经网络的系统和方法
Patel et al. A hybrid CNN-LSTM model for predicting server load in cloud computing
JP2019032808A (ja) 機械学習方法および装置
US20240212347A1 (en) Memory-guided video object detection
US10339442B2 (en) Corrected mean-covariance RBMs and general high-order semi-RBMs for large-scale collaborative filtering and prediction
WO2016132588A1 (ja) データ分析装置、データ分析方法、およびデータ分析プログラム
CN115151917A (zh) 经由批量归一化统计的域泛化
Pan et al. Self-adaptable point processes with nonparametric time decays
Wang et al. Towards efficient convolutional neural networks through low-error filter saliency estimation
Zhang et al. A multi-granularity CNN pruning framework via deformable soft mask with joint training
Schindler et al. Parameterized structured pruning for deep neural networks
CN113490955B (zh) 用于产生金字塔层的架构的系统和方法
Park et al. Varying‐coefficients for regional quantile via KNN‐based LASSO with applications to health outcome study
Berthelier et al. Learning Sparse Filters in Deep Convolutional Neural Networks with a l_1/l_2 l 1/l 2 Pseudo-Norm

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