JP7849496B2 - Selection-predictive neural network system - Google Patents
Selection-predictive neural network systemInfo
- Publication number
- JP7849496B2 JP7849496B2 JP2024555988A JP2024555988A JP7849496B2 JP 7849496 B2 JP7849496 B2 JP 7849496B2 JP 2024555988 A JP2024555988 A JP 2024555988A JP 2024555988 A JP2024555988 A JP 2024555988A JP 7849496 B2 JP7849496 B2 JP 7849496B2
- Authority
- JP
- Japan
- Prior art keywords
- natural language
- input
- selection
- context
- neural network
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/008—Artificial 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/096—Transfer learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/045—Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Robotics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Input From Keyboards Or The Like (AREA)
Description
本明細書は、ニューラルネットワークを使用してクエリ入力への応答を生成することに関する。 This specification relates to generating responses to query inputs using neural networks.
ニューラルネットワークは、受信された入力向けの出力を予測するために、非線形ユニットの1つまたは複数の層を利用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加え、1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク中の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層が、パラメータのそれぞれのセットの現在の値に従って、受信された入力から出力を生成する。 A neural network is a machine learning model that utilizes one or more layers of nonlinear units to predict an output for a given input. Some neural networks include one or more hidden layers in addition to an output layer. The output of each hidden layer is used as input to the next layer in the network, i.e., the next hidden layer or output layer. Each layer of the network generates an output from the received input according to the current values of its respective set of parameters.
本明細書は、環境に関するクエリへの応答を生成する、1つまたは複数のロケーションにある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムについて記載する。 This specification describes a system implemented as a computer program on one or more computers at one or more locations, which generates responses to queries about the environment.
特に、システムは、環境に関するコンテキスト情報を含むコンテキスト入力と、環境に関するクエリを含むクエリ入力とを受信する。 In particular, the system receives a context input containing contextual information about the environment, and a query input containing queries about the environment.
システムは次いで、コンテキスト入力を使用して、クエリへの応答、たとえば、自然言語応答を生成する。 The system then uses the contextual input to generate a response to the query, such as a natural language response.
システムは、選択ステップ(selection steps)および推測ステップ(inference steps)の実施を繰り返し交互に行うことによって、応答を生成する。その結果、システムは、システムがどのようにその応答に達したかを特徴づける、自然言語の、解釈可能な情報を提供するトレースデータを生成することができる。 The system generates a response by repeatedly alternating between selection steps and inference steps. As a result, the system can generate trace data that provides interpretable information in natural language, characterizing how the system arrived at its response.
本明細書に記載する本主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装され得る。 The specific embodiments of the subject matter described herein may be implemented to achieve one or more of the following advantages:
ニューラルネットワークに基づく手法を使用して、たとえば、エージェントまたは製造工場を制御するための制御決定を行うことの1つの問題は、ある特定の決定がなぜ行われたかを推測するのがしばしば困難なことであり、すなわち、ニューラルネットワークは、タスクを実施することだけを任せられる「ブラックボックス」である。同様に、機械システムにおける障害を診断するとき、応答の背景にある理由を知ることが有用であり得る。 One problem with using neural network-based methods to make control decisions, for example, to control an agent or a manufacturing plant, is that it is often difficult to infer why a particular decision was made; in other words, the neural network is a "black box" that is only entrusted with performing the task. Similarly, when diagnosing failures in mechanical systems, knowing the reasons behind the responses can be useful.
記載するシステムの実装形態は、ユーザに対して表示されるか、もしくはそうでなければ与えられ、または後で見直すために記憶され得る推論トレース(reasoning trace)を提供することによって、この問題に対処することができる。これは、制御決定または障害診断が、機械エージェントまたは製造工場の安全動作に関するとき、特に有用であり得る。記載するシステムの実装形態は、人間が解釈可能な自然言語で、たとえば、因果連鎖の中でクエリから応答につながる、自然言語ステートメントとして提示される論理ステップのシーケンスとして、推論トレースを提供することができる。 The system implementation described can address this problem by providing a reasoning trace that can be displayed to the user, or otherwise provided, or stored for later review. This can be particularly useful when control decisions or fault diagnosis relate to the safe operation of machine agents or manufacturing plants. The system implementation described can provide the reasoning trace as a sequence of logical steps presented as natural language statements, for example, leading from a query to a response in a causal chain, in a human-interpretable natural language.
より具体的には、2つのステップ、すなわち、1)推測の単一ステップを行うのに十分な関連情報のサブセットを選ぶことを伴う選択と、2)選択出力によって推測に対して提供される、限られた情報のみを見るとともに、その情報を、最終回答を生じる途中で証拠の新たな中間部分を推測するのに使用する推測とを繰り返し交互に行うことによって応答を生成することによって、記載する技法は、中間推測出力(および、任意選択で、選択出力)が、最終回答を正当とするような、解釈可能な推論トレースを提供することを保証する。その上、記載する技法によって生み出される推論は因果的(causal)であり、というのは、各ステップは、前のステップから続き、それに依存し、各推測は、クエリ入力または前の推論ステップへの直接アクセスなしで、選択出力によって提供される限られた情報のみに基づいて単独で行われるからである。結果として、高品質な応答が得られ、同時に、応答を生成しながらシステムによって実施された推論の、解釈可能な自然言語「トレース」が与えられる。 More specifically, the technique described generates a response by repeatedly alternating between two steps: 1) selection, which involves choosing a subset of relevant information sufficient to perform a single step of inference; and 2) inference, which involves looking only at the limited information provided for the inference by the selection output and using that information to infer new intermediate pieces of evidence along the way to the final answer. This ensures that the intermediate inference outputs (and, optionally, the selection output) provide an interpretable inference trace that justifies the final answer. Furthermore, the inferences produced by the technique described are causal, because each step follows and depends on the previous step, and each inference is performed independently based solely on the limited information provided by the selection output, without direct access to the query input or previous inference steps. As a result, a high-quality response is obtained, simultaneously providing an interpretable natural language "trace" of the inferences performed by the system while generating the response.
本明細書の主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。本主題の他の特徴、態様および利点は、説明、図面および特許請求の範囲から明らかになるであろう。 Details of one or more embodiments of the subject matter of this specification are described in the accompanying drawings and the following description. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims.
様々な図面における同じ参照番号および名称は、同様の要素を示す。 The same reference number and name in various drawings refer to the same element.
本明細書は、環境についてのコンテキスト情報を使用して、環境に関するクエリへの応答を生成する、1つまたは複数のロケーションにある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムについて記載する。 This specification describes a system implemented as a computer program on one or more computers in one or more locations that uses contextual information about the environment to generate responses to queries about that environment.
図1Aは、例示的な選択推測システム(selection-inference system)100を示す。選択推測システム100は、以下で説明するシステム、構成要素、および技法が実装される、1つまたは複数のロケーションにある1つまたは複数のコンピュータ上でコンピュータプログラムとして実装され得るシステムの例である。 Figure 1A shows an exemplary selection-inference system 100. The selection-inference system 100 is an example of a system that can be implemented as a computer program on one or more computers in one or more locations, where the systems, components, and techniques described below are implemented.
選択推測システム100は、クエリ入力110およびコンテキスト入力120を受信し、コンテキスト入力120を使用して、クエリ入力110への応答150を生成することができる。 The selection inference system 100 receives a query input 110 and a context input 120, and can use the context input 120 to generate a response 150 to the query input 110.
クエリ入力110は、環境に関するクエリを含む。たとえば、各クエリは、自然言語でのテキストフラグメントであってよい。 Query input 110 contains queries related to the environment. For example, each query may be a text fragment in natural language.
コンテキスト入力120は、環境についてのコンテキストを提供するコンテキスト情報を含む。より具体的には、コンテキスト入力120中のコンテキスト情報は、環境に関する規則またはファクトを各々が表す1つまたは複数の自然言語ステートメントを含む。 Context input 120 contains context information that provides context about the environment. More specifically, the context information in context input 120 contains one or more natural language statements, each representing a rule or fact about the environment.
いくつかの実装形態では、環境は現実世界環境であり、システム100は、たとえば、環境の中の現実世界システムを原理的および論理的に制御するために、現実世界環境における推論(reasoning)を容易にする。後で記載するように、いくつかの実装形態では、システム100は、特定の応答150がなぜ生成されたかという因果説明を含むトレースデータも提供することができ、これは、特に安全性が重要な環境において、システムへの信頼を促進し得る。 In some implementations, the environment is a real-world environment, and system 100 facilitates reasoning in the real-world environment, for example, to control the real-world system within the environment in principle and logically. As will be described later, in some implementations, system 100 can also provide trace data containing causal explanations of why a particular response 150 was generated, which can promote trust in the system, especially in environments where safety is critical.
たとえば、いくつかの実装形態では、環境は現実世界環境であり、応答150は、現実世界環境の中で作用する、ロボットまたは自律もしくは半自律車両などの機械エージェントを、タスクを実施するように制御するために使用される。 For example, in some implementations, the environment is a real-world environment, and response 150 is used to control a machine agent, such as a robot or an autonomous or semi-autonomous vehicle, operating within that real-world environment to perform a task.
図1Bは、環境が、機械エージェント102によってナビゲートされる現実世界環境であるときの選択推測システム100の動作の例を示す。 Figure 1B shows an example of the operation of the selection prediction system 100 when the environment is a real-world environment navigated by the machine agent 102.
図1Bの例では、エージェント102は車両として示されている。ただし、より一般的には、機械エージェント102は、エージェントが現実世界環境をナビゲートするときに制御システムによって制御される、どの適切なエージェントであってもよい。 In the example in Figure 1B, agent 102 is shown as a vehicle. However, more generally, the mechanical agent 102 could be any suitable agent controlled by a control system as the agent navigates the real-world environment.
エージェント102は、エージェント102が環境をナビゲートするとき、たとえば、指定された時間間隔で、環境の観測記録(observations)を取り込む1つまたは複数のセンサー104を含む。 Agent 102 includes one or more sensors 104 that capture observations of the environment, for example, at specified time intervals, as Agent 102 navigates the environment.
たとえば、観測記録は、たとえば、エージェントが環境と対話すると観測記録を取り込むための、画像、オブジェクト位置データ、およびセンサーデータ、たとえば画像、距離、もしくは位置センサーから、またはアクチュエータからのセンサーデータのうちの1つまたは複数を含み得る。たとえば、ロボットのケースでは、観測記録は、ロボットの現在の状態を特徴づけるデータ、たとえば、関節位置、関節速度、関節力、トルクまたは加速度、たとえば、重力補償トルクフィードバック、およびロボットがつかむアイテムの大域または相対姿勢のうちの1つまたは複数を含み得る。ロボットまたは他の機械エージェントまたは車両のケースでは、観測記録は、同様に、位置、線形または角速度、力、トルクまたは加速度、およびエージェントの1つまたは複数の部分の大域または相対姿勢のうちの1つまたは複数を含み得る。観測記録は、1、2または3次元で定義されてよく、絶対および/または相対的観測記録であってよい。観測記録は、たとえば、モータ電流もしくは温度信号など、検知された電子信号、および/または、たとえばカメラもしくはLIDARセンサーからの画像もしくはビデオデータ、たとえば、エージェントのセンサーからのデータもしくは環境中でエージェントとは別個に置かれたセンサーからのデータも含み得る。 For example, observational records may include, for instance, images, object position data, and sensor data, such as from image, distance, or position sensors, or from actuators, for capturing observational records as an agent interacts with its environment. For example, in the case of a robot, observational records may include, for instance, data characterizing the robot's current state, such as joint position, joint velocity, joint force, torque, or acceleration, such as gravity-compensated torque feedback, and one or more of the global or relative orientation of an item the robot grasps. In the case of a robot or other mechanical agent or vehicle, observational records may similarly include, one or more of position, linear or angular velocity, force, torque, or acceleration, and the global or relative orientation of one or more parts of the agent. Observational records may be defined in one, two, or three dimensions, and may be absolute and/or relative observational records. Observation records may include, for example, detected electronic signals such as motor current or temperature signals, and/or image or video data from, for example, a camera or LiDAR sensor, or data from, for example, the agent's sensors or data from sensors placed separately from the agent in the environment.
エージェント102は、センサー104によって生成された観測記録を使用してエージェント102を制御するための制御信号を生成する制御システム106にも関連付けられる。特に、制御システム106は、たとえば、指定されたタスクを実施することの一部として、たとえば、特定のロケーションにナビゲートすること、特定のオブジェクトを識別すること、特定のオブジェクトを所与のロケーションに動かすこと、特定のオブジェクトをどうにかして操作することなど、エージェント102が実施するべき適切なアクションを最初に決定すること、および次いで、エージェント102にアクションを実施させる制御信号を生成することによって、環境を通る計画された軌道にエージェント102を従わせる制御信号を生成する。 Agent 102 is also associated with a control system 106 that generates control signals to control Agent 102 using observation records generated by sensor 104. Specifically, the control system 106 first determines the appropriate actions that Agent 102 should take as part of performing a specified task, such as navigating to a specific location, identifying a specific object, moving a specific object to a given location, or somehow manipulating a specific object. Then, it generates control signals to cause Agent 102 to perform these actions, thereby guiding Agent 102 through a planned trajectory through the environment.
制御システム106は、エージェント102に搭載されて展開することもでき、エージェント102から離れて展開することもでき、データ通信ネットワークを介してエージェント102へ制御信号を送信することができる。 The control system 106 can be deployed mounted on agent 102, or deployed separately from agent 102, and can transmit control signals to agent 102 via a data communication network.
制御信号は、エージェントを制御するための制御入力であってよい。たとえば、エージェントがロボットであるとき、制御信号は、たとえば、ロボットの関節のためのトルクまたは上位レベル制御コマンドであってよい。別の例として、エージェントが自律または半自律的陸上、空中、海洋車両であるとき、制御信号は、車両のナビゲーション、たとえばステアリング、ならびに移動、たとえば、車両の制動および/または加速度を制御するためのアクションを含み得る。たとえば、制御信号は、たとえば、制御面もしくは他の制御要素、たとえば、車両のステアリング制御要素へのトルク、または上位レベル制御コマンドであってよい。 The control signal may be a control input for controlling the agent. For example, when the agent is a robot, the control signal may be, for example, torque for the robot's joints or a higher-level control command. As another example, when the agent is an autonomous or semi-autonomous land, air, or sea vehicle, the control signal may include actions to control the vehicle's navigation, e.g., steering, and movement, e.g., braking and/or acceleration. For example, the control signal may be, for example, torque to a control surface or other control element, e.g., the vehicle's steering control element, or a higher-level control command.
言い換えると、制御信号は、たとえば、ロボットの1つもしくは複数の関節または別の機械エージェントの部品についての位置、速度、または力/トルク/加速度データを含み得る。 In other words, control signals may include, for example, position, velocity, or force/torque/acceleration data for one or more joints of a robot or a part of another mechanical agent.
これらの例では、制御システム106のように、システム100は、エージェント102に搭載されて展開することもでき、エージェント102から離れて展開することもできる。 In these examples, as with the control system 106, system 100 can be deployed mounted on agent 102, or it can be deployed separately from agent 102.
これらの実装形態では、システム100は、制御システム106の上に追加制御層を提供するのに使用され、システム100または別の構成要素は、制御システムによって受信された情報に基づいて、クエリ入力110を決定することができる。 In these implementations, system 100 is used to provide an additional control layer on top of control system 106, and system 100 or another component can determine the query input 110 based on information received by the control system.
つまり、クエリ入力110は、エージェント制御システム106から制御信号を受信することによって決定されてよく、次いで、たとえば、環境の中のエージェント102に関する1つまたは複数の自然言語クエリを、制御信号から決定する。 In other words, the query input 110 may be determined by receiving control signals from the agent control system 106, and then, for example, one or more natural language queries concerning agent 102 in the environment may be determined from the control signals.
いくつかの実装形態では、エージェント制御システム106は、たとえば、エージェント102のナビゲーションを自律的または半自律的に制御する自律または半自律制御システムである。 In some implementations, the agent control system 106 is, for example, an autonomous or semi-autonomous control system that autonomously or semi-autonomously controls the navigation of agent 102.
いくつかの他の実装形態では、エージェント制御システム106は、制御コマンドを、たとえば、人間オペレータから受信するためのインターフェースを有する。 In some other implementations, the agent control system 106 has an interface for receiving control commands, for example, from a human operator.
これらのアプリケーションの両方において、記載するシステム100は、追加制御層を、たとえば、安全性目的で提供するのに使用されてよい。たとえば、記載するシステム100は、危険であるか、または1つもしくは複数の規則に反するかもしれないやり方で、機械エージェント102の制御を阻止するのに使用される場合がある。 In both of these applications, the described system 100 may be used to provide an additional control layer, for example, for safety purposes. For instance, the described system 100 may be used to prevent control of the machine agent 102 in a way that is dangerous or violates one or more rules.
エージェントの制御に関する1つまたは複数の規則が、明示的に、たとえば、コンテキスト入力の一部として入れられてもよく、暗黙的であっても、たとえば、システム100によって使用されるニューラルネットワークをトレーニングするとき、特に、これらの各々が後で記載するように言語モデルを含むときに自然言語ステートメントとして含められてもよい。一例として、そのような規則は、交通規則など、車両の許可される移動に関する規則を含み得る。別の例として、そのような規則は、機械エージェントの安全な挙動を保証するため、たとえば、機械エージェントに対する、または人間に対する損害を阻止するために行われるべき決定に関する規則を含み得る。 One or more rules concerning the control of the agent may be explicitly included, for example, as part of the context input, or implicitly included, for example, as natural language statements when training the neural network used by system 100, particularly when each of these includes a language model, as will be described later. As an example, such rules may include rules concerning the permitted movement of a vehicle, such as traffic rules. As another example, such rules may include rules concerning decisions that should be made to ensure the safe behavior of the machine agent, for example, to prevent harm to the machine agent or to a human.
したがって、各クエリ入力110は、エージェントによって実施されるべきアクション、たとえば、制御システム106によって検討されているアクションに関し得る。 Therefore, each query input 110 may relate to an action to be performed by the agent, such as an action being considered by the control system 106.
たとえば、クエリ入力110は、機械エージェント102によって実施されるべきアクションを、たとえば、「左折するのか?」または「エージェントが左折するのは安全か?」などの質問の形で定義することができる。 For example, the query input 110 can define the action to be performed by the machine agent 102 in the form of a question, such as "Should I turn left?" or "Is it safe for the agent to turn left?"
別の例として、クエリ入力110は、どのようなアクションが機械エージェントによって実施されるべきか、たとえば、「エージェントはどちらに曲がるべきか?」と尋ねることができる。 As another example, query input 110 could ask what action should be performed by the machine agent, for example, "Which way should the agent turn?"
ロボットの場合、クエリ入力110は、タスクを実施するために実施されるべき一連のサブタスクのうちの、あるサブタスクに関してよく、たとえば、「次に何をするか?」または「オブジェクトXを取り上げるか?」である。サブタスクは、それら自体が、ロボットの可動部が、たとえば、グリッパを開くための一連の基本要素アクションを含み得る。 In the case of a robot, the query input 110 often relates to a specific subtask among a set of subtasks that should be performed to carry out a task, for example, "What to do next?" or "Should I pick up object X?". The subtasks themselves may include a series of basic elemental actions, such as a robot's moving parts opening a gripper.
概して、クエリ入力110は、1つまたは複数の自然言語クエリを含む。より具体的には、クエリ入力110は、システムからの応答が提供するべき情報を定義する自然言語記述を含み得る。つまり、クエリ入力110は、応答に対して何が求められるかを、明示的または暗黙的に決定する。 Generally, the query input 110 contains one or more natural language queries. More specifically, the query input 110 may contain a natural language description that defines the information that the system should provide in response. In other words, the query input 110 explicitly or implicitly determines what is required in the response.
クエリ入力110への応答150は、現実世界環境の中で機械エージェント102を制御するのに使用される。より具体的には、応答150は、機械エージェント102によって実施されるべきアクションを制御するのに使用される。 The response 150 to the query input 110 is used to control the machine agent 102 in the real-world environment. More specifically, the response 150 is used to control the actions that the machine agent 102 should perform.
一例として、応答150は、そうしなければ実施されることになるアクションを阻止する場合があり、すなわち、応答は、クエリ入力によって定義されるアクションが実施されるかどうかを判定し得る。 For example, response 150 may prevent an action that would otherwise be performed; that is, the response may determine whether the action defined by the query input will be performed.
別の例として、たとえば、アクションが決定されることをクエリ入力が暗黙的または明示的に要求する場合、応答150は、実施されるべきアクションを定義してよい。 As another example, if the query input implicitly or explicitly requests that an action be determined, response 150 may define the action to be performed.
これらの実装形態では、コンテキスト入力120を取得することは、現実世界環境の1つまたは複数の観測記録を取得することを含んでよく、この観測記録は、環境がエージェントを含むので、エージェントの1つまたは複数の観測記録を含む可能性がある。観測記録は、エージェントのセンサー104であってよいが、そうである必要はない1つまたは複数のセンサーから取得され得る。上述したように、観測記録は、静止もしくは動画像を含んでよく、画像は、ここで使用される限り、LIDAR点群、および/または環境もしくはエージェントの状態を検知する1つもしくは複数のセンサーからの他のセンサーデータを含む。 In these implementations, obtaining the context input 120 may involve obtaining one or more observational records of the real-world environment, which may include one or more observational records of the agent, since the environment includes the agent. The observational records may be obtained from one or more sensors, but are not required to be the agent's sensor 104. As described above, the observational records may include still or moving images, which, as used herein, include LIDAR point clouds and/or other sensor data from one or more sensors detecting the state of the environment or the agent.
1つまたは複数の観測記録は、たとえば、第1の機械学習モデルによって処理され、1つまたは複数の観測記録の自然言語表現を生成し、すなわち、コンテキスト入力120に含まれる、観測記録を記述する自然言語テキストを生成する。 One or more observation records are processed, for example, by a first machine learning model to generate natural language representations of the one or more observation records, i.e., natural language text describing the observation records, which is included in the context input 120.
これを達成するのに使用され得る多くの異なるタイプの機械学習モデルがある。たとえば、いわゆる視覚言語モデルは一般に、たとえば、画像またはビデオキャプション化タスクを実施するために、自然言語を使用して画像またはビデオを記述するように構成される。より一般的には、そのようなモデルは、たとえば、画像またはビデオの中のオブジェクトを検出または分類するために、テキスト生成問題としてタスクを定式化することによって、多くの異なるタイプの画像処理タスクを実施することができる。それに応じて、他の機械学習モデルが、たとえば、エージェントもしくは環境またはそれらの一部をたとえば記述する自然言語ステートメントとして物理的位置または力を表すように、他のタイプのセンサーからのデータを記述する自然言語テキストを生成するようにトレーニングされ得る。1つまたは複数の観測記録の自然言語表現は、コンテキスト入力120の中の自然言語ステートメントのうちの1つまたは複数を提供するのに使用される。 There are many different types of machine learning models that can be used to achieve this. For example, so-called visual-language models are generally configured to describe images or videos using natural language, for example, to perform image or video captioning tasks. More generally, such models can perform many different types of image processing tasks by formulating the task as a text generation problem, for example, to detect or classify objects in an image or video. Accordingly, other machine learning models can be trained to generate natural language text describing data from other types of sensors, for example, to represent physical location or force as natural language statements describing an agent or the environment or a part thereof. One or more natural language representations of observation records are used to provide one or more of the natural language statements in the context input 120.
さらに、コンテキスト入力120は、センサー104によって生成された観測記録から直接生成されるわけではない、環境におけるエージェント102の現在のロケーションに関する1つまたは複数の規則を含み得る。 Furthermore, the context input 120 may include one or more rules regarding the current location of agent 102 in the environment, which are not directly generated from the observation records produced by sensor 104.
たとえば、コンテキスト入力120は、手動設計されるか、または知識グラフもしくはインターネットから取得された、トレーニングされた機械学習モデル、運転規則マニュアルの重みから投入された共通知識の規則を有することもできる。そのような規則の例は、「車の電気系統は、濡れた場合、短絡する」、「車は、何かの方向に走る場合、そこに行き着く」、「車の電気系統が壊れた場合、車は、運転するのに安全ではない」などを含む。そのような規則の他の例は、「現在のロケーションでの速さ制限は30mphである」、「右折は、この赤信号で停止した後に認められる」、「二重黄線を超えて曲がるのは禁止されている」などを含む。 For example, context input 120 could have rules of common knowledge, either manually designed or derived from a trained machine learning model, weights from a driving rules manual, or obtained from a knowledge graph or the internet. Examples of such rules include: "A car's electrical system will short-circuit if wet," "A car will end up there if it is driving in a certain direction," and "If a car's electrical system is broken, it is not safe to drive." Other examples of such rules include: "The speed limit at the current location is 30 mph," "Right turns are permitted after stopping at this red light," and "Turning across a double yellow line is prohibited."
したがって、これらの例では、システム100は、制御システム106によって検討されている、起こり得るアクションの成り行きを評価するのに使用することができ、その後、アクションは、エージェント102向けの制御信号として送信される。 Therefore, in these examples, system 100 can be used to evaluate the possible outcomes of actions being considered by control system 106, and the actions are then sent as control signals to agent 102.
いくつかの他の実装形態では、環境は、製造工場、たとえば、化学、バイオ、もしくは機械製品、または食品を製造するための製造工場を含む現実世界環境である。本明細書で使用する限り、製品を「製造する」ことは、開始材料を精製して製品を作成すること、または、たとえば、汚染物質を取り除くように開始材料を加工して、洗浄または再生製品を生成することも含む。製造工場は、化学もしくは生物学的物質用の容器、または固体もしくは他の材料を処理するための機械など、複数の製造ユニットを備え得る。製造ユニットは、製品の中間バージョンまたは構成要素が、製品の製造中に、たとえばパイプまたは機械的搬送を介して、製造ユニットの間で移動可能であるように構成される。実装形態では、システムは、製造ユニットのうちの1つもしくは複数を制御するために、または製造ユニットの間での、製品の中間バージョンもしくは構成要素の移動を制御するために使用される。 In some other implementations, the environment is a real-world environment including a manufacturing plant, for example, a manufacturing plant for producing chemical, bio, or mechanical products, or food. To the extent used herein, “manufacturing” a product includes refining starting materials to create a product, or processing starting materials to remove contaminants, for example, to produce a cleaned or regenerated product. A manufacturing plant may comprise multiple manufacturing units, such as containers for chemical or biological substances, or machinery for processing solid or other materials. The manufacturing units are configured such that intermediate versions or components of a product are movable between manufacturing units during the manufacturing process, for example, via pipes or mechanical conveyances. In implementations, a system is used to control one or more of the manufacturing units, or to control the movement of intermediate versions or components of a product between manufacturing units.
したがって、これらの実装形態では、コンテキスト入力120を取得することは次いで、1つまたは複数のセンサーから、製造ユニットの、または移動の、1つまたは複数の観測記録を取得することを含み得る。センサーは、製造ユニットまたは移動、たとえば、機械的移動もしくは力、圧力、温度、電流、電圧、周波数、インピーダンスなどの電気的条件、1つまたは複数の材料の量、レベル、流量/移動レートまたは流れ/移動経路、物理的もしくは化学的条件、たとえば物理的状態、形状もしくは構成またはpHなどの化学的状態、ユニットの機械構成など、ユニットの構成、またはバルブ構成を検知するように構成されたセンサー、製造ユニットの、または移動の画像またはビデオ観測記録を取り込むための画像またはビデオセンサー、あるいはどの他の適切なタイプのセンサーも監視する、どのタイプのセンサーを含んでもよい。実装形態では、1つまたは複数の観測記録は、たとえば、前述したように、1つまたは複数の観測記録の自然言語表現を生成するように処理される。1つまたは複数の観測記録の自然言語表現は、コンテキスト情報の自然言語ステートメントのうちの1つまたは複数を提供するのに使用される。 Therefore, in these implementations, obtaining the context input 120 may then involve obtaining one or more observational records of the manufacturing unit or movement from one or more sensors. The sensors may include any type of sensor configured to detect the manufacturing unit or movement, such as mechanical movement or electrical conditions such as force, pressure, temperature, current, voltage, frequency, impedance, quantity, level, flow rate/transfer rate or flow/transfer path of one or more materials, physical or chemical conditions such as physical state, shape or configuration or chemical state such as pH, the configuration of the unit, such as the mechanical configuration of the unit, or valve configuration; an image or video sensor for capturing image or video observational records of the manufacturing unit or movement; or any other suitable type of sensor. In the implementation, one or more observational records are processed to generate natural language representations of the one or more observational records, for example, as described above. The natural language representations of the one or more observational records are used to provide one or more natural language statements of the contextual information.
クエリ入力は、製造ユニットのうちの1つもしくは複数の、動作を制御する、または移動を制御するアクションに関し得る。クエリ入力への応答は、製造ユニットのうちの1つもしくは複数の、動作を制御するのに、または移動を制御するのに使用される。たとえば、クエリ入力への応答は、エネルギーもしくは他のリソース使用を制御する、たとえば、最小限にするのに、または製品の所望の品質もしくは特性を取得するように製造を制御するのに使用され得る。たとえば、アクションは、工場の機器の項目を制御するアクションあるいは製造ユニットまたは製品もしくは中間物もしくはそれらの構成要素の移動に影響する設定を、たとえば、機器または製造プロセスの項目を調節するかまたはオン/オフするように変更するアクションを含み得る。 A query input may relate to an action that controls the operation or movement of one or more manufacturing units. A response to a query input is used to control the operation or movement of one or more manufacturing units. For example, a response to a query input may be used to control energy or other resource usage, for example, to minimize it, or to control manufacturing to achieve a desired quality or characteristic of the product. For example, an action may include an action that controls an item of equipment in the plant, or an action that changes a setting affecting the movement of a manufacturing unit, product, intermediate, or their components, for example, by adjusting or turning on/off an item of equipment or a manufacturing process.
いくつかの実装形態では、製造工場は、製造ユニットを制御するための、または移動を制御するための工場制御システムを有する。クエリ入力は、工場制御システムから制御信号を受信すること、および制御信号からクエリ入力用の1つまたは複数の自然言語クエリを生成することによって生成され得る。前述したのと同様に、工場制御システムは、自律、半自律、または人間制御型であってよい。 In some implementations, a manufacturing plant has a factory control system for controlling manufacturing units or for controlling their movement. Query inputs can be generated by receiving control signals from the factory control system and generating one or more natural language queries for query input from the control signals. As previously mentioned, the factory control system may be autonomous, semi-autonomous, or human-controlled.
前述したのと同様に、システムは、たとえば、エネルギーもしくは他のリソース割振りを制御もしくは制限するための、または製品の目標品質もしくは特性を保証するための、または工場の、たとえば、製造ユニットの操業を、安全な範囲内で抑制するための規則を実装してよい。 As previously mentioned, the system may implement rules, for example, to control or limit the allocation of energy or other resources, or to ensure the target quality or characteristics of a product, or to restrain the operation of a factory, for example, a manufacturing unit, within safe limits.
いくつかの実装形態では、環境は現実世界環境であり、方法は現実世界環境において動作する機械システムにおける障害を診断するために使用される。次いで、コンテキスト入力を取得することは、1つまたは複数のセンサーから、たとえば、前述したように、機械システムの1つまたは複数の観測記録(ここでは、機械システムの動作の観測記録を含む)を取得することを含み得る。これらは、たとえば、前述したように、コンテキスト情報の自然言語ステートメントのうちの1つまたは複数を提供するのに使用される1つまたは複数の観測記録の自然言語表現を生成するように処理される。これらの実装形態では、クエリ入力は、機械システムの動作に関し、クエリ入力への応答は、機械システムにおける障害を識別するのに使用される。たとえば、クエリ入力は、「システムは正常に動いているか?」もしくは「システムのどこが悪いのか?」などの一般的クエリまたは「構成要素Xには障害があるのか?」などの具体的クエリを含み得る。 In some implementations, the environment is a real-world environment, and the method is used to diagnose failures in a machine system operating in that real-world environment. Then, obtaining context input may involve obtaining one or more observational records of the machine system (here, including observational records of the machine system's operation) from one or more sensors, for example, as described above. These are processed to generate natural language representations of one or more observational records used to provide one or more natural language statements of contextual information, for example, as described above. In these implementations, the query input concerns the operation of the machine system, and the response to the query input is used to identify failures in the machine system. For example, the query input may include general queries such as "Is the system working correctly?" or "What's wrong with the system?" or specific queries such as "Is component X faulty?".
別の例として、環境は教育環境であってよく、たとえば、システムは、ユーザが1つまたは複数の対応するスキルを学習または練習するのを支援する教育ソフトウェアプログラムの一部として展開することができる。これらの例では、コンテキスト入力120は、現実世界または想像上の環境におけるシナリオまたはシーンを記述または参照する自然言語ステートメントを含んでよく、クエリ入力110は、論理的推論を求める、シナリオまたはシーンについての質問であってよい。以下で説明するように、応答150を生成することの一部としてシステム100によって生成されたトレースデータは、応答150を生成するのに要する論理的推論についての洞察をユーザに提供するのに使用することができる。つまり、システム100によって生成されたトレースデータは、ユーザが1つまたは複数のスキルを学習するのを支援するために、質問および質問に対応する応答の説明を生じるのに使用することができる。 As another example, the environment may be an educational environment, and for instance, the system may be deployed as part of an educational software program that helps a user learn or practice one or more corresponding skills. In these examples, the context input 120 may contain natural language statements describing or referencing a scenario or scene in a real-world or imaginary environment, and the query input 110 may be a question about the scenario or scene that prompts logical reasoning. As described below, the trace data generated by the system 100 as part of generating the response 150 can be used to provide the user with insights into the logical reasoning required to generate the response 150. In other words, the trace data generated by the system 100 can be used to generate explanations of questions and the corresponding responses to help a user learn one or more skills.
具体例として、教育ソフトウェアプログラムは、質問および付随するコンテキスト情報を生成する(または、このデータを外部ソースから受信する)ことができる。そのような質問の例は、たとえば、「なぜ宇宙飛行士には酸素バックパックが必要なのか?」であり得る。システム100(基本的ファクトのコンテキストが与えられる)は、ユーザが概念を理解するのを支援するために、以下のような推論トレースを生じればよい。すなわち、「(1)人間は、生きていくために酸素を必要とする。宇宙には酸素がない。したがって、人間は、宇宙で生きていくために、酸素の供給を必要とする。(2)酸素は、酸素バックパックにより宇宙飛行士に供給することができ、人間は、宇宙で生きていくために酸素の供給を必要とする。したがって、人間は、宇宙飛行士が宇宙で生きていくのを助けるために酸素バックパックを使えばよい」である。 As a concrete example, an educational software program can generate questions and accompanying contextual information (or receive this data from an external source). An example of such a question might be, "Why do astronauts need oxygen backpacks?" System 100 (given the context of basic facts) should generate a reasoning trace like the following to help the user understand the concept: "(1) Humans need oxygen to survive. There is no oxygen in space. Therefore, humans need an oxygen supply to survive in space. (2) Oxygen can be supplied to astronauts by oxygen backpacks, and humans need an oxygen supply to survive in space. Therefore, humans should use oxygen backpacks to help astronauts survive in space."
別の例として、環境は情報検索環境であってよく、たとえば、システムは、文書のコーパス、たとえば、インターネットまたは別の電子文書コーパスの中で情報をユーザが検索することを可能にする、検索エンジンまたは他のソフトウェアの一部として展開することができる。これらの例では、クエリ入力110は、どの適切な自然言語クエリであってもよく、コンテキスト入力120は、文書のコーパスからの、すなわち、従来の情報検索技法を使用してコーパスを検索することによって識別される、関連ステートメントを含み得る。システム100は次いで、応答150を生成するのに、すなわち、システム100によって生成された応答150の正確さへのユーザの信頼を高めるのに求められる論理的推論のトレースをユーザが閲覧することができるように、クエリ入力110への応答150を生成するのに、コンテキスト入力120を使用することができる。 As another example, the environment may be an information retrieval environment, and for example, the system may be deployed as part of a search engine or other software that allows a user to retrieve information from a corpus of documents, for example, the Internet or another electronic document corpus. In these examples, the query input 110 may be any appropriate natural language query, and the context input 120 may contain relevant statements identified from the corpus of documents, i.e., by searching the corpus using conventional information retrieval techniques. The system 100 can then use the context input 120 to generate the response 150 to the query input 110, i.e., to generate the response 150 to the query input 110 so that the user can view a trace of the logical reasoning required to increase the user's confidence in the accuracy of the response 150 generated by the system 100.
図1Aの説明に戻ると、応答150を生成するために、システム100は、選択ニューラルネットワーク130および推測ニューラルネットワーク140を使用する。 Returning to the explanation in Figure 1A, to generate response 150, system 100 uses selection neural network 130 and inference neural network 140.
より具体的には、システム100は、複数の更新反復を実施することによって応答を生成する。 More specifically, system 100 generates a response by performing multiple update iterations.
各更新反復において、システム100は、コンテキスト入力120の中の自然言語ステートメントの適切なサブセットを選択するのに選択ニューラルネットワーク130を使用することによって、選択ステップを実施する。 In each update iteration, the system 100 performs a selection step by using the selection neural network 130 to select an appropriate subset of natural language statements from the context input 120.
システム100は次いで、選択された適切なサブセットおよび推測ニューラルネットワーク140を使用して、新たなファクト、すなわち、「推測される」ファクトを表す新たな自然言語ステートメントを生成するための推測ステップを実施する。ファクトは、「推測される」と呼ばれるが、それは、ファクトは、コンテキスト入力120には存在せず、システム100によってコンテキスト入力120から決定されるからである。 System 100 then performs an inference step to generate a new natural language statement representing a new fact, i.e., a “predicted” fact, using a selected appropriate subset and the inference neural network 140. The fact is called “predicted” because it does not exist in the context input 120 and is determined by System 100 from the context input 120.
最後の更新反復以外の各更新反復において、システム100は、新たなファクトを使用して、すなわち、新たなファクトを表す自然言語ステートメントをコンテキスト入力120に追加することによって、コンテキスト入力120を更新する。 In each update iteration other than the last update iteration, system 100 updates the context input 120 using the new fact, that is, by adding a natural language statement representing the new fact to the context input 120.
最後の更新反復において、システム100は、新たなファクトを、応答150を生成するのに使用する。たとえば、システム100は、応答150として、最後の更新反復において生成された新たな自然言語ステートメントから導出される自然言語出力を提供することができる。 In the final update iteration, system 100 uses the new facts to generate response 150. For example, system 100 may provide, as response 150, a natural language output derived from the new natural language statement generated in the final update iteration.
したがって、システム100は、コンテキスト入力120に新たなファクトを反復して追加し、次いで、最後の更新反復において生成された新たなファクトを、クエリ入力110への応答150を生成するのに使用する。 Therefore, system 100 iteratively adds new facts to the context input 120, and then uses the new facts generated in the last update iteration to generate the response 150 to the query input 110.
より具体的には、選択ニューラルネットワーク130は、(現在の更新反復時点での)コンテキスト入力120と、クエリ入力110とを含む選択入力を処理して、コンテキスト入力120からの自然言語ステートメントのうちの1つまたは複数を含む選択出力を生成するように構成されているニューラルネットワークである。コンテキスト入力120は各反復において更新されるので、選択出力は、異なる自然言語ステートメントを異なる更新反復において識別することができる。 More specifically, the selection neural network 130 is a neural network configured to process a selection input, which includes the context input 120 (at the current update iteration) and the query input 110, to generate a selection output containing one or more natural language statements from the context input 120. Since the context input 120 is updated in each iteration, the selection output can identify different natural language statements in different update iterations.
推測ニューラルネットワーク140は、選択出力を含む推測入力を処理して、更新反復についての新たなファクトを表す自然言語ステートメントを含む推測出力を生成するように構成されているニューラルネットワークである。選択出力は、異なる更新反復に対して異なり得るので、推測出力も、更新反復にわたって異なり得る。 The inference neural network 140 is a neural network configured to process an inference input, including a selected output, and generate an inference output containing a natural language statement representing new facts about the update iteration. Since the selected output can differ for different update iterations, the inference output can also differ across update iterations.
いくつかの実装形態では、推測入力は、コンテキスト入力120もクエリ入力110も含まない。つまり、推測ニューラルネットワーク140は、選択出力の中に含まれるコンテキスト入力120の適切なサブセットへのアクセスを有するだけであり、コンテキスト入力120またはクエリ入力110の中の残りの自然言語ステートメントへのアクセスは有しない。 In some implementations, the inference input does not include either the context input 120 or the query input 110. That is, the inference neural network 140 only has access to a suitable subset of the context input 120 contained within the selected output, and does not have access to the remaining natural language statements in either the context input 120 or the query input 110.
したがって、各更新反復において、システム100は、(更新反復時点での)コンテキスト入力120と、クエリ入力110とを含む選択入力を、選択ニューラルネットワーク130を使って処理して、コンテキスト入力120からの自然言語ステートメントのうちの1つまたは複数を含む、更新反復のための選択出力を生成する。これらの自然言語ステートメントは、システム100によって取得された元のコンテキスト入力に含まれていたステートメント、先行する更新反復においてコンテキスト入力に追加されたステートメント、または両方を含み得る。 Therefore, in each update iteration, the system 100 processes the selection input, which includes the context input 120 (at the time of the update iteration) and the query input 110, using the selection neural network 130 to generate a selection output for the update iteration that includes one or more natural language statements from the context input 120. These natural language statements may include statements that were included in the original context input obtained by the system 100, statements that were added to the context input in a previous update iteration, or both.
いくつかの実装形態では、選択ニューラルネットワーク130は、コンテキスト入力120から、自然言語ステートメントのうちの1つまたは複数を含むテキストシーケンスを生成する、すなわち、回帰推定するように構成される。これらの実装形態のいくつかでは、システム100は、ニューラルネットワーク130によって生成されるトークンが、(i)コンテキスト入力120における何らかの自然言語ステートメントの有効な継続、(ii)コンテキスト入力120における別の自然言語ステートメントの開始、または、任意選択で、(iii)たとえば、自然言語ステートメントの間のセパレータもしくは回帰推定されたテキストシーケンスの終わりを記す1つもしくは複数の所定のトークンのいずれかであることを保証するために、制約付きサンプリングを利用することができる。 In some implementations, the selection neural network 130 is configured to generate a text sequence containing one or more natural language statements from the context input 120, i.e., to perform regression estimation. In some of these implementations, the system 100 may utilize constrained sampling to ensure that the tokens generated by the neural network 130 are either (i) a valid continuation of some natural language statement in the context input 120, (ii) the start of another natural language statement in the context input 120, or, optionally, (iii) one or more predetermined tokens that indicate, for example, a separator between natural language statements or the end of a regression-estimated text sequence.
いくつかの他の実装形態では、ニューラルネットワーク130は、コンテキスト入力120中の自然言語ステートメントへのプレースホルダー参照を含むテキストシーケンスを生成するように構成することができ、たとえば、「1を送った。4を送ったことを知っている」という文をたとえば生成し、ここで、「1を送った」は、コンテキスト入力120中の第1の文への参照であり、「4を送った」は、コンテキスト入力120中の第4文への参照である。システムは次いで、選択出力を生成するために、実際の文の中で代用することができる。 In some other implementations, the neural network 130 can be configured to generate a text sequence containing placeholder references to natural language statements in the context input 120, for example, generating the sentence "I sent 1. I know I sent 4," where "I sent 1" is a reference to the first sentence in the context input 120, and "I sent 4" is a reference to the fourth sentence in the context input 120. The system can then substitute these into an actual sentence to generate a selected output.
さらに他の実装形態では、各選択ステップは複数の内部ステップを含む。各内部ステップにおいて、選択ニューラルネットワーク130は、選択ステップのための選択出力に新たなステートメントを追加するのに使用される。これについては、図3を参照して以下でより詳しく説明する。 Furthermore, in other implementations, each selection step includes multiple internal steps. In each internal step, the selection neural network 130 is used to add a new statement to the selection output for the selection step. This is explained in more detail below with reference to Figure 3.
システム100は次いで、推測ニューラルネットワーク140を使って、更新反復のための選択出力を含む推測入力を処理して、更新反復についての新たなファクトを表す自然言語ステートメントを含む推測出力を生成する。上述したように、更新反復が最後の更新反復でない場合、システム100は、更新反復のための推測出力に自然言語ステートメントを含めるように、コンテキスト入力120を更新する。 System 100 then uses the inference neural network 140 to process the inference input, which includes the selected output for the update iteration, and generates an inference output that includes a natural language statement representing the new facts about the update iteration. As described above, if the update iteration is not the last update iteration, System 100 updates the context input 120 to include a natural language statement in the inference output for the update iteration.
システム100が応答150を生成するやり方のおかげで、システム100は、応答150を生成するために、システム100によって実施された因果的推論の、解釈可能な自然言語要約を提供するトレースデータ160を、出力として提供することもできる。特に、システム100は、2つのステップ、すなわち、1)単一ステップの推測を行うのに十分な関連情報のサブセットを選ぶことを伴う選択と、2)選択出力によって推測に提供される限られた情報のみを見るとともに、その情報を、最終回答を生じる途中で証拠の新たな中間部分を推測するのに使用する推測とを交互に行うので、システムは、中間推測出力(および、任意選択で、選択出力)が、最終回答を正当にするために、解釈可能な推論トレースを提供することを保証する。その上、システム100によって生じた推論は因果的であり、というのは、各ステップは、前のステップから続き、それに依存し、各推測は、クエリ入力または前の推論ステップへの直接アクセスなしで、選択出力によって提供される限られた情報のみに基づいて単独で行われるからである。 Thanks to the way System 100 generates Response 150, System 100 can also provide trace data 160 as output, which provides an interpretable natural language summary of the causal inference performed by System 100 to generate Response 150. In particular, System 100 alternates between two steps: 1) selection, which involves choosing a subset of relevant information sufficient to make a single-step inference; and 2) inference, which looks only at the limited information provided to the inference by the selection output and uses that information to infer new intermediate pieces of evidence on the way to the final answer. Therefore, the system ensures that the intermediate inference outputs (and, optionally, the selection output) provide an interpretable inference trace to legitimize the final answer. Furthermore, the inferences produced by System 100 are causal, since each step follows and depends on the previous step, and each inference is made independently based only on the limited information provided by the selection output, without the query input or direct access to the previous inference step.
いくつかの実装形態では、システム100は、応答150とともにトレースデータ160を、たとえば、ユーザに提供する。いくつかの他の実装形態では、システム100は、トレースデータ160を、応答150を識別するデータに関連付けて記憶する。 In some implementations, system 100 provides trace data 160 along with response 150, for example, to the user. In some other implementations, system 100 stores trace data 160 associated with data that identifies response 150.
たとえば、トレースデータ160には、特定の制御信号が機械エージェントへ送信される結果になった、システム100によって実施された「推論(reasoning)」を見ることを要求するユーザによって、後でアクセスすることができる。 For example, trace data 160 can later be accessed by a user requesting to see the "reasoning" performed by system 100, which resulted in a specific control signal being sent to the machine agent.
簡略化した例として、エージェントが通っている車道の付近に歩行者がいることをコンテキスト入力120が示し、クエリ入力110が「どのようなアクションをとるべきか」、たとえば、「運転を続ける」または「運転をやめる」のいずれかであるとき、トレースデータは、「道路を渡っている人がいる」、および「誰かが道路を渡っている場合、運転するのは安全でないことを知っている」のような選択出力を含んでよく、推測は、「したがって、運転するのは安全でない」となり得る。 As a simplified example, if context input 120 indicates that there are pedestrians near the road the agent is traveling on, and query input 110 is "what action should be taken," for example, "continue driving" or "stop driving," then the trace data may include selection outputs such as "there is someone crossing the road" and "knowing that it is not safe to drive when someone is crossing the road," and the inference could be "therefore, it is not safe to drive."
別の簡略化した例として、車両の付近に湖があることをコンテキスト入力120が示し、車両が湖に向かって運転するべきかどうかをクエリ入力110が尋ねるとき、トレースデータ160は、「したがって、車は湖に行き着く」→「湖は濡れることを意味する」→「濡れることは短絡を意味する」→「短絡は安全でないことを意味する」のような中間推測を含んでよく、応答150は、「前進するべきでない」となり得る。 As another simplified example, when context input 120 indicates that there is a lake near the vehicle, and query input 110 asks whether the vehicle should drive towards the lake, the trace data 160 may include intermediate inferences such as "Therefore, the car will end up at the lake" → "The lake means it will get wet" → "Getting wet means a short circuit" → "A short circuit means it is unsafe," and the response 150 could be "It should not go forward."
選択ニューラルネットワーク130は概して、選択入力をコンテキスト入力120の適切なサブセットにマップするのにニューラルネットワークが使用されるようにする、どの適切なアーキテクチャも有することができる。同様に、推測ニューラルネットワーク140は概して、推測入力を新たな自然言語ステートメントにマップするのにニューラルネットワークが使用されるようにする、どの適切なアーキテクチャも有することができる。 The selection neural network 130 can generally have any suitable architecture that allows the neural network to be used to map the selection input to an appropriate subset of the context input 120. Similarly, the inference neural network 140 can generally have any suitable architecture that allows the neural network to be used to map the inference input to a new natural language statement.
具体例として、選択ニューラルネットワーク130と推測ニューラルネットワーク140の両方が、それぞれの言語モデルニューラルネットワークであり得る。概して、言語モデルニューラルネットワークとは、自然言語でのトークンのシーケンスを含むテキストプロンプトを与えられると、ニューラルネットワークがシーケンス中の次のトークンを生成することができるようにトレーニングされているニューラルネットワークである。このプロセスは、自然言語出力を生成するために、すなわち、1トークンずつ自然言語出力を自己回帰的に生成するために、一度に1つのトークンだけ、テキストプロンプトを拡張するように繰り返すことができる。「時間ステップ」のたびに、言語モデルニューラルネットワークは、現在のシーケンスを処理して、トークンの語彙に関する確率分布を生成する。次のトークンは次いで、確率分布を使って、たとえば、核サンプリングもしくは別のサンプリング技法を使用する分布からのサンプリングによって、または最も確率が高いトークンを選択することによって選択され得る。語彙の中のトークンは、様々なトークン、たとえば、単語、サブワード、文字、句読点および他の記号、ならびに数の何らかの組合せのいずれを含んでもよい。概して、言語モデルニューラルネットワークは、語彙からのトークン(および任意選択で、指定された語彙にないトークンにマップすることができる他のトークン)からなるテキストのコーパスで、トレーニングデータから、トークンのシーケンス中の次のトークンを予測するようにトレーニングされる。 As concrete examples, both the selection neural network 130 and the inference neural network 140 can be language model neural networks, respectively. Generally, a language model neural network is a neural network that, given a text prompt containing a sequence of tokens in natural language, is trained to generate the next token in the sequence. This process can be repeated to expand the text prompt, one token at a time, to generate a natural language output, i.e., to autoregressively generate a natural language output token by token. At each "time step," the language model neural network processes the current sequence to generate a probability distribution of tokens in the vocabulary. The next token can then be selected using the probability distribution, for example, by sampling from the distribution using nuclear sampling or another sampling technique, or by selecting the token with the highest probability. The tokens in the vocabulary may include any combination of various tokens, such as words, subwords, letters, punctuation marks and other symbols, as well as numbers. Generally, language model neural networks are trained on a corpus of text consisting of tokens from a vocabulary (and optionally, other tokens that can be mapped to tokens not present in the given vocabulary) to predict the next token in a sequence of tokens from training data.
大規模言語モデルニューラルネットワークが、実施するように明示的にトレーニングされなかったタスクを実施できることは驚きであるが、よくできている。たとえば、それらのニューラルネットワークは、翻訳タスク(トレーニング用コーパスが異なる言語での単語を含んでいたとすると)、算術、および多くの他のタスクを実施することができる。言語モデルニューラルネットワークは、入力または「プロンプト」として所望の応答の自然言語記述を提供することによって、特定のタスクを実施するように作ることができる。プロンプトは、クエリのいくつか、たとえば、1~10個の例および例示的出力が、実際のクエリに先立ってテキスト中で与えられるフューショット(few-shot)プロンプトであってよい。代わりに、またはさらに、言語モデルニューラルネットワークは、前述した例の大規模コーパスでトレーニングされた、事前トレーニングされた言語モデルニューラルネットワークを取得すること、および次いで、言語モデルニューラルネットワークすべてのうちの一部を、実施されるべきタスクのタイプに特有の比較的少数の例でさらにトレーニングすることによって、特定のタスクを実施するように「微調整」されてよい。 It is surprising, but well done, that large-scale language model neural networks can perform tasks they were not explicitly trained to perform. For example, these neural networks can perform translation tasks (assuming the training corpus contains words in different languages), arithmetic, and many other tasks. Language model neural networks can be made to perform specific tasks by providing a natural language description of the desired response as input or “prompt.” The prompt may be a few-shot prompt, where several queries, e.g., 1 to 10 examples and illustrative outputs, are given in the text prior to the actual query. Alternatively, or further, language model neural networks may be “fine-tuned” to perform specific tasks by obtaining pre-trained language model neural networks trained on the large-scale corpus described above, and then further training some of all of these language model neural networks with a relatively small number of examples specific to the type of task to be performed.
したがって、トレーニングされた言語モデルニューラルネットワークは、記述されるタイプの制御および診断タスクを実施することができる。システムが、応答を生成する際に規則に準拠するべきである場合、規則は、コンテキスト情報の中に、たとえば、プロンプトの中に、および/またはトレーニングデータのコーパス中のステートメントとして、もしくは言語モデルニューラルネットワークを微調整するのに使用されるデータの中に含まれ得る。 Therefore, a trained language model neural network can perform the types of control and diagnostic tasks described. If the system should adhere to rules when generating responses, these rules may be included in the contextual information, for example, in prompts and/or as statements in the training data corpus, or in the data used to fine-tune the language model neural network.
言い換えると、いくつかの実装形態では、選択ニューラルネットワーク130および推測ニューラルネットワーク140は、同じ、事前トレーニングされた言語モデルニューラルネットワークである。これらの実装形態では、各選択入力は、言語モデルに選択出力を生成させる、あるタイプのフューショットプロンプトを含み、各推測入力は、言語モデルに推測出力を生成させる、異なるタイプのフューショットプロンプトを含む。 In other words, in some implementations, the selection neural network 130 and the inference neural network 140 are the same, pre-trained language model neural networks. In these implementations, each selection input contains a certain type of fusion shot prompt that causes the language model to generate a selection output, and each inference input contains a different type of fusion shot prompt that causes the language model to generate an inference output.
たとえば、推測ニューラルネットワーク140のためのフューショットプロンプトは、所定のシンタックス(対応する選択出力によって識別されるコンテキスト入力のサブセットが後に続く)に従って並べられた、1つまたは複数の、例示的な推測入力と推測出力のペアを含んでよく、選択ニューラルネットワーク130のためのフューショットプロンプトは、所定のシンタックス(所定のシンタックスに従って並べられたコンテキスト入力およびクエリ入力が後に続く)に従って並べられた、1つまたは複数の、例示的な選択入力と選択出力のペアを含んでよい。 For example, a fusion shot prompt for the inference neural network 140 may include one or more exemplary pairs of inference inputs and inference outputs arranged according to a predetermined syntax (followed by a subset of context inputs identified by the corresponding selection outputs), and a fusion shot prompt for the selection neural network 130 may include one or more exemplary pairs of selection inputs and selection outputs arranged according to a predetermined syntax (followed by context inputs and query inputs arranged according to the predetermined syntax).
たとえば、各選択入力の中のフューショットプロンプトは、以下の形であってよい。
#nショットプロンプト
#第1の例。
<コンテキスト1>
<クエリ1>
#例示的選択
<ファクト>。<ファクト>[および<ファクト>]*を知っている。したがって、
...
#解決するべき問題。
<コンテキスト>
<クエリ>
For example, the Fusion Shot prompt within each selection input may take the following form:
#nShotPrompt
#Example 1.
<Context 1>
<Query 1>
#Example Selection
<fact>. <fact>[and <fact>]* know. Therefore,
...
#Problems that need to be solved.
<context>
<Query>
この例では、#に続くステートメントは、プロンプトに含まれず(または任意選択であり)、説明のための例に含まれるだけであり、<コンテキスト>は、コンテキスト入力の中の自然言語テキストを表し、<クエリ>は、クエリ入力を表し、「...」は、第1の例の後に、同じフォーマットでの1つまたは複数の追加例が続くことを示し、各<ファクト>は、対応するコンテキストからコピーされた自然言語ステートメントであり、[および<ファクト>]*は、システムが、各推測ステップ向けに複数のファクトを選択できることを意味し、ここで、所与の推測ステップにおけるファクトの総数はハイパーパラメータである。 In this example, statements following '#' are not included in the prompt (or are optional) and are only included in the example for illustrative purposes; <context> represents natural language text in the context input; <query> represents the query input; "..." indicates that one or more additional examples in the same format follow the first example; each <fact> is a natural language statement copied from the corresponding context; and [and <fact>]* means that the system can select multiple facts for each inference step, where the total number of facts in a given inference step is a hyperparameter.
別の例として、各推測入力の中のフューショットプロンプトは、以下の形であってよい。
#nショット推測プロンプト
#第1の例。
<ファクト>。<ファクト>[および<ファクト>]*であることを知っている。したがって、<新たなファクト>。
...
#解決するべき問題。
<選択ステップの出力>。したがって、
As another example, the fusion shot prompt within each inference input may take the following form.
#nshot guessing prompt
#Example 1.
<Fact>. We know that <Fact> [and <Fact>]*. Therefore, <New Fact>.
...
#Problems that need to be solved.
<Output of the selection step>. Therefore,
この例では、プロンプトの中の各例における<新たなファクト>は、例における<ファクト>から生成される(「推測される」)、推測されるファクトであり、<選択ステップの出力>は、フューショットプロンプトにおける例と同じようにフォーマットされた、選択ステップ向けの選択出力の中の1つまたは複数のファクトである。 In this example, the <new fact> in each example within the prompt is the inferred fact generated ("inferred") from the <fact> in the example, and the <selection step output> is one or more facts in the selection output for the selection step, formatted in the same way as the example in the Fusion Shot prompt.
言語モデルニューラルネットワークは、大規模言語モデルニューラルネットワーク、たとえば、10億、100億または1000億個よりも多くのトレーニングされたパラメータを有するものであってよい。言語モデルニューラルネットワークは、単語または他のテキストトークン、たとえば、サブワード(「ワードピース」としても知られる)を表す、100億、1000億または1兆個よりも多くの単語またはトークンでトレーニングされていてよい。 The language model neural network may be a large-scale language model neural network, for example, one with more than 1 billion, 10 billion, or 100 billion trained parameters. The language model neural network may be trained with more than 10 billion, 100 billion, or 1 trillion words or tokens representing words or other text tokens, for example, subwords (also known as "wordpieces").
いくつかの他の実装形態では、選択ニューラルネットワーク130および推測ニューラルネットワーク140は両方とも、同じアーキテクチャを有するとともに、同じ大規模コーパスで事前トレーニングされた言語モデルニューラルネットワークであるが、選択ニューラルネットワーク130は、例示的な選択入力と選択出力のペアの第1のデータセットで微調整されており、推測ニューラルネットワーク140は、例示的な推測入力と選択入力ペアの第2のデータセットで微調整されており、またはその両方である。たとえば、選択ニューラルネットワーク130を微調整することにより、選択ニューラルネットワーク130は、上述したように、コンテキスト入力からファクトへのプレースホルダー参照を含む出力を、より効果的に生成することができるようになり得る。これらの実装形態のいくつかでは、各選択入力および各推測出力は各々、それぞれのフューショットプロンプトを含み、これらの実装形態の他のいくつかでは、フューショットプロンプトは含まれない。 In some other implementations, both the selection neural network 130 and the inference neural network 140 have the same architecture and are language model neural networks pre-trained on the same large corpus, but the selection neural network 130 is fine-tuned on a first dataset of exemplary selection input and selection output pairs, and the inference neural network 140 is fine-tuned on a second dataset of exemplary inference input and selection input pairs, or both. For example, by fine-tuning the selection neural network 130, it may be possible to more effectively generate outputs that include placeholder references from context inputs to facts, as described above. In some of these implementations, each selection input and each inference output each include their respective fusion shot prompts, while in some other implementations, fusion shot prompts are not included.
いくつかの実装形態では、言語モデルニューラルネットワークは、自己回帰トランスフォーマニューラルネットワークであり、トランスフォーマニューラルネットワークは、一連の自己注意ニューラルネットワーク層を有することを特徴とする。自己注意ニューラルネットワーク層は、入力の各要素向けの注意層入力を有し、注意層入力に対して注意機構を適用して、入力の各要素向けの注意層出力を生成するように構成され、使用され得る多くの異なる注意機構がある。いくつかの実装形態では、言語モデルニューラルネットワークは、混合専門家モデルであり得る。 In some implementations, the language model neural network is an autoregressive transformer neural network, characterized by having a series of self-attention neural network layers. Each self-attention neural network layer has an attention layer input for each element of the input, and is configured to apply an attention mechanism to the attention layer input to generate an attention layer output for each element of the input; many different attention mechanisms can be used. In some implementations, the language model neural network may be a mixed-expert model.
図1Cは、システム100が車両、たとえば、自律または半自律車両を制御するのに使用されるときに実施される選択ステップおよび推測ステップの簡略化した例を示す。 Figure 1C shows a simplified example of the selection and inference steps performed when system 100 is used to control a vehicle, such as an autonomous or semi-autonomous vehicle.
図1Cの例において、クエリ入力176は「車両は左折するべきか?」であり、(図1Cに示す例示的選択ステップ時点での)コンテキスト入力174は、「左側に湖があり、湖には水がたくさんあり、水は車両にダメージを与えるおそれがある」である。選択ステップを実施するために、システム100は、kショット(k-shot)プロンプト172(kショットプロンプト172の中の例のうちの1つのための例示的コンテキストの一部分、例のための例示的クエリ入力、および例のための例示的選択出力が図1Cに示されている)、コンテキスト入力174、およびクエリ入力176を含む選択入力を生成する。システム100は、選択ニューラルネットワーク130を使って選択入力を処理して、「湖には水がたくさんあり、したがって、水は車両にダメージを与えるおそれがある」と述べる選択出力180を生成する。 In the example in Figure 1C, the query input 176 is "Should the vehicle turn left?", and the context input 174 (at the time of the exemplary selection step shown in Figure 1C) is "There is a lake on the left, the lake has a lot of water, and the water could damage the vehicle." To perform the selection step, system 100 generates a selection input containing a k-shot prompt 172 (a portion of the exemplary context for one of the examples in the k-shot prompt 172, an exemplary query input for the example, and an exemplary selection output for the example are shown in Figure 1C), context input 174, and query input 176. System 100 processes the selection input using the selection neural network 130 to generate a selection output 180 stating "There is a lot of water in the lake, and therefore the water could damage the vehicle."
システム100は次いで、kショットプロンプト182(kショットプロンプト182における例のうちの1つが、図1Cに示されている)を含む推測入力と、選択出力180とを生成する。システム100は、推測ニューラルネットワーク140を使って推測入力を処理して、新たな推測されるファクトである、すなわち、「湖に入ると、車両にダメージを与えるおそれがある」と述べる推測出力182を生成する。システム100は次いで、新たな推測されるファクトを、次の選択ステップにおいて使用するためにコンテキスト入力174に、188において追加する。 System 100 then generates an inference input, including a k-shot prompt 182 (one example of a k-shot prompt 182 is shown in Figure 1C), and a selection output 180. System 100 processes the inference input using the inference neural network 140 to generate a new inferred fact, namely, an inference output 182 stating, "Entering the lake may damage the vehicle." System 100 then adds the new inferred fact to the context input 174, 188, for use in the next selection step.
図2は、クエリ入力への応答を生成するための例示的プロセス200の流れ図である。便宜上、プロセス200は、1つまたは複数のロケーションにある1つまたは複数のコンピュータからなるシステムによって実施されるものとして記載される。たとえば、本明細書に従って適切にプログラムされた選択推測システム、たとえば、図1Aの選択推測システム100が、プロセス200を実施することができる。 Figure 2 is a flowchart of an exemplary process 200 for generating a response to a query input. For convenience, the process 200 is described as being carried out by a system consisting of one or more computers in one or more locations. For example, a selection inference system appropriately programmed according to this specification, such as the selection inference system 100 in Figure 1A, can carry out the process 200.
システムは、コンテキスト情報を含むコンテキスト入力を取得する(ステップ202)。コンテキスト情報は、環境に関するファクトまたは規則を各々が表す1つまたは複数の自然言語ステートメントを含む。 The system obtains context input containing context information (step 202). The context information includes one or more natural language statements, each representing a fact or rule about the environment.
システムは、環境に関する1つまたは複数のクエリを含むクエリ入力を受信する(ステップ204)。 The system receives a query input containing one or more queries about the environment (step 204).
システムは次いで、終了基準が満足されるまで更新反復を実施することによって、クエリ入力への応答、たとえば、自然言語出力を生成する。たとえば、終了基準は、閾数の反復が実施された後で満足することができる。別の例として、終了基準は、閾数の連続する更新反復において同じ選択出力が生成された場合、満足することができる。別の例として、終了基準は、閾数の連続する更新反復において同じ推測出力が生成された場合、満足することができる。さらに別の例として、システムは、クエリ入力を含む停止入力と、直近の推測出力と、任意選択で、(i)あらかじめ生成された選択出力、推測出力、もしくは両方、または(ii)コンテキスト入力、のうちの1つまたは複数とを受信するように、および停止入力を処理して直近の推測出力がクエリ入力への有効な応答であるかどうかという指示を生成するようにトレーニングされている停止ニューラルネットワークを含み得る。別の例として、システムは、たとえば、推測出力とクエリ入力との間の文字列一致に基づく1つまたは複数の規則を適用して、直近の推測出力がクエリ入力への有効な応答であるかどうかを判定することができる。 The system then generates a response to the query input, such as a natural language output, by performing update iterations until the termination criteria are satisfied. For example, the termination criteria may be satisfied after a threshold number of iterations have been performed. Alternatively, the termination criteria may be satisfied if the same selected output is produced in a threshold number of consecutive update iterations. Another example is if the same inferred output is produced in a threshold number of consecutive update iterations. Yet another example is that the system may include a stopping input containing the query input, the most recent inferred output, and optionally, one or more of (i) pre-generated selected outputs, inferred outputs, or both, or (ii) context inputs, and a stopping neural network trained to process the stopping input and generate an instruction on whether the most recent inferred output is a valid response to the query input. Another example is that the system may determine whether the most recent inferred output is a valid response to the query input by applying, for example, one or more rules based on string matching between the inferred output and the query input.
各更新反復において、システムは、コンテキスト入力と、クエリ入力とを含む選択入力を、選択ニューラルネットワークを使って処理して、コンテキスト入力からの自然言語ステートメントのうちの1つまたは複数を含む、更新反復のための選択出力を生成する(ステップ206)。つまり、選択出力は概して、コンテキスト入力の中の自然言語ステートメントの適切なサブセットを含む。 In each update iteration, the system processes the context input and the selection input, which includes the query input, using a selection neural network to generate a selection output for the update iteration that contains one or more natural language statements from the context input (step 206). In other words, the selection output generally contains an appropriate subset of natural language statements from the context input.
システムは次いで、推測ニューラルネットワークを使って、更新反復向けの選択出力を含む推測入力を処理して、更新反復についての新たなファクトを表す自然言語ステートメントを含む推測出力を生成する(ステップ208)。 The system then uses an inference neural network to process the inference input, which includes selected outputs for the update iteration, and generates an inference output containing natural language statements representing new facts about the update iteration (step 208).
最後の更新反復以外の各更新反復において、すなわち、システムが、更新反復を実施した後、終了基準が満足されないと決定した場合、システムは、自然言語ステートメントを更新反復のための推測出力に含めるように、コンテキスト入力を更新する(ステップ210)。 In each update iteration other than the last one, i.e., if the system determines after performing the update iteration that the termination criteria are not satisfied, the system updates the context input to include the natural language statement in the inferred output for the update iteration (step 210).
最後の更新反復において、すなわち、システムが、更新反復を実施した後で終了基準が満足されると決定した場合、システムは、最後の更新反復のための推測出力の中の自然言語ステートメントを使って応答を生成する(ステップ212)。システムは、最後の更新反復以外の各更新反復における推測出力、および任意選択で、更新反復のための選択出力の中の自然言語ステートメントを含む推論トレースを生成する(また、応答の一部として提供するか、または将来の使用のために記憶する)こともできる。 In the final update iteration, i.e., when the system determines that the termination criteria are satisfied after performing the update iteration, the system generates a response using the natural language statements in the inferred output for the final update iteration (step 212). The system may also generate an inference trace containing the inferred outputs for each update iteration other than the final one, and optionally, the natural language statements in the selected outputs for the update iterations (and may provide this as part of the response or store it for future use).
図3は、所与の更新反復において選択出力を生成するための例示的プロセス300を示す流れ図である。便宜上、プロセス300は、1つまたは複数のロケーションにある1つまたは複数のコンピュータからなるシステムによって実施されるものとして記載される。たとえば、本明細書に従って適切にプログラムされた選択推測システム、たとえば、図1Aの選択推測システム100が、プロセス300を実施することができる。 Figure 3 is a flowchart illustrating an exemplary process 300 for generating a selection output in a given update iteration. For convenience, the process 300 is described as being performed by a system consisting of one or more computers in one or more locations. For example, a selection prediction system appropriately programmed according to this specification, such as the selection prediction system 100 in Figure 1A, can perform the process 300.
図3の例では、システムは、1つまたは複数の選択反復のシーケンスの各々におけるコンテキスト入力からそれぞれの自然言語ステートメントを選択することによって、選択出力を生成する。たとえば、システムは、所定の数の自然言語ステートメントを選択出力に追加するために、所定の数の選択反復を実施することができる。別の例として、システムは、何らかの他の基準が満足されるまで、選択反復を実施することができる。 In the example in Figure 3, the system generates a selection output by selecting each natural language statement from the context input in each of one or more sequences of selection iterations. For example, the system may perform a predetermined number of selection iterations to add a predetermined number of natural language statements to the selection output. Alternatively, the system may perform selection iterations until some other criterion is satisfied.
各選択反復において、システムは、コンテキスト入力、クエリ入力、およびシーケンス中の選択反復に先行する任意の以前の選択反復において選択された任意の自然言語ステートメントを含む、選択反復のための入力を生成する(ステップ302)。たとえば、選択ニューラルネットワークへの選択入力が、上述したようなフューショットプロンプトを含むとき、システムは、フューショットプロンプト(コンテキスト入力およびクエリ入力をすでに含む)を、所定のシンタックスにおける対応する箇所において、シーケンス中の選択反復に先行する、任意の以前の選択反復において選択された自然言語ステートメントを含むように修正することができる。 In each selection iteration, the system generates an input for the selection iteration, which includes a context input, a query input, and any natural language statement selected in any previous selection iteration preceding the selection iteration in the sequence (step 302). For example, when the selection input to the selection neural network includes a fusion shot prompt as described above, the system can modify the fusion shot prompt (which already includes the context input and query input) to include, at the corresponding location in a given syntax, a natural language statement selected in any previous selection iteration preceding the selection iteration in the sequence.
コンテキスト情報の中の自然言語ステートメントのセットの各々について、システムは次いで、選択ニューラルネットワークを使って、選択反復のための入力を処理して、選択ニューラルネットワークによって自然言語ステートメントに割り当てられた尤度(likelihood)を決定する(ステップ304)。 For each of the natural language statements in the contextual information, the system then uses a selection neural network to process the input for selection iterations and determine the likelihood assigned to the natural language statement by the selection neural network (step 304).
たとえば、システムは、自然言語ステートメントのセットとして、以前の選択反復においてまだ選択されていない、コンテキスト入力の中の自然言語ステートメントを選択することができる。 For example, the system can select natural language statements from the context input that have not yet been selected in previous selection iterations, as a set of natural language statements.
上述したように、選択ニューラルネットワークは、シーケンス中で現在のテキストトークンが与えられると、テキストトークンに対する確率分布を予測する言語モデルニューラルネットワークであってよい。この場合、システムは、選択ニューラルネットワークによって自然言語ステートメント中の各テキストトークンに割り当てられた確率を組み合わせる、たとえば、乗算することによって、自然言語ステートメントに割り当てられた尤度を決定することができる。所与のトークンに割り当てられた確率は、選択ニューラルネットワーク向けの入力を条件とする選択ニューラルネットワークを使って、自然言語ステートメント中の所与のトークンに先行する任意のトークンを処理することによって、たとえば、選択反復のための入力と、自然言語ステートメント中の所与のトークンに先行する任意のトークンとを含む、組み合わせられたシーケンスを、選択ニューラルネットワークを使って処理することによって生成された確率分布中の所与のトークンについての確率である。 As described above, the selection neural network may be a language model neural network that predicts the probability distribution for a given text token, given the current text token in a sequence. In this case, the system can determine the likelihood assigned to a natural language statement by combining, for example, multiplying, the probabilities assigned to each text token in the natural language statement by the selection neural network. The probability assigned to a given token is the probability for that token in the probability distribution generated by processing a combined sequence, for example, an input for selection iteration and any tokens preceding the given token in the natural language statement, using a selection neural network conditioned on the input to the selection neural network.
システムは次いで、自然言語ステートメントのセットから、尤度が最も高い自然言語ステートメントを選択する(ステップ306)。 The system then selects the natural language statement with the highest likelihood from the set of natural language statements (step 306).
本明細書は、「構成される」という用語を、システムおよびコンピュータプログラム構成要素との関連で使っている。1つまたは複数のコンピュータからなるシステムが特定の動作またはアクションを実施するように構成されることは、システムが、動作の際にシステムに動作またはアクションを実施させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしたことを意味する。1つまたは複数のコンピュータプログラムが、特定の動作またはアクションを実施するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に動作またはアクションを実施させる命令を含むことを意味する。 This specification uses the term “configured” in relation to system and computer program components. A system consisting of one or more computers being configured to perform a particular operation or action means that the system has installed software, firmware, hardware, or a combination thereof that causes the system to perform the operation or action when it is running. A computer program being configured to perform a particular operation or action means that the program contains instructions that, when executed by a data processing device, cause the device to perform the operation or action.
本明細書に記載する主題および機能的動作の実施形態は、デジタル電子回路機構で、または有形に実施されるコンピュータソフトウェアもしくはファームウェアで、本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータハードウェアで、またはそれらのうちの1つもしくは複数の、組合せで実装することができる。本明細書において説明される主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置によって実行するか、またはデータ処理装置の動作を制御するための、有形の非一時的記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の、組合せであってよい。代替または追加として、プログラム命令は、データ処理装置による実行のために、適切な受信機装置への送信用の情報を符号化するように生成される、人工的に生成された伝搬信号、たとえば、機械生成された電気、光学、または電磁信号上で符号化されてよい。 The subject matter and functional operating embodiments described herein can be implemented in digital electronic circuit mechanisms, or in tangibly implemented computer software or firmware, or in computer hardware including the structures disclosed herein and their structural equivalents, or in combination of one or more of these. Embodiments of the subject matter described herein can be implemented as one or more computer programs, i.e., as one or more modules of computer program instructions encoded on a tangible non-temporary storage medium for execution by a data processing device or for controlling the operation of a data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage board, a random or serial access memory device, or a combination of one or more of these. Alternatively or additionally, the program instructions may be encoded on artificially generated propagating signals, such as mechanically generated electrical, optical, or electromagnetic signals, which are generated to encode information for transmission to a suitable receiver device for execution by a data processing device.
「データ処理装置」という用語は、データ処理ハードウェアを指し、例として、プログラム可能プロセッサ、1つのコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するための、あらゆる種類の装置、デバイス、および機械を包含する。装置は、特殊目的論理回路機構、たとえば、FPGA(フィールドプログラム可能ゲートアレイ)またはASIC(特定用途向け集積回路)であるか、またはそれらをさらに含んでもよい。装置は、任意選択で、ハードウェアに加え、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の、組合せを構成するコードを含むことができる。 The term "data processing device" refers to data processing hardware and encompasses all kinds of devices, machines, and equipment for processing data, including, for example, a programmable processor, a single computer, or multiple processors or computers. A device may be a special-purpose logic circuit mechanism, such as an FPGA (Field-Programmable Gate Array) or ASIC (Application-Specific Integrated Circuit), or may further include these. Optionally, in addition to hardware, a device may include code that creates an execution environment for computer programs, such as processor firmware, a protocol stack, a database management system, an operating system, or code constituting one or more of these, or a combination thereof.
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるか、またはそれらとして述べられる場合もあり、コンパイル型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、どの形のプログラミング言語でも書かれてよく、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境における使用に適した他の単位として、を含む、どの形でも展開することができる。プログラムが、ファイルシステム内のファイルに対応してよいが、そうである必要はない。プログラムは、他のプログラムもしくはデータ、たとえば、マークアップ言語ドキュメントに記憶された1つもしくは複数のスクリプトを保持するファイル部分に、問題になっているプログラムに専用の単一のファイルに、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルに記憶することができる。コンピュータプログラムは、1つの場所に位置する1つのコンピュータ上または複数のコンピュータ上で実行されるように展開されても、複数の場所に分散され、データ通信ネットワークによって相互接続されてもよい。 Computer programs are sometimes called, or referred to as, programs, software, software applications, apps, modules, software modules, scripts, or code, and may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages. They can be deployed in any form, including as standalone programs or as modules, components, subroutines, or other units suitable for use in a computing environment. A program may, but does not, correspond to a file in a file system. A program may be stored in a file portion that holds one or more scripts stored in other programs or data, such as a markup language document; in a single file dedicated to the program in question; or in multiple collaborative files, such as files that store one or more modules, subprograms, or parts of code. Computer programs may be deployed to run on one computer or on multiple computers located in one location, or they may be distributed across multiple locations and interconnected by data communication networks.
本明細書では、「データベース」という用語は、データのどの集合体も指すように広く使用されるが、データは、どの特定のやり方で構造化される必要も、またはまったく構造化される必要もなく、1つまたは複数の場所にある記憶デバイス上に記憶することができる。したがって、たとえば、インデックスデータベースは、異なるやり方で各々が編成されアクセスされ得る、データの複数の集合体を含み得る。 In this specification, the term “database” is used broadly to refer to any collection of data, but data does not need to be structured in any particular way, or not structured at all, and can be stored on one or more storage devices in different locations. Therefore, for example, an index database may contain multiple collections of data, each of which can be organized and accessed in different ways.
同様に、本明細書では、「エンジン」という用語は、1つまたは複数の特定の機能を実施するようにプログラムされる、ソフトウェアベースのシステム、サブシステム、またはプロセスを指すように広く使用される。概して、エンジンは、1つまたは複数のソフトウェアモジュールまたは構成要素として実装され、1つまたは複数の場所にある1つまたは複数のコンピュータ上にインストールされることになる。いくつかのケースでは、1つまたは複数のコンピュータは、特定のエンジンに専用となり、他のケースでは、複数のエンジンが、同じコンピュータまたは複数のコンピュータ上でインストールされ、稼動中であることが可能である。 Similarly, in this specification, the term “engine” is used broadly to refer to a software-based system, subsystem, or process programmed to perform one or more specific functions. Generally, an engine will be implemented as one or more software modules or components and installed on one or more computers in one or more locations. In some cases, one or more computers will be dedicated to a particular engine, while in other cases, multiple engines may be installed and running on the same computer or on multiple computers.
本明細書に記載したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実施するための1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能コンピュータによって実施され得る。プロセスおよび論理フローは、特殊目的論理回路機構、たとえば、FPGA、もしくはASICによって、または特殊目的論理回路機構と1つもしくは複数のプログラムされたコンピュータの組合せによって実施されてもよい。 The processes and logic flows described herein may be implemented by one or more programmable computers executing one or more computer programs to perform their functions by acting on input data and generating outputs. The processes and logic flows may be implemented by special-purpose logic circuit mechanisms, such as FPGAs or ASICs, or by a combination of special-purpose logic circuit mechanisms and one or more programmed computers.
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは特殊目的マイクロプロセッサもしくは両方、またはどの他の種類の中央処理ユニットに基づいてもよい。概して、中央処理ユニットは、読取り専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信することになる。コンピュータの本質的要素は、命令を実施または実行するための中央処理ユニット、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理ユニットおよびメモリは、特殊目的論理回路要素によって補完することも、その中に組み込むこともできる。概して、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気、光磁気ディスク、または光ディスクも含み、あるいは大容量記憶デバイスからデータを受信し、もしくはデータを転送し、または両方を行うように大容量記憶デバイスに動作可能に結合される。ただし、コンピュータは、そのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。 A computer suitable for running computer programs may be based on a general-purpose or special-purpose microprocessor, or both, or any other type of central processing unit. Generally, the central processing unit will receive instructions and data from read-only memory, random-access memory, or both. Essential elements of a computer are the central processing unit for executing or running instructions, and one or more memory devices for storing instructions and data. The central processing unit and memory can be complemented by or incorporated into special-purpose logic circuit elements. Generally, a computer may include one or more mass storage devices for storing data, such as magnetic, magneto-optical disks, or optical disks, or may be operably coupled to mass storage devices to receive data from or transfer data, or both. However, a computer is not required to have such devices. Furthermore, a computer can be incorporated into other devices, such as, to name just a few, mobile phones, personal digital assistants (PDAs), mobile audio or video players, game consoles, Global Positioning System (GPS) receivers, or portable storage devices, such as Universal Serial Bus (USB) flash drives.
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内部ハードディスクまたは取外し可能ディスクと、光磁気ディスクと、CD ROMおよびDVD-ROMディスクとを含む、あらゆる形の不揮発性メモリ、媒体およびメモリデバイスを含む。 Computer-readable media suitable for storing computer program instructions and data include, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks or removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks, and all forms of non-volatile memory, media, and memory devices.
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、ユーザに情報を表示するための、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイス、ならびにキーボードおよび、ユーザがコンピュータに入力を提供することができる、たとえば、マウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスへドキュメントを送信し、デバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのデバイス上のウェブブラウザへウェブページを送信することによってユーザと対話することができる。また、コンピュータは、パーソナルデバイス、たとえば、メッセージングアプリケーションを稼動しているスマートフォンへテキストメッセージまたは他の形のメッセージを送信し、ユーザから引き換えに応答メッセージを受信することによって、ユーザと対話することができる。 To provide user interaction, embodiments of the subject matter described herein can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user, as well as a keyboard and a pointing device such as a mouse or trackball to which the user can provide input to the computer. Other types of devices can also be used to provide user interaction; for example, the feedback provided to the user can be any form of sensory feedback, such as visual, auditory, or tactile feedback, and user input can be received in any form, including acoustic, voice, or tactile input. Furthermore, the computer can interact with the user by sending documents to and receiving documents from a device used by the user, for example, by sending a web page to a web browser on the user's device in response to a request received from a web browser. The computer can also interact with the user by sending text messages or other forms of messages to a personal device, such as a smartphone running a messaging application, and receiving response messages from the user in return.
機械学習モデルを実装するためのデータ処理装置は、たとえば、機械学習トレーニングまたは生産、すなわち、推測、作業負荷の共通および数値計算部分を処理するための特殊目的ハードウェアアクセラレータユニットも含むことができる。 Data processing devices for implementing machine learning models may include, for example, special-purpose hardware accelerator units for processing machine learning training or production, i.e., the common and numerical computation parts of the workload, such as inference.
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使って実装し、展開することができる。 Machine learning models can be implemented and deployed using machine learning frameworks, such as the TensorFlow framework, the Microsoft Cognitive Toolkit framework, the Apache Singa framework, or the Apache MXNet framework.
本明細書に記載する主題の実施形態は、バックエンド構成要素を、たとえば、データサーバとして含む、もしくはミドルウェア構成要素、たとえば、アプリケーションサーバを含む、もしくはフロントエンド構成要素、たとえば、本明細書に記載する主題の実装形態とユーザが対話し得るためのグラフィカルユーザインターフェースもしくはウェブブラウザ、またはアプリを有するクライアントコンピュータ、または1つもしくは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素のどの組合せも含むコンピューティングシステムで実装することができる。システムの構成要素は、どの形または媒体のデジタルデータ通信、たとえば、通信ネットワークによっても相互接続されることが可能である。通信ネットワークの例には、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、たとえば、インターネットがある。 Embodiments of the subject matter described herein can be implemented in a computing system that includes, for example, a data server as a backend component, or a middleware component, for example, an application server, or a client computer having a frontend component, for example, a graphical user interface or web browser or application for a user to interact with the implementation of the subject matter described herein, or any combination of one or more such backend, middleware, or frontend components. The components of the system can be interconnected by digital data communications of any form or medium, such as communication networks. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントとサーバは概して、互いから離れており、通常、通信ネットワークを通して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で稼動するとともに互いとのクライアントサーバ関係を有するコンピュータプログラムにより生じる。いくつかの実施形態では、サーバが、データ、たとえば、HTMLページを、ユーザデバイスへ、たとえば、クライアントとして作用するデバイスと対話するユーザにデータを表示し、ユーザからユーザ入力を受信する目的のために送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザ対話の結果が、デバイスからサーバにおいて受信され得る。 A computing system may include a client and a server. The client and server are generally separate from each other and typically interact through a communication network. The client-server relationship arises from computer programs running on each computer and having a client-server relationship with each other. In some embodiments, the server transmits data, such as an HTML page, to a user device, for example, to display data to a user interacting with a device acting as a client, and to receive user input from the user. Data generated on the user device, such as the results of user interaction, may be received from the device to the server.
本明細書は、多くの具体的な実装形態詳細を含むが、これらは、任意の発明の範囲において、または特許請求の範囲に記載され得るものの範囲において、限定と解釈されるべきではなく、特定の発明の特定の実施形態に特有であり得る特徴の記述として解釈されるべきである。また、別個の実施形態の文脈において本明細書で説明したいくつかの特徴は、単一の実施形態において組み合わせて実装することができる。逆に、単一の実施形態の文脈において記載される様々な特徴はまた、複数の実施形態において別々に、またはどの適切な部分組合せでも実装することができる。さらに、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように特許請求の範囲に記載される場合さえあるが、特許請求の範囲に記載される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除することができ、特許請求の範囲に記載される組合せは、部分組合せ、または部分組合せの変形形態を対象とすることができる。 This specification includes many specific implementation details, but these should not be construed as limiting within the scope of any invention or within the scope of what may be claimed, but rather as descriptions of features that may be specific to a particular embodiment of a particular invention. Furthermore, some features described herein in the context of separate embodiments can be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented separately or in any suitable partial combination in multiple embodiments. Moreover, features are described above as working in several combinations, and may even be initially claimed in this way, but one or more features from a claimed combination may, in some cases, be removed from that combination, and the claimed combination may cover partial combinations or variations of partial combinations.
同様に、動作は、特定の順序において図面に示され、請求項に具陳されているが、これは、そのような動作が図示された特定の順序において、もしくは順次に実施されることを必要とするか、または、所望の結果を達成するためにすべての示された動作が実施されることを必要とするものと理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上述した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、記載したプログラム構成要素およびシステムは概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることを理解されたい。 Similarly, while operations are shown in the drawings and described in the claims in a specific order, this should not be understood as requiring such operations to be performed in the specific illustrated order or sequentially, or requiring all described operations to be performed to achieve the desired result. In some situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged in multiple software products.
本主題の特定の実施形態について記載した。他の実施形態は、以下の特許請求の範囲内である。たとえば、請求項に具陳されるアクションは、異なる順序で実施され、依然として望ましい結果を達成することができる。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するのに、図示される特定の順序、または順番を必ずしも求めない。いくつかのケースでは、マルチタスキングおよび並列処理が有利な場合がある。 This document describes specific embodiments of the subject matter. Other embodiments are within the scope of the following claims. For example, the actions described in the claims may be performed in a different order and still achieve the desired results. As an example, the process shown in the accompanying drawings does not necessarily require a specific illustrated order or sequence to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous.
100 選択推測システム、システム
102 機械エージェント、エージェント
104 センサー
106 制御システム、エージェント制御システム
130 選択ニューラルネットワーク、ニューラルネットワーク
140 推測ニューラルネットワーク
100 Selection Prediction System, System
102 Machine Agent, Agent
104 Sensors
106 Control systems, agent control systems
130 Selected Neural Networks, Neural Networks
140 Inferential Neural Networks
Claims (22)
コンテキスト情報を含むコンテキスト入力を取得するステップであって、前記コンテキスト情報は、環境に関するファクトまたは規則を各々が表す1つまたは複数の自然言語ステートメントを含む、ステップと、
前記環境に関するクエリを含むクエリ入力を受信するステップと、
終了基準が満足されるまで更新反復を実施することによって、前記クエリ入力への応答を生成するステップとを含み、前記生成するステップは、各更新反復において、
選択ニューラルネットワークを使って、前記コンテキスト入力および前記クエリ入力を含む選択入力を処理して、前記コンテキスト入力からの前記自然言語ステートメントのうちの1つまたは複数を含む、前記更新反復のための選択出力を生成することと、
推測ニューラルネットワークを使って、前記更新反復のための前記選択出力を含む推測入力を処理して、前記更新反復のための新たなファクトを表す自然言語ステートメントを含む推測出力を生成することと、
最後の更新反復以外の各更新反復において、
前記更新反復のための前記推測出力の中の前記自然言語ステートメントを含むように、前記コンテキスト入力を更新することと、
を含む、方法。 A method carried out by one or more computers,
A step of obtaining a context input that includes context information, wherein the context information includes one or more natural language statements, each representing a fact or rule about the environment;
The steps include receiving a query input that includes a query relating to the aforementioned environment,
The process includes the step of generating a response to the query input by performing update iterations until the termination criteria are satisfied, wherein in each update iteration,
Using a selection neural network, process the selection input, which includes the context input and the query input, to generate a selection output for the update iteration, which includes one or more of the natural language statements from the context input.
Using an inference neural network, process the inference input, which includes the selected output for the update iteration, to generate an inference output that includes a natural language statement representing a new fact for the update iteration,
In each update iteration except the last update iteration,
Updating the context input to include the natural language statement in the inference output for the update iteration,
Methods that include...
前記コンテキスト入力を取得することは、1つまたは複数のセンサーから、前記現実世界環境の1つまたは複数の観測記録を取得することと、前記1つまたは複数の観測記録を処理して、前記1つまたは複数の観測記録の自然言語表現を生成することとを含み、
前記クエリ入力は、前記エージェントによって実施されるべきアクションに関し、
前記方法は、
前記1つまたは複数の観測記録の前記自然言語表現を、前記コンテキスト情報の前記自然言語ステートメントのうちの1つまたは複数を提供するのに使用するステップと、
前記クエリ入力への前記応答を、前記現実世界環境中で前記機械エージェントを制御するのに使用するステップとをさらに含む、
請求項1に記載の方法。 The environment is a real-world environment, and the method is used to control a machine agent acting in the real-world environment to perform a task.
Obtaining the context input includes obtaining one or more observational records of the real-world environment from one or more sensors, and processing the one or more observational records to generate a natural language representation of the one or more observational records.
The aforementioned query input relates to the action to be performed by the agent,
The aforementioned method,
A step of using the natural language representation of one or more observation records to provide one or more of the natural language statements of the context information,
The further step includes using the response to the query input to control the machine agent in the real-world environment,
The method according to claim 1 .
前記エージェント制御システムから制御信号を受信することと、
前記制御信号から前記1つまたは複数の自然言語クエリを生成することとを含む、
請求項5に記載の方法。 The machine agent has an agent control system for controlling the actions of the machine agent, the query input includes one or more natural language queries, and the step of receiving the query input is:
Receiving control signals from the aforementioned agent control system,
This includes generating one or more natural language queries from the control signals,
The method according to claim 5.
前記コンテキスト入力は、少なくとも、前記現実世界環境を検知するように構成された1つまたは複数のセンサーからの測定結果から生成される、前記現実世界環境の現在の状態を特徴づける観測記録から導出され、
前記クエリ入力は、エージェントの計画されたナビゲーションを特徴づけるデータを含み、
前記クエリ入力への前記応答は、前記観測記録に応答して前記エージェントによって実施されるべきアクションを特徴づけ、
特に、前記エージェントはロボットまたは自律車両である、
請求項1に記載の方法。 The aforementioned environment is a real-world environment,
The context input is derived from observational records characterizing the current state of the real-world environment, generated from measurement results from at least one or more sensors configured to detect the real-world environment.
The aforementioned query input includes data that characterizes the agent's planned navigation.
The response to the query input characterizes the action to be performed by the agent in response to the observation record,
In particular, the agent is a robot or an autonomous vehicle.
The method according to claim 1 .
前記コンテキスト入力を取得することは、1つまたは複数のセンサーから、前記製造ユニットの、または前記移動の、1つまたは複数の観測記録を取得することと、前記1つまたは複数の観測記録を処理して、前記1つまたは複数の観測記録の自然言語表現を生成することとを含み、
前記クエリ入力は、前記製造ユニットのうちの1つもしくは複数の、動作を制御する、または前記移動を制御するアクションに関し、
前記方法は、
前記1つまたは複数の観測記録の前記自然言語表現を、前記コンテキスト情報の前記自然言語ステートメントのうちの1つまたは複数を提供するのに使用するステップと、
前記クエリ入力への前記応答を、前記製造ユニットのうちの1つもしくは複数の、動作を制御するのに、または前記移動を制御するのに使用するステップとをさらに含む、
請求項1に記載の方法。 The environment is a manufacturing plant for producing a product, the manufacturing plant comprises a plurality of manufacturing units, the plurality of manufacturing units are configured such that intermediate versions or components of the product are movable between the manufacturing units during the production of the product, and the method is used to control one or more of the manufacturing units, or to control the movement of the intermediate versions or components of the product between the manufacturing units.
Acquiring the context input includes acquiring one or more observation records of the manufacturing unit or the movement from one or more sensors, and processing the one or more observation records to generate a natural language representation of the one or more observation records.
The query input relates to an action that controls the movement of one or more of the manufacturing units, or the movement of the units.
The aforementioned method,
The steps include using the natural language representation of one or more observation records to provide one or more of the natural language statements of the contextual information,
The further step includes using the response to the query input to control the operation of one or more of the manufacturing units or to control the movement of the manufacturing units,
The method according to claim 1 .
前記工場制御システムから制御信号を受信することと、
前記制御信号から前記1つまたは複数の自然言語クエリを生成することとを含む、
請求項10に記載の方法。 The manufacturing plant has a factory control system for controlling the manufacturing units or for controlling the movement, the query input includes one or more natural language queries, and the step of receiving the query input is:
Receiving control signals from the aforementioned factory control system,
This includes generating one or more natural language queries from the control signals,
The method according to claim 10.
前記コンテキスト入力を取得するステップは、1つまたは複数のセンサーから、前記機械システムの1つまたは複数の観測記録を取得することと、前記1つまたは複数の観測記録を処理して、前記1つまたは複数の観測記録の自然言語表現を生成することとを含み、
前記クエリ入力は前記機械システムの前記動作に関し、
前記方法は、
前記1つまたは複数の観測記録の前記自然言語表現を、前記コンテキスト情報の前記自然言語ステートメントのうちの1つまたは複数を提供するのに使用するステップと、
前記クエリ入力への前記応答を、前記機械システムにおける障害を識別するのに使用するステップとをさらに含む、
請求項1に記載の方法。 The environment is a real-world environment, and the method is used to diagnose a malfunction in a mechanical system operating in the real-world environment.
The step of obtaining the context input includes obtaining one or more observation records of the machine system from one or more sensors, and processing the one or more observation records to generate a natural language representation of the one or more observation records.
The query input relates to the operation of the machine system,
The aforementioned method,
The steps include using the natural language representation of one or more observation records to provide one or more of the natural language statements of the contextual information,
The further step includes using the response to the query input to identify a fault in the machine system,
The method according to claim 1 .
特に、
(i)前記観測記録、(ii)前記観測記録を記述する前記自然言語テキスト、または(iii)両方、を処理して、前記観測記録に関連する、前記新たなファクトを決定するための1つもしくは複数の規則を特徴づける自然言語テキストを生成するように構成された第2の機械学習モデルを使って前記観測記録を処理することによって、前記コンテキスト入力における前記自然言語ステートメントのうちの少なくとも1つを生成するステップをさらに含む、
請求項1に記載の方法。 The process further includes the step of generating at least one of the natural language statements in the context input by processing the observation record using a first machine learning model configured to process the observation record and generate natural language text describing the observation record,
especially,
The step of generating at least one of the natural language statements in the context input by processing the observation record using a second machine learning model configured to process the observation record using (i) the observation record, (ii) the natural language text describing the observation record, or (iii) both, to generate natural language text characterizing one or more rules for determining the new fact related to the observation record, further comprising the step of generating at least one of the natural language statements in the context input,
The method according to claim 1 .
1つまたは複数の選択反復のシーケンスの各々において、前記コンテキスト情報からそれぞれの自然言語ステートメントを選択することを含み、前記選択することは、各選択反復において、
前記選択反復のための入力を生成することであって、前記入力は、前記コンテキスト入力、前記クエリ入力、および前記シーケンス中の前記選択反復に先行する任意の以前の選択反復において選択された任意の自然言語ステートメントを含む、ことと、
前記選択ニューラルネットワークを使って、前記選択反復のための前記入力を処理することによって、前記それぞれの自然言語ステートメントを選択することとを含む、
請求項1に記載の方法。 The step of using a selection neural network to process a selection input, including the context input and the query input, to generate a selection output for the update iteration, which includes one or more of the natural language statements in the context information,
Each of one or more sequences of selective iterations includes selecting a natural language statement from the context information, wherein in each selective iteration,
To generate an input for the selection iteration, wherein the input includes the context input, the query input, and any natural language statement selected in any previous selection iteration preceding the selection iteration in the sequence,
This includes selecting each of the natural language statements by processing the input for the selection iteration using the selection neural network,
The method according to claim 1 .
前記コンテキスト情報の中の自然言語ステートメントのセットの各々について、
前記選択ニューラルネットワークを使って前記選択反復のための前記入力を処理して、前記選択ニューラルネットワークによって前記自然言語ステートメントに割り当てられた尤度を決定することと、
前記自然言語ステートメントのセットから、尤度が最も高い前記自然言語ステートメントを選択することとを含む、
請求項16に記載の方法。 Selecting each of the natural language statements of the context information for the selection iteration is,
For each of the sets of natural language statements in the aforementioned context information,
The process involves using the selection neural network to process the input for the selection iteration and determining the likelihood assigned to the natural language statement by the selection neural network.
This includes selecting the natural language statement with the highest likelihood from the set of natural language statements.
The method according to claim 16.
前記選択入力は第1のフューショットプロンプトを含み、
前記推測入力は、第2の異なるフューショットプロンプトを含む、
請求項16に記載の方法。 The aforementioned selection neural network and the aforementioned inference neural network are the same neural network.
The aforementioned selection input includes a first fusion shot prompt,
The aforementioned guess input includes a second different fusion shot prompt,
The method according to claim 16 .
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202263342006P | 2022-05-13 | 2022-05-13 | |
| US63/342,006 | 2022-05-13 | ||
| EP22174372.7 | 2022-05-19 | ||
| EP22174372.7A EP4276693B1 (en) | 2022-05-13 | 2022-05-19 | Selection-inference neural network systems |
| PCT/EP2023/062781 WO2023218040A1 (en) | 2022-05-13 | 2023-05-12 | Selection-inference neural network systems |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2025517593A JP2025517593A (en) | 2025-06-10 |
| JP7849496B2 true JP7849496B2 (en) | 2026-04-21 |
Family
ID=86424717
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024555988A Active JP7849496B2 (en) | 2022-05-13 | 2023-05-12 | Selection-predictive neural network system |
Country Status (5)
| Country | Link |
|---|---|
| JP (1) | JP7849496B2 (en) |
| KR (1) | KR20240149923A (en) |
| AU (1) | AU2023267975B2 (en) |
| CA (1) | CA3246196A1 (en) |
| WO (1) | WO2023218040A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7714731B1 (en) * | 2024-05-16 | 2025-07-29 | ソフトバンクグループ株式会社 | Data processing device, data processing method, and data processing program |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200202194A1 (en) | 2017-10-13 | 2020-06-25 | Microsoft Technology Licensing, Llc | Providing a response in a session |
| JP2021111334A (en) | 2019-12-30 | 2021-08-02 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | Method of human-computer interactive interaction based on retrieval data, device, and electronic apparatus |
-
2023
- 2023-05-12 CA CA3246196A patent/CA3246196A1/en active Pending
- 2023-05-12 WO PCT/EP2023/062781 patent/WO2023218040A1/en not_active Ceased
- 2023-05-12 JP JP2024555988A patent/JP7849496B2/en active Active
- 2023-05-12 KR KR1020247029944A patent/KR20240149923A/en active Pending
- 2023-05-12 AU AU2023267975A patent/AU2023267975B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200202194A1 (en) | 2017-10-13 | 2020-06-25 | Microsoft Technology Licensing, Llc | Providing a response in a session |
| JP2021111334A (en) | 2019-12-30 | 2021-08-02 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | Method of human-computer interactive interaction based on retrieval data, device, and electronic apparatus |
Non-Patent Citations (1)
| Title |
|---|
| Ruben Cartuyvels et al.,"Autoregressive Reasoning over Chains of Facts with Transformers",arXiv [online],arXiv:2012.11321v1,2020年,[取得日 2025年10月20日], 取得先 <URL: https://arxiv.org/abs/2012.11321v1> |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023218040A1 (en) | 2023-11-16 |
| KR20240149923A (en) | 2024-10-15 |
| JP2025517593A (en) | 2025-06-10 |
| CA3246196A1 (en) | 2023-11-16 |
| AU2023267975A1 (en) | 2024-09-05 |
| AU2023267975B2 (en) | 2026-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12067491B2 (en) | Multi-agent reinforcement learning with matchmaking policies | |
| JP7551895B2 (en) | Offline Learning for Robot Control Using Reward Prediction Models | |
| CN112119404B (en) | Sample-Efficient Reinforcement Learning | |
| JP2025535683A (en) | Reward model-based reinforcement learning for performing inference tasks | |
| EP4014162B1 (en) | Controlling agents using causally correct environment models | |
| US20220036186A1 (en) | Accelerated deep reinforcement learning of agent control policies | |
| EP4111383B1 (en) | Learning options for action selection with meta-gradients in multi-task reinforcement learning | |
| JP2022548049A (en) | Data-driven robot control | |
| WO2018142212A1 (en) | Data-efficient reinforcement learning for continuous control tasks | |
| CN113330458B (en) | Using Potential Planning Control Agents | |
| JP7727091B2 (en) | Autoregressive generation of a sequence of data elements that defines the actions to be performed by the agent | |
| JP2026502834A (en) | Real-World Robot Control Using Transformer Neural Networks | |
| WO2024059337A1 (en) | Controlling robots using language model generated programs | |
| JP7849496B2 (en) | Selection-predictive neural network system | |
| US20230365146A1 (en) | Selection-inference neural network systems | |
| CN121359144A (en) | Using lexicalized target images to control the agent | |
| WO2024047108A1 (en) | Selection-inference neural network systems | |
| WO2025056810A1 (en) | Controlling robots using language model generated programs |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241118 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20251028 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20251031 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20251218 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20260123 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20260310 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260409 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7849496 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |