IP Library Granted Patent US 12,282,839
Granted Patent B2
US 12,282,839 · App. 17/529,067 · Granted Apr 22, 2025

Constraint based inference and machine learning system

Inventors: Joshua G. Fadaie (Saint Louis, MO); Richard Hanes (Ballwin, MO)
Assignee: The Boeing Company
G06N3/047G05B13/027G06N3/045
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,282,839
App. No.
17/529,067
Granted
Apr 22, 2025
Kind
B2
Abstract

A method including receiving a pre-determined constraint on user actions. A constraint vector is generated based on the pre-determined constraint. The constraint vector is input into a machine learning model. A first output is generated from the machine learning model by executing the machine learning model using the constraint vector as a first input to the machine learning model. The constraint vector is converted into a legal action mask. A probability vector is generated by executing a masked softmax operator. The masked softmax operator takes, as a second input, the first output. The masked softmax operator takes, as a third input, the legal action mask. The masked softmax operator generates, as a second output, the probabilities vector. Action outputs are generated by applying a sampling system to the probability vector. The action outputs include a subset of the user actions, and wherein the subset includes only allowed user actions.

Claims (77)

1. A method comprising:

receiving a pre-determined constraint on a plurality of user actions;

generating a constraint vector based on the pre-determined constraint;

inputting the constraint vector into a machine learning model;

generating a first output from the machine learning model by executing the machine learning model using the constraint vector as a first input to the machine learning model;

converting the constraint vector into a legal action mask;

generating a probability vector by executing a masked softmax operator, wherein:

the masked softmax operator takes, as a second input, the first output,

the masked softmax operator takes, as a third input, the legal action mask, and

the masked softmax operator generates, as a second output, the probabilities vector; and

generating a plurality of action outputs by applying a sampling system to the probability vector, wherein the plurality of action outputs comprise a subset of the plurality user actions, and wherein the subset includes only allowed user actions.

2. The method of claim 1 , wherein generating the constraint vector comprises:

converting the pre-determined constraint into a first machine learning vector;

receiving, from a user interface, a user-designated constraint to the plurality of user actions, the user-designated constraint received from a user;

converting the user-designated constraint into a second machine learning vector; and

combining the first machine learning vector and the second machine learning vector into the constraint vector.

3. The method of claim 2 , wherein combining comprises concatenating the first machine learning vector and the second machine learning vector.

4. The method of claim 1 , further comprising:

displaying, on a display device, both the subset of the plurality of user actions and the allowed user actions; and

highlighting the subset of the plurality of user actions.

5. The method of claim 1 , further comprising:

disabling a control of a machine, wherein use of the control is not one of the allowed user actions.

6. The method of claim 2 , wherein the pre-determined constraint comprises at least one of sensor data received contemporaneously with receiving the user designated constraint, sensor data received prior to receiving the user designated constraint, a constraint received over a communication device, and a pre-mission constraint related to a mission assigned to the user.

7. The method of claim 1 , wherein:

the legal action mask comprises a third vector having features comprising zeros or ones,

a corresponding constrained action is set to zero, and

a corresponding allowed action is set to one.

8. The method of claim 1 , further comprising:

transmitting the subset of the plurality of user actions to a computer operated by a second user; and

displaying constraints to a second plurality of user actions related to the second user, based on the subset of the plurality of user actions.

9. The method of claim 1 , wherein:

the pre-determined constraint comprises mission constraints that constrain the plurality of user actions based on forbidden actions specified by a second user.

10. The method of claim 1 , wherein:

the pre-determined constraint comprises system constraints that constrain the plurality of user actions based on sensed physical parameters of a vehicle operated at least in part by the user.

11. The method of claim 10 , wherein:

the sensed physical parameters are received from at least one sensor operably connected to the vehicle.

12. The method of claim 1 , wherein:

adding an updated constraint, received after receiving the pre-determined constraint, to the pre-determined constraint.

13. The method of claim 1 , wherein:

the pre-determined constraint comprises mission constraints that constrain the plurality of user actions based on forbidden actions specified by a second user;

the pre-determined constraint further comprises system constraints that constrain the plurality of user actions based on sensed physical parameters of a vehicle operated at least in part by the user;

the sensed physical parameters are received from at least one sensor operably connected to the vehicle; and

the pre-determined constraint further comprises an updated constraint received after initially receiving the pre-determined constraint.

14. A method comprising:

receiving a pre-determined constraint on a plurality of user actions;

converting the pre-determined constraint into a first machine learning vector;

receiving, from a user interface, a user-designated constraint to the plurality of user actions, the user-designated constraint received from a user;

converting the user-designated constraint into a second machine learning vector;

generating a constraint vector by concatenating the first machine learning vector and the second machine learning vector;

inputting the constraint vector into a first machine learning model;

generating a first output from the first machine learning model by executing the first machine learning model using the constraint vector as a first input to first the machine learning model;

converting the constraint vector into a legal action mask;

generating a first probability vector by executing a masked softmax operator, wherein:

the masked softmax operator takes, as a second input, the first output,

the masked softmax operator takes, as a third input, the legal action mask, and

the masked softmax operator generates, as a second output, the first probabilities vector;

generating a plurality of action outputs by applying a sampling system to the first probabilities vector, wherein the plurality of action outputs comprise a subset of the plurality of user actions, and wherein the subset includes only allowed user actions;

transmitting the constraint vector to a second vehicle operated by a second user;

calculating a second probabilities vector using a second machine learning model, wherein the second machine learning model uses at least the constraint vector as input; and

generating a plurality of second action outputs by applying a second sampling system to the second probabilities vector, wherein the plurality of second action outputs comprise a second subset of a plurality of second user actions of a second user operating the second vehicle, and wherein the second subset includes only second allowed user actions of the second user.

15. The method of claim 14 , further comprising:

disabling at least a portion of a sub-system of the second vehicle based on the second subset.

16. The method of claim 14 , wherein:

calculating the second probabilities vector further comprises using a second pre-determined constraint as input to the second machine learning model; and

the second pre-determined constraint comprises mission constraints that constrain the plurality of second user actions based on forbidden actions specified by a third user.

17. The method of claim 14 , wherein:

calculating the second probabilities vector further comprises using a second pre-determined constraint as input to the second machine learning model;

the second pre-determined constraint comprises system constraints that constrain the plurality of second user actions based on second sensed physical parameters of the second vehicle; and

the second sensed physical parameters are received from second sensors operably connected to the second vehicle.

18. The method of claim 14 , wherein:

calculating the second probabilities vector further comprises using a second pre-determined constraint as input to the second machine learning model; and

the second pre-determined constraint comprises a second updated constraint received by the second vehicle after receiving the second pre-determined constraint.

19. The method of claim 14 , wherein the pre-determined constraint comprises at least one of sensor data received contemporaneously with receiving a user designated constraint, sensor data received prior to receiving the user designated constraint, a constraint received over a communication device, and a pre-mission constraint related to a mission assigned to the user.

20. The method of claim 14 , wherein:

the legal action mask comprises a third vector having features comprising zeros or ones,

a corresponding constrained action is set to zero, and

a corresponding allowed action is set to one.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2021
From: FADAIE, JOSHUA G.; HANES, RICHARD
To: THE BOEING COMPANY
Reel/Frame 058362/0970 →
Continuity (2)
Provisional Application 63118495 · Nov 25, 2020
Related Publication 20220164636A1 · May 26, 2022
References Cited (17)
US 20180120843A1 · Berntorp · 2018 [cited by examiner]
US 20180307745A1 · Bachrach · 2018 [cited by examiner]
US 20190220652A1 · Li · 2019 [cited by examiner]
US 20190354858A1 · Chrzanowski · 2019 [cited by examiner]
US 20190370660A1 · Wong · 2019 [cited by examiner]
US 20200233920A1 · Meeds · 2020 [cited by examiner]
US 20200394559A1 · Zhang · 2020 [cited by examiner]
US 20210064983A1 · Mai · 2021 [cited by examiner]
US 20210295200A1 · Saito · 2021 [cited by examiner]
US 20210374343A1 · Li · 2021 [cited by examiner]
US 20210374352A1 · Li · 2021 [cited by examiner]
US 20210406765A1 · Zhang · 2021 [cited by examiner]
US 20220164636A1 · Fadaie · 2022 [cited by examiner]
US 20230308621A1 · Chupeau · 2023 [cited by examiner]
GitHub.com: allenai/allennlp; An explanation of the masked-softmax technique: https://github.com/allenai/allennlp/blob/b6cc9d39651273e8ec2a7e334908ffa9de5c2026/allennlp/nn/util.py#L272-L303; Retrieved from the Internet … [cited by applicant]
Silver, D. et al., “Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm”; https://arxiv.org/pdf/1712.01815v1 [cs.Al] Dec. 5, 2017 (19 pages). [cited by applicant]
Reddit—Explanation of masking/softmax-masking techniques; “Question about AlphaGo Zero: r/reinforcementlearning”; https://www.reddit.com/r/reinforcementlearning/comments/80pca7/question_about_alphago_zero/duxlj8y/; Retr… [cited by applicant]