神经网络创建方法和装置、图像处理方法和电子设备与流程

文档序号:17466476发布日期:2019-04-20 05:32阅读:158来源:国知局
神经网络创建方法和装置、图像处理方法和电子设备与流程

本公开涉及图像处理领域,更具体地,本公开涉及一种神经网络创建方法、创建装置、使用神经网络处理输入图像的图像处理方法、电子设备以及计算机可读存储介质。



背景技术:

神经网络是一种大规模、多参数优化的工具。依靠大量的训练数据,神经网络能够学习出数据中难以总结的隐藏特征,从而完成多项复杂的任务,如人脸检测、图像语义分割、物体检测、动作追踪、自然语言翻译等。神经网络已被人工智能界广泛应用。

当前,神经网络模型设计主要由诸如每秒数十亿次浮点运算(flops)的计算复杂度的间接度量指导。然而,例如处理速度这样的直接度量还取决于其他因素,诸如存储器访问成本和平台特性等。也就是说,在进行神经网络创建时,除了考虑flops外,还需要评估关于目标平台的直接度量。通过对影响神经网络模型实际执行速度的原因进行理论分析和实验验证,可以提出高效率神经网络的设计原则。因此,需要能够根据高效率神经网络的设计原则,创建适合不同平台和使用场景的神经网络。



技术实现要素:

鉴于上述问题而提出了本公开。本公开提供了一种神经网络创建方法、创建装置、使用神经网络处理输入图像的图像处理方法、电子设备以及计算机可读存储介质。

根据本公开的一个方面,提供了一种神经网络创建方法,包括:配置多个初始网络单元,所述多个初始网络单元的每个至少包括具有相同的输入端和输出端的多个网络子单元,以及与所述多个网络子单元的所述输出端连接的加权选通单元;配置初始神经网络,所述初始神经网络至少包括所述多个初始网络单元;基于所述神经网络的目标任务,训练所述初始神经网络,直到满足预定训练结束条件;以及对于所述多个初始网络单元中的每一个,通过所述加权选通单元选择一个网络子单元,并且移除其他网络子单元和所述加权选通单元,以获得创建的神经网络。

根据本公开的另一个方面,提供了一种神经网络创建装置,包括:配置模块,用于配置多个初始网络单元,所述多个初始网络单元的每个至少包括具有相同的输入端和输出端的多个网络子单元,以及与所述多个网络子单元的所述输出端连接的加权选通单元;配置初始神经网络,所述初始神经网络至少包括所述多个初始网络单元;训练模块,用于基于所述神经网络的目标任务,训练所述初始神经网络,直到满足预定训练结束条件;以及创建模块,用于对于所述多个初始网络单元中的每一个,通过所述加权选通单元选择一个网络子单元,并且移除其他网络子单元和所述加权选通单元,以获得创建的神经网络。

根据本公开的又一个方面,提供了一种使用神经网络处理输入图像的图像处理方法,所述神经网络包含输入层、中间层和输出层,所述图像处理方法包括:创建所述神经网络;经由所述输入层接收所述输入图像;经由所述中间层提取所述输入图像的图像特征;以及经由所述输出层输出对于所述输入图像的处理结果,其中,创建所述神经网络包括:使用如上所述的神经网络创建方法,以创建所述神经网络。

根据本公开的再一个方面,提供了一种电子设备,包括:存储器,用于存储计算机可读指令;以及处理器,用于运行所述计算机可读指令,执行如上所述神经网络创建方法或图像处理方法。

根据本公开的再一个方面,提供了一种计算机可读存储介质,用于存储计算机可读指令,当所述计算机可读指令由计算机执行时,使得所述计算机执行如上所述神经网络创建方法或图像处理方法。

如下将详细描述的,根据本公开的实施例的神经网络创建方法在高效率神经网络的总体设计原则下,充分利用目标任务数据,自动挑选适合该目标任务数据并且符合的高效率神经网络的总体设计原则的神经网络模型结构。因此,根据本公开的实施例的神经网络创建方法避免了手工设计模型的局限性,同时还具备了执行的高效性。

要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。

附图说明

通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是图示根据本公开的实施例的神经网络创建方法的流程图;

图2是图示根据本公开的实施例的初始神经网络的示意图;

图3a是图示使用根据本公开的实施例的神经网络创建方法的初始网络单元的一个示意图;

图3b是图示使用根据本公开的实施例的神经网络创建方法创建的网络单元的一个示意图;

图4a是图示使用根据本公开的实施例的神经网络创建方法的初始网络单元的另一个示意图;

图4b是图示使用根据本公开的实施例的神经网络创建方法创建的网络单元的另一个示意图;

图5是图示根据本公开的实施例的图像处理方法的流程图;

图6是图示根据本公开的实施例的图像处理方法的示意图;

图7是图示根据本公开的实施例的神经网络创建装置的框图;

图8是图示根据本公开的实施例的电子设备的硬件框图;以及

图9是图示根据本公开的实施例的计算机可读存储介质的示意图。

具体实施方式

为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

首先,参照图1到图4b描述根据本公开的实施例的神经网络创建方法。

图1是图示根据本公开的实施例的神经网络创建方法的流程图。如图1所示,根据本公开的实施例的神经网络创建方法包括以下步骤。

在步骤s101中,配置多个初始网络单元。

在步骤s102中,配置至少包括多个初始网络单元的初始神经网络。

以下,具体参照图2和图3a描述根据本公开的实施例的初始神经网络。

图2是图示根据本公开的实施例的初始神经网络的示意图。如图2所示,初始神经网络至少包括多个初始网络单元mb1、mb2…mbn,并且多个初始网络单元mb1、mb2…mbn顺序连接。需要注意的是,图2所示的初始神经网络仅仅是示意性的,根据本公开的实施例的初始神经网络不限于此,而是可以根据具体任务需求包括任意数量的其他单元,例如包括其他卷积、池化、全连接等网络单元穿插连接在多个初始网络单元之间,以构成完整的训练网络。

图3a是图示使用根据本公开的实施例的神经网络创建方法的初始网络单元的一个示意图。

如图3a所示,多个初始网络单元mb1、mb2…mbm的每个mb至少包括具有相同的输入端301和输出端302的多个网络子单元b1、b2…bn,以及与所述多个网络子单元b1、b2…bn的所述输出端302连接的加权选通单元303。所述加权选通单元302为所述多个网络子单元b1、b2…bn中的每一个提供对应的加权选通系数。

返回参照图1,在步骤s101和s102中配置了初始神经网络以及其中的多个初始网络单元之后,在步骤s103中,基于所述神经网络的目标任务,训练所述初始神经网络,直到满足预定训练结束条件。在本公开的一个实施例中,训练所述初始神经网络包括调整所述加权选通单元302为所述多个网络子单元b1、b2…bn中的每一个提供对应的加权选通系数。需要理解的是,训练所述初始神经网络还包括其他卷积、池化、全连接单元以及多个网络子单元b1、b2…bn自身的所有参数。在本公开的一个实施例中,预定训练结束条件取决于目标任务,例如在所述神经网络用于执行分类任务的情况下,预定训练结束条件可以是交叉熵损失函数收敛。

在步骤s103中训练到满足预定训练结束条件时,在步骤s104中,对于所述多个初始网络单元中的每一个,通过所述加权选通单元选择一个网络子单元,并且移除其他网络子单元和所述加权选通单元,以获得创建的神经网络。

在本公开的一个实施例中,通过所述加权选通单元303选择一个网络子单元表示为:

其中,bi表示所述多个网络子单元中每一个网络子单元的输出值,softmax表示加权选通函数,di表示所述每一个网络子单元的加权选通系数,t表示温度参数,i是1到n之间的自然数,n是所述多个网络子单元的个数。

在步骤s103的训练过程中,在开始训练时,t初始化为一个比较小的值(例如,0.1),并且随着训练逐步增大t。当t很大时,由上述表达式中softmax函数的性质可知,只要每一个网络子单元的加权选通系数di不严格相等,那么最大的di对应的softmax函数值趋近于1,其他的则趋近于0。也就是说,在训练结束后,通过加权选通单元303选择一个网络子单元包括:保留其中对应的加权选通系数最大的一个网络子单元。

图3b是图示使用根据本公开的实施例的神经网络创建方法创建的网络单元的一个示意图。利用图1所示的根据本公开的实施例的神经网络创建方法创建的神经网络的网络单元例如如图3b所示,通过对如图3a所示的初始单元执行利用目标任务数据集的训练,保留其中对应的加权选通系数d2最大的一个网络子单元b2,同时移除其他网络子单元b1、b3…bn以及加权选通单元303,以获得创建的网络单元。同样地,对于如图2所示的所述多个初始网络单元mb1、mb2…mbm中的每一个,通过所述加权选通单元选择一个网络子单元,并且移除其他网络子单元和所述加权选通单元,可以获得创建的神经网络。

此外,在步骤s104中选择一个网络子单元后,还可以继续在目标任务数据上训练,执行模型的微调以得到最终输出的神经网络。

以上参照图3a和3b描述的是根据本公开的实施例的神经网络创建方法创建的网络单元的一般性示例。在图3a和3b所示的一般性示例,对于初始网络单元mb1、mb2…mbm并没有给出具体的限制。图4a和图4b则进一步图示了根据本公开的实施例的神经网络创建方法在高效率神经网络的设计原则下的应用。

如图4a所示,要创建的神经网络为第二代通道重排网络(shufflenet),其中一个网络子单元需要满足第二代通道重排网络的预设规则。在第二代通道重排网络的一个网络单元中,首先通过通道分割单元401将通道分割为两路,一路不做任何处理,另一路则包括需要创建和训练的具有相同的输入端402和输出端403的多个网络子单元b1、b2…bn,以及与所述多个网络子单元b1、b2…bn的所述输出端403连接的加权选通单元404。此后,两路再通过通道拼接单元405将两路拼接到一起,通过通道重排单元406进行信息融合得到输出。

在此示例中,多个网络子单元b1、b2…bn的每一个都满足第二代通道重排网络的预设规则。具体地,每一个网络子单元满足以下一个或多个条件:所述一个网络子单元的输入和输出通道数差异小于预设阈值,例如为输入和输出通道数相同的“平衡”卷积单元;所述一个网络子单元执行深度可分离卷积;所述一个网络子单元执行池化;所述一个网络子单元执行神经元激活。

通过利用参照图1所述的根据本公开的实施例的神经网络创建方法,如图4b所示,通过对如图4a所示的初始单元执行利用目标任务数据集的训练,保留其中对应的加权选通系数d2最大的一个网络子单元b2,同时移除其他网络子单元b1、b3…bn以及加权选通单元404,以获得创建的网络单元。

由于多个网络子单元b1、b2…bn的每一个都满足第二代通道重排网络的预设规则,那么如此创建的包括网络子单元b2的网络单元mb必然满足第二代通道重排网络的预设规则,并且最终由多个如此创建的网络单元mb构成的神经网络也一定满足第二代通道重排网络的预设规则。通过参照图1到图4b描述的根据本公开的实施例的神经网络创建方法,在高效率神经网络(例如,第二代通道重排网络)的总体设计原则下,实现了自动创建适合该目标任务数据并且符合的高效率神经网络的总体设计原则的神经网络模型结构。

以上,描述了根据本公开的实施例的神经网络创建方法。以下,将参照图5和图6进一步描述根据本公开的实施例的图像处理方法。图5是图示根据本公开的实施例的图像处理方法的流程图;图6是图示根据本公开的实施例的图像处理方法的示意图。

如图5所示,在步骤s501中,创建神经网络。根据本公开的实施例的图像处理方法可以利用如上参照图1到图4b描述的神经网络创建方法,以创建所述神经网络。

进一步地,如图5和图6所示,在步骤s502中,经由输入层61接收输入图像600。如图6示意性示出的,在步骤s501中创建的卷积神经网络60包含输入层61、中间层62和输出层63。

在步骤s503中,经由中间层62提取所述输入图像600的图像特征。如图6示意性示出的,中间层62可以包括多个级联的子层,多个子层包括但不限于卷积层、池化层、激活层等。

在步骤s504中,经由输出层63输出对于所述输入图像600的处理结果601。示例性地,该处理结果可以为分类结果,如图6示意性示出的,输出层63例如通过全局池化、全连接等处理后输出分类结果601。根据本公开的实施例的图像处理方法不限于执行图像中的目标分类,而是还包括目标对象检测、分割、目标对象的运动预测以及目标对象的相似度比对等。示例性地,经由神经网络系统的输出层输出的处理结果还可以是目标对象的位置信息、图像分割结果、目标对象的运动预测结果、目标对象的相似度等。

图7是图示根据本公开的实施例的神经网络创建装置的框图。如图7所示的根据本公开的实施例的神经网络创建装置70可以用于执行如图1所示的根据本公开的实施例的神经网络创建方法。如图7所示,根据本公开的实施例的神经网络创建装置70包括配置模块701、训练模块702和创建模块703。本领域的技术人员理解:这些单元模块可以单独由硬件、单独由软件或者由其组合以各种方式实现,并且本公开不限于它们的任何一个。

配置模块701用于配置多个初始网络单元,所述多个初始网络单元的每个至少包括具有相同的输入端和输出端的多个网络子单元,以及与所述多个网络子单元的所述输出端连接的加权选通单元;配置初始神经网络,所述初始神经网络至少包括所述多个初始网络单元。

训练模块702用于基于所述神经网络的目标任务,训练所述初始神经网络,直到满足预定训练结束条件。

创建模块703用于对于所述多个初始网络单元中的每一个,通过所述加权选通单元选择一个网络子单元,并且移除其他网络子单元和所述加权选通单元,以获得创建的神经网络。

在本公开的一个实施例中,加权选通单元为所述多个网络子单元中的每一个提供对应的加权选通系数。所述训练模块702调整所述加权选通系数,并且所述创建模块703保留其中所述对应的加权选通系数最大的一个网络子单元。

在本公开的一个实施例中,所述一个网络子单元满足以下一个或多个条件:所述一个网络子单元的输入和输出通道数差异小于预设阈值;所述一个网络子单元执行深度可分离卷积;所述一个网络子单元执行池化;所述一个网络子单元执行神经元激活。

在本公开的一个实施例中,所述神经网络为第二代通道重排网络,所述一个网络子单元满足第二代通道重排网络的预设规则。

图8是图示根据本公开的实施例的电子设备的硬件框图。如图8所示,根据本公开实施例的电子设备80包括存储器801和处理器802。电子设备80中的各组件通过总线系统和/或其它形式的连接机构(未示出)互连。

所述存储器801用于存储计算机可读指令。具体地,存储器801可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。

所述处理器802可以是中央处理单元(cpu)、图形处理单元(gpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备80中的其它组件以执行期望的功能。在本公开的一个实施例中,所述处理器802用于运行所述存储器801中存储的所述计算机可读指令,使得所述电子设备80执行参照图1描述的神经网络创建方法或参照图5描述的图像处理方法。

此外,需要理解的是,图8所示的电子设备80的组件和结构只是示例性的,而非限制性的,根据需要,电子设备80也可以具有其他组件和结构。例如,图像采集装置和输出装置等(未示出)。图像采集装置可以用于采集用于图像处理的待处理图像,并且将所拍摄的图像存储在存储器801中以供其它组件使用。当然,也可以利用其他图像采集设备采集所述待处理图像,并且将采集的图像发送给电子设备80,电子设备80可以将接收到的图像存储到存储器801中。输出装置可以向外部(例如用户)输出各种信息,例如图像信息以及图像处理结果。输出装置可以包括显示器、扬声器、投影仪、网卡等中的一个或多个。

图9是图示根据本公开的实施例的计算机可读存储介质的示意图。如图9所示,根据本公开实施例的计算机可读存储介质900其上存储有计算机可读指令901。当所述计算机可读指令901由处理器运行时,执行参照图1描述的神经网络创建方法或参照图5描述的图像处理方法。

以上,参照附图描述了根据本公开的实施例的神经网络创建方法、创建装置、使用神经网络处理输入图像的图像处理方法、电子设备以及计算机可读存储介质。根据本公开的实施例的神经网络创建方法在高效率神经网络的总体设计原则下,充分利用目标任务数据,自动挑选适合该目标任务数据并且符合的高效率神经网络的总体设计原则的神经网络模型结构。因此,根据本公开的实施例的神经网络创建方法避免了手工设计模型的局限性,同时还具备了执行的高效性。

本公开的说明书和权利要求书及附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“a、b或c的至少一个”的列举意味着a或b或c,或ab或ac或bc,或abc(即a和b和c)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。

还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1