IP Library Granted Patent US 11,855,970
Granted Patent B2
US 11,855,970 · App. 17/939,351 · Granted Dec 26, 2023

Systems and methods for blind multimodal learning

Inventors: Gharib Gharibi (Overland Park, MO); Greg Storm (Kansas City, MO); Ravi Patel (Kansas City, MO); Riddhiman Das (Parkville, MO)
Assignee: TripleBlind, Inc.
H04L63/0428G06F16/13G06F17/16G06F18/2113G06F18/24G06F21/6245G06N3/04G06N3/048G06N3/082G06N3/098H04L9/008H04L9/0625H04L2209/46
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 11,855,970
App. No.
17/939,351
Granted
Dec 26, 2023
Kind
B2
Abstract

A system and method are disclosed for providing a private multi-modal artificial intelligence platform. The method includes splitting a neural network into a first client-side network, a second client-side network and a server-side network and sending the first client-side network to a first client. The first client-side network processes first data from the first client, the first data having a first type. The method includes sending the second client-side network to a second client. The second client-side network processes second data from the second client, the second data having a second type. The first type and the second type have a common association. Forward and back propagation occurs between the client side networks and disparate data types on the different client side networks and the server-side network to train the neural network.

Claims (45)

1. A method comprising:

creating, at a server device and based on assembled data from n client devices, a neural network having n bottom portions and a top portion, wherein the assembled data comprises different types of data;

transmitting, from the server device, each respective bottom portion of the n bottom portions to a respective client device of n client devices;

during a training iteration for training the neural network:

accepting, at the server device, a respective output from each respective bottom portion of the neural network to yield a plurality of respective outputs;

joining the plurality of respective outputs at a fusion layer on the server device to generate fused respective outputs;

passing the fused respective outputs to the top portion of the neural network;

carrying out a forward propagation step at the top portion of neural network;

calculating a loss value after the forward propagation step;

calculating a set of gradients of the loss value with respect to server-side model parameters; and

passing, from the server device, respective subsets of set of gradients of the fusion layer from the server device to a respective client device of the n client devices, wherein each of the n client devices calculates a local set of gradients corresponding to their local models, which is used to update local parameters associated with respective local models on the respective client device to yield a respective trained bottom portion of the neural network; and

after training, receiving and combining the respective trained bottom portion of the neural network from each respective client device into a combined model.

2. The method of claim 1 , wherein each of the n bottom portions of the neural network specializes in being trained in a different data modality.

3. The method of claim 1 , wherein the different types of data comprise two or more of an image, text, a video or a table.

4. The method of claim 1 , wherein each respective bottom portion of the neural network is trained on a respective different data modality.

5. The method of claim 1 , further comprising:

transmitting the combined model to a model owner associated with at least one of the server device, a respective client device or a separate computing device.

6. The method of claim 1 , wherein each respective bottom portion of the neural network is configured to be trained on the respective client device based on a different type of dataset.

7. The method of claim 1 , wherein joining the plurality of the respective outputs at the fusion layer on the server device to generate the fused respective outputs further comprises joining the plurality of the respective outputs into one layer which is then passed as a first layer to the top portion of the neural network.

8. The method of claim 1 , wherein passing respective subsets of set of gradients of the fusion layer from the server device to each client device of the n client devices to generate the respective trained bottom portion of the neural network on each respective client device further comprises a back propagation process wherein the set of gradients are generated from a back propagation at the top portion of the neural network.

9. The method of claim 1 , wherein the n bottom portions of the neural network and the top portion of the neural network are joined together to comprise a global model.

10. The method of claim 9 , wherein creating the n bottom portions of the neural network and creating the top portion of the neural network comprising splitting the global model into two parts.

11. The method of claim 1 , wherein each respective bottom portion of the neural network trained on the respective client device is different based on respective data available for training at each respective client device.

12. The method of claim 1 , wherein a data transformation occurs on at least one respective client device of the n client devices to enable the data to be consumable by the respective bottom portion of the neural network on each respective client device.

13. The method of claim 12 , wherein the data transformation comprises one or more of data transformation processes such as a resizing process or a normalization process.

14. The method of claim 1 , wherein combining the respective trained bottom portion of the neural network from each respective client device into the combined model is further performed utilizing a respective decorrelation loss value received from each respective client device of the n client devices.

15. A system comprising:

a processor; and

a computer-readable storage device storing instructions which, when executed by the processor, cause the processor to perform operations comprising:

creating, at a server device and based on assembled data from n client devices, a neural network having n bottom portions and a top portion, wherein the assembled data comprises data of different types of data;

transmitting, from the server device, each respective bottom portion of the n bottom portions to a respective client device of n client devices;

during a training iteration for training the neural network:

accepting, at the server device, a respective output from each respective bottom portion of the neural network to yield a plurality of respective outputs;

joining the plurality of respective outputs at a fusion layer on the server device to generate fused respective outputs;

passing the fused respective outputs to the top portion of the neural network;

carrying out a forward propagation step at the top portion of neural network;

calculating a loss value after the forward propagation step;

calculating a set of gradients of the loss value with respect to server-side model parameters; and

passing, from the server device, respective subsets of set of gradients of the fusion layer from the server device to a respective client device of the n client devices, wherein each of the n client devices calculates a local set of gradients corresponding to their local models, which is used to update local parameters associated with respective local models on the respective client device to yield a respective trained bottom portion of the neural network; and

after training, receiving and combining the respective trained bottom portion of the neural network from each respective client device into a combined model.

16. The system of claim 15 , wherein each respective bottom portion of the neural network specializes in being trained in a different data modality.

17. The system of claim 16 , wherein the different data modality comprises one or more of an image, text, a video or a table.

18. The system of claim 15 , wherein each respective bottom portion of the neural network is trained on a respective different data modality.

19. The system of claim 15 , wherein the computer-readable storage device stores additional instructions which, when executed by the processor, cause the processor to perform operations further comprising:

transmitting the combined model to a model owner associated with at least one of the server device, a respective client device or a separate computing device.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2024
From: TRIPLEBLIND HOLDINGS, INC.
To: SELFIIE CORPORATION
Reel/Frame 068907/0556 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE SHOULD BE CORRECTED FROM TRIPLEBLIND HOLDING COMPANY TO TRIPLEBLIND HOLDINGS, INC. PREVIOUSLY RECORDED AT REEL: 67568 FRAME: 689. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 24, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDINGS, INC.
Reel/Frame 068722/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDING COMPANY
Reel/Frame 067568/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2023
From: GHARIBI, GHARIB; STORM, GREG; PATEL, RAVI; DAS, RIDDHIMAN
To: TRIPLEBLIND, INC.
Reel/Frame 065555/0203 →
Continuity (12)
Continuation 17743887 · May 13, 2022
Continuation 17742808 · May 12, 2022
Continuation 17180475 · Feb 19, 2021
Continuation In Part 17176530 · Feb 16, 2021
Continuation In Part 16828085 · Mar 24, 2020
Continuation 16828354 · Mar 24, 2020
Continuation In Part 16828420 · Mar 24, 2020
Continuation In Part 16828216 · Mar 24, 2020
Provisional Application 63241255 · Sep 7, 2021
Provisional Application 63020930 · May 6, 2020
Provisional Application 62948105 · Dec 13, 2019
Related Publication 20230074339A1 · Mar 9, 2023