CN113902159A - 使用经训练的解码器模型来进行时间序列预测 - Google Patents
使用经训练的解码器模型来进行时间序列预测 Download PDFInfo
- Publication number
- CN113902159A CN113902159A CN202110684980.1A CN202110684980A CN113902159A CN 113902159 A CN113902159 A CN 113902159A CN 202110684980 A CN202110684980 A CN 202110684980A CN 113902159 A CN113902159 A CN 113902159A
- Authority
- CN
- China
- Prior art keywords
- model
- objects
- values
- prediction
- time
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 91
- 230000003993 interaction Effects 0.000 claims abstract description 32
- 238000012544 monitoring process Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 126
- 238000012549 training Methods 0.000 claims description 118
- 230000002452 interceptive effect Effects 0.000 claims description 44
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000010801 machine learning Methods 0.000 claims description 8
- 230000001133 acceleration Effects 0.000 claims description 5
- 239000002245 particle Substances 0.000 description 34
- 230000000875 corresponding effect Effects 0.000 description 23
- 238000013500 data storage Methods 0.000 description 23
- 238000005457 optimization Methods 0.000 description 20
- 239000013598 vector Substances 0.000 description 19
- 238000013528 artificial neural network Methods 0.000 description 13
- 239000010410 layer Substances 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 9
- 230000002776 aggregation Effects 0.000 description 8
- 238000004220 aggregation Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 201000010099 disease Diseases 0.000 description 4
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 241000283070 Equus zebra Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 101100379079 Emericella variicolor andA gene Proteins 0.000 description 1
- 230000005483 Hooke's law Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229920001746 electroactive polymer Polymers 0.000 description 1
- 230000009881 electrostatic interaction Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive 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/027—Adaptive 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- 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/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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/047—Probabilistic or stochastic 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/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/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- 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/776—Validation; Performance evaluation
-
- 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/84—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using probabilistic graphical models from image or video features, e.g. Markov models or Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2555/00—Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Economics (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Automation & Control Theory (AREA)
- Psychiatry (AREA)
- Tourism & Hospitality (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Evolutionary Biology (AREA)
- Social Psychology (AREA)
- Mechanical Engineering (AREA)
Abstract
本发明涉及一种进行时间序列预测以用于控制和/或监测计算机控制的系统、例如半自主交通工具的计算机实现的预测方法(900)。所述方法使用一个或多个观测状态的时间序列。状态包括多个交互对象的可测量的量的值。基于所述观测状态,例如根据编码器模型来确定所述多个对象的时不变隐特征的值。然后,使用解码器模型来预测至少一个接下来的状态。这涉及应用经训练的图模型以基于对象与其他对象的交互来获得第一预测贡献,以及应用经训练的函数以仅基于关于对象本身的信息来获得第二预测贡献。基于所预测的接下来的状态,生成输出数据以用于控制和/或监测计算机控制的系统。
Description
技术领域
本发明涉及一种计算机实现的预测方法,该预测方法使用解码器模型来进行与计算机控制的系统(诸如,(半)自主交通工具)相关的时间序列预测。本发明进一步涉及一种训练这种解码器模型的计算机实现的训练方法,并且涉及一种使用对应于解码器模型的编码器模型来分析与计算机控制的系统相关的观测结果的计算机实现的分析方法。本发明进一步涉及对应于这些计算机实现方法的系统,并且涉及一种计算机可读介质。
背景技术
在(半)自主驾驶系统中,重要的任务是分析和预测交通工具周围的环境,例如以便在识别出危险的交通情形时自动制动。这特别地涉及预测交通工具环境中的其他交通参与者(例如,其他交通工具、行人、骑自行车者等)的轨迹,该预测基于它们的观测到的先前轨迹。然而,在实践中证明,该预测任务执行起来是复杂的。
涉及随时间彼此交互的多个对象的类似预测任务也在各种其他应用领域中被发现,这些应用领域诸如机器人学(其中对象可以是机器人的组件,例如机器人臂的部分,或机器人在其中操作的环境中的对象,例如其他机器人或人类);计算机联网(其中对象可以是例如提供相关服务的不同服务器);功率系统管理(其中对象可以是例如发电厂的各种组件);制造(其中对象可以是例如不同的联合操作的制造工具、或被组装在一起的组件);以及流行病(其中对象可以是例如个体疾病携带者、或疾病在其中传播的区域)。
关于涉及真实世界数据的许多其他复杂任务,机器学习是用于解决这些预测问题的一种有前景的技术。使用机器学习,可以将模型训练成:基于先前的观测结果来对交互对象的轨迹进行时间序列预测。实际上,这种数据驱动的方法证明比手动设计预测算法(例如,基于物理等式的显式系统)要可行得多。尽管如此,要获得一种对于真实世界应用而言足够准确的预测算法仍然是非常具有挑战性的。
在T.Kipf等人的“Neural Relational Inference for Interacting Systems”(可在https://arxiv.org/abs/1802.046877获得并且通过引用并入本文)中,提出了一种无监督模型,该模型学习推断交互系统中的交互,而同时纯粹地从观测数据来学习该系统的动力学(dynamics)。该模型是由两个联合训练的部分组成的变分自动编码器,这两个部分是:编码器,其在给定轨迹的情况下导出交互;以及解码器,其在给定交互的情况下预测轨迹。该交互由交互图(interaction graph)来表示,该交互图具有表示交互对象的节点。编码器学习每个边的离散边类型(discrete edge type),该离散边类型表示由该边所连接的两个对象之间的交互的类型。解码器使用这些边类型以使用图神经网络来预测轨迹。该模型被训练成同时学习预测边类型并且以无监督方式来学习动态预测模型。
发明内容
如本发明人所认识到的,不幸的是,用于预测交互对象的轨迹的现有方法存在许多问题。一般而言,在许多实际情形下,现有技术所给出的预测不够准确。因此,例如,危险的交通情形可能仍然未被检测到,或者,在另一方面,正常的交通情形可能被不合理地检测为危险。本发明人认识到,这种情况的原因之一是未能充分地考虑对预测机制的全局或环境影响,例如不依赖于对象之间的关系而是个体地适用于(hold for)对象的机制。
相关问题是,现有技术允许导出关于交互对象之间的关系的信息,但是却没有对象本身的信息。例如,关于对象本身的这种信息对于各种下游任务是有用的,例如需要关于附近交通参与者的信息的自主交通工具中的各种任务。
另一个问题是,现有技术训练起来通常是低效的,例如在计算复杂度和/或所需数据量方面。尤其是当在实际观测结果(例如,真实世界交通数据)上训练模型时,这种数据获取起来通常是昂贵的。此外,在给定训练任务的复杂度的情况下,通常需要相对大的模型,这使得训练复杂度特别重要。
因此,需要提供一种时间序列预测技术,该技术提供了更高的准确度,允许导出对象级(object-level)知识,和/或具有改善的训练效率。
根据本发明的第一方面,分别如权利要求1和12所定义的,描述了一种使用经训练的解码器模型来对多个交互对象进行时间序列预测的计算机实现方法以及对应的系统。根据本发明的另一方面,分别如权利要求6和13所定义的,描述了一种训练这种解码器模型的计算机实现的训练方法以及对应的系统。根据本发明的另一方面,分别如权利要求10和14所定义的,描述了一种使用对应于这种解码器模型的编码器模型来分析多个交互对象的观测结果的计算机实现的分析方法以及对应的系统。根据本发明的一方面,如权利要求15所定义的,描述了一种计算机可读介质。
各种特征涉及进行与计算机控制的系统相关的时间序列预测,该计算机控制的系统诸如机器人、(半)自主交通工具、制造机器、个人助理、或访问控制系统。预测可以涉及彼此交互的多个对象。该多个对象可以包括计算机控制的系统本身的一个或多个组件,和/或在计算机控制的系统的环境中并且可以实现对系统的该控制和/或监测的一个或多个对象。例如,交通工具可以基于关于附近其他交通参与者的信息、并且可能地基于该交通工具本身而被控制。对于机器人而言,对象可以例如是机器人本身的组件(例如,通过关节彼此连接的机器人臂的不同组件)、和/或机器人的环境中的对象。在功率系统管理中,对象可以是发电厂的组件。在制造中,对象可以是不同的联合操作的制造工具、或被组装在一起的组件。因此,对象通常是不同的物理实体(例如,独立实体或一个或多个物理实体的部分),尽管原则上这不是必需的。例如,对象可以是不同的计算机服务器、或者运行在计算机服务器上的进程或虚拟机等。在流行病中,对象可以是例如个体疾病携带者、或疾病在其中传播的区域。
因此,解码器模型可以用于根据该多个交互对象的状态来进行时间序列预测。这种状态可以包括该多个交互对象的一个或多个可测量的量的值,例如对于每个交互对象而言,该状态可以提供每一个可测量的量的值。可测量的量也被称为可观测的量。在大多数情况下,它们是物理量,例如可表达为SI单位或SI单位的组合的量。在典型的示例中,可测量的量可以包括例如对象的位置、速度和加速度中的一个或多个。其他相关的物理量可以是粒子的电荷、磁通量、由对象所施加或施加于对象的力、温度等。诸如进程或虚拟机之类的其他技术对象可以由如下量来表示:诸如负载百分比和/或所消耗的资源量等。在流行病中,例如可以测量感染率。
令人感兴趣的是,在涉及解码器模型的分析和预测交互对象的时间序列数据的这种背景下,本发明人设想到使用一个或多个时不变隐特征(latent feature)来表示各种对象的特性。当进行预测时,可以从一个或多个观测状态来确定这些特征;解码器模型然后可以利用所确定的值来预测一个或多个接下来的状态。在这里,“时不变”意味着该模型假定隐特征的值至少在所考虑的时间窗口期间是恒定的,该时间窗口例如在其期间观测结果可用并且在其期间进行预测的时间窗口。
因此,状态可能仅包含可直接或间接测量的对象的那些特性(例如,位置、方向、姿态和速度中的一个或多个);时不变隐特征可以表示其他特性,这些其他特性虽然不可容易或明确地测量,但是对于理解对象之间的交互可能是重要的。本发明人认识到,在许多物理系统中,存在个体对象的这种性质(例如,支配静电交互的体电荷),这种性质有助于解释它们的交互,但是这种性质太昂贵或者根本不可能测量。通过从观测状态来估计它们,它们仍然可以用于例如预测。
作为具体示例,在交通场景中,交通参与者的隐特征可以表示交通参与者的目标,例如短期目标,诸如期望车道。隐特征还可以表示导航或驾驶风格、对一组交通参与者的成员资格等。隐特征不一定具有预定义的含义,例如可以基于隐特征的用于进行准确预测的适用性来以无监督的方式学习隐特征。
令人感兴趣的是,为了预测处于接下来的状态的对象的可测量的量的值,解码器模型可以包括两个不同的组件:经训练的图模型和经训练的函数,该函数本文中也被称为“局部函数”。图模型可以考虑对象与其他对象之间的交互,而局部函数可能不考虑这种交互。两者都可以利用所确定的时不变隐特征。图模型和局部函数的预测贡献然后可以被组合,以获得该对象的可测量的量的预测值。
如本发明人所认识到的,通过使用这两个不同的组件,在训练期间有效地迫使解码器模型将涉及交互的预测方面与涉及对象和/或它们在其中交互的环境的一般特性的预测方面解纠缠(disentangle)。作为结果,可以获得能够良好地处理训练数据中出现的这种特性和/或环境条件中的可变性的模型。因此,该模型可能能够更好地学习和考虑全局机制,这些机制不依赖于对象之间的关系,而是个体地适用于每个对象。解码器模型通常也变得更容易训练,这是因为使用了两个单独的模型,这两个模型具有本质上不同的归纳偏差(inductive bias),该归纳偏差反映了组件的建模目标。
因此,获得了如下解码器模型:在许多情况下,该解码器模型可以提供更准确的预测,并且更好地泛化至未见过的情形。在诸如自主驾驶之类的背景下,这些优点特别重要,自主驾驶涉及依赖于位置的特性(例如,道路的大小、交通量、对交通规则的遵守水平)、以及可能独立于位置或者可能不是独立于位置的交互相关特性(例如,不同交通参与者在其中彼此做出反应的方式)的组合。
具体地,应用图模型来确定给定对象的预测贡献可以涉及:根据经训练的函数来确定该对象与多个另外的对象的成对贡献(pairwise contribution)。该函数可以将该对象和另外的对象的一个或多个可测量的量的先前值作为输入,并且在一些情况下(但不一定)还可以将该对象和另外的对象的时不变隐特征的值作为输入。然后,可以将成对贡献聚合成总体贡献,例如通过将它们相加或使用另一种类型的排列协变运算符(permutationcovariant operator)。基于可训练的成对函数的图模型(诸如,图神经网络)具有的优点是:无论有多少个交互对象,都可以使用相同的图模型,这允许在这方面不同的观测场景之间进行更好的数据共享。
在为了预测接下来的状态而仅使用一个先前状态的可测量的量(但是仍然典型地基于多个先前状态来导出时不变隐特征)的意义上,图模型可以是马尔可夫图模型。因此,在这种情况下,确定成对贡献的可训练函数将仅针对该先前状态的一个或多个可测量的量作为输入值。然而,也有可能使用多个先前状态,在这种情况下,例如可以根据递归模型来确定成对贡献。
另一方面,局部函数可以基于仅该对象本身的一个或多个可测量的量的先前值、以及可能地还基于仅该对象本身的时不变隐特征的值来确定第二预测贡献。例如,局部函数不使用其他对象的可测量的量值或时不变隐特征(尽管它可以使用其自己的时不变隐特征,这些时不变隐特征仍然通常基于其他对象的可测量的量值而被导出)。局部函数也不使用其他对象的时不变隐特征。例如,局部函数也不使用与其他对象的任何成对贡献。因此,可以有效地迫使该函数考虑独立于与特定其他对象的交互的方面。然而,该函数可以具有其他输入。
例如,去往局部函数的输入至多可以包括该对象本身的先前值,或者至多包括该对象本身的先前值和时不变隐特征。类似于图模型,局部函数也可以是马尔可夫模型,这意味着它使用仅一个先前状态的可测量的量的值,或者局部函数可以是非马尔可夫模型,这意味着可以考虑多个先前状态,例如通过使用递归模型作为局部函数。
图模型的第一预测贡献和局部函数的第二预测贡献然后可以被组合,以获得该对象的一个或多个可测量的量的预测值。优选的是,使用预定的组合函数,例如基于领域知识而选择的组合函数而不是从数据中训练的组合函数。还优选的是,使用逐特征地(feature-by-feature)起作用的组合函数,例如第一和第二预测贡献可以具有与可测量的量的集合相同数量的元素,并且可以通过组合第一和第二预测贡献的相应元素来获得针对可测量的量的预测。使用预定的组合函数和/或按特征的组合函数进一步有助于迫使该模型将该预测的不同方面解纠缠。
对预测贡献进行组合的最合适方式通常取决于被测量的特定量。在许多情况下,尤其是在物理量的情况下,可以根据数学运算符来对预测贡献进行组合,该数学运算符例如加法、乘法等。在许多实际情形下,加法证明是好的选择。例如,在其中交互是施加于对象的物理力的总和的结果的情形中,加法是自然情况(natural case)。组合函数可以直接输出可测量的量的预测值,但是其输出也可以表示与可测量的量的先前值的预测差值(predicted difference)。在这种情况下,可以通过将预测差值应用于先前值来获得预测值,例如通过将先前值与预测差值相加。
为了从观测状态来确定时不变隐特征的值,使用经训练的编码器模型。在编码器模型是基于解码器模型而训练的或者是与解码器模型一起训练的意义上,编码器模型可以对应于解码器模型。通常,训练解码器模型可以被称为“正向建模”,而训练编码器模型可以被称为“逆向建模”。因此,编码器和解码器可以联合地用于预测交互对象的轨迹。编码器可以在给定过去轨迹的情况下估计隐藏特征。解码器可以接收这些推断出的隐变量、连同该对象的过去状态作为输入,并且预测它们的未来轨迹。换句话说,解码器可以是交互系统的生成模型,并且因此可以有效地提供从隐变量和过去观测结果到未来观测结果的正向映射,而编码器可以学习从观测结果映射到隐变量的逆向模型。
类似于解码器模型,编码器模型也可以利用图模型,诸如图神经网络。为了确定对象的时不变隐特征,图模型可以使用该对象与多个另外的对象的成对贡献。该对象与另外的对象的成对贡献可以根据被包括在一个或多个观测状态中的该对象和另外的对象的一个或多个可测量的量的值来确定。在编码器模型中,通常使用多个先前状态,例如可以按每个先前状态来确定成对贡献,或者可以在多个先前状态上确定成对贡献。
因此,解码器模型和编码器模型的组合可以有益地用于解决在具有多个交互对象的场景中的轨迹预测和隐特征估计的问题。由编码器模型确定的时不变隐特征通常可以是支配其行为的对象的特征,但是可能难以或者甚至不可能直接测量。因此,这些隐特征不仅可以用于做出更好的预测,而且还可以用于其他下游任务。例如,可以根据时不变隐特征将交通参与者分类成特定类型;这种类型然后不仅可以用于更准确地预测未来轨迹,而且还可以用于例如以下系统中:该系统向用户提供交通情形的可视化,或者将交通情形分类成特定类别(例如,繁忙或不繁忙、危险或不危险)。例如,基于具有大量儿童,可以将交通情形分类成危险的。更一般地,可以基于时不变隐特征的值来应用另外的机器学习模型。该另外的机器学习模型也可以使用观测数据。然而,在各种实施例中,该另外的机器学习模型不直接使用观测数据(例如,针对一些或所有代理者(agent)的可测量的量的值),而是取而代之使用时不变隐特征的值作为代理(proxy)。
令人感兴趣的是,学习预测未来状态和学习估计时不变隐特征的值的任务可以被视为两个相互依赖的任务。在一方面,恢复信息丰富的(informative)时不变隐特征值改善了预测的准确度。另一方面,训练编码器模型以确定给出良好预测的时不变隐特征改善了所导出的隐特征的信息量(informativeness)。因此,使用时不变隐特征可以允许改善由解码器模型进行的预测、以及由编码器模型对时间序列观测结果的分析两者。
关于解码器模型的训练,一种可能性是与编码器模型一起执行解码器模型的常规端到端训练。也就是说,基于观测到的场景,可以通过选择场景来训练解码器模型;应用编码器模型来确定该场景的对象的时不变隐特征的值;应用解码器模型来预测也被包括在该场景中的状态;以及将该预测与实际状态进行比较。基于该比较,可以导出训练信号,基于该训练信号,可以更新编码器模型和解码器模型两者的参数。
执行常规端到端训练可能似乎是唯一的可能性,这是由于动态模型学习和隐藏特征估计的任务似乎是相互依赖的。训练解码器模型将似乎需要对隐变量的足够良好的估计,而隐变量的推断将似乎需要准确的正向(即,解码器)模型的可用性。
然而,令人感兴趣的是,本发明人认识到,也有可能将编码器模型和解码器模型的训练分离。即,当训练解码器模型时,场景的对象的时不变隐特征的值可以与解码器模型的可训练参数一起作为可训练参数而被联合地学习。基于这些时不变隐特征的学习值,然后可以以监督方式来学习编码器模型。
使用这种两步骤方法执行训练具有若干个优势。同时训练编码器和解码器两者是复杂的学习任务,该学习任务通常展现出较慢的收敛速率。通过取而代之地将该训练分成两个不同的、更容易的学习任务,改善了该训练的计算复杂度,例如可能需要更少的迭代来达到准确的模型。而且,降低了达到局部最优的风险,并且因此在实践中观察到,所得的编码器和解码器模型具有更高的准确度,例如得到更准确的预测。两步骤方法中的训练还与对象的时不变隐特征结合得特别好。例如与本领域中使用的成对隐特征相比,需要作为可训练参数的隐特征的数量要少得多(例如,在对象数量上是线性的,而不是二次方的(quadratic)),从而使得更加有效地训练它们。
令人感兴趣的是,两步骤训练方法还允许执行半监督学习。即,针对对象和/或时不变隐特征和/或场景的子集,隐特征值可以用作训练数据。例如,可以针对多个场景中的对象手动地注释隐特征。实际上,这对于整个数据集来说可能太昂贵,但是对于数据的子集(例如,至多5%或至多10%)来说是可行的。然后,在训练决策器模型时,这些已知的隐特征值可以被固定,而不是作为可训练参数。令人感兴趣的是,执行对编码器和解码器的半监督联合训练不仅可以改善解码器用于预测的性能,而且还可以改善编码器用于导出隐特征值的性能,而不管编码器是否与解码器结合地使用。
使用时不变隐特征作为可训练参数来训练解码器模型的另一个令人感兴趣的方面是:有可能在不显式训练单独的可训练编码器模型的情况下训练解码器模型。例如,如也在其他地方所讨论的,有可能取而代之地使用解码器模型来从观测状态中导出时不变隐特征,例如通过执行优化来确定时不变隐特征的值,基于该值,解码器模型能够最好地预测给定观测状态。例如,同样当进行如本文中描述的时间序列预测时,可以以这种方式来确定时不变隐特征,而不使用与解码器模型分离的可训练编码器模型。尽管如此,对编码器模型的使用通常仍然是优选的,例如用于允许更有效地计算隐特征。
可选地,一些或所有时不变隐特征可以是具有可能值的相应有限集合的离散特征。因此,确定对象的隐特征可能本质上对应于将对象分类成对应于可能值的类别。当使用解码器模型来确定用于进行预测的时不变隐特征时,经训练的编码器模型的输出可以然后被离散化为有限集合。当训练解码器时,训练信号可以被配置成惩罚时不变隐特征(例如,作为可训练参数而给出、或者当执行端对端训练时作为编码器的输出)与可能值的有限集合的偏差。
一般而言,从可能值的有限集合中选择一个值的这种分类型学习问题比回归型问题更容易解决,尤其是在无监督的背景下。因此,本发明人发现,对离散特征的使用大大地改善了学习性能并且产生了更高质量的预测,并且因此是优选的,尤其是在与无监督学习相结合的情况下,在无监督学习中,没有隐特征的值被给出作为训练数据。而且,与如现有技术中所做的那样使用离散的成对特征相比,使用离散的对象级特征是有利的。在许多情况下,使用对象级特征是简洁得多的建模选择。特征的数量较少,例如在对象数量方面是线性的而不是二次方的。另一个原因是:可以避免隐空间的组合爆炸(combinatorialexplosion),这是由于相关类型的对象对的数量通常预期在相关类型的对象本身的数量上成二次方扩展(scale quadratically)。另一个原因是:例如代替于针对不同的交互类型使用相应的模型,可以跨交互类型来共享模型参数。因此,改善了数据效率。
一般而言,可以以在其他方面常规的方式在控制和/或监测手头的计算机控制的系统时使用如本文中描述的所预测的状态和/或所确定的时不变隐特征。例如,可以将状态和/或特征提供给例如半自主交通工具、机器人、或其他类型的计算机控制的系统的控制单元,以用于实现合适的动作。存在许多如下这种示例:其中针对这种控制和监测任务需要所预测的轨迹,所提出的技术可以容易地与这种控制和监测任务相组合。特别地,为了确定用于控制和/或监测的输出数据,可以应用另外的机器学习模型,例如将交通情形分类为危险或安全的模型,例如以便在危险交通情形的情况下发起制动。作为另一个示例,(半)自主交通工具可以使用其他交通参与者的预测轨迹来规划朝向目标的安全导航路径,例如,最小化碰撞风险的安全导航路径。
可选地,输出数据可以经由输出接口提供给输出设备,该输出设备在控制或监测计算机控制的系统时被使用。该输出设备可以是与该系统相关联的致动器,该系统通过向致动器提供基于该系统的所预测的(一个或多个)接下来的状态或所确定的隐特征的控制数据来控制。例如,致动器可以用于控制交通工具,诸如自主或半自主交通工具、机器人、制造机器、建筑物等。
本领域技术人员将领会,本发明的两个或更多个上述实施例、实现方式和/或可选方面可以以被认为有用的任何方式而组合。
本领域技术人员可以在本描述的基础上实施对任何系统和/或任何计算机可读介质的修改和变化,这些修改和变化对应于对相应计算机实现方法的所描述的修改和变化。
附图说明
本发明的这些和其他方面将通过参考以下描述中通过示例的方式描述的实施例并且参考附图而变得明显并且被进一步阐明,在附图中:
图1示出了用于训练解码器模型的系统,该解码器模型用于对多个交互对象进行时间序列预测;
图2示出了用于进行时间序列预测或分析多个交互对象的观测结果的系统;
图3示出了使用如本文中描述的系统的在环境中操作的(半)自主交通工具;
图4示出了在环境中操作的(半)自主交通工具;
图5示出了图模型的详细示例;
图6示出了如何预测至少一个接下来的状态的详细示例;
图7a示出了确定用于在编码器模型中使用的成对贡献的详细示例;
图7b示出了确定用于在编码器模型中使用的成对贡献的详细示例;
图8a示出了如何训练解码器模型的详细示例;
图8b示出了如何训练编码器模型的详细示例;
图8c示出了如何训练编码器模型的详细示例;
图9示出了对多个交互对象进行时间序列预测的计算机实现方法;
图10示出了训练解码器模型的计算机实现方法;
图11示出了分析多个交互对象的观测结果的计算机实现方法;
图12示出了包括数据的计算机可读介质。
应当注意的是,附图纯粹是示意性的,而并不是按比例绘制的。在附图中,与已经描述的元件相对应的元件可以具有相同的附图标记。
具体实施方式
图1示出了用于训练解码器模型041的训练系统100,解码器模型041用于对涉及计算机控制的系统的多个交互对象进行时间序列预测。相应的对象可以是计算机控制的系统或其环境的一部分。系统100可以包括用于访问表示多个观测到的场景的训练数据030的数据接口120。如该图中所示,数据接口120还可以用于访问表示解码器模型的模型数据041,可选地用于访问表示编码器模型的模型数据042,该编码器模型也是由系统100训练的。模型数据041、042可以用于根据本文中描述的方法、例如通过图2的系统200来分析交互对象的观测结果和/或对交互对象进行时间序列预测。系统100可以被配置成:除了训练(一个或多个)模型041、042之外还应用(一个或多个)模型041、042,例如系统100可以与图2的系统200组合。
例如,还如图1中所图示,数据接口可以由数据存储接口120构成,数据存储接口120可以从数据存储装置021来访问数据030、041、042。例如,数据存储接口120可以是存储器接口或持久性存储接口(例如,硬盘或SSD接口),但是也可以是个人、局域网或广域网接口(诸如,蓝牙、Zigbee或Wi-Fi接口或以太网或光纤接口)。数据存储装置021可以是系统100的内部数据存储装置(诸如,硬盘或SSD),但是也可以是外部数据存储装置(例如,网络可访问数据存储装置)。在一些实施例中,数据030、041、042可以均例如经由数据存储接口120的不同子系统从不同的数据存储装置来访问。每个子系统可以属于如上面针对数据存储接口120所描述的类型。
系统100可以进一步包括处理器子系统140,处理器子系统140可以被配置成在系统100的操作期间训练解码器模型。可以在多次迭代中执行训练。在迭代中,处理器子系统140可以被配置成选择多个观测到的场景中的观测到的场景。观测到的场景可以表示作为计算机控制的系统或其环境的一部分的多个交互对象的多个观测状态的时间序列。状态可以包括该多个交互对象的一个或多个可测量的量的值。处理器子系统140可以进一步在迭代中获得该多个对象的一个或多个时不变隐特征的值,并且可以基于观测到的场景的先前状态、例如使用时不变隐特征来预测观测到的场景的状态。
为了进行预测,处理器子系统可以应用解码器模型041的图模型来获得针对对象的第一预测贡献。第一预测贡献可以基于该对象与多个另外的对象的成对贡献。可以基于该对象和另外的对象的时不变隐特征的值以及一个或多个可测量的量的先前值来确定该对象与另外的对象的成对贡献。为了进行预测,处理器子系统140可以进一步应用解码器模型的函数来获得针对该对象的第二预测贡献。第二预测贡献可以基于该对象本身的一个或多个可测量的量的先前值以及可选地基于该对象本身的时不变隐特征的值。为了进行预测,处理器子系统140可以进一步组合第一和第二预测贡献,以获得该对象的一个或多个可测量的量的预测值。
作为训练迭代的一部分,处理器子系统140可以进一步基于将观测到的场景的状态与其预测进行比较来导出训练信号,并且可以基于训练信号来适配该图模型和/或该函数的参数。
系统100可以进一步包括输出接口,以用于输出分别表示经训练的解码器模型和编码器模型(如果使用的话)的模型数据041、042。例如,还如图1中所图示,输出接口可以由数据接口120构成,在这些实施例中,所述接口是输入/输出(“IO”)接口,经由该输入/输出(“IO”)接口,经训练的模型数据041、042可以被存储在数据存储装置021中。例如,定义了“未训练的”模型的模型数据可以在训练期间或训练之后至少部分地被经训练的模型的模型数据所替换,这是因为动力学模型的参数(诸如,神经网络的权重和其他类型的参数)可以适配于反映训练数据030上的训练。这也在图1中通过将未训练和经训练的模型数据示出为相同记录来图示。在其他实施例中,经训练的模型数据可以与定义了“未训练的”模型的模型数据分离地存储。在一些实施例中,输出接口可以与数据存储接口120分离,但是通常可以属于如上面针对数据存储接口120所描述的类型。
图2示出了用于生成输出数据以用于控制和/或监测计算机控制的系统的系统200。特别地,该系统可以用于根据解码器模型对作为计算机控制的系统或其环境的一部分的多个交互对象进行时间序列预测,和/或用于根据编码器模型来分析这种交互对象的观测结果,基于此,可以生成该输出数据。
系统200可以包括数据接口220,以用于访问表示经训练的解码器模型的模型数据041和/或表示经训练的编码器模型的模型数据042。解码器模型和/或编码器模型可以由图1的系统100或者其他方式所描述的系统来生成。
例如,还如图2中所图示,数据接口可以由数据存储接口220构成,数据存储接口220可以从数据存储装置022来访问数据041、042的。一般来说,数据接口220和数据存储装置022可以属于与参考图1针对数据接口120和数据存储装置021所描述的相同的类型。数据存储装置022还可以包括观测数据,观测数据表示多个交互对象的一个或多个观测状态的时间序列。状态可以包括该多个交互对象的一个或多个可测量的量的值。如其他地方所描述,在一些实施例中,还可以经由传感器接口260或经由另一类型的接口直接从传感器072接收观测数据,而不是经由数据存储接口220从数据存储装置022来访问观测数据。
系统200可以进一步包括处理器子系统240,处理器子系统240可以被配置成在系统200的操作期间例如经由存储接口220或经由传感器接口260来获得观测数据。
当使用观测数据来进行时间序列预测时,处理器子系统240可以被配置成基于一个或多个观测状态来确定该多个对象的一个或多个时不变隐特征的值。处理器子系统240然后可以预测该多个交互对象的至少一个接下来的状态。为了进行预测,处理器子系统240可以应用解码器模型041的经训练的图模型来获得针对对象的第一预测贡献。第一预测贡献可以基于该对象与多个另外的对象的成对贡献。可以基于该对象和另外的对象的时不变隐特征的值以及一个或多个可测量的量的先前值来确定该对象与另外的对象的成对贡献。为了进行预测,处理器子系统240可以进一步应用解码器模型041的经训练的函数来获得针对该对象的第二预测贡献,第二预测贡献基于该对象本身的一个或多个可测量的量的先前值以及可选地基于该对象本身的时不变隐特征的值。为了进行预测,处理器子系统240可以组合第一和第二预测贡献,以获得该对象的一个或多个可测量的量的预测值。处理器子系统240然后可以基于所预测的至少一个接下来的状态来生成输出数据以用于控制和/或监测。
当使用观测数据来分析观测结果时,处理器子系统240可以使用编码器模型042以基于该一个或多个状态来确定该多个对象的一个或多个时不变隐特征的值。该确定可以包括:基于对象与多个另外的对象的成对贡献来应用编码器模型042的经训练的图模型。该对象与另外的对象的成对贡献可以根据被包括在一个或多个观测状态中的该对象和另外的对象的一个或多个可测量的量的值来确定。处理器子系统240然后可以基于一个或多个时不变隐特征的值来生成输出数据以用于控制和/或监测,这可以可选地包括基于所述时不变隐特征的值来应用另外的机器学习模型。
将领会的是,如针对图1的处理器子系统140那样,相同的考虑和实现方式选项适用于处理器子系统240。还将进一步领会的是,如针对图1的系统100那样,相同的考虑和实现方式选项一般来说可以适用于系统200,除非另行指出。
图2进一步示出了系统200的各种可选组件。例如,在一些实施例中,系统200可以包括传感器接口260,以用于直接访问由环境082中的传感器072获取的传感器数据224。传感器可以被布置在环境082中,但是也可以被布置成远离环境082,例如如果可以远程地测量(一个或多个)量的话。传感器072可以但不需要是系统200的一部分。传感器072可以具有任何合适的形式,诸如图像传感器、视频传感器、激光雷达传感器、雷达传感器、超声传感器、运动传感器、热成像相机、压力传感器、温度传感器等。可以使用常规手段从传感器数据072中导出观测数据,例如可以使用图像提取技术从图像或视频数据等中导出对象的位置。传感器数据接口260可以具有在类型上对应于传感器类型的任何合适的形式,包括但不限于:例如基于I2C或SPI数据通信的低级别通信接口、或者如上面针对数据接口220所描述的类型的数据存储接口。
在一些实施例中,系统200可以包括致动器接口280,以用于向环境082中的致动器(未示出)提供控制数据226。这种控制数据226可以由处理器子系统240生成,以基于使用解码器模型041或编码器模型042而确定的所预测的接下来的状态或时不变隐特征的导出值来控制致动器。致动器可以是系统200的一部分。例如,致动器可以是电动、液压、气动、热、磁和/或机械致动器。具体但非限制性的实例包括电动机、电活性聚合物、液压缸、压电致动器、气动致动器、伺服机构、螺线管、步进电动机等。参考图3针对(半)自主交通工具描述了这种类型的控制。
在其他实施例(图2中未示出)中,系统200可以包括至呈现设备的输出接口,该呈现设备诸如显示器、光源、扬声器、振动电动机等,它们可以用于生成感觉可感知输出信号,该感觉可感知输出信号可以基于所预测的状态或所确定的隐特征值而生成。感觉可感知输出信号可以直接指示这些模型输出,但是也可以表示所导出的感觉可感知输出信号,例如用于对计算机控制的系统的引导、导航或其他类型的控制。
一般而言,本说明书中描述的每个系统(包括但不限于图1的系统100和图2的系统200)可以被实现为单个设备或装置(诸如,工作站或服务器)、或者在单个设备或装置中实现。该设备可以是嵌入式设备。该设备或装置可以包括执行适当软件的一个或多个微处理器。例如,相应系统的处理器子系统可以由单个中央处理单元(CPU)来实现,但是也可以由这种CPU和/或其他类型的处理单元的组合或系统来实现。软件可能已经被下载和/或存储在对应的存储器中,该存储器例如易失性存储器(诸如,RAM)或非易失性存储器(诸如,闪存)。替代地,相应系统的处理器子系统可以以可编程逻辑的形式在该设备或装置中实现,例如作为现场可编程门阵列(FPGA)。一般而言,相应系统的每个功能单元可以以电路的形式来实现。相应系统也可以以分布式方式来实现,例如涉及不同的设备或装置,诸如分布式本地服务器或基于云的服务器。在一些实施例中,系统200可以是计算机控制的系统(例如,交通工具、机器人等等)的一部分,和/或可以表示被配置成控制计算机控制的系统的控制系统。
图3示出了上述内容的示例,其中系统200被示出为在环境50中操作的自主交通工具62(在这种情况下为汽车)的控制系统。自主交通工具62可以是自主的,因为它可以包括自主驾驶系统或驾驶辅助系统,其中后者也被称为半自主系统。
在该示例中,状态可以包括关于该交通工具的环境50中的多个交通参与者的位置信息。例如,位置信息可以包括交通参与者的位置、速度、姿态和加速度中的一个或多个。通常,该示例中的位置信息是二维位置信息。由系统200预测的(一个或多个)接下来的状态可以用于以许多不同的方式来监测和/或控制该自主交通工具。
例如,自主交通工具62可以将系统200并入,以基于由系统200预测的(一个或多个)接下来的状态来生成用于控制该自主交通工具的转向和/或制动的控制数据。可以基于从传感器数据中导出的观测数据来预测(一个或多个)状态,该传感器数据是从被集成到交通工具62中的视频相机22而获得的。
例如,可以生成控制数据以控制电动机42在预期自主交通工具62与交通参与者发生碰撞的情况下执行(再生)制动。可以控制转向和/或制动,以避免与交通参与者发生碰撞。出于该目的,系统200可以基于从视频相机获得的传感器数据来预测一个或多个接下来的状态,包括一个或多个交通参与者的位置。如果预期交通参与者的未来状态将导致碰撞,则系统200可以采取对应的动作。
图4示出了在环境50中操作的交通工具62(例如,图3的交通工具62)的俯视图。例如,示出了多个建筑物401和多个人行道402。该图中还示出了斑马线414和交通灯412。
该图图示了在交通工具62的环境50中具有多个交通参与者的交通情形。可以根据本文中描述的技术来预测交通工具62和/或其环境中的交通参与者的状态,包括关于该多个交通参与者的位置信息。在该示例中,交通参与者包括若干个行人420-423。在该非限制性示例中,示出了四个行人。这些行人可以例如根据短期目标在环境50中操作,并且在可以预期这些行人的行为取决于其他交通参与者的存在和行为的意义上,这些行人还可以彼此交互和/或与交通工具62交互。
例如,可以预期的是,当行人靠近斑马线414时,行人穿过道路的穿过可能性增加。因此,例如,可以例如由编码器模型、根据该行人靠近人行横道和/或朝向人行横道移动来导出该行人旨在的短期目标。例如,行人421和422可能比行人420和423更可能穿过道路。
不同的所导出的短期目标可能会导致不同的预测轨迹。例如,行人421的未来轨迹可以不仅取决于穿过道路是否是该行人的短期目标,而且还取决于其他交通参与者的短期目标。另一方面,行人的短期目标可能会影响其他交通参与者的轨迹。例如,如果交通工具62的短期目标是直线行驶并且行人621的短期目标是穿过道路,则交通工具62可以被预测为减速并且等待该行人;和/或行人621可以被预测为暂停以查看该汽车是否实际上在等待。然而,如果交通工具62的短期目标是左转、或者行人621的目标是停留在人行道上,则它们的轨迹可能不会彼此影响。
在该示例中,使用了包括预测/分析系统200的交通工具62的短期目标,但是该示例也适用于如下情况:其中交通工具62不包括预测/分析系统本身,但是交通工具62取而代之是处于该系统的环境中的交通工具。
令人感兴趣的是,本文中描述的模型可以允许从数据中学习这种短期目标、以及可以从诸如位置和加速度之类的量的直接测量结果中间接导出的其他信息如何影响行人的未来轨迹。此外,可以自动从数据中导出影响由该多个对象的时不变隐特征所捕获的轨迹的这种信息。因此,可以获得对未来轨迹的更准确的预测。
图5示出了用于在编码器和/或解码器模型中使用的图模型的详细但非限制性的示例。一般而言,图模型是其中根据图结构对数据进行建模的模型。可以通过如下方式来确定该图的节点的特征:根据可学习函数来确定该节点与该图的其他节点的成对贡献,并且将这些成对贡献组合成该对象的聚合成对贡献。在这里,聚合通常支持任意数量的其他节点,例如聚合可以包括将成对贡献相加在一起,使得整个图模型通常也可以支持任意数量的对象。图模型优选地是排列协变的,例如该图中的对象的次序可能不影响针对相应对象做出的预测。例如,图模型可以被配置成使得对去往图模型的输入中的多个对象进行排列导致该模型所输出的针对该多个对象的预测的预测的相同排列。这使得该模型能够更好地表示在对象之间不具有固有次序的对象集合。
例如,本文中描述的图模型可以是图神经网络,例如,如在F. Scarselli等人的“The graph neural network model”,IEEE Transactionson Neural Networks,2009(通过引用并入本文)中所公开的那样。本文中描述的图模型也可以是交互网络,如在P.Battaglia等人的“Interaction Networks for Learning about Objects,Relations andPhysics”(通过引用并入本文,并且可在https://arxiv.org/abs/1612.00222获得)中所公开的那样。
该图图示了可以用于本文中描述的编码器模型和解码器模型两者的具体图模型架构。该图中的图模型是以交互对象作为节点的全连接图上的单层图模型。图模型获取相应交互对象的节点级输入特征向量Xi 510,并且计算节点级输出特征向量Oi 570。
具体地,该图中示出了表示相应交互对象的输入特征向量X1...XA 510,该相应交互对象的行为由图模型来建模。输入特征向量是通常为实值的向量,例如具有一个、两个、至多或至少五个、或至多或至少十个特征。通常,对象的特征向量包括对象的可测量的量和/或时不变隐特征的值,如也在其他地方描述的那样。
该图中还示出了成对贡献函数PCF 520,也被称为边更新函数。成对贡献函数可以被应用于不同对象的输入特征向量对Xi、Xj。成对贡献函数PCF例如可以是神经网络或任何其他合适的机器可学习函数。针对输入特征向量对Xi、Xj应用成对贡献函数PCF可以产生成对贡献PCij 530。在数学上,这可以表示为:
然后,根据聚合函数AGG 540,可以例如根据该图中所示的网格结构逐行或逐列地按每个对象来聚合成对贡献PCij,从而产生每个对象的聚合成对贡献APCi 550。聚合函数通常是排列协变的,例如改变去往该函数的自变量的次序不会影响其结果。例如,聚合函数可以是加法、乘法、平均值、最大值或类似函数。聚合函数通常是预定义的,例如它不是通过任何可训练参数来参数化的。在数学上,这可以表示为:
最后,可以将可选节点更新函数NUF 560应用于相应的聚合成对贡献,以获得图模型的相应输出Oi 570。节点更新函数通常同样是机器可学习函数,诸如神经网络。在数学上,这可以表示为:
优选地,构成图模型的函数是可微分的,从而使得更容易例如使用梯度下降来训练图模型。例如,图模型的函数可以是多层感知器、或递归模型,例如门控递归单元(Gated Recurrent Unit)或长短期记忆网络。在具有离散时不变隐特征的编码器模型的情况下,确定编码器模型的输出的节点更新函数NUF可以包括用于将输出约束到足够接近期望离散值的值的函数,诸如softmax、sigmoid或tanh输出层。
虽然在该图中图示了单层图模型,但是通常本文中使用的图模型也可以包括多个层,例如两层、三层或更多层。例如,多层图模型可以通过多次应用如图5中所示的相同或不同的图模型来实现。
图6示出了如何预测多个交互对象的至少一个接下来的状态的详细但非限制性的示例。基于所预测的(一个或多个)状态,可以生成输出数据以用于控制和/或监测计算机控制的系统,如也在其他地方描述的。
该图中示出了观测数据X1...XA 610,其表示一个或多个观测状态的时间序列。通常,存在多个观测状态。随后观测状态之间的时间间隔通常是恒定的。例如,所使用的观测状态的数量可以是至多或至少10个、至多或至少100个、或至多或至少500个。状态可以包括计算机控制的系统和/或其环境的多个交互对象的一个或多个可测量的量的值。在该图中,观测数据被示出为包括元素X1...XA,每个元素表示相应对象的一个或多个可测量的量的值的时间序列。这种每个对象的时间序列可以被称为该对象的轨迹。因此,由观测数据表示的场景可以被视为包括多个对象的轨迹,轨迹包括在公共时间点集合处的一个或多个可测量的量的测量结果。
例如,对象的数量A可以是至多或至少5个、至多或至少10个、或至多或至少50个。相应对象在某个时间点处的一个或多个可测量的量可以由特征向量(例如,实值特征向量)来表示。例如,特征向量可以由至少2个、至少4个、至多或至少6个、或至多或至少10个特征组成。
可测量的量可以包括关于对象的位置信息。可测量的量可以例如包括该对象的位置。例如,某个时间点处的可测量的量可以被表示为2D坐标或3D坐标。替代地或附加地,可测量的量可以包括该对象例如在2D或3D中的速度,该速度被表达为数字或向量。类似地,替代地或附加地,可测量的量可以包括该对象(例如在2D或3D中)的加速度,该加速度被表达为数字或向量。一般而言,可以使用常规技术从各种模态中获得位置观测结果,例如使用图像提取从相机或视频数据、从雷达数据等获得位置观测结果。
然而,除了位置信息之外、或者代替于位置信息,可以使用其他可测量的量。例如,可以使用温度、气压等的测量结果。对于机器人而言,可测量的量可以例如是由机器人的组件所施加或施加于机器人的组件的压力的量。这些是物理量的示例,尽管这不是严格需要的。对于计算机服务器或虚拟机而言,可测量的量可以是负载、每个时间间隔的请求数量等。一般而言,可测量的量可以例如使用适当的传感器来直接地测量、或者例如通过基于其他量的测量结果导出测量结果来间接地测量。
令人感兴趣的是,为了预测交互对象的(一个或多个)接下来的状态,可以使用时不变隐特征。针对该多个对象中的每一个,可以基于观测状态Xi来确定这些时不变隐特征的值。该图中示出了相应对象的一个或多个时不变隐特征的值H1...HA 690,例如H1可以表示第一对象的时不变隐特征的值,H2表示第二对象的时不变隐特征的值等等。时不变隐特征的数量可以是例如1个、至少2个、至多或至少5个、或至多或至少10个。有可能使用连续的时不变隐特征,但是在优选实施例中,一些或所有时不变隐特征是离散的。也就是说,时不变隐特征具有来自可能值的有限集合的值。可能值的该数量通常是预先配置的。例如,时不变隐特征的可能值的数量可以是2个、3个、至多或至少5个、或至多或至少10个。可以使用独热编码(one-hot encoding)来表示离散时不变隐特征。
各种选项可用于计算时不变隐特征Hi的值。该图示出了正在被使用的编码器模型Enc 601。编码器模型可以包括经训练的图模型,例如,如关于图5所描述的那样。因此,确定时不变隐特征Hi可以包括:基于对象与多个另外的对象的成对贡献来应用该经训练的图模型。可以根据被包括在一个或多个观测状态中的该对象和另外的对象的一个或多个可测量的量的值Xi、Xj来确定该对象与另外的对象的成对贡献。将关于图7a和7b来讨论针对编码器模型Enc的各种特别有利的选项。
然而,不需要使用单独的编码器模型Enc来确定时不变隐特征Hi。作为替代,可以根据在该图中讨论的解码器模型来确定时不变隐特征Hi,例如通过执行优化来确定针对观测结果Xi得到了良好预测的值Hi。例如,在给定时不变隐特征的候选值并且给定观测数据Xi的状态的子集的情况下,可以对观测数据Xi的状态的另一个子集进行预测,例如,如关于该图所描述的那样。例如,时间点1...T−1处的状态可以用于预测时间点2...T处的相应状态。然后,针对那些已知状态得到了最佳预测的隐特征的候选值还可以用于预测针对其没有观测结果可用的接下来的状态。使用解码器模型来确定时不变隐特征将关于图8a和8c被进一步描述。
无论是使用编码器模型Enc还是以其他方式来确定时不变隐特征Hi,都可以应用离散化来确定时不变隐特征的离散值。例如,指示针对时不变隐特征的相应离散值的相应的对应程度(degree of correspondence)或似然性(likelihood)的值可以被离散化为单个值,例如时不变隐特征的整数或独热编码。
在给定观测数据Xi和时不变隐特征Hi的情况下,可以根据经训练的解码器模型来预测多个交互对象的一个或多个接下来的状态。在数学上,这可以表述如下。考虑A个对象的集合,这些对象的状态可以在离散的时间点1...T处被探测,作为一个或多个可测量的量的值。被包括在观测数据Xi中的对象i在时间t处的状态可以被表示为,其中F是特征维数,例如用于表示一个或多个可测量的量的特征的数量。第i个对象的时不变隐特征Hi可以表示为h i 。例如,h i 可以包括在K个可能值上取得的至少一个离散特征。令人感兴趣的是,隐特征可能无法直接观测到。
在各种实施例中,解码器模型是马尔可夫模型,这意味着根据观测数据Xi,解码器模型仅使用最近的状态。例如,可以将代理者i在时间t处的观测状态建模为所有代理者的最后观测状态以及它们的隐藏特征的函数。可以使用张量x∈来表示所有A个对象在所有T个时间步长处的一个或多个可测量的量的值。针对时不变隐特征,可以使用特征向量,或者例如,可以将离散的时不变隐特征表示为张量,该张量表示相应对象的隐特征的值,例如表示为其独热编码或连续松弛化(continuous relaxation)。
如该图中所示,解码器模型可以包括经训练的图模型GM 602和经训练的局部函数LF 603。图模型GM可以被应用以获得针对相应对象的第一预测贡献FPCi 670,而局部函数LF可以被用于获得针对相应对象的第二预测贡献SPCi 671。两个模块都可以将观测数据Xi以及可能地还将隐特征Hi作为输入。令人感兴趣的是,图模型GM可以基于成对贡献,如下面进一步讨论的,从而有效地允许在对象之间共享关于它们的状态的信息;而局部函数LF可以独立地处理每个对象的数据(例如,观测结果Xi和/或隐特征Hi)。因此,可以有效地迫使图模型GM对对象的交互进行建模,而可以有效地迫使局部函数LF对每个对象展现出的行为进行建模,而与其他事物(诸如,与环境的交互)无关。然后,在组合操作CMB 680中,可以组合第一和第二贡献FPCi、SPCi,以获得一个或多个可测量的量的预测值xi,t+1 611。
用于获得第一预测贡献FPCi的图模型GM可以使用关于图5讨论的架构。针对对象的第一预测贡献FPCi可以基于该对象与多个另外的对象的成对贡献。可以基于该对象和另外的对象的时不变隐特征的值Hi、Hj以及一个或多个可测量的量的先前值Xi、Xj来确定该对象与另外的对象的成对贡献。先前值可以来自紧接在前的状态(immediately precedingstate),由此获得马尔可夫图模型,或者来自多个先前状态。
作为具体示例,当使用图5的图模型架构时,可以做出以下选择。成对贡献函数可以是多层感知器,其将最近的先前值和时不变隐特征作为输入。然后,可以通过求和来聚合成对贡献,在此之后,可以应用由另外的多层感知器给出的节点更新函数,以获得第一预测贡献。在数学上,这可以表示为:
经训练的局部函数LF可以基于对象的可测量的量Xi的先前值来确定针对该对象的第二预测贡献SPCi。这可以是来自最近的先前状态的值,以得到马尔可夫函数,但是也可以是来自多个先前状态的值。经训练的局部函数还可以可选地使用该对象的时不变隐特征Hi的值。然而,其他对象的先前值和隐特征不会被输入到局部函数LF。例如,局部函数LF可以被实现为多层感知器,例如:
为了组合第一和第二贡献FPCi、SPCi以得到预测值xi,t+1,组合操作CMB通常应用预定义的组合函数,例如不通过可训练参数来参数化的组合函数。组合函数也可以使用先前状态,例如对贡献的组合可以导致被应用于紧接在前的状态的偏移(offset)。组合函数可以逐元素进行操作,例如通过逐元素加法。第一和第二贡献以及预测xi,t+1可以均具有相同数量的元素,该数量对应于用于表示一个或多个可测量的量的特征的数量。例如,预测x t+1和紧接在前的状态x t 可以根据下式而彼此相关:
在一些实施例中,可以预测交互对象的多个接下来的状态。为此,一个或多个可测量的量的预测值xi,t+1可以(可选地,与先前预测或观测值相结合地)被用作去往解码器模型的进一步应用的输入。通常,隐特征的相同值会被再次使用,例如编码器模型Enc通常不会被再次应用。例如,以这种方式,状态可以被预测到未来的至少2个、至多或至少10个、或至多或至少50个时间步长。
图7a示出了确定用于在编码器模型中使用的成对贡献的详细但非限制性的示例。
该图示出了成对贡献函数PCF 720,成对贡献函数PCF 720用于基于观测数据Xi710来确定相应对象与相应其他对象的成对贡献pi,j,T 730。观测数据可以表示状态的时间序列,状态包括多个交互对象的一个或多个可测量的量的值。关于图6进一步讨论了观测数据。根据图5的架构,成对贡献函数PCF可以用作编码器模型中的成对贡献函数。
在该示例中,可以通过将可训练递归模型RM 725应用于该对象和另外的对象的一个或多个可测量的量的值来确定成对贡献pi,j,T。因此,可以通过根据递归模型RM从成对贡献的先前值pi,j,t-1来连续地更新成对贡献的值pi,j,t 736从而确定成对贡献。可以用零来初始化成对贡献的初始值(例如,pi,j,0)。然后,可以迭代地应用递归模型RM,例如从pi,j,0开始,以获得pi,j,1、pi,j,2等。然后,可以将针对最近状态的成对贡献pi,j,t用作成对贡献函数的输出pi,j,T。已知的递归模型(例如递归神经网络,诸如长短期记忆和门控递归单元)可以用作递归模型RM。
在递归模型RM的相应应用中,该模型可以将来自相应状态的一个或多个可测量的量的值作为输入。对于该递归模型,也有可能以滑动窗口的方式使用来自多个状态的值。例如,该图中示出了递归模型RM,其取得两个对象在当前状态xi,t 713和xj,t 714处、以及紧接在前的状态xi,t-1 711和xj,t-1 712处的可测量的量的值。
令人感兴趣的是,通过使用递归模型RM,可以获得支持马尔可夫和非马尔可夫系统两者的编码器模型。作为示例,根据一实施例的编码器模型可以与如下各项组合地使用该图中所示的成对贡献函数PCF:作为聚合函数的求和、以及作为节点更新函数的另外的可训练函数(例如,多层感知器),例如:
在这里,针对RNN的级联是沿着特征轴的。
图7b示出了确定用于在编码器模型中使用的成对贡献的详细但非限制性的示例。
类似于图7a,该图示出了成对贡献函数PCF 721,成对贡献函数PCF 721用于基于观测数据Xi 710来确定相应对象与相应其他对象的成对贡献pi,j 731。观测数据可以表示状态的时间序列,状态包括多个交互对象的一个或多个可测量的量的值。关于图6进一步讨论了观测数据。根据图5的架构,成对贡献函数PCF可以用作编码器模型中的成对贡献函数。
在该示例中,针对一对两个对象的成对贡献pi,j 731可以通过如下方式来获得:独立地确定每个时间点的成对贡献pi,j,t 737,并且对每个时间点的成对贡献pi,j,t进行组合以获得成对贡献pi,j,该成对贡献pi,j由成对贡献函数PCF来输出。
具体地,该图中示出了时间点贡献函数TCF 726。其通常是可训练函数。时间点贡献函数TCF可以将两个对象在某个时间点处、以及可选地在固定数量的紧接在前的时间点处的可测量的量的值作为输入。该图中的时间点贡献函数TCF将第一对象的可测量的量的当前值和紧接在前的值xi,t-1、xi,t、以及第二对象的可测量的量的当前值和紧接在前的值xj,t-1、xj,t作为输入。例如,时间点贡献函数TCF可以是多层感知器:
为了将每个时间点的成对贡献pi,j,t组合成总体成对贡献pi,j,可以使用合适的排列协变运算符。例如,该运算符可以涉及对每个时间点的贡献pi,j,t进行求和,可选地接着是应用可训练函数(诸如,多层感知器),例如:
通过对独立确定的每个时间点的贡献进行组合,该成对贡献函数PCF可能特别适合于对马尔可夫系统进行建模,在这种情况下,它在准确度与计算成本之间提供了特别良好的折衷。
例如,根据一实施例的编码器模型可以将该成对贡献函数PCF与作为聚合函数的求和、以及作为节点更新函数的另外的可训练函数(例如,多层感知器)进行组合,例如:
令人感兴趣的是,关于该图所描述的成对贡献函数PCF允许关于观测到的时间步长的排列来实施编码器模型的鲁棒性,同时避免了消失梯度的问题。
现在转到如本文中描述的编码器和/或解码器模型的训练。一般而言,为了训练编码器和/或解码器,可以使用训练数据来表示多个观测到的场景。场景可以包括多个观测状态。对象数量在场景之间可能不同,并且状态数量在场景之间也可能不同。例如,可用场景的总数可能至多或至少500个、至多或至少10000个、或至多或至少50000个。例如,所有场景内的状态的总数可能至多或至少50000个、至多或至少250000个、至多或至少1000000个、或至多或至少5000000。
一般而言,可以基于一组训练场景通过如下方式来训练解码器模型(例如,如关于图5所描述的解码器模型):重复地选择场景;基于该场景的其他状态来预测该场景的一个或多个状态;基于将该场景的状态与其预测进行比较来导出训练信号;以及基于训练信号来适配可训练参数。
例如,可以以常规方式端到端地一起训练编码器模型和解码器模型。例如,可以例如通过目标函数的梯度下降等等来执行优化:
在这里,f是由v参数化的解码器模型,并且g是由w参数化的编码器。在该示例中,解码器模型f被配置成将所预测的差值输出到紧接在前的状态,目标函数将所预测的差值与实际差值进行比较。然而,解码器模型也可以替代地输出所预测的状态。
然而,令人感兴趣的是,在下面描述的各种实施例中,编码器模型和解码器模型的训练在如下意义上是解耦的:即,训练解码器模型,而不会同时还训练编码器模型。然后,可以基于经训练的解码器模型来训练编码器模型。甚至有可能不使用编码器模型,而是取而代之地使用解码器模型来确定时不变隐特征的值,如也在其他地方讨论的那样。
图8a示出了如何训练解码器模型的详细但非限制性的示例。如该图中所图示,该示例遵循如下一般结构:选择场景X 810;确定针对该场景的状态的预测x' 811;基于将状态X与预测x'进行比较来导出训练信号TS 820;以及基于训练信号TS来适配解码器模型(例如,图模型和/或局部函数)的参数V 830。
令人感兴趣的是,在该示例中,该场景的对象的一个或多个时不变隐特征的值H890也是与解码器模型的可训练参数V一起联合学习的可训练参数。例如,在一些或所有迭代中,解码器参数V和隐特征H两者都可以基于相同的训练信号TS而更新。或者,在一些迭代中,可以更新解码器参数V,而在其他交织的(interleaved)迭代中,可以更新隐特征H。然而,不会同时地更新编码器模型的参数;事实上,在该示例中,在训练解码器时,编码器模型通常根本不被使用。
通常,使用迭代优化方法来执行训练,在迭代优化方法中,目标函数被优化。例如,目标函数可以量化预测误差,例如作为L2损失。优化可以是随机优化,诸如随机梯度下降。例如,可以使用Adam优化器,如Kingma和Ba的“Adam:A Method for StochasticOptimization”(可在https://arxiv.org/abs/1412.6980获得,并且通过引用并入本文)中所公开的那样。如已知的那样,这种优化方法可以是启发式方法和/或达到局部最优。可以在逐个场景的基础上或者分批地(例如,至多或至少64个、或至多或至少256个场景)执行训练。
令人感兴趣的是,训练数据集可以被部分地注释,这意味着它包括针对至少一些场景中的至少一些对象的至少一些时不变特征的时不变隐特征的值。然后,这些值被固定,而不是作为可训练参数被训练。针对给定的隐特征,训练数据集可以包括完全注释的场景、部分注释的场景、以及未注释的场景的任何组合。在完全注释的场景中,针对所有对象,隐特征的值都是可用的。在部分注释的场景中,针对一些但不是所有的对象,隐特征的值是可用的。在未注释的场景中,隐特征的值不可用。隐特征的值的可用性可能因隐特征而不同。然而,至少针对一些隐特征,一些场景中的至少一些对象是不可用的,而是作为可训练参数被训练。一般而言,支持可用注释的任何组合,并且可用注释的任何组合有助于确保时不变隐特征被训练以导出某个种类的信息。例如,在整个训练数据上,给定时不变隐特征的值可用于所有场景中的所有对象中的至多20%、至多10%、或甚至至多1%。
尽管如此,仍然可以实现该时不变隐特征的准确半监督学习。
然而,无监督学习也是可能的,或者例如可以将一些隐特征的半监督学习与其他隐特征的监督学习进行组合。
如果使用离散隐特征,出于效率原因,可以作为连续参数来训练离散隐特征。例如,在使用独热编码的单个离散隐特征的情况下,离散特征可以被表示为h∈H,其中 。在训练期间,可以将完整性约束h∈H松弛化到。在这种情况下,如果训练信号奖励接近可能值的离散集合的可训练连续参数,则这是有益的。例如,可以使用损失项来惩罚与可能值的集合的偏差。如果未标记隐特征或标记值的数量相对少,则这尤其是有益的。如本发明人所观察到的,在这种情况下,可训练的隐特征通常将进行聚类并且需要被正则化以接近可能值的集合。
具体地,为了训练解码器模型的参数V以及时不变隐特征H,可以执行以下优化:
在这里,f v (x t ,h)是由解码器模型所预测的可测量的量的值,并且Δx t 是实际值,或者等效地,f v (x t ,h)是可测量的量与来自先前状态的值的差值,该差值由解码器模型所预测,并且Δx t 是实际差值。例如,在其中S个训练场景中的每一个具有相同数量的T个时间步长的特定情况下,可以执行优化以最小化损失,该损失表示跨时间步长和训练样本的提前一步(one-step-ahead)预测误差的平均范数(例如,l 2范数):
本发明人发现,可以单独地或组合地采取若干个措施来显著改善该优化的鲁棒性。
在一些实施例中,为了改善鲁棒性,时不变隐特征向量的值可以在一定数量的初始迭代期间(例如,针对至多5次或至多10次迭代)保持恒定。例如,当使用具有K个可能离散值的独热编码时,可以初始地使用恒定的独热编码h =(1/K...1/K)。
在一些实施例中,正则化项可以被包括在惩罚离散时不变隐特征与可能值的集合的偏差的优化中。除了允许对离散特征进行更好的训练之外,还发现该项改善了鲁棒性。所发现的是,初始不包括该项,而是在一定数量的迭代之后(例如,在发现隐特征已经被分离(例如,聚类)到足够程度之后)将该项添加到目标函数是特别有效的。
在一些实施例中,为了改善鲁棒性,在其中作为可训练参数来学习时不变隐特征的一定数量的迭代之后,隐特征对于该优化的其余部分可以被固定,其中解码器继续被训练。特别地,离散的隐特征可以被固定到其所学习的松弛化的离散化。
令人感兴趣的是,代替于基于其作为所学习的参数的值来固定隐特征,本发明人认识到,使用如到目前为止所训练的解码器DEC来确定所固定的值也是可能的。因此,可以执行优化以确定导致解码器DEC做出最准确预测的时不变隐特征的值。例如,可以针对某个来执行优化,其中是如到目前为止所训练的解码器fDEC的迭代应用,该解码器预测到未来的k个步骤,并且其中和表示解码器参数的当前值。例如,步骤的数量可以被选择为至多或至少5个、至多或至少10个、或至多或至少20个。例如,可以使用基于一阶梯度的算法来执行优化,或者针对离散值,使用网格或集束搜索(beam-search)或类似方法来执行优化。后者可能更快,这取决于对象的数量和离散特征的可能值的数量,并且后者可能使得能够使用函数针对其表现不佳的解码器模型。
如本发明人所认识到的,在给定经训练的解码器模型DEC的情况下,用于确定时不变隐特征的值的上述优化可以被视为编码器的一种类型。例如,当应用解码器时,例如,如关于图2或图6所讨论的那样,时不变隐特征可以通过基于解码器模型执行优化来确定,例如而不是通过应用单独的编码器模型来确定。因此,训练解码器模型DEC而不随后训练编码器模型也是可能的且有用的。然而,出于效率的原因,通常优选经训练的编码器模型。
图8b示出了如何训练编码器模型Enc 801的详细但非限制性的示例。例如,可以在根据图8a训练了解码器模型之后应用该技术。
在该示例中,基于训练场景X 810、以及该场景的对象的对应已知时不变隐特征值H 890以监督方式来训练编码器模型。所使用的时不变隐特征H可以对应于在训练解码器模型时作为可训练参数而学习的值。在离散隐特征H的情况下,它们优选地通过选择可能离散值的集合中最接近的值而被离散化。
基于训练场景X,可以应用编码器模型Enc来确定时不变隐特征的值H';然后,可以将这些值与已知值H进行比较,以导出训练信号TS 821,基于该训练信号,可以适配编码器模型的参数W 831。通常,编码器模型的训练可以通过优化损失函数来执行,该损失函数例如所确定的值H'与已知值H之间的差值的L2范数、或者交叉熵。
尽管编码器模型在该示例中是以监督方式来训练的,但是应当注意的是,编码器模型和解码器模型一起的总体训练不是完全监督的学习任务,这是由于总体训练不使用针对隐特征值的地面真值(ground truth)标签的完整集合,而是仅仅并且可选地使用其子集。然后,可以使用编码器Enc以通过确定新场景的时不变隐特征值来分析新场景。
图8c示出了如何训练编码器模型的详细但非限制性的示例。该示例基于图8b的示例。类似于该图,可以基于如下操作以监督方式来训练编码器模型Enc 801的参数W 831:将编码器模型Enc应用于场景X 810以获得一个或多个时不变隐特征的值H' 891;并且将这些值与已知值H 890'进行比较以导出训练信号TS 821。基于该训练信号,可以适配参数W。
该图图示了如下情况:其中已知值H不是基于在训练解码器模型时所学习的隐特征向量的值来确定的。取而代之,在该示例中,已知值H是在优化Opt 840中确定的。优化Opt选择值H,使得它们通过解码器模型得到最佳预测x' 811。关于图8a讨论了这一点的详细示例。
通常,如本文中描述的编码器模型和解码器模型的可训练组件(例如,图模型、成对贡献函数、节点更新函数和局部函数)可以使用各种类型的可训练函数来实现。例如,可训练函数可以使用多层感知器或另一种类型的神经网络(例如,卷积神经网络等)来实现。例如,所使用的神经网络的层的数量可以是至少2个、至少5个或至少10个,并且节点和/或权重的数量可以是至少1000个或至少10000个。在神经网络的情况下,解码器和/或编码器网络的经训练的参数可以包括神经网络的节点的权重。还有可能使用其他类型的可训练函数,例如高斯过程。通常,编码器网络和/或解码器网络的可训练参数的数量可以是至少1000个、或至少100000个。从训练效率的角度来看,使用服从基于梯度的优化的(例如,在其参数集合中是连续的和/或可微分的)可训练函数是有益的。
现在给出如本文中描述的编码器和/或解码器模型的若干个具体示例。在这些示例中,编码器和解码器模型被应用于根据三个物理模型的表示相互作用的粒子的训练数据。在第一示例中,对弹簧所连接的粒子的行为进行建模。在第二示例中,对带电粒子进行建模,其相互作用由库仑定律来定义。在第三示例中,根据Kuramoto模型对耦合振荡器的行为进行建模。下面所描述的设计选择被发现针对该特定观测数据工作良好,但是也可以用于其他类型的观测数据。
在这三个示例中,利用具有一个离散时不变隐特征的对象来配置编码器和解码器模型,该离散时不变隐特征具有K=2个可能值。可测量的量是对象(在该示例中,是在2D中)的位置和速度。在下面,x用于表示粒子位置,并且v用于表示粒子速度。因此,对象在某个状态下的可测量的量的值可以被表示为四维向量(x 1, x 2, v 1, v 2)。
针对解码器模型,使用图6的架构,该架构具有用于图6的局部函数以及图5的成对贡献函数和节点更新函数的多层感知器(MLP)。针对编码器模型,根据图5的图模型与作为节点更新函数的MLP一起使用。用于带电粒子和弹簧的编码器模型是根据图7b的马尔可夫编码器。图7b的时间点贡献函数也被实现为MLP函数。该示例中的MLP具有2个隐藏层,每个层具有32个神经元。作为MLP的激活函数,使用了连续可微分的指数线性单位。针对Kuramoto示例,使用了根据图7a的递归编码器。递归模型是隐藏大小为32的单层长短期记忆LSTM模块。在编码器和解码器两者中,成对贡献(即,p i,j , i≠j∈[A])是32维向量。
编码器和解码器模型是以两步骤方法来训练的,在两个步骤中,使用学习率为0.001的Adam优化器。
用于弹簧和Kuramoto示例的训练数据表示其中具有同等隐藏特征的对象进行交互的情形。在库仑示例中,具有同等隐藏特征的粒子排斥,并且具有不同隐藏特征的粒子吸引。编码器和解码器模型是利用四个不同的数据集来训练的。在第一数据集中,所有场景都具有2个粒子。在第二数据集中,所有场景都具有5个粒子。在第三数据集中,一半场景具有4个粒子,并且一半场景具有6个粒子。第四数据集包括具有3、5、7和9个粒子的场景,每个场景占该数据集的四分之一。将这些模型中的每一个应用于具有2、3、4、5、6、7、8和9个粒子的测试数据。
令人感兴趣的是,在弹簧和库伦示例中,所发现的是,已经利用由512个场景组成的训练数据以无监督方式来训练准确的编码器和解码器模型是有可能的。利用由12288个场景组成的训练数据获得了更好的结果。在半监督的背景下,发现训练对由640个场景组成的训练数据有效,在该训练数据中,经标记与未标记的场景之间的比率为1比9。针对Kuramoto示例,场景数量是两倍,但是每个场景使用较少数量的状态。经训练的模型的泛化超过了该训练数据中使用的对象数量,例如利用4个或6个粒子训练的模型被发现在具有3个粒子的测试数据上工作良好。
现在给出关于这三个示例中使用的训练数据的细节。该训练数据是根据物理模型综合生成的。
在弹簧示例中,表示了A个粒子,每个粒子与离散的随机标签相关联。根据虎克定律,相同类型的粒子相互施加力,而不同类型的粒子不相互作用。换句话说,粒子j对粒子i施加的力F i,j 由来确定。此外,每个粒子的运动受牛顿定律所支配。
在带电粒子示例中,表示了A个粒子,每个粒子具有的随机电荷q i 为-1或1。这些粒子根据库仑定律的平滑版本相互作用,并且因此可以彼此吸引或排斥。实际上,粒子j对粒子i施加的力F i,j 通过下式来计算:
其中是粒子的相对位置,并且ε>0是平滑常数。关于弹簧模型,牛顿定律被用于确定粒子的运动。平滑常数被设置为ε=0.01,以避免该模型必须有效地学习不连续函数,这对于编码器和解码器模型中使用的可训练函数的各种实际选择可能是困难的。
在该示例中,在生成训练数据时使用了边界框,以防止粒子彼此漂移太远。边界框与每个粒子的相互作用由如下力来建模:该力在框内部等于零,并且随着超出框外的距离而线性地增长。例如,具有x坐标w的垂直边界在具有x坐标p的任何粒子上施加力−c·max(0,p−w)。具体来说,可以使用c=10。
这意味着只有相同类型的振荡器被耦合。
所有物理模型由步长大小为0.01的欧拉积分(Euler integration)来仿真。通过每10个时间步长对所得数据进行子采样(subsample)来获得训练示例。这意味着,实际上,该示例训练数据中的轨迹具有的步长大小为0.1。针对弹簧和库仑示例,可以执行进一步的子采样,其中每10个时间点仅进行一次子采样。在这种情况下,场景中的时间步长的最终数量可以设置为500。应当注意的是,当使用其步长大小等于原始步长大小的一步预测误差作为训练目标时,第二子采样步骤不会更改该数据的有效步长大小。针对Kuramoto模型,该数据保持在其原始采样频率(在该示例中为10),并且使用50个时间步长的相对短的轨迹。这防止了从该物理系统已知的锁相(phase locking)效应。要注意的是,通常,模型不需要时间步长的数量跨训练数据的不同场景是恒定的。
图9示出了对多个交互对象进行时间序列预测以用于控制和/或监测计算机控制的系统的计算机实现方法900的框图。相应对象可以是计算机控制的系统或其环境的一部分。方法900可以对应于图2的系统200的操作。然而,这不是限制,因为方法900也可以使用另一个系统、装置或设备来执行。
方法900可以包括:在题为“访问解码器”的操作中,访问910表示经训练的解码器模型的模型数据。
方法900可以包括:在题为“获得观测结果”的操作中,获得920观测数据,该观测数据表示该多个交互对象的一个或多个观测状态的时间序列。状态可以包括该多个交互对象的一个或多个可测量的量的值。
方法900可以包括:在题为“确定时不变隐特征”的操作中,基于一个或多个观测状态来确定930该多个对象的一个或多个时不变隐特征的值。
方法900可以包括:在题为“预测接下来的状态”的操作中,预测940该多个交互对象的至少一个接下来的状态。为了执行预测940,方法900可以包括:在题为“应用图模型”的操作中,应用942解码器模型的经训练的图模型以获得针对对象的第一预测贡献。第一预测贡献可以基于该对象与多个另外的对象的成对贡献。该对象与另外的对象的成对贡献可以基于该对象和另外的对象的时不变隐特征的值以及一个或多个可测量的量的先前值来确定。为了执行预测940,方法900可以进一步包括:在题为“应用函数”的操作中,应用944解码器模型的经训练的函数以获得针对该对象的第二预测贡献。第二预测贡献可以基于该对象本身的一个或多个可测量的量的先前值以及可选地基于该对象本身的时不变隐特征的值。为了执行预测940,方法900可以进一步包括:在题为“对贡献进行组合”的操作中,对第一和第二预测贡献进行组合946以获得该对象的一个或多个可测量的量的预测值。
方法900可以包括:在题为“生成输出数据”的操作中,基于所预测的至少一个接下来的状态来生成950输出数据以用于控制和/或监测计算机控制的系统。
图10示出了训练解码器模型的计算机实现方法1000的框图,该解码器模型用于对多个交互对象进行时间序列预测,该多个交互对象在如下意义上与计算机控制的系统相关:即,相应对象可以是计算机控制的系统或其环境的一部分。方法1000可以对应于图1的系统100的操作。然而,这不是限制,因为方法1000也可以使用另一个系统、装置或设备来执行。
方法1000可以包括:在题为“访问训练数据”的操作中,访问1010表示多个观测到的场景的训练数据。
方法1000可以包括:通过执行多个操作中的一个或多个操作1030-1060来训练解码器模型。
为了训练解码器模型,方法1000可以包括:在题为“选择场景”的操作中,选择1030该多个观测到的场景中的观测到的场景。该场景可以表示多个交互对象的多个观测状态的时间序列。状态可以包括该多个交互对象的一个或多个可测量的量的值。为了训练解码器模型,方法1000可以包括:在题为“获得时不变隐特征”的操作中,获得1040该多个对象的一个或多个时不变隐特征的值。
为了训练解码器模型,方法1000可以包括:在题为“预测状态”的操作中,基于观测到的场景的先前状态来预测1050观测到的场景的状态。为了预测该状态,方法1000可以包括:在题为“应用图模型”的操作中,应用1052解码器模型的图模型以获得针对对象的第一预测贡献。第一预测贡献可以基于该对象与多个另外的对象的成对贡献。可以基于该对象和另外的对象的时不变隐特征的值以及一个或多个可测量的量的先前值来确定该对象与另外的对象的成对贡献。为了预测该状态,方法1000可以包括:在题为“应用函数”的操作中,应用1054解码器模型的函数以获得针对该对象的第二预测贡献。第二预测贡献可以基于该对象本身的一个或多个可测量的量的先前值以及可选地基于该对象本身的时不变隐特征的值。为了预测该状态,方法100可以包括:在题为“对贡献进行组合”的操作中,对第一和第二预测贡献进行组合1056以获得该对象的一个或多个可测量的量的预测值。
为了训练解码器模型,方法1000可以包括:在题为“导出训练信号”的操作中,基于将观测到的场景的状态与其预测进行比较来导出1060训练信号。为了训练解码器模型,方法1000可以包括:在题为“适配参数”的操作中,基于该训练信号来适配1070图模型和/或该函数的参数。
方法1000可以可选地进一步包括训练如本文中描述的编码器模型。
图11示出了分析多个交互对象的观测结果以用于控制和/或监测计算机控制的系统的计算机实现方法1100的框图。相应对象可以是计算机控制的系统或其环境的一部分。方法1100可以对应于图2的系统200的操作。然而,这不是限制,因为方法1100也可以使用另一个系统、装置或设备来执行。
方法1100可以包括:在题为“访问模型数据”的操作中,访问1110表示经训练的编码器模型的模型数据。可以与本文中描述的解码器模型相结合地训练编码器模型。
方法1100可以包括:在题为“获得观测数据”的操作中,获得1120观测数据,该观测数据表示该多个交互对象的一个或多个观测状态的时间序列。状态可以包括该多个交互对象的一个或多个可测量的量的值。
方法1100可以包括:在题为“确定时不变隐特征”的操作中,使用1130编码器模型以基于该一个或多个状态来确定该多个对象的一个或多个时不变隐特征的值。该确定可以包括:基于对象与多个另外的对象的成对贡献来应用编码器模型的经训练的图模型。该对象与另外的对象的成对贡献可以根据被包括在一个或多个观测状态中的该对象和另外的对象的一个或多个可测量的量的值来确定。
方法1100可以包括:在题为“生成输出数据”的操作中,基于一个或多个时不变隐特征的值来生成1140输出数据以用于控制和/或监测计算机控制的系统。
将领会的是,一般而言,图9的方法900、图10的方法1000和图11的方法1100的操作可以以任何合适的次序来执行,例如,连续地、同时地或其组合,在适用的情况下,该次序服从于例如由输入/输出关系使得成为必需的特定次序。还可以组合这些方法中的一些或全部,例如方法900和/或方法1100可以使用先前根据方法1000训练的编码器或解码器模型来执行。
该(一个或多个)方法可以在计算机上实现为计算机实现方法、专用硬件、或其两者的组合。同样如图12中所图示,用于计算机的指令(例如,可执行代码)可以存储在计算机可读介质1200上,例如以机器可读物理标记序列1210的形式和/或作为具有不同电气(例如,磁性)或光学性质或值的元件序列来存储。可执行代码可以以暂时或非暂时的方式来存储。计算机可读介质的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。图12示出了光盘1200。替代地,计算机可读介质1200可以包括暂时或非暂时数据1210,该数据1210是表示根据本文中描述的方法而训练的解码器模型和/或根据本文中描述的方法而训练的编码器模型的模型数据。
示例、实施例或可选特征,无论是否被指示为非限制性的,都不应被理解为对所要求保护的本发明进行限制。
应当注意的是,上述实施例说明而不是限制本发明,并且本领域技术人员将能够在不脱离所附权利要求的范围的情况下设计出许多替代实施例。在权利要求中,置于括号之间的任何附图标记都不应被理解为对权利要求进行限制。对动词“包括”及其变化形式的使用不排除权利要求中所陈述的那些元件或阶段之外的元件或阶段的存在。元件之前的冠词“一”或“一个”不排除多个这种元件的存在。诸如“至少一个”之类的表述当在元素列表或元素组之前时表示从该列表或组中选择所有元素或任何元素子集。例如,“A、B和C中的至少一个”应当理解为仅包括A、仅包括B、仅包括C、包括A和B两者、包括A和C两者、包括B和C两者、或包括A、B和C全部。本发明可以借助于包括若干个不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干个部件的设备权利要求中,这些部件中的若干个可以由相同的硬件项来实现。在相互不同的从属权利要求中记载了某些措施的单纯事实并不指示这些措施的组合不能够被有利地使用。
Claims (15)
1.一种对多个交互对象进行时间序列预测以用于控制和/或监测计算机控制的系统的计算机实现的预测方法(900),其中相应对象是计算机控制的系统或其环境的一部分,所述方法包括:
- 访问(910)表示经训练的解码器模型的模型数据;
- 获得(920)观测数据,所述观测数据表示所述多个交互对象的一个或多个观测状态的时间序列,状态包括所述多个交互对象的一个或多个可测量的量的值;
- 基于所述一个或多个观测状态来确定(930)所述多个对象的一个或多个时不变隐特征的值;
- 通过以下步骤来预测(940)所述多个交互对象的至少一个接下来的状态:
- 应用(942)解码器模型的经训练的图模型以获得针对对象的第一预测贡献,第一预测贡献基于所述对象与多个另外的对象的成对贡献,所述对象与另外的对象的成对贡献是基于所述对象和另外的对象的时不变隐特征的值和一个或多个可测量的量的先前值来确定的;
- 应用(944)解码器模型的经训练的函数以获得针对所述对象的第二预测贡献,第二预测贡献基于所述对象本身的一个或多个可测量的量的先前值;
- 对第一和第二预测贡献进行组合(946)以获得所述对象的一个或多个可测量的量的预测值;
- 基于所预测的至少一个接下来的状态来生成(950)输出数据以用于控制和/或监测计算机控制的系统。
2.根据权利要求1所述的预测方法(900),其中根据经训练的编码器模型来确定所述对象的一个或多个时不变隐特征的值,所述确定包括:基于所述对象与多个另外的对象的成对贡献来应用编码器模型的经训练的图模型,所述对象与另外的对象的成对贡献是根据被包括在所述一个或多个观测状态中的所述对象和另外的对象的一个或多个可测量的量的值来确定的。
3.根据权利要求2所述的预测方法(600),其中时不变隐特征是具有可能值的有限集合的离散特征,所述确定时不变隐特征包括:将经训练的编码器模型的输出离散化为所述有限集合。
4.根据任一项前述权利要求所述的预测方法(900),其中一个或多个可测量的量包括所述对象的位置、速度和加速度中的一个或多个。
5.根据权利要求4所述的预测方法(900),其中计算机控制的系统是自主或半自主交通工具,所述多个对象包括所述交通工具的环境中的多个交通参与者。
6.一种用于训练解码器模型的计算机实现的训练方法(1000),解码器模型用于对与计算机控制的系统相关的多个交互对象进行时间序列预测,其中相应对象是计算机控制的系统或其环境的一部分,所述方法包括:
- 访问(1010)表示多个观测到的场景的训练数据;
- 通过在多次迭代中进行以下步骤来训练解码器模型:
- 选择(1030)所述多个观测到的场景中的观测到的场景,观测到的场景表示多个交互对象的多个观测状态的时间序列,状态包括所述多个交互对象的一个或多个可测量的量的值;
- 获得(1040)所述多个对象的一个或多个时不变隐特征的值;
- 通过以下步骤、基于观测到的场景的先前状态来预测(1050)观测到的场景的状态:
- 应用(1052)解码器模型的图模型以获得针对对象的第一预测贡献,第一预测贡献基于所述对象与多个另外的对象的成对贡献,所述对象与另外的对象的成对贡献是基于所述对象和另外的对象的时不变隐特征的值和一个或多个可测量的量的先前值来确定的;
- 应用(1054)解码器模型的函数以获得针对所述对象的第二预测贡献,第二预测贡献基于所述对象本身的一个或多个可测量的量的先前值;
- 对第一和第二预测贡献进行组合(1056)以获得所述对象的一个或多个可测量的量的预测值;
- 基于将观测到的场景的状态与其预测进行比较来导出(1060)训练信号,并且基于所述训练信号来适配(1070)所述图模型和/或所述函数的参数。
7.根据权利要求6所述的预测方法(1000),进一步包括训练编码器模型,编码器模型用于根据所述多个交互对象的一个或多个观测状态来确定对象的一个或多个时不变隐特征的值,所述确定包括:基于对象与多个另外的对象的成对贡献来应用编码器模型的经训练的图模型,所述对象与另外的对象的成对贡献是根据被包括在所述一个或多个观测状态中的所述对象和另外的对象的一个或多个可测量的量的值来确定的。
8.根据权利要求7所述的方法(1000),其中训练解码器模型包括:作为可训练参数来联合地学习观测到的场景的对象的一个或多个时不变隐特征的值;所述方法进一步包括使用一个或多个时不变隐特征的学习值来执行对编码器模型的监督训练。
9.根据权利要求8所述的方法(1000),其中所述训练数据包括对象的子集的一个或多个时不变隐特征的值和/或时不变隐特征和/或观测到的场景。
10.一种分析多个交互对象的观测结果以用于控制和/或监测计算机控制的系统的计算机实现的分析方法(1100),其中相应对象是计算机控制的系统或其环境的一部分,所述方法包括:
- 访问(1110)表示经训练的编码器模型的模型数据,编码器模型是根据权利要求7所述的方法、与解码器模型相结合地训练的;
- 获得(1120)观测数据,所述观测数据表示所述多个交互对象的一个或多个观测状态的时间序列,状态包括所述多个交互对象的一个或多个可测量的量的值;
- 使用(1130)编码器模型以基于所述一个或多个状态来确定所述多个对象的一个或多个时不变隐特征的值,所述确定包括:基于对象与多个另外的对象的成对贡献来应用编码器模型的经训练的图模型,所述对象与另外的对象的成对贡献是根据被包括在所述一个或多个观测状态中的所述对象和另外的对象的一个或多个可测量的量的值来确定的;
- 基于一个或多个时不变隐特征的值来生成(1140)输出数据以用于控制和/或监测计算机控制的系统。
11.根据权利要求10所述的方法(1100),其中生成所述输出数据包括:基于所述时不变隐特征的值来应用另外的机器学习模型。
12.一种用于对多个交互对象进行时间序列预测以用于控制和/或监测计算机控制的系统的预测系统(200),其中相应对象是计算机控制的系统或其环境的一部分,所述系统包括:
- 数据接口(220),用于访问表示经训练的解码器模型的模型数据(041);
- 处理器子系统(240),其被配置成:
- 获得观测数据,所述观测数据表示所述多个交互对象的一个或多个观测状态的时间序列,状态包括所述多个交互对象的一个或多个可测量的量的值;
- 基于所述一个或多个观测状态来确定所述多个对象的一个或多个时不变隐特征的值;
- 通过以下步骤来预测所述多个交互对象的至少一个接下来的状态:
- 应用解码器模型的经训练的图模型以获得针对对象的第一预测贡献,第一预测贡献基于所述对象与多个另外的对象的成对贡献,所述对象与另外的对象的成对贡献是基于所述对象和另外的对象的时不变隐特征的值和一个或多个可测量的量的先前值来确定的;
- 应用解码器模型的经训练的函数以获得针对所述对象的第二预测贡献,第二预测贡献基于所述对象本身的一个或多个可测量的量的先前值;
- 对第一和第二预测贡献进行组合以获得所述对象的一个或多个可测量的量的预测值;
- 基于所预测的至少一个接下来的状态来生成输出数据以用于控制和/或监测计算机控制的系统。
13.一种用于训练解码器模型(041)的训练系统(100),解码器模型(041)用于对与计算机控制的系统相关的多个交互对象进行时间序列预测,其中相应对象是计算机控制的系统或其环境的一部分,所述系统包括:
- 数据接口(120),用于访问表示多个观测到的场景的训练数据(030);
- 处理器子系统(140),其被配置成通过在多次迭代中进行以下步骤来训练解码器模型:
- 选择所述多个观测到的场景中的观测到的场景,观测到的场景表示多个交互对象的多个观测状态的时间序列,状态包括所述多个交互对象的一个或多个可测量的量的值;
- 获得所述多个对象的一个或多个时不变隐特征的值;
- 通过以下步骤、基于观测到的场景的先前状态来预测观测到的场景的状态:
- 应用解码器模型的图模型以获得针对对象的第一预测贡献,第一预测贡献基于所述对象与多个另外的对象的成对贡献,所述对象与另外的对象的成对贡献是基于所述对象和另外的对象的时不变隐特征的值和一个或多个可测量的量的先前值来确定的;
- 应用解码器模型的函数以获得针对所述对象的第二预测贡献,第二预测贡献基于所述对象本身的一个或多个可测量的量的先前值;
- 对第一和第二预测贡献进行组合以获得所述对象的一个或多个可测量的量的预测值;
- 基于将观测到的场景的状态与其预测进行比较来导出训练信号,并且基于所述训练信号来适配所述图模型和/或所述函数的参数。
14.一种用于分析多个交互对象的观测结果以用于控制和/或监测计算机控制的系统的分析系统(200),其中相应对象是计算机控制的系统或其环境的一部分,所述系统包括:
- 数据接口(220),用于访问表示经训练的编码器模型的模型数据(042),编码器模型是根据权利要求7所述的方法、与解码器模型相结合地训练的;
- 处理器子系统(240),其被配置成:
- 获得观测数据,所述观测数据表示所述多个交互对象的一个或多个观测状态的时间序列,状态包括所述多个交互对象的一个或多个可测量的量的值;
- 使用编码器模型以基于所述一个或多个状态来确定所述多个对象的一个或多个时不变隐特征的值,所述确定包括:基于对象与多个另外的对象的成对贡献来应用编码器模型的经训练的图模型,所述对象与另外的对象的成对贡献是根据被包括在所述一个或多个观测状态中的所述对象和另外的对象的一个或多个可测量的量的值来确定的;
- 基于一个或多个时不变隐特征的值来生成输出数据以用于控制和/或监测计算机控制的系统。
15.一种计算机可读介质(1200),其包括表示以下各项中的一个或多个的暂时或非暂时数据(1210):
- 当由处理器系统执行时使处理器系统执行根据权利要求1和/或权利要求6和/或权利要求10所述的计算机实现方法的指令;
- 表示根据权利要求6所述的计算机实现方法而训练的解码器模型和/或根据权利要求7所述的计算机实现方法而训练的编码器模型的模型数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20181464.7A EP3929814A1 (en) | 2020-06-22 | 2020-06-22 | Making time-series predictions using a trained decoder model |
EP20181464.7 | 2020-06-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113902159A true CN113902159A (zh) | 2022-01-07 |
Family
ID=71120132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110684980.1A Pending CN113902159A (zh) | 2020-06-22 | 2021-06-21 | 使用经训练的解码器模型来进行时间序列预测 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210394784A1 (zh) |
EP (1) | EP3929814A1 (zh) |
CN (1) | CN113902159A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116051118A (zh) * | 2023-03-01 | 2023-05-02 | 支付宝(杭州)信息技术有限公司 | 行为时序模型的分析方法及装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200324794A1 (en) * | 2020-06-25 | 2020-10-15 | Intel Corporation | Technology to apply driving norms for automated vehicle behavior prediction |
US11912301B1 (en) * | 2020-12-10 | 2024-02-27 | Zoox, Inc. | Top-down scenario exposure modeling |
KR102667930B1 (ko) * | 2021-12-30 | 2024-05-23 | 서울대학교산학협력단 | 도로 그래프 뉴럴 네트워크 기반 자율 주행 제어 방법 및 장치 |
CN116523156A (zh) * | 2023-04-04 | 2023-08-01 | 同济大学 | 一种非保守型智能汽车决策规划一体化方法 |
CN118295427B (zh) * | 2024-06-04 | 2024-08-20 | 西北工业大学深圳研究院 | 基于时间序列预测的水下分布式状态观测编队控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10445356B1 (en) * | 2016-06-24 | 2019-10-15 | Pulselight Holdings, Inc. | Method and system for analyzing entities |
-
2020
- 2020-06-22 EP EP20181464.7A patent/EP3929814A1/en active Pending
-
2021
- 2021-06-15 US US17/348,367 patent/US20210394784A1/en active Pending
- 2021-06-21 CN CN202110684980.1A patent/CN113902159A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116051118A (zh) * | 2023-03-01 | 2023-05-02 | 支付宝(杭州)信息技术有限公司 | 行为时序模型的分析方法及装置 |
CN116051118B (zh) * | 2023-03-01 | 2023-06-16 | 支付宝(杭州)信息技术有限公司 | 行为时序模型的分析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3929814A1 (en) | 2021-12-29 |
US20210394784A1 (en) | 2021-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11880771B2 (en) | Continuous convolution and fusion in neural networks | |
CN113902159A (zh) | 使用经训练的解码器模型来进行时间序列预测 | |
Nguyen et al. | Deep learning methods in transportation domain: a review | |
Shaheen et al. | Continual learning for real-world autonomous systems: Algorithms, challenges and frameworks | |
Huegle et al. | Dynamic input for deep reinforcement learning in autonomous driving | |
Mahajan et al. | Automatic robot Manoeuvres detection using computer vision and deep learning techniques: a perspective of internet of robotics things (IoRT) | |
WO2019219969A1 (en) | Graph neural network systems for behavior prediction and reinforcement learning in multple agent environments | |
Shreyas et al. | Self-driving cars: An overview of various autonomous driving systems | |
CN113204988B (zh) | 小样本视点估计 | |
JP7474446B2 (ja) | マルチラベル予測に適したニューラルネットワークの射影層 | |
Rahman et al. | Real-time signal queue length prediction using long short-term memory neural network | |
US12054152B2 (en) | Enhanced object detection | |
CN112241756A (zh) | 具有标准化流的机器可学习系统 | |
Oh et al. | Hcnaf: Hyper-conditioned neural autoregressive flow and its application for probabilistic occupancy map forecasting | |
JP2022164640A (ja) | マルチモーダル自動ラベル付けと能動的学習のためのデータセットとモデル管理のためのシステムと方法 | |
Tang et al. | Trajectory prediction for autonomous driving based on multiscale spatial‐temporal graph | |
Prasetyo et al. | Spatial Based Deep Learning Autonomous Wheel Robot Using CNN | |
JP2020191088A (ja) | 半定値計画問題を解く層を有するニューラルネットワーク | |
EP3783538A1 (en) | Analysing interactions between multiple physical objects | |
De Sirisuriya et al. | Algorithms for path optimizations: a short survey | |
CN114723097A (zh) | 用于为基于注意力的轨迹预测方法确定权重的方法和系统 | |
Youssef et al. | STM-GCN: a spatiotemporal multi-graph convolutional network for pedestrian trajectory prediction | |
Selvaraj et al. | Edge learning of vehicular trajectories at regulated intersections | |
Liu et al. | Dynamic states prediction in autonomous vehicles: Comparison of three different methods | |
Chen et al. | DSTCNN: Deformable spatial-temporal convolutional neural network for pedestrian trajectory prediction |
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 |