CN110192205A - 镜像损失神经网络 - Google Patents

镜像损失神经网络 Download PDF

Info

Publication number
CN110192205A
CN110192205A CN201880006613.2A CN201880006613A CN110192205A CN 110192205 A CN110192205 A CN 110192205A CN 201880006613 A CN201880006613 A CN 201880006613A CN 110192205 A CN110192205 A CN 110192205A
Authority
CN
China
Prior art keywords
observation
neural network
mode
network
generate
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
CN201880006613.2A
Other languages
English (en)
Inventor
P.瑟马内特
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 CN110192205A publication Critical patent/CN110192205A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)

Abstract

本说明书涉及神经网络,该神经网络具有多个网络参数并且被配置为接收表征环境的状态的输入观察并且处理输入观察以生成环境的状态的数字嵌套。该神经网络可以用于控制机器人智能体。可以使用包括以下步骤的方法来训练该网络:获得由第一模态捕获的第一观察;获得与第一观察一起发生并且由第二不同的模态捕获的第二观察;获得由第一模态捕获的不与第一观察一起发生的第三观察;确定三元组损失的梯度,所述三元组损失使用第一观察、第二观察和第三观察;以及使用所述三元组损失的梯度来更新所述网络参数的当前值。

Description

镜像损失神经网络
相关申请的交叉引用
本申请主张在2017年3月17日提交的美国临时申请序列号62/473,264的优先权。该在先申请的公开内容被视为本申请的公开内容的一部分并且通过引用并入本申请的公开内容中。
技术领域
本说明书涉及训练神经网络并使用这样的网络执行任务。
背景技术
神经网络是利用非线性单元的一个或多个层来预测接收到的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作到网络中的下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应的一组参数的当前值从接收到的输入生成输出。
发明内容
本说明书描述被实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统,所述系统训练神经网络和/或使用经训练神经网络来使智能体执行任务或动作。
总体上,本说明书中描述的主题的一个创新性方面可以体现在训练神经网络的计算机实现的方法中。该神经网络具有多个网络参数并且被配置为接收表征环境的状态的输入观察并且处理输入观察以生成环境的状态的数字嵌套。所述包括:获得由第一模态捕获的第一观察;获得与第一观察一起发生并且由第二不同的模态捕获的第二观察;获得由第一模态捕获的不与第一观察一起发生的第三观察;确定三元组损失(triplet loss)的梯度,所述三元组损失使用第一观察作为锚点示例、使用第二观察作为正示例并且使用第三观察作为负示例;以及使用所述三元损失的梯度来更新所述网络参数的当前值。
本说明书中描述的主题可以以特定实施例被实现为取得一个或多个下述优点。以在本说明书中描述的方式训练的神经网络可以将由相同模态捕获的相似观察进行彼此区分。以在本说明书中描述的方式训练的神经网络可以生成对于某些变形(例如,视点、遮挡、运动模糊、照明、背景或对象实例)不变的数字嵌套。这样,由经训练神经网络生成的嵌套可以被用于改善需要对环境的状态进行准确表征的各种任务的执行。这样的任务理由可以由机器人智能体执行。这些任务的示例包括由机器人智能体进行的倾倒任务的分类阶段、理解操纵任务的时间阶段和由模仿人类动作。
本说明书的主题的一个或多个实施例的细节在附图和下面的描述中阐述。根据以下描述、附图和权利要求书,所述主题的其他特征、方面和优点将变得明了。
附图说明
图1示出被配置为训练时间对比(time-contrastive)神经网络的示例机器学习系统。
图2示出由两个不同模态捕获的示例观察三元组。
图3示出包括由三个模态捕获的锚点观察、正观察和负观察的示例观察三元组。
图4是用于训练时间对比神经网络的示例过程的流程图。
各附图中同样的参考数字和标记指示同样的要素。
具体实施方式
图1示出使用时间对比损失的梯度来训练时间对比神经网络102的示例机器学习系统100。机器学习系统100可以被实现为在一个或多个位置的一个或多个计算机上的计算机程序。
特别地,时间对比神经网络102被配置为接收表征环境的状态的输入观察并且处理该输入观察以生成环境的状态的数字嵌套。该数字嵌套是数字值的有序集合,例如,浮点值的或量化浮点值的向量。表征环境的状态的观察可以是环境的图像,或者可以是从环境的视频获取的帧。在一些实施方式中,观察还可以包括从环境收集的其他种类的数据,例如,触觉传感器数据或音频数据。在一些情况下,环境可以包括智能体(例如,机器人智能体或人类),其正在环境中移动或与环境中的其他对象交互以执行特定任务,例如,机器人操纵任务、液体倾倒任务或机器人模仿任务。
由时间对比神经网络102生成的数字嵌套可以以各种方式中的任一种方式被进一步处理(即,被系统100或外部系统)。
例如,系统100可以进一步处理由神经网络102生成的数字嵌套以生成限定要由与环境交互的机器人智能体执行的动作的控制输出。例如,为了完成其中机器人智能体被训练为模仿人类或其他智能体的行为/动作的机器人模仿任务中,系统100可以包括附加部件,例如,关节解码器神经网络,其接收由时间对比神经网络102生成的数字嵌套作为输入并且处理数字嵌套以生成控制机器人智能体的关节的控制输出。系统100可以单独地或与训练时间对比神经网络102同时地训练关节解码器神经网络,以生成使机器人智能体模仿人类或其他智能体(即,在由时间对比神经网络102处理的观察中描绘的智能体)的行为/动作的控制输出。
作为另一示例,外部系统可以比较两个数字嵌套以例如基于嵌套空间中两个数字嵌套之间的距离来确定由嵌套表征的两个状态之间的相似性。
作为又另一示例,机器人智能体可以使用数字嵌套来教导自己环境的抽象维度和属性。例如,机器人智能体可以接收执行液体倾倒任务的人类(或智能体)的多视角或单视角观察。机器人智能体可以使用由时间对比神经网络102对于观察生成的数字嵌套来消除环境的抽象维度的歧义。例如,机器人智能体可以获知杯子可具有不同量的液体,或者手可以处于不同姿势。这种对环境的自教导的理解将会使得机器人智能体能够在无需人类监督的情况下获知,因此加速了机器人智能体的学习。
由时间对比神经网络102生成的数字嵌套可以用于其他计算机视觉用例中。例如,机器人智能体可以捕获倾倒液体的人类的多视角(或单视角)视频,观察这些无标签视频,并且然后回答关于场景的抽象问题(例如,使用被映射到数字嵌套的语言)。
一般说来,一旦神经网络102已经被训练,系统100就可以使用经训练的神经网络102来处理观察,可以存储网络参数的训练值以之后用于将经训练的神经网络实例化,或将参数的训练值提供给其他系统以将经训练的神经网络实例化。
时间对比神经网络102包括之后有嵌套神经网络层106的深度神经网络104。嵌套神经网络层106是完全连接神经网络层,例如,具有128个单元的完全连接层。
在一些实施方式中,深度神经网络104可以包括之后有一个或多个卷积神经网络层、空间软性最大值(spatial softmax)层和完全连接层的初始模型(Inception model)的一部分。深度神经网络104中包括的初始模型的该部分可以是直到“Mixed_5d”层的初始模型,其示出于在https://github.com/tensorflow/models/blob/master/research/slim/nets/inception_v3.py处可获得的开源代码中。在C.Szegedy等人的“Rethinking theinception architecture for computer vision”(CoRR,abs/1512.00567,2015)中详细描述了初始模型的示例。对于从先前层接收到的激活图中的每个特征维度(例如,在109x109x32激活图中,图像为109x109并且存在32个特征维度),空间软性最大值层被配置为输出特征被最大地激活的空间坐标。在C.Finn等人的“Learning visual featurespaces for robotic manipulation with deep spatial autoencoders”(CoRR,abs/1509.06113,2015)中详细描述了空间软性最大值层的示例。
在一些情况下,系统100可以从头开始训练神经网络102。在一些其他情况下,神经网络102的一部分可以被预训练并且用作进行进一步训练的基线(例如,深度神经网络104可以具有来自初始模型的经预训练的权重)。
作为训练神经网络102的一部分,机器学习系统100获得包括训练观察的多个三元组的训练输入数据。在一些情况下,训练观察包括由多个模态从多个不同视点捕获的观察。在其他情况下,训练观察包括由单个模态从单个视点捕获的观察。通常,模态指定从特定视点捕获表征环境的状态的观察(例如,图像、音频或视频)的输入捕获设备。输入捕获设备可以例如是相机、音频捕获设备、视频记录器或触觉输入捕获设备。
特别地,在一些实施方式(下文称为多视角实施方式)中,观察的每个三元组包括(i)由第一模态捕获的锚点观察108、(ii)与锚点观察108一起发生并且由第二不同的模态捕获的正观察110和(iii)由第一模态捕获的不与锚点观察一起发生的负观察112。在一些情况下,观察是图像,其中第一模态是在第一视点的相机,并且第二模态是在不同的第二视点的相机。但是,在一般情况下,第一和第二模态可以是相同或不同类型的两种不同模态,例如,相机、音频捕获设备、触觉输入设备等。在图2中示出了由在两个不同的视点的两个模态捕获的锚点、正和负观察的示例。
在一些实施方式中,对于训练输入数据中包括的所有观察三元组,第一和第二模态对是相同的。
在一些实施方式中,训练输入数据中的一些观察三元组可以由第一和第二模态对捕获,而训练输入数据中的一些其他观察三元组可以由不同对的第一和第二模态捕获。也就是说,在模态是在不同位置的相机的示例中,捕获正和负观察的相机的相对位置可以在不同三元组之间改变。
在一些其他实施方式(下文称为单视角实施方式)中,每个观察三元组包括(i)由模态捕获的锚点观察108、(ii)由模态捕获并且在锚点观察108的边际时间邻域(或边际范围)内的正观察110和(iii)由模态捕获并且在第一观察的边际时间邻域外的负观察112,即,负观察112在第一观察的负范围内。锚点范围108的边际范围限定锚点观察108周围的预定时间窗口。例如,假设以时间步长t捕获锚点观察108,则锚点观察108的边际范围包括从时间步长t-n到时间步长t+n捕获的观察,其中,n是预定数量的时间步长。n可以是小数量的时间步长,例如一、二、五或十秒。在图3中示出了由在单个视点的单个模态捕获的锚点、正和负观察的示例。
机器学习系统100在训练输入数据中的三元组上训练神经网络102以通过最小化三元组损失来从参数的初始值确定神经网络102的参数的训练值。对于给定的观察三元组,三元组损失取决于正观察和负观察的嵌套之间和距离和正观察和锚点观察的嵌套之间的距离。特别地,在一些实施方式中,系统100训练神经网络102以最小化以下损失函数:
其中,f()表示时间对比神经网络102,即,f(x)是由时间对比神经网络102对于给定观察x生成的嵌套。时间对比神经网络102可以将观察x嵌入嵌套空间(比如,d维欧几里得空间)中。是锚点观察108、是正观察110并且是负观察。N是训练输入数据中观察三元组的数量。α是限定损失函数中两个距离之间期望的边际的常数值。
在本说明书,三元组损失也可以被称为镜像损失或时间对比损失。
特别地,对于包括锚点、正和负观察的给定三元组,机器学习系统100确定三元组损失的梯度并且然后使用该梯度来更新神经网络102的参数的值。
特别地,系统100根据网络参数的当前值,使用时间对比神经网络102来处理锚点观察108以生成第一嵌套114。系统100根据网络参数的当前值,使用神经网络102来处理正观察110以生成第二嵌套116。系统100根据网络参数的当前值,使用神经网络102来处理负观察112以生成第三嵌套118。
系统100然后从(i)第一嵌套114和第二嵌套116之间的第一距离与(ii)第一嵌套114和第三嵌套118之间的第二距离,确定三元组损失120。
系统100可以使用常规的神经网络训练技术(例如,基于梯度下降的训练技术)来调整网络参数的当前值。例如,系统反向传播目标函数的梯度以确定神经网络102的网络参数中的每一个的相应的更新值。
通过更新网络参数的值来最小化三元组损失,系统100确保经训练的神经网络102能够生成对于某些变形(例如,视点、遮挡、运动模糊、照明、背景或对象距离)不变的数字嵌套。这样,由经训练的神经网络102生成的嵌套可以被用于改善需要对环境的状态进行准确表征的各种任务的执行。这些任务的示例包括由机器人智能体进行的倾倒任务的分类阶段、理解操纵任务的时间阶段和模仿人类动作。
在一些实施方式中,当第一模态是捕获与环境交互的智能体(例如,机器人智能体或人类)的第一人观察或第三方观察的相机时,系统100还可以训练时间对比神经网络102以生成控制输出,该控制输出将机器人智能体的关节定位在与在接收到的所捕获的第一人或第三方观察相同的位置中。特别地,时间对比神经网络102可包括附加部件,例如关节编码器神经网络,其被配置为接收由时间对比神经网络102对于观察生成的数字嵌套观察作为输入,并且处理数字嵌套以生成控制机器人智能体的关节的控制输出。系统100可以单独地或与训练时间对比神经网络102同时地训练关节解码器神经网络,以生成控制输出,该控制输出使机器人智能体模仿在由时间对比神经网络102处理的观察中描绘的智能体的行为/动作。
一旦经过训练,时间对比神经网络102就可以接收表征环境的状态的输入观察并且处理该输入观察以生成环境的状态的数字嵌套。
图2示出了包括被用于训练图1的时间对比神经网络102的锚点观察202、正观察204和负观察206的示例观察三元组。观察202-206是由两个不同的模态捕获的图像。
在该示例中,第一相机从第一视点捕获将液体倾倒到杯中的(智能体的)手的图像序列208。智能体可以是人类或机器人智能体。第一视点(视图1)可以是第一人视图,即,由将液体倾倒到杯中的第一智能体可以看到的由相机捕获的视图。同时,第二相机从第二视点捕获相同手的图像序列210。第二视点(视图2)可以是第三方视图,即,正在观察第一智能体将液体倾倒到杯中的第二智能体将会看到的视图。
从图像序列208选择第一图像作为锚点图像202。锚点图像202可以从图像序列208中随机选择。从图像序列210选择在与锚点图像202相同的时间但是由第二相机拍摄的第二图像作为正图像204。从图像序列208选择第三图像作为负图像206。
在一些情况下,可以从在锚点图像202的时间邻域内由第一相机捕获的图像序列208中随机选择负图像206,例如,在摄取锚点图像202之后二、五或十秒摄取的图像。
在一些其他情况下,可以选择由第一相机捕获的图像序列208中相对于锚点图像202的困难负图像(hard negative)或半困难负图像作为负图像206。特别地,为了选择作为困难负图像的图像,系统可以通过时间对比神经网络(例如,图1的时间对比神经网络102)遍历图像序列208来对于序列208中的每个图像生成当前嵌套。困难负图像是具有最远离锚点图像202的嵌套的当前嵌套的图像。半困难负图像是不太近的图像,即,具有距锚点图像202的嵌套比阈值距离更远的当前嵌套的图像。
如图2中所示,锚点图像202在时间步长t捕获,并且负图像在时间步长t+2捕获,时间步长t+2在锚点图像202的时间邻域内。负图像206在与锚点图像202相同的序列中。通过在锚点图像202、正图像204和负图像206的三元组上被训练,时间对比神经网络102可以学会捕获随时间变化但在视图之间一致的属性(比如手的姿势、被倾倒液体的量),同时变得对于不规则变形(例如背景或照明)不变。
图3示出包括由单个模态捕获的锚点观察302、正观察304和负观察306的示例观察三元组。
在该示例中,单个相机从单个视点(视图1,其为自视图)捕获将液体倾倒到目标容器中的手的图像序列308。从序列308选择图像作为锚点图像302。从在锚点图像302周围的边际范围内的图像中选择正图像304。正图像304可以在边际范围内随机选择。锚点图像302的边际范围限定了锚点图像302周围的预定时间窗口。例如,如图3中所示,在时间步长tanchor捕获锚点图像302,并且锚点图像302的边际范围包括从时间步长tanchor-2到时间步长tanchor+2捕获的图像。
从在锚点图像302的负范围(即,在锚点图像302的边际范围外的范围)内的图像选择负图像306。
图像302、304和306的三元组可以用作训练输入数据以使用参考图1在上面详述的技术来训练时间对比神经网络102。通过使用以这种方式选择的图像来训练时间对比神经网络102,系统100确保神经网络102可以获知每个观察中的特性和交互的属性。在图3的示例中,神经网络102可以学会区分手的不同姿势,例如,手是否接触白色杯子。神经网络102还可以获知白色杯子的倾斜度或当前在目标容器中的液体的量或其黏度。
图4是用于使用由多个模态捕获的观察来训练时间对比神经网络的示例过程400的流程图。该神经网络被配置为接收表征环境的状态的输入观察并且处理该输入观察以生成环境的状态的数字嵌套。出于方便,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,根据本说明书被适当地编程的机器学习系统(例如,图1的机器学习系统100)可以执行过程400。
系统可以对不同的观察三元组执行过程400以训练神经网络。
系统获得由第一模态捕获的第一观察(步骤402)。第一观察可以是图像,并且第一模态可以是在第一视点的相机。第一观察也可以被称为锚点观察。
系统获得与第一观察一起发生并且由不同的第二模态捕获的第二观察(步骤404)。第二观察可以是图像,并且第二模态可以是在第二视点的相机。
系统获得由第一模态捕获的不与第一观察一起发生的第三观察(步骤406)。
在一些情况下,系统可以从在第一观察的时间邻域内的由第一模态捕获的观察中随机选择第三观察。
在一些其他情况下,为了选择第三观察,系统可以从在锚点观察的时间邻域内的由第一模态捕获的观察序列中选择相对于锚点观察的困难负观察或半困难负观察。特别地,为了选择作为困难负观察的观察,系统通过时间对比神经网络遍历观察序列来对于序列中的每个观察生成当前嵌套。困难负观察是具有距锚点观察的嵌套最远距离的当前嵌套的观察。半困难负观察是不太近的观察,即,具有距锚点观察的嵌套比阈值距离更远的当前嵌套的观察。
系统确定三元组损失,该三元组损失使用第一观察作为锚点示例、使用第二观察作为正示例并且使用第三观察作为负示例(步骤408)。
特别地,系统根据网络参数的当前值使用神经网络来处理第一观察以生成第一嵌套。系统根据网络参数的当前值使用神经网络来处理第二观察以生成第二嵌套。系统根据网络参数的当前值使用神经网络来处理第三观察以生成第三嵌套。系统从(i)第一嵌套和第二嵌套之间的第一距离与(ii)第一嵌套和第三嵌套之间的第二距离,确定三元组损失。
例如,系统可以按照下式确定对于给定的观察三元组的三元组损失(Tripletloss):
其中,f()是将观察x嵌入嵌套空间(例如,d维欧几里得空间)的嵌套函数。是锚点观察108、是正观察110并且是负观察。N是训练输入数据中观察三元组的数量。
系统然后更新网络参数的值以最小化三元组损失(步骤410)。系统可以使用常规的神经网络训练技术(例如,基于梯度下降的训练技术)来更新网络参数的值。例如,系统反向传播三元组损失的梯度以确定神经网络的网络参数中的每一个的相应的更新值。
一个或多个计算机的系统“被配置为”执行特定操作或动作的意思是系统在其上安装有软件、固件、硬件或其组合,在操作时,软件、固件、硬件或其组合使系统执行操作或动作。一个或多个计算机程序被配置为执行特定操作或动作的意思是一个或多个程序包括指令,当指令在由数据处理装置执行时使装置执行操作或动作。
本说明书中描述的主题和功能性操作的实施例可以在数字电子电路、在有形地实现的计算机软件或固件、在计算机硬件(包括本说明书中公开的结构以及其结构等效物)或在它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形的非暂态程序载体上编码以供数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。替代地或额外地,程序指令可以被编码在人工生成的传播的信号(例如,机器生成的电、光或电磁信号,其被生成为编码信息以传输到合适的接收器装置以供数据处理装置执行)上。计算机存储介质可以是机器可读存储设备、机器可读存储基片、随机或顺序存取存储器设备或它们中一个或多个的组合。但是,计算机存储介质不是传播的信号。
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,举例来说包括可编程处理器、计算机或多处理器或计算机。所述装置可以包括特殊目的的逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,所述装置还可以包括代码,该代码为所针对的计算机程序创建执行环境,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中一种或多种的组合的代码。
计算机程序(其也被称为或被描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以以任何编程语言写成,包括编译或解释型语言、说明性或过程语言,并且可以以任何形式部署计算机语言,包括以独立程序的形式或以模块、组件、子程序或适于在计算环境中使用的其他单元。计算机程序可以但不必与文件系统中的文件对应。程序可以存储在保持其他程序或数据的文件的一部分(例如,存储在标记语言文件中的一个或多个脚本)中、在专用于所针对的单个文件中或在多个协作的文件(例如,存储一个或多个模块、子程序或代码的一些部分的文件)中。计算机程序可以部署为在一个或多个计算机上执行,这些计算机位于一个站点或分布在多个站点之间并通过通信网络连接。
当在本说明书中使用时,“引擎”或“软件引擎”指提供与输入不同的输出的软件实施的输入/输出系统。引擎可以是功能的编码块,例如库、平台、软件开发套件(“SDK”)或对象。每个引擎可以被实现在包括一个或多个处理器和计算机可读介质的任何适当类型的计算设备(例如,服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能电话或其他固定或便携式装置)上。另外,引擎中的两个或更多个可以在相同的计算装置上或在不同的计算装置上实现。
本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,从而通过对输入数据进行操作并生成输出来实现功能。过程和逻辑流也可以由特殊目的的逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且设备可以被实现为特殊目的的逻辑电路。例如,过程和逻辑流可以由还可以被实现为图形处理单元(GPU)的装置来执行。
适用于执行计算机程序的计算机举例来说包括、可以基于通用或专用微处理器或二者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于完成或执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器装置。通常,计算机将可以包括用于存储数据的一个或多个大容量存储装置(例如、磁盘、磁光盘或光盘)或可以操作性地联接一个或多个大容量存储装置以从其接收数据或向其传输数据或者接收和传输二者。然而,计算机不必具有这样的设备。另外,计算机可以嵌入到另一装置(例如,仅举几例,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储装置(例如通用串行总线(USB)快闪驱动器))中。
使用于存储计算机程序指令和数据的计算机可读介质可以包括所有形式的非易失性存储器、介质和存储设备,举例来说,包括半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由特殊目的的逻辑电路来补充或可以结合到其中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示装置及键盘和指向装置的计算机上实现,显示装置例如用于向用户显示信息的CRT(阴极射线管)或LCD(液晶显示)监视器,用户可以通过键盘和指向装置向计算机提供输入,指向装置例如为鼠标或轨迹球。也可以使用其他种类的装置来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,通过向由用户使用的装置发送文件和接收来自该装置的文件,计算机可以与用户交互;例如,通过响应于从浏览器接收到的请求而向用户的客户端装置上的浏览器发送网页。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如作为数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户界面和浏览器的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。可以通过数字数据通信的任意形式或媒介(例如通信网络)将系统的组件互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可以包括客户端和服务器。一般来说,客户端和服务器彼此远离,并且通常通过通信网络交互。通过运行在各个计算机并且彼此具有客户端-服务器关系的计算机程序而形成客户端和服务器的关系。
尽管本说明书包含许多具体的实现细节,但是这些细节不应当被解释为对任何发明或请求保护的范围进行限制,而应当被解释为可能特定于特定发明的特定实施例的特征的描述。在本说明书中在不同实施例的背景中描述的某些特征也可以以组合方式实现在单个实施例中。相反,在单个实施例的情况下描述的各种特征也可以在多个独立的实施例中实施或在任何合适的子组合中实施。此外,尽管特征可以如上所述被描述为在某些组合中起作用并且最初也如此请求,但在一些情况下,来自所请求的组合的一个或多个特征可以从组合中排除,并且所请求的组合可以涉及子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描绘了操作,但是这不应当被理解为需要以示出的特定顺序或以相继的顺序来执行这样的操作或者需要执行所有示意的操作来取得合意的结果。在某些情况下,多任务和并行处理可以是有利的。另外,在上述实施例中各种系统模块和部件的分离不应当被理解为在所有实施例中要求这样的分离,而是应当理解,所描述的程序部件和系统可一般地在单个软件产品中被集成在一起或者被封装成多个软件产品。
已经描述了主题的特定实施例。其他实施例在下述权利要求的范围内。例如,记载在权利要求中的动作可以以不同的顺序执行而仍然取得合意的结果。作为一个示例,附图中描绘的过程不一定需要所示出的特定顺序或者相继的顺序来实现合意的结果。在某些实施方式中,多任务和并行处理可以是有利的。

Claims (17)

1.一种训练具有多个网络参数的神经网络的方法,其中,所述神经网络被配置为接收表征环境的状态的输入观察并且处理所述输入观察以生成所述环境的状态的数字嵌套,所述方法包括:
获得由第一模态捕获的第一观察;
获得与第一观察一起发生并且由不同的第二模态捕获的第二观察;
获得由第一模态捕获的不与第一观察一起发生的第三观察;
确定三元组损失的梯度,所述三元组损失使用第一观察作为锚点示例、使用第二观察作为正示例并且使用第三观察作为负示例;以及
使用所述三元组损失的梯度来更新所述网络参数的当前值。
2.根据权利要求1所述的方法,其中,所述观察是图像,其中,第一模态是在第一视点的相机,并且其中,第二模态是在不同的第二视点的相机。
3.根据权利要求1或2中的任一项所述的方法,其中,第三观察在第一观察的时间邻域内。
4.根据权利要求3所述的方法,其中,获得第三观察包括:
从在第一观察的时间邻域内的由第一模态捕获的观察中随机选择第三观察。
5.根据权利要求3所述的方法,其中,获得第三观察包括:
从在第一观察的时间邻域内的由第一模态捕获的观察中选择作为相对于第一观察的困难负观察的观察。
6.根据权利要求1-5中的任一项所述的方法,其中,确定所述三元组损失的梯度包括:
根据所述网络参数的当前值,使用所述神经网络处理第一观察以生成第一嵌套;
根据所述网络参数的当前值,使用所述神经网络处理第二观察以生成第二嵌套;
根据所述网络参数的当前值,使用所述神经网络处理第三观察以生成第三嵌套;以及
从(i)第一嵌套和第二嵌套之间的第一距离与(ii)第一嵌套和第三嵌套之间的第二距离,确定所述三元组损失。
7.根据权利要求1-6中的任一项所述的方法,其中,所述神经网络还被配置为:处理所述数字嵌套以生成限定对与所述环境交互的智能体的控制输入的控制输出。
8.根据权利要求7所述的方法,其中,训练所述神经网络还包括:训练所述神经网络以生成使所述智能体模仿与所述环境交互的另一智能体的控制输出。
9.根据权利要求7或8中任一项所述的方法,其中,第一模态是捕获与所述环境交互的所述智能体的自视图的相机,并且其中,训练所述神经网络还包括训练所述神经网络以生成将所述智能体的关节定位在与在接收到的所捕获的自视图中相同的位置的控制输出。
10.根据权利要求7-9中的任一项所述的方法,其中,所述智能体是机器人智能体。
11.根据权利要求1-10中的任一项所述的方法,其中,所述环境包括执行指定任务的智能体。
12.一种包括一个或多个计算机和一个或多个存储指令的存储设备的系统,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-11中的任一项所述的相应方法的操作。
13.一个或多个存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-11中的任一项所述的相应方法的操作。
14.一种用于生成限定要由与环境交互的智能体执行的动作的控制输出的方法,所述方法包括执行指令以处理由根据权利要求1-11中的任一项训练的神经网络生成的一个或多个数字嵌套。
15.根据权利要求14所述的方法,其中,所述智能体是机器人智能体。
16.一种被配置为包括一个或多个计算机和一个或多个存储指令的存储设备的系统,所述指令在被执行时处理由根据权利要求1-11中的任一项训练的神经网络生成的一个或多个数字嵌套,以生成限定要由与环境交互的智能体执行的动作的控制输出。
17.根据权利要求16所述的系统,其中,所述智能体是机器人智能体。
CN201880006613.2A 2017-03-17 2018-03-19 镜像损失神经网络 Pending CN110192205A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762473264P 2017-03-17 2017-03-17
US62/473,264 2017-03-17
PCT/US2018/023150 WO2018170510A1 (en) 2017-03-17 2018-03-19 Mirror loss neural networks

Publications (1)

Publication Number Publication Date
CN110192205A true CN110192205A (zh) 2019-08-30

Family

ID=61868886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880006613.2A Pending CN110192205A (zh) 2017-03-17 2018-03-19 镜像损失神经网络

Country Status (4)

Country Link
US (2) US11453121B2 (zh)
EP (1) EP3542315A1 (zh)
CN (1) CN110192205A (zh)
WO (1) WO2018170510A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109521927B (zh) * 2017-09-20 2022-07-01 阿里巴巴集团控股有限公司 机器人互动方法和设备
US10635979B2 (en) * 2018-07-20 2020-04-28 Google Llc Category learning neural networks
US10810725B1 (en) * 2018-12-07 2020-10-20 Facebook, Inc. Automated detection of tampered images
US11651209B1 (en) 2019-10-02 2023-05-16 Google Llc Accelerated embedding layer computations
EP4154133A4 (en) * 2020-05-18 2024-05-29 Services Petroliers Schlumberger AUTOMATED SIMILARITY MEASUREMENT AND PROPERTY ESTIMATION
JP6901809B1 (ja) * 2020-12-25 2021-07-14 株式会社ケアスマイル青森 日常生活活動向上支援装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106056213A (zh) * 2015-04-06 2016-10-26 谷歌公司 使用目标和观察来选择强化学习动作

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7755608B2 (en) * 2004-01-23 2010-07-13 Hewlett-Packard Development Company, L.P. Systems and methods of interfacing with a machine
US9075824B2 (en) * 2012-04-27 2015-07-07 Xerox Corporation Retrieval system and method leveraging category-level labels
WO2016100717A1 (en) * 2014-12-17 2016-06-23 Google Inc. Generating numeric embeddings of images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106056213A (zh) * 2015-04-06 2016-10-26 谷歌公司 使用目标和观察来选择强化学习动作

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DE CHENG: "《Person Re-Identification by Multi-Channel Parts-Based CNN with Improved Triplet Loss Function》", 《2016 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION》 *
HAO LIU,ET AL: "《End-to-End Comparative Attention Networks for Person Re-identification》", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》 *

Also Published As

Publication number Publication date
US11853895B2 (en) 2023-12-26
US20190314985A1 (en) 2019-10-17
WO2018170510A1 (en) 2018-09-20
US20230020615A1 (en) 2023-01-19
US11453121B2 (en) 2022-09-27
EP3542315A1 (en) 2019-09-25

Similar Documents

Publication Publication Date Title
US20210390653A1 (en) Learning robotic tasks using one or more neural networks
JP7087006B2 (ja) 画像埋め込みを使用するロボティックエージェントのためのポリシーコントローラの最適化
CN110192205A (zh) 镜像损失神经网络
CN110651279B (zh) 利用学徒来训练动作选择神经网络
KR102318772B1 (ko) 도메인 분리 뉴럴 네트워크들
US20190147298A1 (en) Meta-learning for multi-task learning for neural networks
WO2019155052A1 (en) Generative neural network systems for generating instruction sequences to control an agent performing a task
CN110383298A (zh) 用于连续控制任务的数据高效强化学习
US11697205B2 (en) Determining control policies for robots with noise-tolerant structured exploration
JP2023535502A (ja) 半教師付きキーポイントベースモデル
US20220207831A1 (en) Simulated control for 3- dimensional human poses in virtual reality environments
WO2022140540A1 (en) Simulated control for 3-dimensional human poses in virtual reality environments
CN116968024A (zh) 获取用于生成形封闭抓取位姿的控制策略的方法、计算设备和介质
WO2021171768A1 (ja) 情報処理装置及び情報処理方法、コンピュータプログラム、並びに観測装置
US20200334530A1 (en) Differentiable neuromodulated plasticity for reinforcement learning and supervised learning tasks
Wu et al. Video driven adaptive grasp planning of virtual hand using deep reinforcement learning
Jiang et al. DexHand: dexterous hand manipulation motion synthesis for virtual reality
US20230368451A1 (en) System and method for ai assisted character pose authoring
US20240095527A1 (en) Training machine learning models using simulation for robotics systems and applications
WO2023057518A1 (en) Demonstration-driven reinforcement learning

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