CN112771542B - 以学习的视觉实体为基础的强化学习神经网络 - Google Patents
以学习的视觉实体为基础的强化学习神经网络 Download PDFInfo
- Publication number
- CN112771542B CN112771542B CN201980063799.XA CN201980063799A CN112771542B CN 112771542 B CN112771542 B CN 112771542B CN 201980063799 A CN201980063799 A CN 201980063799A CN 112771542 B CN112771542 B CN 112771542B
- Authority
- CN
- China
- Prior art keywords
- neural network
- data
- visual
- actions
- visual entity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 147
- 230000000007 visual effect Effects 0.000 title claims abstract description 118
- 230000009471 action Effects 0.000 claims abstract description 129
- 230000002787 reinforcement Effects 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 56
- 239000003795 chemical substances by application Substances 0.000 claims description 40
- 239000013598 vector Substances 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 17
- 230000033001 locomotion Effects 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 13
- 238000013527 convolutional neural network Methods 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 7
- 230000000306 recurrent effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 29
- 230000007613 environmental effect Effects 0.000 abstract description 8
- 230000000875 corresponding effect Effects 0.000 description 19
- 238000004590 computer program Methods 0.000 description 14
- 230000004044 response Effects 0.000 description 12
- 238000004088 simulation Methods 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 102000004169 proteins and genes Human genes 0.000 description 7
- 108090000623 proteins and genes Proteins 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 239000003814 drug Substances 0.000 description 5
- 229940079593 drug Drugs 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 241000282813 Aepyceros melampus Species 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000012846 protein folding Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008827 biological function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009510 drug design Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
- G06V10/7784—Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
- G06V10/7788—Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/87—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/96—Management of image or video recognition tasks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
一种强化学习神经网络***,在该强化学习神经网络***中内部表示和策略以从图像像素得出的视觉实体为基础,该强化学习神经网络***包括视觉实体标识神经网络子***,该视觉实体标识神经网络子***被配置成处理图像数据以确定表示相应离散视觉实体的空间图的集合。强化学习神经网络子***处理来自空间图的集合的数据和环境奖励数据,以提供用于选择动作以执行任务的动作数据。
Description
背景技术
本申请涉及强化学习。
在强化学习***中,代理通过执行动作来与环境交互,所述动作是由强化学习***响应于接收到表征所述环境当前状态的观测而选择的。
一些强化学习***根据神经网络的输出响应于接收到给定的观测来选择将由所述代理执行的动作。
神经网络是机器学习模型,其采用一个或多个层的非线性单元来预测针对接收到的输入的输出。一些神经网络是深度神经网络,其除了输出层外还包括一个或多个隐藏层。每个隐藏层的输出用作所述网络中下一层——即,下一个隐藏层或输出层——的输入。所述网络的每一层根据相应的参数的集合的当前值从接收到的输入生成输出。
发明内容
强化学习神经网络***能够学习执行复杂的任务,但是通常以人类难以理解的方式在***内对选择动作所基于的基础进行编码。本说明书描述强化学习***,其中内部表示和策略以从图像像素得出的视觉实体为基础。这些视觉实体能够被询问,例如显示,以使人类更容易理解***选择动作所基于的基础。
本说明书中描述的***中的一些使用基于选项的强化学习技术。通常选项可以是指一系列单独或“原子”动作。在发起之后的一些实例中,例如基于发起条件,选项可以具有当选择动作时遵循的内部策略以及终止条件。可以采用强化学习方法来学习内部策略。然而,基于选项的方法不是实现本文描述的技术中的一些所必要的。
在一个方面中,提供了一种强化学习神经网络***。该***可以作为计算机程序被实现为在一个或多个位置中的一个或多个计算机上。
该***可以包括用于接收定义环境的观测的观测数据的输入。观测可以包括例如单色或彩色图像、短图像序列,例如级联的;或视频。同一或另一输入可以从环境接收环境奖励数据,该环境奖励数据定义(由代理)响应于执行动作而接收的外在奖励。该***可以具有输出以提供用于选择要由在环境中行动的代理所执行的动作的动作数据。
该***还可以包括诸如卷积神经网络(CNN)的视觉实体标识神经网络子***,该视觉实体标识神经网络子***被配置成处理观测数据以针对一个或多个图像确定(K个)空间图的集合。每个空间图可以表示可以由***学习的(K个)离散视觉实体的集合中的一个离散视觉实体。每个空间图可以包括多个图像素,这些图像素通过潜在地以不同的例如较低的分辨率与图像像素相对应。因此每个图像素可以标识一个或多个图像的对应区域是否和与空间图相对应的离散视觉实体相关联,即表示与空间图相对应的离散视觉实体。
该***还可以包括强化学习神经网络子***,该强化学习神经网络子***被配置成处理来自空间图的集合的数据和环境奖励数据以提供动作数据。通常强化学习神经网络子***还将接收并处理观测数据。
在广义上每个空间图都可以表示,更特别地可以学习表示可用于强化学习但以观测,即以图像,为基础的概念。该概念可以包括诸如墙壁、对象等的视觉元素的特征、与环境内的代理和/或对象的运动相关的特征以及可能潜在地受环境中的动作影响的特征中的一个或多个的组合。因此视觉实体可以提供对观测的抽象或部分抽象的表示,但是由于其空间性质可以由人类容易地可视化,例如作为图。以这种方式,可以对增强学习***的操作获得一些洞悉。这对监管和其他目的来说可以是有用的;例如如果能够鉴别自主***的动作的动机,则更容易信任这样的***。
在一些实施方式中,可以将每个像素或像素组指派给K个视觉实体的集合中的一个视觉实体。空间图的集合然后可以定义图像分段掩码的集合,其中每个掩码对应于视觉实体中的一个的空间映射,从而指示在观测中哪里存在实体,从而有效地映射(部分抽象的)视觉实体。
在一些实施方式中,为了执行指派实体编码神经网络被配置成将观测数据编码成每个图像素的激活。矢量量化器(VQ)然后可以将每个图像素的激活指派给表示离散视觉实体中的一个的嵌入矢量,以将图像素分类为K个离散视觉实体中的1个。例如可以标识与表示激活的激活矢量最接近的嵌入矢量,并且与此矢量相对应的矢量量化器输出(空间图像素)用1标记,此像素的其他输出(在其他空间图中)为0。
可以使用无监督学习技术来学习实体编码神经网络和/或嵌入矢量的参数。在一些实施方式中,可以与强化学习(RL)神经网络子***的参数分开地学习它们。然而视觉实体标识子***能够为强化学习(RL)神经网络子***提供相对丰富的训练梯度源,尤其在RL子***处于早期、探索阶段中并且外在奖励相对稀少时。因此,如稍后更详细地描述的,该***能够在相对早期阶段学习动作的集合或选项,并且这些中的一些此后可以由强化学习***用作更高级的控制命令,其中结果是它们对接收外在奖励有用。
如先前描述的,可以训练视觉实体标识神经网络/VQ子***以表示空间图(掩码或图像分段),所述空间图表示图像/环境外观、对象运动和环境的动作可变方面的特征。
因此该***可以包括图像外观编码神经网络,该图像外观编码神经网络耦合到观测数据输入以提供与图像素空间上相对应的编码图像外观数据。这然后可以用于训练视觉实体标识神经网络/VQ子***以生成表示图像外观的特征的空间图,例如通过对来自一个或多个颜色通道的数据进行编码的颜色。例如颜色能够帮助区分环境的元素,诸如墙壁、地面、对象等。视觉实体标识子***训练器可以被配置成用取决于编码图像外观数据的分布与每个图像素的激活之间的差异的损失函数来训练视觉实体标识神经网络子***。例如,能够从在空间图与编码图像外观之间空间上对准和不对准的图像补片生成正训练示例和负训练示例。可以采用交叉熵损失。
该***可以附加地或替换地包括帧编码神经网络,该帧编码神经网络被配置成将空间图的集合编码成当前帧的帧嵌入数据,其中帧可以表示一个或多个图像。视觉实体标识子***训练器可以被配置成训练视觉实体标识神经网络子***(和帧编码神经网络)以例如使用分类损失来区分在与当前帧相距稍后称为“展开”的时间窗帧数内部和外部的帧。这些帧之间的差异表示诸如运动的变化,因此子***可以学习映射帧的可能移动的元素。
该***可以附加地或替换地包括动作编码神经网络,该动作编码神经网络被配置成对动作数据进行编码以用于训练视觉实体标识神经网络子***。视觉实体标识子***训练器可以被配置成取决于在时间窗内和外部的帧之间的差异并取决于所采取的动作,更具体地编码动作数据,而训练视觉实体标识神经网络子***(和动作编码神经网络)。可以基于时间窗内采取/未采取的动作使用分类损失来训练***;时间窗可以是单个帧,即可以处理连续的帧。这些帧之间的差异表示由于代理动作而导致的变化,并且因此子***可以学习映射帧的代理可控元素和/或根据帧来预测可以通过代理动作改变什么元素。
在一些实施方式中,可以训练视觉实体标识神经网络子***或与强化学习神经网络***一起使用的另一图像预处理子***,以表示特定于诸如控制自主或半自主载具的特定任务的视觉实体。例如,视觉实体标识子***训练器可以被配置成取决于一个或多个任务相关对象在图像中的存在与否而用分类或其他损失函数来训练视觉实体标识神经网络子***。这些可能包括例如诸如路标的静态对象、诸如交通灯或门架安装式显示器的变化对象和/或诸如行人或骑自行车的人的移动对象。
在实施方式中,空间图(稍后称为掩码)用于生成内在,即内部,奖励,这些奖励能够由RL子***使用来学习选项,在实施方式中一系列动作目的旨在使内在奖励最大化。
因此内在奖励生成子***可以被配置成处理空间图(掩码)中的每一个以生成内部、内在奖励数据。在实施方式中内在奖励是从空间图的一个或多个几何特性得出的。例如在空间图包括(二元)掩码的情况下,此类几何特征可以包括掩码在x或y方向上的最大或最小位置、掩码的最大或最小面积、掩码的质心位置等。例如,使面积最大化可以对应于接近对象或其他环境特征。在空间图的内容,即图像素,未定义二元掩码的情况下,可以使用类似的度量。通常内在奖励的几何特征可以包括空间图的仿射几何特征。
存在对于每个视觉实体(e)且对于每个几何特征(m)的内在奖励。视觉实体(e)和几何特征(m)的组合可以标识RL子***的选项(e,m)。强化学习神经网络子***可以被配置成针对选项处理内部奖励数据,以确定选项的对应的状态动作Q值(稍后“选项Q值”)的集合。选项Q值可以被用于在执行与选项相关联的一系列动作时针对选项的动作选择策略。该一系列动作中的动作可以试图在执行选项的同时使预测的(时间折扣的)内在奖励最大化。
选项本身与空间图的几何特征相关联,即与已学习的视觉实体的几何特征相关联,这些已学习的视觉实体的几何特征本身可以表示视觉外观,从而削弱无关/背景特征,并且突出代理可操纵的特征。以环境的图像为基础,可以将选项所基于的实体,更特别地空间图,表示为图像,这能够促进人们对其内容的领会,从而促进对RL***的行为的理解。
在实施方式中,强化学习神经网络子***被配置成在可以由选项控制器实现的选项中的一个与可以由任务控制器实现的原子动作之间选择。选择可以由元控制器做出;选择可以是响应于元Q值,所述元Q值取决于响应于执行原子动作的选项而来自环境的预测的(时间折扣的)外在奖励,更一般地响应于针对将来的元控制器选择步骤贯彻基于元Q值的动作选择策略的预测的(时间折扣的)外在奖励。在一些实施方式中当一个选项被选择时,它被贯彻直到终止条件为止,该终止条件可以是定义数目的动作选择步骤。当一个原子动作(任务)被选择时可以对于相同数目的动作选择步骤执行原子动作,例如基于当遵循任务动作选择策略时预测的(时间折扣的)外在奖励来根据状态-动作的任务Q值进行选择。通常动作/选项选择策略可以是epsilon-贪婪,在1-ε的概率情况下选择具有最大Q值的动作,而在概率ε情况下选择随机动作;可以在训练期间随时间而减小策略的ε的值。
在一些实施方式中,强化学习(RL)神经网络子***(代理)可以具有RL代理结构,该RL代理结构包括后面有一个或多个循环神经网络层的一个或多个卷积神经网络层,例如包括一个或多个LSTM(长短期记忆)层。RL神经网络子***可以被配置成接收观测数据和环境奖励数据,并且可以输出用于选择要执行的动作的动作数据。可以在控制对选项/原子任务的选择的元控制器、基于外在奖励控制对原子任务的选择的任务控制器以及被配置成控制对在所选选项内的原子任务的选择的一个或多个选项控制器之间共享RL神经网络子***。因此RL神经网络子***可以具有单独的头以为单独的策略提供元Q值、任务Q值和选项Q值。可以通过提供表征Q值的分布的参数来提供Q值。RL神经网络子***还可以包括缓冲器以存储表示内部奖励数据、环境奖励数据、观测数据和动作数据的经验数据,以供在训练强化学习神经网络子***时使用。强化学习(RL)神经网络子***可以具有诸如IMPALA(Importance-Weighted Actor-Learner,重要性加权的行动者-学习者)架构(Espeholt2018arXiv 1802.01561)的分布式架构。
在一些实施方式中,可以在彼此通信的不同子***之间划分或者完全地拆分强化学习神经网络***。例如,视觉实体标识神经网络子***和/或RL神经网络子***的功能可以每一个作为API被提供。如上所述的视觉实体标识神经网络子***可以独立于RL神经网络子***被使用,例如作为机器学习***的预处理前端。类似地,如上所述的RL神经网络子***可以采用不同类型的***来生成用于确定内在奖励的几何特征的空间图。
还提供了一种训练如上所述的视觉实体标识神经网络子***的方法。该方法可以包括通过视觉实体标识神经网络子***反向传播损失函数中的一个或多个的梯度,以例如使用随机梯度下降来学习视觉实体标识神经网络子***的参数和/或表示离散视觉实体的嵌入矢量。
还提供了一种训练如上所述的强化学习神经网络***的方法。该方法可以包括反向传播一个或多个损失函数以学习提供选项Q值和/或元Q值和/或任务Q值的RL神经网络子***的参数。
在广义上强化学习***可以是选择要由与环境交互的强化学习代理执行的动作的***。为让代理与环境交互,***接收表征环境的当前状态的数据并且响应于所接收到的数据而选择要由代理执行的动作。在本说明书中将表征环境的状态的数据称为观测。
在一些实施方式中,环境是真实世界环境并且代理是与真实世界环境交互的机械代理。例如,代理可以是与环境交互以完成具体任务例如以定位环境中的感兴趣对象或者以将感兴趣对象移动到环境中的指定位置的机器人;或者代理可以是导航通过环境的自主或半自主陆地或空中载具。
除图像外,观测还可以包括例如对象位置数据和传感器数据中的一种或多种,以随着代理随着它与环境交互而捕获观测,例如来自图像、距离或位置传感器或来自致动器的传感器数据。在这些实施方式中,动作可以是用于控制机器人或自主或半自主陆地或空中载具的控制输入。
例如在机器人的情况下,观测还可以包括以下各项中的一个或多个:关节位置、关节速率、关节力、扭矩或加速度例如重力补偿的扭矩反馈、以及由机器人握住的物品的全局或相对姿态。
在机器人或其他机械代理或载具的情况下,观测还可以类似地包括代理的一个或多个部分的位置、线速度或角速度、力、扭矩或加速度和全局或相对姿态中的一个或多个。可以在1、2或3个维度上定义观测,并且观测可以是绝对观测和/或相对观测。
观测还可以包括例如诸如电机电流或温度信号的感测电子信号;以及例如来自相机或LIDAR传感器的图像或视频数据。
来自连续动作空间的动作数据可以包括例如机器人的一个或多个关节或另一机械代理的部分的位置、速率或力/扭矩/加速度数据。动作数据可以附加地或替换地包括电子控制数据,诸如电机控制数据或更一般地用于控制环境内的一个或多个电子设备的数据,对所述电子设备的控制对环境的观测状态有影响。例如在自主或半自主陆地或空中载具的情况下,动作可以包括用于控制载具的导航例如转向以及载具的移动例如制动和/或加速的动作。
在一些实施方式中,环境是模拟环境并且代理被实现为与该模拟环境交互的一个或多个计算机。
例如模拟环境可以是对机器人或载具的模拟,并且可以在该模拟上训练强化学习***。例如,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且代理是通过运动模拟导航的模拟载具。在这些实施方式中,动作可以是用于控制模拟用户或模拟载具的控制输入。
在另一示例中,模拟环境可以是视频游戏并且代理可以是玩视频游戏的模拟用户。
在另一个示例中,环境可以是蛋白质折叠环境,使得每个状态是蛋白质链的相应的状态。代理可以是用于确定如何折叠蛋白质链的计算机***。在此示例中,动作是用于折叠蛋白质链的可能的折叠动作并且要实现的结果可以包括例如折叠蛋白质,使得蛋白质是稳定的并且使得它实现特定生物学功能。作为另一示例,代理可以是在没有人类交互的情况下自动地执行或控制由***选择的蛋白质折叠动作的机械代理。观测可以包括蛋白质的状态的直接或间接观测和/或可以是从模拟得出的。例如观测可以包括来自模拟的蛋白质链的状态的图像。
以类似的方式环境可以是药物设计环境,使得每个状态是潜在制药化学药物的相应的状态并且代理是用于确定制药化学药物的元素和/或用于制药化学药物的合成途径的计算机***。可以例如在模拟中基于从药物的目标得出的奖励来设计药物/合成。作为另一示例,代理可以是执行或控制药物的合成的机械代理。观测可以包括药物的状态的图像,其可以是从物理药物和/或从模拟得出的。
通常在模拟环境的情况下,观测可以包括先前描述的观测或观测类型中的一种或多种的模拟版本,并且动作可以包括先前描述的动作或动作类型中的一种或多种的模拟版本。
强化学习***可以是作为一个或多个计算机程序实现在一个或多个位置中的一个或多个计算机上的***,其中实现了下述***、组件和技术。
能够在特定实施例中实现本说明书中描述的主题以便实现以下优点中的一个或多个。
如本文所描述的强化学习神经网络***能够学习视觉实体的集合,其能够表示环境外观、对象运动以及代理操纵环境的诸如对象的各部分的能力。这些能够形成内部奖励的基础,这些奖励促进与动作的序列相关联的选项的集合的原则性构造。RL子***或元控制器然后能够从这些中选择以使预测的外在奖励最大化。这样的***能够学习执行其他RL***认为难以或不可能学习的任务。因此这样的***能够提供学习任务所需要的存储器和处理功率方面的相当大的节省。例如***可以能够使在环境中空间上相距较远的对象/动作特征和地标特征相关联。例如已学习的视觉实体能够提供行为选项的集合,这些行为选项可由代理(RL***)在探索期间使用以改善探索,从而产生快速更高效的学习,同时减少资源使用并改善最终结果。***的一些示例还可以更容忍环境中或所捕获的环境的观测中的变化。这能够促进***跨任务或跨用于实现强化学习神经网络***的硬件更加通用。例如***的实施方式可以更容忍传感器、致动器或用于在环境中捕获观测和/或执行动作的其他硬件中的变化。
强化学习神经网络***的一些实施方式还能够为由***使用的动作选择策略提供内部基础的人类可解释的表示。可以将这些单独地或与***的观测和/或动作的表示相结合地呈现给用户,以促进用户理解动作的基础。例如,可以将取决于具体和更抽象的特征的合集的空间图或掩码呈现为视觉图。可以将这样的图单独地呈现或在从中得出特征的图像上重叠到表达通过空间图或掩码编码的概念的区域上,例如作为图像着色或以其他方式指示的分段。以这种方式,能够将由RL***使用来指导其动作的概念在视觉上表达给人类用户。此类信息对安全和诊断目的来说可能是特别重要的。例如它可以用于确定RL***是否正在以安全方式表现或很可能以安全方式表现和/或者它可以用于确定***是否在正确地/按预期表现,例如用于查找故障。在例如在自主或半自主载具或机器人应用中使用该***的情况下,这可能是重要的。例如它可以潜在地用于确定载具是否知道道路标志、交通灯、行人等。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐明。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出以经学习的视觉实体为基础的强化学习神经网络***。
图2示出用于图1的强化学习神经网络***的示例视觉实体标识神经网络子***的细节。
图3示出用于图1的强化学习神经网络***的示例强化学习神经网络子***。
图4示出图1的强化学习神经网络***的示例实施方式的细节。
图5示出用于使用图1的强化学习神经网络***来执行任务的过程的流程图。
图6示出用于训练图1的强化学习神经网络***的过程的流程图。
在各种附图中,相同的附图标记和标号指示相同的元件。
具体实施方式
图1示出作为计算机程序实现在一个或多个位置中的一个或多个计算机上的强化学习神经网络***100。该***的一些实施方式目的旨在学习***在其中操作的环境的人类可解释的内部表示。强化学习神经网络***100的行为因此可以以学习的视觉实体为基础。
强化学习神经网络***100在多个时间步中的每个时间步处选择要由与环境110交互的代理102执行的动作104。为让代理102与环境110交互,***100接收表征环境的当前状态的观测的观测数据106并且响应于所接收到的观测数据106而提供用于选择要由代理102执行的动作104的动作数据。可以例如根据动作值从预定动作的集合中选择动作104。
在每个时间步,***100还基于环境110的当前状态和代理102在该时间步的动作104来接收表征外部奖励的环境奖励数据108。通常,外部奖励是反映执行动作104对代理102完成特定任务的效果的数值。例如,***100可以基于朝向代理102完成诸如导航到目标位置或相对于环境中的对象执行动作的任务的进度来接收针对给定时间步的外部奖励108。
在实施方式中观测数据包括环境的一个或多个图像,该环境可以是真实世界或模拟环境。图像可以是彩色图像,例如RGB图像,但是颜色不需要对应于光或光的可见波长。
在一些应用中代理102包括与真实世界环境交互的机械代理。例如,代理102可以是与环境110交互以完成特定任务的机器人,或者代理102可以是导航通过环境的自主或半自主载具。在这些情况下,动作104可以是用于控制机器人或自主载具的控制输入。
强化学习神经网络***100包括耦合到强化学习神经网络子***130的视觉实体标识神经网络子***120。视觉实体标识神经网络子***120被配置成将环境的图像处理为观测数据以确定空间图122的集合。每个空间图通常对应于图像,可选地以不同的分辨率,并且映射离散视觉实体——即空间图的像素标识视觉实体在图像中的对应位置处的存在与否。视觉实体对应于图像像素的空间分组和/或时间分组。这些往往与环境中诸如墙壁、地板、可操纵对象、背景等的人类可解释的实体相关。它们还往往承载强化学习任务的语义含义。
强化学习神经网络子***130接收并处理空间图122的集合和环境奖励数据108,并且在实施方式中还接收并处理观测数据106,以确定用于选择动作104的动作数据。强化学习神经网络子***130可以直接输出动作,或者它可以参数化用于选择动作的动作选择策略的一个或多个分布,或者它可以确定用于选择动作的动作值(Q值)的集合。它可以作为诸如IMPALA(Importance-Weighted Actor-Learner),Espholt et al.,arXiv:1802.01561(Espholt等人arXiv:1802.01561的IMPALA(重要性加权演员学习者))的分布式强化学习***被实现。强化学习神经网络子***130使用经映射的视觉实体来为动作选择打基础。在实施方式中,动作选择涉及在选项之间选择,每个选项定义许多时间步要遵循的动作选择策略,并且因此涉及组成选项模型。
训练引擎140根据稍后描述的目标函数来控制强化学习神经网络***100的训练。训练引擎140可以包括用于视觉实体标识神经网络子***120和用于强化学习神经网络子***130的单独的训练引擎,如稍后描述的。
图2示出示例视觉实体标识神经网络子***120的细节。包括图像的观测106被提供给矢量量化器200。在一些实施方式中,这包括被配置成对于与图像相对应的空间网格204(V)的每个像素确定K路分类值的实体编码神经网络202。也就是说,空间网格的每个位置被赋予将像素标识为属于K个视觉实体中的一个的范围[1,…,K]内的值。以这种方式对像素进行分组提供图像的视觉抽象。图2示出示例输入图像106a以及视觉实体204a的对应图。
实体编码神经网络202可以包括卷积神经网络编码器,所述卷积神经网络编码器具有以与图像相同的分辨率定义空间网格的输出。可以如van den Oord 2017,“NeuralDiscrete Representation Learning”,arXiv:1711.00937(van den Oord 2017,“神经离散表示学习”,arXiv:1711.00937)中所描述的那样执行矢量量化。可以使用其他矢量量化技术;在一些实施方式中,可以在不使用矢量量化的情况下生成视觉实体的空间图。
空间图122的集合可以包括K个视觉实体中的每一个的一个空间图。例如视觉实体的独热编码可以定义实体掩码206的集合,一个相应的掩码针对每个视觉实体。例如矢量量化器200可以将每个图像素的激活指派给表示离散视觉实体中的一个的嵌入矢量。可以标识与表示激活的激活矢量最接近的嵌入矢量,并且与此矢量相对应的空间图像素用1标记;在其他空间图中针对此像素的其他输出可以用0标记以提供二元掩码。实体掩码206的集合如稍后所描述的那样被用于为强化学习神经网络子***130确定内在奖励。
矢量量化器200被配置成基于观测来学习对视觉实体消歧。因此在实施方式中,视觉实体标识神经网络子***120包括视觉实体标识子***训练器240以基于来自包括全局信息、局部信息和可控信息中的一个或多个的观测的信息来训练矢量量化器200。
在实施方式中,视觉实体标识神经网络子***120包括帧编码神经网络210,例如卷积神经网络,以处理矢量量化器200的输出,例如空间图的集合,以生成包括帧级嵌入矢量Gt的帧嵌入数据212。第一分类损失I(Gt,Gt+Δ)可以用于训练视觉实体标识神经网络子***120,更特别地矢量量化器200,以区分从当前帧起在时间窗帧数Δ内部和外部的帧(即图像观测)。帧数Δ可以被随机地选取,但是可以被约束成大于从当前帧起的最小时间窗。最小时间窗可以定义长时间段,例如>10个帧或>20个帧;它可以具有与强化学习神经网络子***130的展开长度或选项中的步数(稍后描述)相对应的长度。以这种方式,视觉实体标识神经网络子***120可以学习表征“全局”信息,该“全局”信息区分与环境的状态的不同轨迹相对应的观测,即图像帧,同时忽略无关信息,例如环境中的“背景”元素。
在实施方式中,视觉实体标识神经网络子***120还包括动作编码神经网络220,例如卷积神经网络,以处理由强化学习神经网络子***130选择的动作104以生成包括动作嵌入222的编码动作数据。第二分类损失I((Gt,Gt+1),At)可以用于训练视觉实体标识神经网络子***120,更特别地矢量量化器200,以区分在由(Gt,Gt+1)表示的帧之间转变的在时间步t采取的动作At和未选择的动作。以这种方式,视觉实体标识神经网络子***120可以学习表征环境的图像观测中的可控信息。
在实施方式中,视觉实体标识神经网络子***120还包括图像外观编码神经网络230,例如卷积神经网络,以处理包括图像的观测106以提供编码图像外观数据232。在实施方式中,编码图像外观数据232包括以与图像或空间网格204相同的空间分辨率的图像的局部颜色和/或纹理的嵌入C;图像232a示出嵌入C的示例。第三分类损失I(Vt,Ct)可以用于训练视觉实体标识神经网络子***120,更特别地矢量量化器200,以在与在时间t处的嵌入C,Ct,对准时在时间t处的空间网格204,Vt,和在空间上未对准时在时间t处的空间网格204,Vt之间进行区分。以这种方式,视觉实体标识神经网络子***120可以学习表征环境的图像观测中的局部信息,例如图像的具有一致颜色的区域。这能够帮助在全局和可控信息相对静态时鼓励探索环境。
第一分类损失、第二分类损失和第三分类损失可以被例如以加权和组合,并且由视觉实体标识子***训练器240用于视觉实体标识神经网络子***120的无监督训练。例如视觉实体标识子***训练器240的组合损失函数,Lobs,可以是
Lobs=-αglogq(Gt+Δ|Gt)-αclogq(At|(Gt,Gt+1))-αalogq(Ct|Vt)
其中αa,αa,αa表示用于全局信息项、可控信息项和外观信息项的相应的权重并且每个q(·)是分类损失。在一些实施方式中,可以将q(Gt+Δ|Gt)建模为嵌入上的余弦相似度。可选地可以在从Δ开始的一系列时间步上对logq(Gt+Δ|Gt)求平均。可以在时间步的集合上对组合损失函数求平均。
仅仅作为示例,在一个实施方式中实体编码神经网络202包括一组具有3x3核以及64个特征的3个卷积层,每个卷积层后面是ReLU非线性。这些后面是具有8个输出的1x1卷积层以及L2正则化。在一些实施方式中,空间网格204定义8个视觉实体的值。在实施方式中,卷积核的步幅为1并且空间网格204具有与输入图像相同的空间维度。帧编码神经网络210可以包括3x3卷积的堆叠,后面是用于降低输出的分辨率的具有步幅2的2x2最大池化和ReLU非线性。然后可以使输出平摊(flatten)以提供帧嵌入212。图像外观编码神经网络230可以包括具有ReLU非线性的两层8滤波器卷积神经网络。
图3示出示例强化学习神经网络子***130。在实施方式中,视觉实体的空间图由内在奖励生成子***300处理以生成为强化学习神经网络子***130定义一个或多个内在奖励的内部奖励数据。内在奖励取决于空间图的几何特性并且可以从实体掩码206确定。例如几何特性可以包括视觉实体的(二元)空间图的质心的笛卡尔坐标和空间图的面积。在空间图为空的情况下,质心可以位于(0,0)并且可以将面积设定为零。可以定义奖励以用于使这些中的每一个最大化和/或最小化,在示例实施方式中为每个视觉实体定义内在奖励基于的六个几何特征。在实施方式中存在E×M个内在奖励,其中E是视觉实体的数目并且M是几何特征的数目。可以根据环境来选取视觉实体的数目;可以存在例如在范围1-20个内的视觉实体。
此类内在奖励的使用可以帮助强化学习神经网络子***学习行为原语,诸如到达对象(使面积最大化)、避开对象(使面积最小化)、远离对象向左移动(使x最小化)等。
强化学习子***被配置成使用内在奖励来学习选项分数,例如每个几何特征-视觉实体组合的选项Q值,这些定义选项库302。可以使用离线策略学习来训练选项Q值。选项Q值对应于强化学习子***的相应的选项。选项根据由该选项的选项Q值所确定的动作选择策略可以对应于响应于针对N个时间步的集合的一系列观测系列而执行的一系列动作。实际上可以将选项视为包括针对该时间步的集合执行的原子动作的集合的动作原语。动作选择策略可以由选项控制器304实现以响应于观测数据106而选择动作104。动作选择策略可以包括epsilon贪婪策略;时间步的集合可以是固定数目的时间步,例如N=20个时间步。在实施方式中,动作104是从预定动作的集合中选择的。
强化学习神经网络子***130包括元控制器310,该元控制器基于元Q值Qmeta提供在时间步输出的元动作所述元动作/>每N个时间步被重新评估(即/>可以在N个时间步内被固定然后重新评估)。元动作选择E×M+1个可能的动作中的一个。也就是说,每N个时间步元控制器310选择E×M个选项中的一个以在接下来N个时间步执行,或者元控制器310确定应该对于接下来N个时间步执行一系列单独“原子”任务。在一些其他实施方式中,元控制器可以在对原子任务的每次选择之后重新评估。E×M个选项中的每一个均具有相应的选项Q值Qe,m。
原子任务选择可以由任务控制器320实现,该任务控制器被配置成响应于观测数据106和任务分数或Q值Qtask而选择动作104。
元Q值、任务Q值和选项Q值可以由Q值神经网络子***330响应于观测数据106而确定。Q值神经网络子***330可以具有核神经网络,所述核神经网络包括后面是诸如LSTM层的循环神经网络层的一个或多个卷积神经网络层。在一些实施方式中,Qmeta、Qtask和Qe,m的值可以由核神经网络的单独的头或层提供。
分数或Q值可以作为来自神经网络的输出被提供,或者神经网络可以提供定义可以从中选择分数或Q值的概率分布的输出。可以通过选取具有最高分数或Q值的选择来做出取决于分数或Q值的选择。替换地,可以针对预定的集合的每个可能的选择确定概率以定义跨可能的选择的概率分布,例如通过用softmax函数来处理相应的分数或Q值,并且可以通过从这种概率分布采样来做出选择。可以根据epsilon-贪婪策略做出由选项控制器304、元控制器310或任务控制器320做出的选择,该epsilon-贪婪策略在概率∈情况下做出随机选择,而在概率1-∈情况下基于确定的分数或Q值做出选择。
强化学习神经网络子***130由强化学习训练引擎340使用离线策略学习基于存储在共享重放缓冲器342中的数据来被端对端训练,该共享重放缓冲器存储历史观测数据、动作数据和来自环境的外部奖励数据。在实施方式中,强化学习训练引擎340被配置成异步地训练Q值,即对应的策略和或值函数。Q值神经网络子***330被训练以使通过奖励数据108表征的来自环境的预期的(折扣的)外部奖励最大化。选项Q值输出被训练以使内在奖励rint最大化。可以使用一系列强化学习技术中的任一种。在训练中的早期,选项库用作有用的探索策略,其经验稍后被Qtask函数纳入以使用共享重放缓冲器来学习外在任务离线策略。
在一些实施方式中,Q值神经网络子***330为Qmeta、Qtask确定Q值并且为Qe,m确定E×M个Q值。每个Q值具有对应的动作选择策略πmeta、πtask、πe×m;每N步使用Qmeta,同时在每一步使用Qtask和Qe,m。可以将在时间t的Q值定义如下:
其中γ是小于1的折扣系数,rt′是在时间t′来自环境的外部奖励,是在时间t′的内在奖励,并且通过对于Qmeta遵循πmeta、通过对于Qtask遵循πtask并通过对于Qe,m遵循πe×m来评估期望。
可以通过使对应的损失函数Lmeta、Ltask和最小化来训练从Q值神经网络子***330输出的每个Q值。可以使用先前存储在重放缓冲器342中的数据来执行训练。所存储的数据可以包括表征元组(St(et,mt,at),rt,st+1)的数据,其中st包括表征在时间t的观测的数据,例如图像,(et,mt)表征在时间t选择的选项(其中et=E+1可以表示一系列原子动作),at表征在时间t采取的动作,该动作导致状态转变为st+1并且来自环境的奖励由rt表征。对于来自在时间τ存储的重放缓冲器的数据的样本,Ltask损失的估计由下式给出
其中U是展开长度,即在计算中使用的超出τ的时间步的数目,Qtask是从Q值神经网络子***330输出的估计Q值,并且最大值是在时间t+U可用动作上的Qtask的最大值。用Qmeta和Qe,m取代Qtask,能够类似地确定Lmeta和的估计。对于强化学习神经网络子***130,可以将这些损失组合成总强化学习损失LRL,
其中λtask、λmeta和λbank是权重。
图4示出图1-3的强化学习神经网络***100的示例实施方式的细节,其中与先前描述的元素相似的元素具有相似的附图标记。图4示出观测图像106a的空间图204a的集合;在图像204a中每个区域对应于具有对视觉实体的时间一致标签的像素。诸如图像204a的一个或多个图像可以由***提供以促进人类对***的行为的理解,因为已学习的行为以视觉实体为基础,即可以理解***在它执行任务时“看到”什么。在实施方式中,由强化学习神经网络子***130处理的空间图可以由除图2中图示的以外的视觉实体标识神经网络子***提供,例如由外部视觉子***提供。仅仅作为示例,在一个实施方式中Q值神经网络子***330包括具有后面是LSTM层的512个隐藏单元输出的三层卷积堆叠,并且每个Q值由dueling网络架构(Wang等人arXiv1511.06581)提供。
图5示出用于使用图1-4的强化学习神经网络***100来执行任务的过程的流程图。过程接收包括环境的图像的观测(步骤500)并且用视觉实体标识神经网络子***120来处理图像以确定视觉实体空间图的集合(步骤502)。视觉实体空间图的集合和观测然后由强化学习神经网络子***130处理以选择动作序列的选项或一系列单独动作(步骤504)。***然后根据选择输出动作数据以用于控制代理102执行动作(步骤506),并且过程循环回到开始。
图6示出用于训练图1-4的强化学习神经网络***100的过程的流程图。由***接收包括环境的图像的观测数据(步骤600)。基于此,Q值神经网络子***330确定Qmeta的值,并且元控制器310例如与epsilon-贪婪策略一起使用Qmeta,以确定元动作以选择选项或一系列单独任务(步骤602)。
过程然后在接下来N个时间步执行选项或单独任务。因此图像被处理以确定图像中的视觉实体的空间图的集合,其进而用于确定如先前所描述的内在奖励的集合(步骤604)。过程然后使用针对所选选项的动作选择策略——即基于对应的选项Q值——或者如果一系列单独任务被选择为元动作,则使用单独任务的Q值,Qtask,来选择动作。过程然后输出所选动作的动作数据以控制代理执行动作(步骤608),并且对于环境的下一个状态,接收观测数据,即另一图像,和奖励数据(步骤610)。然后将表征转变的元组的数据存储在重放缓冲器342中(步骤612)。
过程然后可以反向传播观测损失Lobs的梯度以更新视觉实体标识神经网络子***120的神经网络参数,并且可以反向传播强化学习损失LRL的梯度以更新强化学习神经网络子***130的神经网络参数(步骤614)。在执行步骤604-614N次之后,过程循环回到步骤602以选择下一个元动作。在一些实施方式中,可以在每N步之后而不是在每一步之后反向传播梯度。
对于要配置以执行特定操作或动作的一个或多个计算机的***,意味着该***已在其上安装了软件、固件、硬件或它们的组合,所述软件、固件、硬件或它们的组合在操作中导致***执行操作或动作。对于将被配置以执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,该指令在由数据处理装置执行时使该装置执行该操作或动作。
本说明书中描述的主题和功能操作的实施例可用数字电子电路、用有形地具体实现的计算机软件或固件、用计算机硬件包括本说明书中公开的结构及其结构等同物或者用它们中的一个或多个的组合加以实现。本说明书中描述的主题的实施例可作为一个或多个计算机程序——即在有形非暂时性存储介质上编码以供由数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块——被实现。可替选地或此外,可将程序指令编码在人工生成的传播信号上,所述传播信号例如为机器生成的电、光学或电磁信号,该信号被生成来对信息进行编码以便传输到适合的接收器装置以供由数据处理装置执行。计算机储存介质可以是机器可读储存设备、机器可读储存基板、随机或串行存取存储器设备,或它们中的一个或多个的组合。计算机储存介质然而不是传播信号。
术语“数据处理装置”包含用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。装置可包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。装置除了包括硬件之外还可包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或多个的组合的代码。
计算机程序(其还可以被称为或者描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可用任何形式的编程语言编写,所述编程语言包括编译或解释语言,或声明性或过程语言,并且它可被以任何形式部署,包括作为独立程序或者作为模块、组件、子例行程序或适合于在计算环境中使用的其它单元。计算机程序可以但不必对应于文件***中的文件。可在保持其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所述程序的单个文件中或者在多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中存储程序。可将计算机程序部署成在一个计算机上或者在位于一个站点处或者跨越多个站点分布和通过通信网络互连的多个计算机上执行。
如本说明书中所使用的,“引擎”或“软件引擎”指代提供与输入不同的输出的软件实现的输入/输出***。引擎可以是功能性的编码块,诸如库、平台、软件开发套件(“SDK”)或对象。可将每个引擎实现在包括一个或多个处理器和计算机可读介质的任何适当类型的计算设备上,所述计算设备例如为服务器、智能电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能电话或其它固定或便携式设备。附加地,可以将这些引擎中的两个或更多个实现在相同的计算设备上或者在不同的计算设备上。
本说明书中描述的过程和逻辑流程可通过执行一个或多个计算机程序的一个或多个可编程计算机来执行以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可由专用逻辑电路执行,并且装置还可作为专用逻辑电路被实现,所述专用逻辑电路例如为FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,处理和逻辑流程可以由图形处理单元(GPU)执行并且装置也可以被实现为图形处理单元(GPU)。
适合于执行计算机程序的计算机作为示例包括可基于通用微处理器或专用微处理器或两者,或任何其它种类的中央处理单元。一般地,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件是用于执行或者实行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。一般地,计算机还将包括或者在操作上耦合以从用于存储数据的一个或多个大容量储存设备——例如,磁盘、磁光盘或光盘——接收数据,或者将数据转移到所述一个或多个大容量储存设备,或者兼而有之。然而,计算机不必具有此类设备。此外,计算机可被嵌入在另一设备中,所述另一设备例如为移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或便携式储存设备,例如,通用串行总线(USB)闪存驱动器等等。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备,例如,EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充,或者并入在专用逻辑电路中。
为了提供与用户的交互,可在计算机上实现本说明书中描述的主题的实施例,所述计算机具有用于向用户显示信息的显示设备以及用户可用来向该计算机提供输入的键盘和指点设备,所述显示设备例如CRT(阴极射线管)或LCD(液晶显示器)监视器,所述指点设备例如鼠标或轨迹球。其它种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可通过向由用户使用的设备发送文档并且从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求而向用户的客户端设备上的web浏览器发送web页面。
可在计算***中实现本说明书中描述的主题的实施例,所述计算***包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户可用来与本说明书中描述的主题的实施方式交互的图形用户界面或Web浏览器的客户端计算机),或者包括一个或多个此类后端、中间件或前端组件的任何组合。***的组件可通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算***可包括客户端和服务器。客户端和服务器一般地彼此远离并且通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对任何发明的或可能要求保护的东西的范围构成限制,而是相反被解释为可以特定于特定发明的特定实施例的特征的描述。还可在单个实施例中相结合地实现在本说明书中在单独的实施例的上下文中描述的某些特征。相反地,还可单独地或者按照任何适合的子组合在多个实施例中实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可以在上面被描述为按照某些组合起作用并且甚至最初如此要求保护,然而来自要求保护的组合的一个或多个特征可在一些情况下被从该组合中除去,并且要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然按照特定次序在附图中描绘操作,但是这不应该被理解为要求按照所示的特定次序或者按照顺序次序执行此类操作,或者执行所有图示的操作以实现所希望的效果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述的实施例中的各种***模块和组件的分离不应该被理解为在所有实施例中要求这种分离,并且应该理解的是,所描述的程序组件和***一般地可被一起集成在单个软件产品中或者包装到多个软件产品中。
已经描述了主题的特定实施例。其它实施例在以下权利要求的范围内。例如,权利要求中叙述的动作可被以不同的次序执行并仍然实现所希望的结果。作为一个示例,附图中描绘的过程不一定要求所示的特定次序或顺序次序以实现所希望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
Claims (15)
1.一种方法,包括:
接收定义环境的观测的观测数据,代理正与所述环境进行交互,其中,所述观测包括所述环境的一个或多个图像;
使用视觉实体标识神经网络子***来处理所述观测数据,所述视觉实体标识神经网络子***被配置成:
处理所述观测数据以针对多个图像素中的每个图像素生成相应的激活矢量,其中每个图像素对应于所述一个或多个图像的不同区域,以及
针对所述图像素中的每个图像素基于相应的激活矢量来生成指派数据,所述指派数据将学习的离散视觉实体的集合中的相应一个学习的离散视觉实体指派给所述图像素中的每个图像素来指示所述一个或多个图像的与该图像素相对应的区域与所述离散视觉实体相关联;
基于所述指派数据和所述观测数据来选择要由所述代理执行的一个或多个动作;以及
提供标识所选择的动作的动作数据。
2.根据权利要求1所述的方法,其中,所述视觉实体标识神经网络子***包括实体编码神经网络以及矢量量化器,所述实体编码神经网络被配置成将所述观测数据编码为所述图像素中的每个图像素的相应的激活,所述矢量量化器被配置成将每个图像素的所述激活指派给表示所述离散视觉实体中的一个离散视觉实体的嵌入矢量以将所述离散视觉实体的集合中的相应一个离散视觉实体指派给该图像素。
3.根据权利要求2所述的方法,进一步包括:
使用图像外观编码神经网络来处理来自所述观测数据的图像外观数据,所述图像外观编码神经网络被配置成将来自所述观测数据的所述图像外观数据编码为与所述图像素相对应的编码图像外观数据,以及
利用损失函数来训练所述视觉实体标识神经网络子***,所述损失函数取决于所述编码图像外观数据的分布与每个图像素的所述激活之间的差异。
4.根据权利要求2所述的方法,进一步包括:
使用帧编码神经网络来处理所述指派数据,所述帧编码神经网络被配置成将所述指派数据编码为当前帧的帧嵌入数据,以及
训练所述视觉实体标识神经网络子***以区分在与所述当前帧相距运动时间窗帧数内部和外部的帧。
5.根据权利要求2所述的方法,进一步包括:
使用动作编码神经网络来处理所述动作数据,所述动作编码神经网络被配置成将所述动作数据编码为表示在动作时间窗内采取的一个或多个动作的编码动作数据,以及
利用取决于所述编码动作数据的损失函数来训练所述视觉实体标识神经网络子***。
6.根据权利要求1所述的方法,其中,选择所述一个或多个动作包括:
处理所述指派数据以生成一个或多个内在奖励的内部奖励数据,其中,所述一个或多个内在奖励根据所述指派数据取决于所述一个或多个图像中的所述视觉实体的一个或多个几何特性,以及
基于所述内部奖励数据来选择所述一个或多个动作。
7.根据权利要求6所述的方法,其中,生成所述内部奖励数据包括针对所述集合中的每个视觉实体生成所述内部奖励数据,并且其中,所述一个或多个内在奖励包括被指派给该视觉实体的图像素值的面积、位置、以及质心中的一个或多个的度量。
8.根据权利要求6所述的方法,其中:
选择所述一个或多个动作包括针对每个视觉实体的几何特性中的每一个确定选项Q值;以及
选择由所述视觉实体中的一个视觉实体和所述几何特性中的一个几何特性的组合定义的选项,以及
选择一系列动作,其中,所述一系列动作中的动作是使用所选择的选项的所述选项Q值来选择的。
9.根据权利要求8所述的方法,其中,选择所述一个或多个动作包括每N个动作选择步骤,评估元Q值,所述元Q值取决于来自针对所述选项中的每个选项和针对单独动作的外在奖励的预测返回,并且
根据所述元Q值确定是选择一系列动作的所述选项中的一个还是一系列单独动作。
10.根据权利要求8所述的方法,其中,针对所述几何特性中的每一个确定选项Q值包括使用强化学习神经网络子***来处理所述内在奖励和所述观测,所述强化学习神经网络子***包括一个或多个卷积神经网络层连同一个或多个循环神经网络层和提供所述Q值的神经网络头的集合。
11.根据权利要求1所述的方法,进一步包括:
针对所述集合中的所述视觉实体中的每个视觉实体生成相应的空间图,所述相应的空间图针对每个图像素标识该图像素是否被指派给该视觉实体;以及
输出所述空间图中的一个或多个以用于向用户呈现。
12.根据权利要求3或5所述的方法,所述方法包括通过所述视觉实体标识神经网络子***反向传播所述损失函数中的一个或多个的梯度以学习所述视觉实体标识神经网络子***的参数和表示所述离散视觉实体的嵌入矢量。
13.根据权利要求9所述的方法,所述方法包括反向传播一个或多个损失函数以学习一个或多个神经网络的参数,所述一个或多个神经网络具有表示所述选项Q值和/或所述元Q值的输出。
14.一种强化学习神经网络***,包括一个或多个计算机和一个或多个存储设备,所述存储设备存储指令,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1-13中的任一项所述的方法。
15.一个或多个存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1-13中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862737850P | 2018-09-27 | 2018-09-27 | |
US62/737,850 | 2018-09-27 | ||
PCT/EP2019/076154 WO2020064994A1 (en) | 2018-09-27 | 2019-09-27 | Reinforcement learning neural networks grounded in learned visual entities |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112771542A CN112771542A (zh) | 2021-05-07 |
CN112771542B true CN112771542B (zh) | 2024-03-05 |
Family
ID=68136366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980063799.XA Active CN112771542B (zh) | 2018-09-27 | 2019-09-27 | 以学习的视觉实体为基础的强化学习神经网络 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10748039B2 (zh) |
EP (1) | EP3834138B1 (zh) |
CN (1) | CN112771542B (zh) |
WO (1) | WO2020064994A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3523760B1 (en) * | 2016-11-04 | 2024-01-24 | DeepMind Technologies Limited | Reinforcement learning systems |
US11604941B1 (en) * | 2017-10-27 | 2023-03-14 | Deepmind Technologies Limited | Training action-selection neural networks from demonstrations using multiple losses |
WO2019241145A1 (en) | 2018-06-12 | 2019-12-19 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
US11120303B2 (en) * | 2018-12-17 | 2021-09-14 | King Fahd University Of Petroleum And Minerals | Enhanced deep reinforcement learning deep q-network models |
US11308362B2 (en) * | 2019-03-26 | 2022-04-19 | Shenzhen Keya Medical Technology Corporation | Method and system for generating a centerline for an object, and computer readable medium |
US20200394553A1 (en) * | 2019-06-13 | 2020-12-17 | International Business Machines Corporation | Predicting functional tags of semantic role labeling |
US11715117B2 (en) * | 2019-12-11 | 2023-08-01 | Paypal, Inc. | Assessing technologies using image-based learning algorithms |
CN111597224B (zh) * | 2020-04-17 | 2023-09-15 | 北京百度网讯科技有限公司 | 结构化信息的生成方法、装置、电子设备和存储介质 |
CN111524187B (zh) * | 2020-04-22 | 2023-06-02 | 北京三快在线科技有限公司 | 一种视觉定位模型的训练方法及装置 |
CN111738886B (zh) * | 2020-06-30 | 2021-04-30 | 上海松鼠课堂人工智能科技有限公司 | 基于神经网络的学习报告分析*** |
CN114474742A (zh) * | 2022-02-11 | 2022-05-13 | 哈尔滨工业大学 | 一种基于深度强化学习的电路自动3d打印方法 |
CN114732577A (zh) * | 2022-03-22 | 2022-07-12 | 浙江工业大学 | 一种基于相机与肌电信号的假肢手控制***及方法 |
WO2023222884A1 (en) * | 2022-05-19 | 2023-11-23 | Deepmind Technologies Limited | Machine learning systems with counterfactual interventions |
CN115319739B (zh) * | 2022-08-02 | 2024-07-09 | 中国科学院沈阳自动化研究所 | 一种基于视觉机械臂抓取工件方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
CA2901596A1 (en) * | 2015-08-26 | 2017-02-26 | Applied Brain Research Inc. | Methods and systems for performing reinforcement learning in hierarchical and temporally extended environments |
CN106970615A (zh) * | 2017-03-21 | 2017-07-21 | 西北工业大学 | 一种深度强化学习的实时在线路径规划方法 |
CN107203753A (zh) * | 2017-05-25 | 2017-09-26 | 西安工业大学 | 一种基于模糊神经网络和图模型推理的动作识别方法 |
CN108227735A (zh) * | 2016-12-22 | 2018-06-29 | Tcl集团股份有限公司 | 基于视觉飞行自稳定的方法、计算机可读介质和*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473851B1 (en) * | 1999-03-11 | 2002-10-29 | Mark E Plutowski | System for combining plurality of input control policies to provide a compositional output control policy |
US8275635B2 (en) * | 2007-02-16 | 2012-09-25 | Bodymedia, Inc. | Integration of lifeotypes with devices and systems |
EP2450667B1 (en) * | 2010-11-09 | 2016-11-02 | Harman Becker Automotive Systems GmbH | Vision system and method of analyzing an image |
US9316502B2 (en) * | 2014-07-22 | 2016-04-19 | Toyota Motor Engineering & Manufacturing North America, Inc. | Intelligent mobility aid device and method of navigating and providing assistance to a user thereof |
CN117910545A (zh) * | 2015-11-12 | 2024-04-19 | 渊慧科技有限公司 | 使用优先化经验存储器训练神经网络 |
EP4386624A2 (en) * | 2016-11-04 | 2024-06-19 | DeepMind Technologies Limited | Environment navigation using reinforcement learning |
US11417235B2 (en) * | 2017-05-25 | 2022-08-16 | Baidu Usa Llc | Listen, interact, and talk: learning to speak via interaction |
US10366166B2 (en) * | 2017-09-07 | 2019-07-30 | Baidu Usa Llc | Deep compositional frameworks for human-like language acquisition in virtual environments |
US11562287B2 (en) * | 2017-10-27 | 2023-01-24 | Salesforce.Com, Inc. | Hierarchical and interpretable skill acquisition in multi-task reinforcement learning |
-
2019
- 2019-09-27 CN CN201980063799.XA patent/CN112771542B/zh active Active
- 2019-09-27 WO PCT/EP2019/076154 patent/WO2020064994A1/en unknown
- 2019-09-27 US US16/586,262 patent/US10748039B2/en active Active
- 2019-09-27 EP EP19782529.2A patent/EP3834138B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
CA2901596A1 (en) * | 2015-08-26 | 2017-02-26 | Applied Brain Research Inc. | Methods and systems for performing reinforcement learning in hierarchical and temporally extended environments |
CN108227735A (zh) * | 2016-12-22 | 2018-06-29 | Tcl集团股份有限公司 | 基于视觉飞行自稳定的方法、计算机可读介质和*** |
CN106970615A (zh) * | 2017-03-21 | 2017-07-21 | 西北工业大学 | 一种深度强化学习的实时在线路径规划方法 |
CN107203753A (zh) * | 2017-05-25 | 2017-09-26 | 西安工业大学 | 一种基于模糊神经网络和图模型推理的动作识别方法 |
Non-Patent Citations (2)
Title |
---|
Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation;Tejas D. Kulkarni.et.;《Machine Learning (cs.LG)》;第1-14页 * |
一种基于视觉词典优化和查询扩展的图像检索方法;柯圣财等;《自动化学报》(第01期);第101-107页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3834138B1 (en) | 2024-06-26 |
EP3834138A1 (en) | 2021-06-16 |
US10748039B2 (en) | 2020-08-18 |
US20200104645A1 (en) | 2020-04-02 |
WO2020064994A1 (en) | 2020-04-02 |
CN112771542A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112771542B (zh) | 以学习的视觉实体为基础的强化学习神经网络 | |
US20210192358A1 (en) | Graph neural network systems for behavior prediction and reinforcement learning in multple agent environments | |
CN110651279B (zh) | 利用学徒来训练动作选择神经网络 | |
US12005892B2 (en) | Simulating diverse long-term future trajectories in road scenes | |
US11714996B2 (en) | Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy | |
US11580429B2 (en) | Reinforcement learning using a relational network for generating data encoding relationships between entities in an environment | |
JP7087006B2 (ja) | 画像埋め込みを使用するロボティックエージェントのためのポリシーコントローラの最適化 | |
CN112292693A (zh) | 强化学习***训练返回函数的元梯度更新 | |
US11714990B2 (en) | Jointly learning exploratory and non-exploratory action selection policies | |
US20230409903A1 (en) | Multi-agent simulations | |
CN112106073A (zh) | 使用网格代码执行导航任务 | |
CN116194351A (zh) | 使用目标位置的代理轨迹预测 | |
CN116210030A (zh) | 基于半监督关键点的模型 | |
KR20230025885A (ko) | 관측 임베딩을 제어하는 보조 태스크를 사용한 액션 선택 신경망 트레이닝 | |
CN115066686A (zh) | 使用对规划嵌入的注意操作生成在环境中实现目标的隐式规划 | |
US20230214649A1 (en) | Training an action selection system using relative entropy q-learning | |
Sarwar Murshed et al. | Efficient deployment of deep learning models on autonomous robots in the ROS environment | |
Ge et al. | Deep reinforcement learning navigation via decision transformer in autonomous driving | |
Watt et al. | Neuro-augmented vision for evolutionary robotics | |
CN117859135A (zh) | 自回归地生成定义要由代理执行的动作的数据元素序列 | |
Akdeniz et al. | A Review of a Research in Autonomous Vehicles with Embedded Systems | |
EP4364046A1 (en) | Autoregressively generating sequences of data elements defining actions to be performed by an agent |
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 |