IP Library Granted Patent US 12,306,629
Granted Patent B2
US 12,306,629 · App. 18/587,492 · Granted May 20, 2025

Artificial neural network integrity verification

Inventors: Alberto Troia (Munich, DE); Antonino Mondello (Messina, IT); Michelangelo Pisasale (Catania, IT)
G05D1/0088G05D1/228G06F11/1012G06F17/16G06F21/00G06N3/063H04L9/3239H04L9/3242
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,306,629
App. No.
18/587,492
Granted
May 20, 2025
Kind
B2
Abstract

An example method comprises receiving a number of inputs to a system employing an artificial neural network (ANN), wherein the ANN comprises a number of ANN partitions each having respective weight matrix data and bias data corresponding thereto stored in a memory. The method includes: determining an ANN partition to which the number of inputs correspond, reading, from the memory the weight matrix data and bias data corresponding to the determined ANN partition, and a first cryptographic code corresponding to the determined ANN partition; generating, using the weight matrix data and bias data read from the memory, a second cryptographic code corresponding to the determined ANN partition; determining whether the first cryptographic code and the second cryptographic code match; and responsive to determining a mismatch between the first cryptographic code and the second cryptographic code, issuing an indication of the mismatch to a controller of the system.

Claims (53)

1. An apparatus, comprising:

a memory storing weight matrix data and bias data corresponding to a number of artificial neural network (ANN) partitions;

a first controller configured to:

determine a particular ANN partition to which a number of inputs correspond; and

read, from the memory:

the weight matrix data and bias data corresponding to the particular ANN partition; and

a first cryptographic code corresponding to the particular ANN partition; and

a second controller configured to:

generate a second cryptographic code corresponding to the particular ANN partition using the weight matrix data and bias data;

perform a comparison of the first cryptographic code and the second cryptographic code; and

responsive to determining a mismatch between the first cryptographic code and the second cryptographic code, issue an indication of the mismatch to a primary controller.

2. The apparatus of claim 1 , wherein the first controller is an artificial intelligence (AI) controller configured to elaborate the number of inputs.

3. The apparatus of claim 2 , wherein the second controller is a safety controller.

4. The apparatus of claim 2 , wherein the memory is a first memory, and wherein the first controller is configured to store the weight matrix data and bias data read from the first memory in a second memory to which the first controller and the second controller are coupled.

5. The apparatus of claim 4 , wherein the first memory is a non-volatile memory, and wherein the second memory is a volatile memory serving as a main memory for the first controller and the second controller.

6. The apparatus of claim 1 , wherein the first controller is configured to train the ANN.

7. The apparatus of claim 1 , wherein the primary controller is configured to receive the number of inputs from a number of sensors.

8. The apparatus of claim 1 , wherein the apparatus is within an autonomous vehicle.

9. The apparatus of claim 1 , wherein the apparatus is configured to:

receive an update to the weight matrix data and bias data stored in the memory;

replace the weight matrix data and bias data stored in the memory with updated weight matrix data and bias data; and

generate updated cryptographic codes for a corresponding ANN partition based on the updated weight matrix data and bias data.

10. The apparatus of claim 1 , wherein the first cryptographic code is a digest resulting from a hash between the weight matrix data and bias data.

11. A method, comprising:

storing, in a memory, weight matrix data and bias data corresponding to a number of artificial neural network (ANN) partitions; and

responsive to receiving a number of inputs to a system comprising the memory and the ANN:

determining, via a first controller, a particular ANN partition to which a number of inputs correspond;

reading, from the memory and via the first controller:

the weight matrix data and bias data corresponding to the particular ANN partition; and

a first cryptographic code corresponding to the particular ANN partition;

generating, via a second controller and using the weight matrix data and bias data read from the memory, a second cryptographic code corresponding to the particular ANN partition; and

performing, via the second controller, a comparison of the first cryptographic code and the second cryptographic code; and

responsive to determining a mismatch between the first cryptographic code and the second cryptographic code, issuing an indication of the mismatch to a primary controller.

12. The method of claim 11 , including issuing the indication of the mismatch from the second controller to the primary controller.

13. The method of claim 11 , wherein generating the first cryptographic code comprises performing a hash function.

14. The method of claim 13 , wherein generating the second cryptographic code comprises performing the hash function.

15. The method of claim 11 , including training the ANN via the first controller.

16. The method of claim 11 , including responsive to receiving updated weight matrix data, performing an authentication process prior to elaborating a subsequent number of inputs received by the system.

17. The method of claim 11 , including performing an elaboration, via the first controller, of the number of inputs while the second controller is performing the comparison of the first cryptographic code and the second cryptographic code.

18. The method of claim 17 , including preventing a result of the elaboration from being sent from the first controller to the primary controller responsive to the determined mismatch.

19. An autonomous vehicle employing an artificial neural network (ANN) having a plurality of ANN partitions, the vehicle comprising:

a memory storing weigh matrix data and bias data corresponding to the plurality of ANN partitions; and

a plurality of controllers configured to:

determine a particular ANN partition to which a number of received inputs correspond;

read, from the memory:

a first cryptographic code corresponding to the particular ANN partition; and

the weight matrix data and bias data corresponding to the particular ANN partition; and

generate, using the weight matrix data and bias data read from the memory, a second cryptographic code corresponding to the particular ANN partition; and

while the number of received inputs are being elaborated, perform a comparison of the first cryptographic code and the second cryptographic code; and

prevent a result of the elaboration from being provided to a primary controller responsive to the comparison resulting in a determined mismatch between the first cryptographic code and the second cryptographic code.

20. The autonomous vehicle of claim 19 , wherein the plurality of controllers include:

an artificial intelligence controller configured to elaborate the number of received inputs; and

a safety controller configured to perform the comparison.

Continuity (4)
Continuation 17953266 · Sep 26, 2022
Continuation 16229044 · Dec 21, 2018
Provisional Application 62636214 · Feb 28, 2018
Related Publication 20240192684A1 · Jun 13, 2024
References Cited (9)
US 7577623B2 · Genty et al. · 2009 [cited by applicant]
US 20060242424A1 · Kitchens et al. · 2006 [cited by applicant]
US 20140215621A1 · Xaypanya et al. · 2014 [cited by applicant]
US 20160285866A1 · Allen et al. · 2016 [cited by applicant]
US 20160350648A1 · Gilad-Bachrach et al. · 2016 [cited by applicant]
US 20170091573A1 · Ruan · 2017 [cited by examiner]
US 20170193361A1 · Chilimbi et al. · 2017 [cited by applicant]
US 20170206449A1 · Lain · 2017 [cited by examiner]
US 20170372201A1 · Gupta · 2017 [cited by examiner]