IP Library › Granted Patent US 12,124,947
Granted Patent B2
US 12,124,947 · App. 17/106,619 · Granted Oct 22, 2024

System, method, and computer program product for determining adversarial examples

Inventors: Yuhang Wu (Santa Clara, CA); Sunpreet Singh Arora (San Jose, CA); Yanhong Wu (Mountain View, CA); Hao Yang (San Jose, CA)
Assignee: Visa International Service Association
G06N3/08G06F18/2411G06N3/045G06N3/048
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,124,947
App. No.
17/106,619
Granted
Oct 22, 2024
Kind
B2
Abstract

Provided are systems for determining adversarial examples that include at least one processor to determine a first additional input from a plurality of additional inputs based on a proximity of the first additional input to an initial input, determine a second additional input from the plurality of additional inputs based on a proximity of the second additional input to the first additional input, generate a first vector embedding, a second vector embedding and a third vector embedding based on the second additional input, generate a first relational embedding, a second relational embedding, and a third relational embedding based on the third vector embedding and the first vector embedding, concatenate the first relational embedding, the second relational embedding, and the third relational embedding to provide a concatenated version, and determine whether the first input is an adversarial example based on the concatenated version. Methods and computer program products are also provided.

Claims (151)

1. A system for determining adversarial examples, comprising:

at least one processor programmed or configured to:

receive an initial input;

select a first additional input from a plurality of additional inputs having a classification based on a proximity of the first additional input to the initial input;

select a second additional input from the plurality of additional inputs having the classification based on a proximity of the second additional input to the first additional input;

generate a first vector embedding based on the initial input;

generate a second vector embedding based on the first additional input;

generate a third vector embedding based on the second additional input;

generate a first relational embedding based on the first vector embedding and the second vector embedding, wherein, when generating the first relational embedding, the at least one processor is programmed or configured to:

concatenate the first vector embedding and the second vector embedding to provide a concatenated version of the first vector embedding and the second vector embedding;

provide the concatenated version of the first vector embedding and the second vector embedding as a first input to a machine learning model;

generate a first output of the machine learning model based on the first input; and

extract a first layer of the machine learning model, wherein the first layer comprises the first relational embedding;

generate a second relational embedding based on the second vector embedding and the third vector embedding, wherein, when generating the second relational embedding, the at least one processor is programmed or configured to:

concatenate the second vector embedding and the third vector embedding to provide a concatenated version of the second vector embedding and the third vector embedding;

provide the concatenated version of the second vector embedding and the third vector embedding as a second input to the machine learning model;

generate a second output of the machine learning model based on the second input; and

extract a second layer of the machine learning model, wherein the second layer comprises the second relational embedding;

generate a third relational embedding based on the third vector embedding and the first vector embedding, wherein, when generating the third relational embedding, the at least one processor is programmed or configured to:

concatenate the first vector embedding and the third vector embedding to provide a concatenated version of the first vector embedding and the third vector embedding;

provide the concatenated version of the first vector embedding and the third vector embedding as a third input to the machine learning model;

generate a third output of the machine learning model based on the third input; and

extract a third layer of the machine learning model, wherein the third layer comprises the third relational embedding;

concatenate the first relational embedding, the second relational embedding, and the third relational embedding to provide a concatenated relational embedding, wherein the concatenated relational embedding comprises a concatenated version of the first relational embedding, the second relational embedding, and the third relational embedding; and

determine whether the initial input is an adversarial example based on the concatenated relational embedding.

2. The system of claim 1 , wherein, when generating the first vector embedding, the at least one processor is programmed or configured to:

provide the initial input as a first input to an initial machine learning model;

generate a first output of the initial machine learning model based on the first input; and

extract a first layer of the initial machine learning model, wherein the first layer comprises the first vector embedding;

wherein, when generating the second vector embedding, the at least one processor is programmed or configured to:

provide the first additional input as a second input to the initial machine learning model;

generate a second output of the initial machine learning model based on the second input; and

extract a second layer of the initial machine learning model, wherein the second layer comprises the second vector embedding; and

wherein, when generating the third vector embedding, the at least one processor is programmed or configured to:

provide the second additional input as a third input to the initial machine learning model;

generate a third output of the initial machine learning model based on the third input; and

extract a third layer of the initial machine learning model, wherein the third layer comprises the third vector embedding.

3. The system of claim 2 , wherein the initial machine learning model comprises a convolutional neural network.

4. The system of claim 1 , wherein the machine learning model comprises a multilayer perceptron.

5. The system of claim 1 , wherein, when determining whether the initial input is an adversarial example, the at least one processor is programmed or configured to:

provide the concatenated relational embedding as an input to a machine learning model;

generate an output of the machine learning model, wherein the output comprises a prediction that indicates whether the initial input is an adversarial example; and

determine whether the initial input is an adversarial example based on the prediction.

6. The system of claim 5 , wherein the machine learning model comprises a multilayer perceptron.

7. The system of claim 1 , wherein, when generating the first vector embedding, the at least one processor is programmed or configured to:

provide the initial input as a first input to an initial machine learning model;

generate a first output of the initial machine learning model based on the first input;

extract a first layer of the initial machine learning model, wherein the first layer comprises a preliminary first vector embedding;

concatenate the preliminary first vector embedding, the second vector embedding, and the third vector embedding to provide a concatenated version of the preliminary first vector embedding, the second vector embedding, and the third vector embedding;

provide the concatenated version of the preliminary first vector embedding, the second vector embedding, and the third vector embedding as an input to an additional machine learning model; generate an output of the additional machine learning model based on the input, wherein the output of the additional machine learning model comprises an updated initial input;

provide the updated initial input as a second input to the initial machine learning model;

generate a second output of the initial machine learning model based on the second input; and

extract a second layer of the initial machine learning model, wherein the second layer comprises the first vector embedding.

8. A computer-implemented method for determining adversarial examples, the method comprising:

selecting, with at least one processor, a first additional input from a plurality of additional inputs having a classification based on a proximity of the first additional input to an initial input;

selecting, with the at least one processor, a second additional input from the plurality of additional inputs having the classification based on a proximity of the second additional input to the first additional input;

generating, with the at least one processor, a first vector embedding based on the initial input, a second vector embedding based on the first additional input, and a third vector embedding based on the second additional input;

generating, with the at least one processor, a first relational embedding based on the first vector embedding and the second vector embedding, wherein generating the first relational embedding comprises:

concatenating the first vector embedding and the second vector embedding to provide a concatenated version of the first vector embedding and the second vector embedding;

providing the concatenated version of the first vector embedding and the second vector embedding as a first input to a machine learning model;

generating a first output of the machine learning model based on the first input; and

extracting a first layer of the machine learning model, wherein the first layer comprises the first relational embedding;

generating, with the at least one processor, a second relational embedding based on the second vector embedding and the third vector embedding, wherein generating the second relational embedding comprises:

concatenating the second vector embedding and the third vector embedding to provide a concatenated version of the second vector embedding and the third vector embedding;

providing the concatenated version of the second vector embedding and the third vector embedding as a second input to the machine learning model;

generating a second output of the machine learning model based on the second input; and

extracting a second layer of the machine learning model, wherein the second layer comprises the second relational embedding;

generating, with the at least one processor, a third relational embedding based on the third vector embedding and the first vector embedding, wherein generating the third relational embedding comprises:

concatenating the first vector embedding and the third vector embedding to provide a concatenated version of the first vector embedding and the third vector embedding;

providing the concatenated version of the first vector embedding and the third vector embedding as a third input to the machine learning model;

generating a third output of the machine learning model based on the third input; and

extract a third layer of the machine learning model, wherein the third layer comprises the third relational embedding;

concatenating, with the at least one processor, the first relational embedding, the second relational embedding, and the third relational embedding to generate a concatenated relational embedding; and

determining, with the at least one processor, that the initial input is an adversarial example based on the concatenated relational embedding.

9. The computer-implemented method of claim 8 , wherein generating the first vector embedding comprises:

providing the initial input as a first input to an initial machine learning model;

generating a first output of the initial machine learning model based on the first input; and

extracting a first layer of the initial machine learning model, wherein the first layer comprises the first vector embedding;

wherein generating the second vector embedding comprises:

providing the first additional input as a second input to the initial machine learning model;

generating a second output of the initial machine learning model based on the second input; and

extracting a second layer of the initial machine learning model, wherein the second layer comprises the second vector embedding; and

wherein generating the third vector embedding comprises:

providing the second additional input as a third input to the initial machine learning model;

generating a third output of the initial machine learning model based on the third input; and

extracting a third layer of the initial machine learning model, wherein the third layer comprises the third vector embedding.

10. The computer-implemented method of claim 8 , wherein determining whether the initial input is an adversarial example comprises:

providing the concatenated relational embedding as an input to a machine learning model;

generating an output of the machine learning model, wherein the output comprises a prediction that indicates whether the initial input is an adversarial example; and

determining whether the initial input is an adversarial example based on the prediction.

11. The computer-implemented method of claim 8 , wherein generating the first vector embedding comprises:

providing the initial input as a first input to an initial machine learning model;

generating a first output of the initial machine learning model based on the first input;

extracting a first layer of the initial machine learning model, wherein the first layer comprises a preliminary first vector embedding;

concatenating the preliminary first vector embedding, the second vector embedding, and the third vector embedding to provide a concatenated version of the preliminary first vector embedding, the second vector embedding, and the third vector embedding;

providing the concatenated version of the preliminary first vector embedding, the second vector embedding, and the third vector embedding as an input to an additional machine learning model;

generating an output of the additional machine learning model based on the input, wherein the output of the additional machine learning model comprises an updated initial input;

providing the updated initial input as a second input to the initial machine learning model;

generating a second output of the initial machine learning model based on the second input; and

extracting a second layer of the initial machine learning model, wherein the second layer comprises the first vector embedding.

12. A computer program product for determining adversarial examples, the computer program product comprising at least one non-transitory computer-readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to:

select a first additional input from a plurality of additional inputs having a classification based on a proximity of the first additional input to an initial input;

select a second additional input from the plurality of additional inputs having the classification based on a proximity of the second additional input to the first additional input;

generate a first vector embedding based on the initial input;

generate a second vector embedding based on the first additional input;

generate a third vector embedding based on the second additional input;

generate a first relational embedding based on the first vector embedding and the second vector embedding, wherein, the one or more instructions that cause the at least one processor to generate the first relational embedding, cause the at least one processor to:

concatenate the first vector embedding and the second vector embedding to provide a concatenated version of the first vector embedding and the second vector embedding;

provide the concatenated version of the first vector embedding and the second vector embedding as a first input to a machine learning model;

generate a first output of the machine learning model based on the first input; and

extract a first layer of the machine learning model, wherein the first layer comprises the first relational embedding;

generate a second relational embedding based on the second vector embedding and the third vector embedding, wherein, the one or more instructions that cause the at least one processor to generate the second relational embedding, cause the at least one processor to:

concatenate the second vector embedding and the third vector embedding to provide a concatenated version of the second vector embedding and the third vector embedding;

provide the concatenated version of the second vector embedding and the third vector embedding as a second input to the machine learning model;

generate a second output of the machine learning model based on the second input; and

extract a second layer of the machine learning model, wherein the second layer comprises the second relational embedding;

generate a third relational embedding based on the third vector embedding and the first vector embedding, wherein, the one or more instructions that cause the at least one processor to generate the third relational embedding, cause the at least one processor to:

concatenate the first vector embedding and the third vector embedding to provide a concatenated version of the first vector embedding and the third vector embedding;

provide the concatenated version of the first vector embedding and the third vector embedding as a third input to the machine learning model;

generate a third output of the machine learning model based on the third input; and

extract a third layer of the machine learning model, wherein the third layer comprises the third relational embedding;

concatenate the first relational embedding, the second relational embedding, and the third relational embedding to generate a concatenated relational embedding; and

determine whether the initial input is an adversarial example based on the concatenated relational embedding.

13. The computer program product of claim 12 , wherein, the one or more instructions that cause the at least one processor to generate the first vector embedding, cause the at least one processor to:

provide the initial input as a first input to an initial machine learning model;

generate a first output of the initial machine learning model based on the first input; and

extract a first layer of the initial machine learning model, wherein the first layer comprises the first vector embedding;

wherein, the one or more instructions that cause the at least one processor to generate the second vector embedding, cause the at least one processor to:

provide the first additional input as a second input to the initial machine learning model;

generate a second output of the initial machine learning model based on the second input; and

extract a second layer of the initial machine learning model, wherein the second layer comprises the second vector embedding; and

wherein, the one or more instructions that cause the at least one processor to generate the third vector embedding, cause the at least one processor to:

provide the second additional input as a third input to the initial machine learning model;

generate a third output of the initial machine learning model based on the third input; and

extract a third layer of the initial machine learning model, wherein the third layer comprises the third vector embedding.

14. The computer program product of claim 13 , wherein the initial machine learning model comprises a convolutional neural network.

15. The computer program product of claim 14 , wherein the machine learning model comprises a multilayer perceptron.

16. The computer program product of claim 12 , wherein, the one or more instructions that cause the at least one processor to determine whether the initial input is an adversarial example, cause the at least one processor to:

provide the concatenated relational embedding as an input to a machine learning model;

generate an output of the machine learning model, wherein the output comprises a prediction that indicates whether the initial input is an adversarial example; and

determine whether the initial input is an adversarial example based on the prediction.

17. The computer program product of claim 12 , wherein, the one or more instructions that cause the at least one processor to generate the first vector embedding, cause the at least one processor to:

provide the initial input as a first input to an initial machine learning model;

generate a first output of the initial machine learning model based on the first input;

extract a first layer of the initial machine learning model, wherein the first layer comprises a preliminary first vector embedding;

concatenate the preliminary first vector embedding, the second vector embedding, and the third vector embedding to provide a concatenated version of the preliminary first vector embedding, the second vector embedding, and the third vector embedding;

provide the concatenated version of the preliminary first vector embedding, the second vector embedding, and the third vector embedding as an input to an additional machine learning model;

generate an output of the additional machine learning model based on the input, wherein the output of the additional machine learning model comprises an updated initial input;

provide the updated initial input as a second input to the initial machine learning model;

generate a second output of the initial machine learning model based on the second input; and

extract a second layer of the initial machine learning model, wherein the second layer comprises the first vector embedding.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2021
From: WU, YUHANG; ARORA, SUNPREET SINGH; WU, YANHONG; YANG, HAO
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 058366/0690 →
Continuity (3)
Provisional Application 63075537 · Sep 8, 2020
Provisional Application 62941917 · Nov 29, 2019
Related Publication 20210166122A1 · Jun 3, 2021
Cited By (1)
US 12,511,871