首页> 中国专利> 用于在人工神经网络中实现注意力机制的方法和系统

用于在人工神经网络中实现注意力机制的方法和系统

摘要

一种在人工神经网络中实现注意力机制的系统和方法,该方法包括:接收来自用于感测环境的属性的至少一个传感器的传感器数据,通过多区域神经网络对接收到的数据进行分类,其中,对该网络的每个区域进行训练,用以对与不同环境属性相对应的传感器数据进行分类,并且每个区域具有单独可调的对分类的贡献,基于分类来计算包括该环境的至少一个属性在内的当前环境状态,并且基于该至少一个属性,选择该网络的对应区域并调节所选区域对分类的贡献。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-18

    未缴年费专利权终止 IPC(主分类):G06N 3/08 专利号:ZL2017112736081 申请日:20171206 授权公告日:20200602

    专利权的终止

  • 2020-06-02

    授权

    授权

  • 2018-05-08

    实质审查的生效 IPC(主分类):G06N3/08 申请日:20171206

    实质审查的生效

  • 2018-04-13

    公开

    公开

说明书

技术领域

本公开总体涉及人工神经网络,更具体地涉及人工神经网络的学习方法。

本申请基于申请号为US15/640,548、申请日为2017年7月2日的美国专利申请提出,并要求该美国专利申请的优先权,该美国专利申请的全部内容在此引入本申请作为参考。

背景技术

人工神经网络已成为计算机视觉、声音识别和人工智能的其他应用以及模式识别的主干引擎。可用计算能力的急速提高使得能够着手处理更高复杂性的问题,这进而要求网络体系结构和算法中的新方法。

深度神经网络(DNN)是机器学习算法的一类,其可视化为其间存在连接的数层神经元的级联。每个神经元基于通过连接而流入的输入端神经元的值来计算输出值,乘以一定权重,加和,偏移一些数目并且通过非线性函数进行变换。有多种类型的DNN体系结构,这其中包括卷积神经网络(CNN)和循环神经网络(RNN);并且包括计算机视觉、语音识别以及自然语言处理(NLP)的应用领域已经得到论证[LeCun2015],[B1,B2]。

在一些DNN系统中,通过在包括数千或数百万标记有对象位置和类属性的经注释样本图像的大型训练集上进行训练,对神经网络进行训练以从每个类中识别出对象。该网络可理解为是从信号空间映射到对象空间,体现为多个顶点以及连接于其间的有向边的图形。顶点安排在各层中,其中输入层接收输入信号,例如来自输入视频序列的图像帧。中间层里的顶点经由加权边缘接收在先层中的顶点的值,即,乘以边缘值,对值进行加和,并且通过变换函数将它们向输出边缘变换。神经网络中可调权重的数量可以数以千计至百万计。网络的映射通过在网络训练期间调整权重来调整,直到所训练的网络能够产生与流入网络的训练输入真实标记值相一致的响应输出。

在一些神经网络训练过程中,调整权重以使得所谓的损失函数最小化,其中损失函数定义为对错误的网络回答较大,对正确的回答较小。例如,计算对输入训练样本的网络响应并且与该样本所对应的真实标记值相对比。如果网络出错,计算误差并沿着网络反向传播,并根据为使误差最小化而计算的权重适应性梯度来更新权重。由于改变权重以使网络适配于特定样本可能使之偏离对于其他样本的最优响应,以较小的并且总是降低的更新率重复该过程多次。在整个训练集上对该网络重复进行训练。

训练目标是创建不仅仅是对训练集,而且对未见过的输入也能输出正确响应的人工神经网络。该网络的对未见过的例子也能产生正确响应的能力称为网络的泛化能力。在一些系统中,为了提高网络的泛化性,用适当的正则项来改善损失函数。在改进泛化能力神经网络的尝试中,已经开发并研究了多种网络体系结构、训练方法、网络拓扑、变换函数、损失函数、正则化方法、训练速度、误差传播和/或训练集分批和扩展。

通常,损失函数L定义为:

即,这里用j表示在神经网络所有节点上的对于属于类k的对象的期望值和预测回答之间的距离的非递减函数的总和。

如上所述,损失函数还可以包括正则项,这有利于该网络的鲁棒的泛化性,以改善对于未见过例子的预测。

现有技术文献

非专利文献

非专利文献1:[LeCun 2015]Deep Learning;Y.LeCun,Y.Bengio,G.Hinton;Nature,2015

非专利文献2:

[B1]https://en.wikipedia.org/wiki/artificial_neural_network

非专利文献3:[B2]https://en.wikipedia.org/wiki/deep_learning

发明内容

在本发明一些实施例的一个方案中,提供了一种人工神经网络中实现注意力机制的方法,该方法包括:接收来自至少一个传感器的传感器数据,所述传感器感测环境的属性,通过多区域神经网络对接收到的数据进行分类,其中,对该网络的每个区域进行训练,用以对与不同环境属性相对应的传感器数据进行分类,并且所述每个区域具有单独可调的对分类的贡献,基于分类来计算包括该环境的至少一个属性在内的当前环境状态,并且基于该至少一个属性,选择该网络的对应区域并调节所选区域对分类的贡献。

可选地,根据网络中的节点在网络中的位置,通过对该节点的输出值乘以权重系数来改变所选区域的贡献。

可选地,通过激活与基于该至少一个属性选择的分类选项相关的区域来改变所选区域的贡献。

可选地,通过对分类进行配置以通过网络区域的相关组合进行分类来改变所选区域的贡献。

可选地,在每一个神经网络区域中,一些网络节点对于该区域是唯一的,并且一些网络节点对于一个以上神经网络区域是共同的。

可选地,神经网络区域具有不同大小和/或结构。

可选地,该方法包括,通过包括取决于分类参数和网络节点在神经网络中的位置的成员在内的损失函数,来训练神经网络以生成多区域神经网络。

可选地,传感器数据包括图像数据、深度数据和声音数据中的一个,并且其中至少一个属性为对象和/或环境状况。

在本发明一些实施例的另一个方案中,提供了一种人工神经网络中实现注意力机制的系统,该系统包括:至少一个传感器,配置为感测环境的属性;处理器,配置为执行代码指令用于从至少一个传感器接收传感器数据,通过多区域神经网络对接收到的数据进行分类,其中,对该网络的每个区域进行训练,用以对与不同环境属性相对应的传感器数据进行分类,并且每个区域具有单独可调的对分类的贡献,基于分类来计算包括该环境的至少一个属性在内的当前环境状态,并且基于该至少一个属性,选择该网络的对应区域并调节所选区域对分类的贡献。

可选地,处理器配置为根据网络中的节点在网络中的位置,通过对该节点的输出值乘以权重系数来改变所选区域的贡献。

可选地,处理器配置为通过激活与基于该至少一个属性选择的分类选项相关的区域来改变所选区域的贡献。

可选地,处理器配置为通过对分类进行配置以通过网络区域的相关组合进行分类来改变所选区域的贡献。

可选地,在每一个神经网络区域中,一些网络节点对于该区域是唯一的,并且一些网络节点对于一个以上神经网络区域是共同的。

可选地,神经网络区域具有不同大小和/或结构。

可选地,处理器配置为通过包括取决于分类参数和网络节点在神经网络中的位置的成员在内的损失函数,来训练神经网络以生成多区域神经网络。

可选地,传感器数据包括图像数据、深度数据和声音数据中的一个,并且其中至少一个属性为对象和/或环境状况。

附图说明

所公开的主题的非限制性示例性实施例或特征在下列附图中图示。

在附图中:

图1为根据本发明一些实施例的在人工神经网络中实现注意力机制的系统的示意图;

图2为根据本发明一些实施例的在人工神经网络中实现注意力机制的方法的示意流程图;

图3为根据本发明一些实施例的用于控制神经网络分类引擎的注意力机制的示意图;以及

图4为根据本发明一些实施例的例如在识别引擎中实现的神经网络分类引擎300的示意图。

在下面对附图进行详细的具体参照时,需要强调的是,所特别示出的只是以示例的方式给出,并且是为了图示地讨论本发明实施例。在这点上,对附图给出的说明使得本领域技术人员清楚本发明的实施例是如何实施的。

出现在一个以上附图中的相同或重复或等同或类似的结构、元件或部件总体上标以同样的附图标记,可选地用附加的字母以区分类似的实体或实体的变型,并且不会重复标记和/或描述。参照先前出现过的元件意味着无需进一步引用出现它们的图或说明。

图中示出的组件和特征的尺寸选择是为了方便或清楚显示,而不必按标度或真实透视图示出。为了清楚起见,一些元件或结构未示出或仅部分示出和/或以不同透视图或从不同视点示出。

具体实施方式

本发明的一些实施例提供了用于在例如深度人工神经网络(DNN)的人工神经网络(ANN)中功能性和注意力机制按区域区分的系统和方法。

所提供的系统和方法可使得ANN操作的系统能有更多的类脑行为。这通过使用注意力集中来更有效地处理诸如搜索、识别、检测和/或分析的任务而成为可能。

在本发明的一些实施例中,为了在ANN中实现注意力机制,将ANN设计并训练为允许功能性按区域区分,并以允许选择和提高某些区域的方式来控制,以改进所要求的功能性。

例如,对于来自视频的对象识别,ANN结构可划分为多个块,对于某些状况以及对于某些类型的对象的检测进行交叉训练。为了识别对象,对象检测过程可由注意力机制引擎通过利用来自该结构的与相关状况和对象类型相配的合适的块来进行配置。

在一些实施例中,系统执行专门构建的损失函数,该损失函数使得对ANN的不同块、区域和/或顶点子集负责不同的功能性,诸如对不同类别对象的识别。不同块、区域和/或顶点子集可以由注意力机制引擎动态提高和/或阻止。

本发明的一些实施例可包括系统,方法和/或计算机程序产品。计算机程序产品可包括有形的非暂态计算机可读存储介质(或媒介),其上具有计算机可读程序指令,用于致使处理器执行本发明的方案。用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集体系结构(ISA)指令,机器指令,机器依赖指令,微代码,固件指令,状态设定数据,或者以一种以上编程语言的组合写成的源代码或目标代码,包括面向对象的编程语言和/或传统的过程化语言。

在详细解释本发明的至少一个实施方式之前,要理解的是,本发明不必限于实施方式中描述的具体结构细节和以下说明中给出的和/或附图中示出的和/或例子中的组件和/或方法。本发明能够有其他实施例,或者能够以各种方式实施或执行。

现在参见图1,图1为根据本发明一些实施例的在人工神经网络中实现注意力机制的系统100的示意图。系统100可在自主导航系统中实现,诸如在汽车、飞行器、家用机器人和/或任何其他合适的自主机器。

系统100可包括处理单元10、传感器11和导航控制器18。在一些实施例中,系统100可包括定位系统接口16。处理单元10可包括至少一个硬件处理器和非暂态存储器15。非暂态存储器15可存储可由至少一个硬件处理器执行的代码指令。该代码指令在被执行时能够使得该至少一个硬件处理器执行下述方法。

传感器11可包括例如一个或多个视频相机、定向扩音器、全球定位系统(GPS)传感器、速度传感器和/或深度传感器,诸如无线电探测与测距(RADAR)传感器、激光探测与测距(LIDAR)传感器、激光扫描器和/或立体视频相机、和/或任何其他合适的传感器。在本发明一些实施例中,传感器11可包括图像传感器20、深度传感器22、声音传感器24和/或任何其他可促使获取关于当前环境和/或方位的知识的合适的传感器。图像传感器20可包括视频相机和/或其他任何图像感测装置。深度传感器22可包括三维(3D)扫描装置,例如RADAR系统。声音传感器24可以包括例如一组定向扩音器和/或能够识别声音所到来的方向的任何其他合适的声音探测装置。

处理单元10可包括和/或执行识别和检测引擎12、注意力引擎13和高级环境分析引擎14。在一些实施例中,识别和检测引擎12包括对象识别引擎26、3D识别引擎28、音频和语音识别引擎30和/或用于检测和识别当前环境和/或方位的属性的任何其他合适的识别和/或检测引擎。识别和检测引擎12和/或高级情况和环境分析引擎14可包括、执行和/或由ANN操作。

在本发明的一些实施例中,识别引擎12和/或高级分析引擎14可执行DNN算法。如在此提及的,系统100可在自主导航系统中实现,诸如在汽车、飞行器、家用机器人和/或任何其他合适的自主机器。这样的系统可接收大量数据(接收自各个传感器的数据流),并且可被要求从大量可能的状态及其组合中识别出状态,和/或选择要执行的任务和/或用于在许多可能的任务中执行多个任务的顺序。

例如,在汽车自主导航系统中,系统100需要能够检测和/或识别各个可能的对象和/或障碍物,诸如行人、汽车、摩托车、轨道、交通标识、交通灯、道路车道、路旁和/或其他对象和/或障碍物,和/或状况诸如照明、能见度和/或道路状况。例如,系统100需要能够识别和/或解释交通标识、交通灯和/或道路车道,以找到对于目标目的地的优选路线,来识别当前路况,从而决定合适的行动,和/或生成对于车辆控制的相应命令。

在本发明一些实施例中,系统100配置为健壮地工作于各种照明、环境状况和路况下。高级情况和环境分析引擎14推断环境状况和路况,并相应地对注意力引擎13进行指示。注意力引擎调整模式识别引擎12,例如对象识别引擎26、3D识别引擎28和音频及语音识别引擎30,以根据推断的状况和环境,提高对某些对象的检测,或提高在某些状况下的操作。对于语音识别应用,注意力引擎13可调整音频和语音识别引擎30用于检测例如某些语音或某些口音。

在自主车辆导航的情况下,注意力机制可包括通过注意力引擎13调整传感器11和/或识别引擎12,例如,对于夜晚或雨天状况,对于学校附近儿童的探测,和/或对于冬天时的冬季衣物探测。

现在进一步参见图2,图2为根据本发明一些实施例的在人工神经网络中实现注意力机制的方法110的示意流程图。

如方框112中所示,处理单元10可从传感器11接收传感器数据,例如图像数据、深度数据、声音数据和/或任何其他合适的传感器数据的数据流。如方框114中所示,处理单元10可例如通过检测和/或识别引擎12对感测的数据进行分类,例如处理所接收的数据并识别当前环境属性和方位。例如,对象识别引擎26分析从图像传感器20接收的图像数据并在图像数据对象中检测和/或识别对象和/或其他视觉属性,诸如照明和/或能见度状况。例如,3D识别引擎28分析来自深度传感器22的深度数据并生成当前环境和/或方位的3D地图,和/或可以促进对于由引擎26检测的对象的识别。例如,声音识别引擎30处理接收到的声音数据并识别诸如交通噪声的音频信号、和/或可以促进对音频信号来源的识别,例如在图像中和/或3D流和/或引擎26识别的对象。

如方框116中所示的,处理单元10可以分析分类的数据,例如通过环境高级分析引擎14执行对环境的当前状态的高级分析。例如,高级引擎14从识别引擎12接收关于被检测对象、深度和/或声音的信息,并基于所接收的信息计算当前环境状态,例如对象的当前地图或者环境的属性。高级分析引擎14可通过组合来自各个识别引擎的信息来计算环境的状态,诸如基于3D识别引擎28和/或声音识别引擎30生成的信息,对由对象识别引擎26检测的对象的进一步识别和/或辨认。例如,在系统100实施在自主车辆中的情况下,高级分析引擎14可例如考虑到其他车辆、障碍物、交通标识、照明、能见度状况和/或可由识别引擎12生成的任何其他信息而分析路况。基于高级分析,处理单元10可以控制自主机器的导航,如方框120中所示,例如通过导航控制器18,例如由GPS接口16协助。

如方框118中所示,基于所计算的当前环境状态,处理单元10可控制例如识别引擎12的分类器的注意力集中。例如,基于高级分析,注意力引擎13可识别环境的要求提高注意力的某些区域和/或属性,并发送命令给识别引擎12以集中于所识别的要求注意力的区域和/或属性。例如,在自主车辆系统的情况下,注意力引擎13可使得识别引擎12适应于变化的路况。例如,在高级分析引擎14识别“道路上有儿童”交通标识的情况下,注意力引擎13可指示识别引擎12集中于和/或放大对行人探测的灵敏度,并可能特别地集中于和/或放大对儿童行人探测的灵敏度。

例如,在高级分析引擎14识别冬天和/或下雪状况的情况下,注意力引擎13可指示识别引擎12例如集中于和/或放大在严酷天气状况下特别是下雪状况下对汽车探测的灵敏度和/或身着温暖的冬季衣物的行人的探测的灵敏度。

进而,识别引擎12可在根据接收到的命令而集中于区域和/或属性的同时,通过执行检测和/或识别来生成信息,并将所生成的信息提供给高级分析引擎14等。

在本发明的一些实施例中,注意力引擎13可根据神经网络中的节点的位置改变节点的贡献。例如,注意力引擎13可将节点i的输出值乘以系数ci,其中i是网络中的节点位置的位置索引。例如,当高级分析引擎14识别到有助于从某个类检测对象的情况时,例如为了归一化的目的而将网络的相关区域的对应系数进行放大,同时可对补充区域进行减弱。

下面参照图3,图3为根据本发明一些实施例的例如在识别引擎12中实现的用于控制神经网络分类引擎201的注意力机制200的示意图。神经网络分类引擎201包括多个网络区域220-250。每个区域可包括子网络,其训练用于对包括例如可包括在车辆的当前环境中的另一状况、对象或任何其他合适属性的图像进行分类。识别引擎12可包括控制开关270,其可对于分类应当集中在哪个区域上进行选择,例如分类引擎201的哪个区域应当用作指定分类任务上。控制开关270可从注意力引擎13接收指令以集中于所选择的区域和/或放大灵敏度和/或选择区域对分类引擎201的操作的贡献。

网络区域220-250中的一些可以涉及环境的某些方面的不同选项,并且例如根据接收自注意力引擎13的指令,控制器270可激活与所选分类选项相关的区域。例如,控制器270可以选择例如各涉及不同天气类和/或能见度状况类的网络区域225、230和235中的一个,以及例如各涉及不同的行人类(例如成年人、儿童或老人)的网络区域240、245和250中的一个。因此,控制器270和/或注意力引擎13可配置分类引擎201以通过网络区域的相关组合进行分类,诸如当前识别的天气状况和当前环境中的期望类型的行人的组合。因此,本发明的一些实施例提供了适应性的神经网络,其能够根据当前环境的属性进行调整。

将理解到,所公开的神经网络区域的分类和选择方法不限于在此详述的例子,根据本发明的一些实施例可应用其他划分方式和/或神经网络的组构和/或区域的选择。

下面参照图4,图4为根据本发明一些实施例的例如在识别引擎12中实现的神经网络分类引擎300的示意图。分类引擎300可包括神经网络,其划分为几个神经网络区域,例如区域320A、330A、340A和350A以及注意力控制器310。注意力控制器310可从注意力引擎13接收指令以选择和/或集中于所选择的神经网络区域,和/或放大灵敏度和/或选择的区域对分类引擎300的操作的贡献。在图4中,区域320A、330A、340A和350A分别由对应的线320B、330B、340B和350B划出。注意力控制器310可通过对应的信号通道320C、330C、340C和350C分别单独控制区域320A、330A、340A和350A。在一些实施例中,在神经网络区域320A、330A、340A和350A的每一个中,一些网络节点对于该区域是唯一的,并且一些网络节点对于一个以上神经网络区域是共同的。将理解到,本发明不限于任何特定数目、大小和结构的网络区域,并且根据本发明的一些相应的实施例,可应用任何适当的数目、大小和结构的神经网络区域。此外,在一些实施例中神经网络区域可具有相同或不同的大小。

在本发明的一些实施例中,神经网络可例如由处理单元10或由任何其他合适的处理器进行训练,以生成多区域神经网络。例如,可促使神经网络包括分开的空间区域,其中执行不同种类的处理,例如适于各个不同种类的输入信号和/或对象类和/或状况。

根据一些实施例,处理器单元10可在训练过程中使用特定的损失函数Ls:

Ls包括成员s(k,j),其取决于输入信号的类型和/或对象的类和/或状况,此外还取决于节点在网络中的位置,因此有助于将神经网络在空间上分为区域。项为损失函数,其中j是神经网络节点的索引,是期望的分类值,是预期的分类,k是对象类、信号类型或分类的其他参数的索引。

在本公开的一些实施例的上下文中,以例子的方式且不作限定地,诸如“操作”或“执行”的术语意味着能力,分别诸如“可操作”或“可执行”。

组合术语诸如,例如“事物属性”意味着事物的属性,除非可以另行从其上下文清楚地明白。

术语“处理器”或“计算机”或其系统,在此使用为本领域的普通语境,诸如通用处理器、或者便携式装置诸如智能手机或笔记本计算机、或者微型处理器、或者RISC处理器、或者DSP,可能包括附加的元件诸如存储器或通信端口。可选地或附加地,术语“处理器”或者“计算机”或其派生代表这样的设备,其能够执行所提供的或者并入的程序和/或能够控制和/或访问数据存储设备和/或其他设备诸如输入和输出端口。术语“处理器”或“计算机”还代表多个处理器或计算机连接和/或链接和/或否则进行通信,可能共享一个以上其他资源诸如存储器。

术语“软件”、“程序”、“软件过程”或“过程”或“软件代码”或“代码”或“应用”可以根据其上下文交换地使用,并代表一个以上指示或指令或电子电路用于执行通常表示算法和/或其他处理或方法的操作序列。程序存储在介质内或上,诸如RAM、ROM或光盘,或嵌入可由设备访问的电路中并可由诸如处理器的设备或其他电路执行。处理器和程序可构成同一设备,至少部分地,诸如电子门阵列,诸如FPGA或ASIC,其设计为执行操作的编程序列,可选地包括或链接于处理器或其他电路。

对于目标而言,术语“配置”和/或“适用”或其变体意味着至少使用软件和/或电子电路和/或辅助设备,其设计为和/或实现为和/或可操作或运行为达成目标。

存储和/或包括程序和/或数据的装置构成制造物品。除非另外指定,程序和/或数据存储在非暂态介质中或上。

在公开电气或电子装备的情况下,假设合适的电源用于其操作。

流程图和方框图示出了根据本公开主题的各个实施例的系统、方法和计算机程序产品的可能实施的架构、功能性或操作。对此,流程图或方框图中的每个框可表示程序代码的模块、段或部分,其包括一个或多个可执行指令用于实施指定的逻辑功能。还应当注意的是,在一些备选实施中,图示的或描述的操作可以以不同的顺序或组合或作为同时的操作而发生,而不是顺序操作,以实现同样或等同的效果。

下面权利要求中的所有手段或步骤加上功能元件的相应结构、物质、动作和等同物旨在包括用于执行与如所具体要求保护的其他所要求保护的元件组合的功能的结构、物质或动作。如在此所使用的,单数形式“一个”和“该”旨在也包括复数形式,除非上下文清楚地指明了其他情况。将进一步理解,术语“包括”、“包含”和/或“具有”和这些术语的其他组合在使用在本说明书中时,指定了规定的特征、整数、步骤、操作、元件和/或部件,但不排除一个以上其他特征、整数、步骤、操作、元件、部件和/或其组的存在或附加。

再次使用的专门名词不应当理解为限制,除非另外指定,并且仅为了描述特定实施例的目的而不旨在限制所公开的主题。虽然图示或描述了所公开的主题的某些实施例,但将会清楚的是本公开不限于在此描述的实施例。不排除很多修改、改变、变型、替换和等同方案。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号