IP Library › Granted Patent US 12,731,146
Granted Patent B2
US 12,731,146 · App. 17/691,402 · Granted Sep 8, 2026

System, method, and computer program product for determining a reason for a deep learning model output

Inventors: Hangqi Zhao (Seattle, WA); Sheng Wang (Austin, TX); Dan Wang (Austin, TX); Yiwei Cai (Mercer Island, WA); Claudia Carolina Barcenas Cardenas (Austin, TX)
Assignee: Visa International Service Association
G06Q20/4016G06F17/16G06F17/18G06N3/045G06N3/08
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,731,146
App. No.
17/691,402
Granted
Sep 8, 2026
Kind
B2
Abstract

A system, method, and product for determining a reason for a deep learning model output that obtain training data associated with training samples and first labels for the training samples; train a first model using the training samples and the first labels, training the first model generating predictions for the training samples; train a second model using the training samples and the predictions as second labels for the training samples; extract one or more weights of the trained second model; process, using the first model, input data including features associated with at least one sample, to generate output data, the output data including at least one prediction for the at least one sample; and apply the one or more extracted weights to the features to determine one or more contributions of one or more features of the features to the at least one prediction for the at least one sample.

Claims (310)

1 . A computer-implemented method comprising:

obtaining, with at least one processor, training data associated with a plurality of training samples and a plurality of first labels for the plurality of training samples;

training, with the at least one processor, a first neural network by:

providing, as input to the first neural network, the plurality of training samples,

receiving, as output from the first neural network, a plurality of first predictions for the plurality of training samples, wherein the plurality of first predictions includes a plurality of first probabilities that a plurality of transactions associated with the plurality of training samples are fraudulent transactions, and

modifying one or more first weights of the first neural network according to a first objective function that depends on the plurality of first labels and the plurality of first predictions to generate a first trained neural network;

training, with the at least one processor, a second neural network that has fewer hidden layers than the first neural network by:

providing as input to the second neural network, the plurality of training samples,

receiving, as output from the second neural network, a plurality of second predictions for the plurality of training samples, wherein the plurality of second predictions includes a plurality of second probabilities that the plurality of transactions associated with the plurality of training samples are fraudulent transactions, and

modifying one or more second weights associated with hidden units of at least one hidden layer of the second neural network according to a second objective function that depends on the plurality of first predictions as a plurality of second labels for the plurality of training samples and the plurality of second predictions to generate a second trained neural network;

extracting, with the at least one processor, from the second trained neural network, the one or more modified second weights associated with the hidden units of the at least one hidden layer of the trained second neural network;

obtaining, with the at least one processor, transaction data including a plurality of features x i associated with a transaction currently being processed in a transaction processing network;

processing, with the at least one processor, using the trained first neural network, the transaction data including the plurality of features x i associated with the transaction to generate a prediction for the transaction;

applying, by the at least one processor, in real-time during processing of the at least one transaction in the transaction processing network, the one or more modified second weights extracted from the trained second neural network to the plurality of features x i to generate a contribution score for each feature x i of the plurality of features x i to the prediction for the transaction generated by the first neural network by calculating a score for each path of a plurality of paths of each feature x i through the trained second neural network based on the one or more modified second weights extracted from the trained second neural network and at least one activation function, and summing each score for each path of the plurality of paths to determine the contribution score for that feature x i , and

providing, with the at least one processor, to a user device, in real-time during processing of the at least one transaction in the transaction processing network, the prediction and the contribution score for each feature x i as an indication of a contribution of that feature x i to the prediction.

2 . The computer-implemented method of claim 1 , wherein the first neural network includes a deep learning model including a greater number of hidden layers than the second neural network.

3 . The computer-implemented method of claim 1 , further comprising:

storing, with the at least one processor, in a memory, the one or more modified second weights removed from the trained second neural network.

4 . The computer-implemented method of claim 1 , wherein processing, using the trained first neural network, the transaction data including the plurality of features x i associated with the transaction includes:

providing, as input to the trained first neural network, the plurality of features x i associated with the transaction,

receiving, as output from the trained first neural network, output data including the prediction for the transaction, wherein the prediction includes a probability that the transaction is a fraudulent transaction; and

authorizing or denying, in the transaction processing network, based on the prediction including the probability that the transaction is a fraudulent transaction, the transaction.

5 . The computer-implemented method of claim 4 , wherein the one or more modified second weights include: weights for hidden units h j in a hidden layer of the trained second neural network, weights for activation units a j in an activation layer of the trained second neural network, weights for output units y m in an output layer of the trained second neural network, a weight matrix u ij applied to a feature x i on a path to a hidden unit h j of the trained second neural network, and a weight matrix v jm applied to an output of an activation unit a j on a path to an output unit y m .

6 . The computer-implemented method of claim 5 , wherein the contribution score Contribution (x i →y m ) for each feature x i of the plurality of features x i to the prediction for the transaction received as output from the first neural network is determined according to the following Equations (1) to (4):

h

j

=

∑

i

=

1

K

x

i

*

u

ij

(

1

)

a

j

=

max

⁡

(

0

,

h

j

)

(

2

)

y

m

=

∑

j

=

1

H

a

j

*

v

jm

(

3

)

Contribution

(

x

i

->

y

m

)

=

∑

j

=

1

H

(

x

i

*

u

ij

)

*

(

a

j

*

v

jm

)

(

4

)

wherein Contribution (x i →y m ) is the contribution score of the feature x i to the output unit y m , wherein K is a number of the plurality of features x i , wherein His a number of the hidden units h j in the hidden layer removed from the trained second neural network, wherein M is a number of the output units y m of the output layer removed from the trained second neural network, wherein U and V are weight matrices, wherein a number of weight matrices U is equal to K×H, wherein a number of weight matrices V is equal to H×M, wherein u ij is the weight matrix applied to the feature x i on the path to the hidden unit h j removed from the trained second neural network, wherein a j is the activation unit of the activation layer between the hidden layer and the output layer removed from the trained second neural network, and wherein v jm is the weight matrix applied to the output of the activation unit a j on the path to the output unit y m removed from the trained second neural network.

7 . A computing system comprising:

one or more processors programmed and/or configured to:

obtain training data associated with a plurality of training samples and a plurality of first labels for the plurality of training samples;

train a first neural network by:

providing, as input to the first neural network, the plurality of training samples,

receiving, as output from the first neural network, a plurality of first predictions for the plurality of training samples, wherein the plurality of first predictions includes a plurality of first probabilities that a plurality of transactions associated with the plurality of training samples are fraudulent transactions, and

modifying one or more first weights of the first neural network according to a first objective function that depends on the plurality of first labels and the plurality of first predictions to generate a first trained neural network;

train a second neural network that has fewer hidden layers than the first neural network by:

providing as input to the second neural network, the plurality of training samples,

receiving, as output from the second neural network, a plurality of second predictions for the plurality of training samples, wherein the plurality of second predictions includes a plurality of second probabilities that the plurality of transactions associated with the plurality of training samples are fraudulent transactions, and

modifying one or more second weights associated with hidden units of at least one hidden layer of the second neural network according to a second objective function that depends on the plurality of first predictions as a plurality of second labels for the plurality of training samples and the plurality of second predictions to generate a second trained neural network;

extract, from the second trained neural network, the one or more modified second weights associated with the hidden units of the at least one hidden layer of the trained second neural network;

obtain transaction data including a plurality of features x i associated with a transaction currently being processed in a transaction processing network;

process, using the trained first neural network, the transaction data including the plurality of features x i associated with the transaction to generate a prediction for the transaction;

apply in real-time during processing of the at least one transaction in the transaction processing network, using the one or more modified second weights extracted from the trained second neural network to the plurality of features x i to generate a contribution score for each feature x i of the plurality of features x i to the at least one prediction for the transaction generated by the first neural network by calculating a score for each path of a plurality of paths of each feature x i through the trained second neural network based on the one or more modified second weights extracted from the trained second neural network and at least one activation function, and summing each score for each path of the plurality of paths to determine the contribution score for that feature x i , and

provide, with the at least one processor, to a user device, in real-time during processing of the at least one transaction in the transaction processing network, the prediction and the contribution score for each feature x i as an indication of a contribution of that feature x i to the prediction.

8 . The computing system of claim 7 , wherein the first neural network includes a deep learning model including a greater number of hidden layers than the second neural network.

9 . The computing system of claim 7 , wherein the one or more processors are further programmed and/or configured to:

store, in a memory, the one or more modified second weights removed from the trained second neural network.

10 . The computing system of claim 7 , wherein the one or more processors process, using the trained first neural network, the transaction data including the plurality of features x i associated with the transaction by:

providing, as input to the trained first neural network, the plurality of features x i associated with the transaction,

receiving, as output from the trained first neural network, output data including a prediction for the transaction, wherein the prediction includes a probability that the transaction is a fraudulent transaction; and

authorizing or denying, in the transaction processing network, based on the prediction including the probability that the transaction is a fraudulent transaction, the transaction.

11 . The computing system of claim 10 , wherein the one or more modified second weights include: weights for hidden units h j in a hidden layer of the trained second neural network, weights for activation units a j in an activation layer of the trained second neural network, weights for output units y m in an output layer of the trained second neural network, a weight matrix u ij applied to a feature x i on a path to a hidden unit h j of the trained second neural network, and a weight matrix Vim applied to an output of an activation unit a j on a path to an output unit y m .

12 . The computing system of claim 11 , wherein the contribution score for each feature x i of the plurality of features x i to the at least one prediction for the transaction received as output from the first neural network is determined according to the following Equations (1) to (4):

h

j

=

∑

i

=

1

K

x

i

*

u

ij

(

1

)

a

j

=

max

⁡

(

0

,

h

j

)

(

2

)

y

m

=

∑

j

=

1

H

a

j

*

v

jm

(

3

)

Contribution

(

x

i

->

y

m

)

=

∑

j

=

1

H

(

x

i

*

u

ij

)

*

(

a

j

*

v

jm

)

(

4

)

wherein Contribution (x i →y m ) is the contribution score of the feature x i to the output unit y m , wherein K is a number of the plurality of features x i , wherein His a number of the hidden units h j in the hidden layer removed from the trained second neural network, wherein M is a number of the output units y m of the output layer removed from the trained second neural network, wherein U and V are weight matrices, wherein a number of weight matrices U is equal to K×H, wherein a number of weight matrices V is equal to H×M, wherein u ij is the weight matrix applied to the feature x i on the path to the hidden unit h j removed from the trained second neural network, wherein a j is the activation unit of the activation layer between the hidden layer and the output layer removed from the trained second neural network, and wherein v jm is the weight matrix applied to the output of the activation unit a j on the path to the output unit y m removed from the trained second neural network.

13 . A computer program product comprising at least one non-transitory computer-readable medium including program instructions that, when executed by at least one processor, cause the at least one processor to:

obtain training data associated with a plurality of training samples and a plurality of first labels for the plurality of training samples;

train a first neural network by:

providing, as input to the first neural network, the plurality of training samples,

receiving, as output from the first neural network, a plurality of first predictions for the plurality of training samples, wherein the plurality of first predictions includes a plurality of first probabilities that a plurality of transactions associated with the plurality of training samples are fraudulent transactions, and

modifying one or more first weights of the first neural network according to a first objective function that depends on the plurality of first labels and the plurality of first predictions to generate a first trained neural network;

train a second neural network that has fewer hidden layers than the first neural network by:

providing as input to the second neural network, the plurality of training samples,

receiving, as output from the second neural network, a plurality of second predictions for the plurality of training samples, wherein the plurality of second predictions includes a plurality of second probabilities that the plurality of transactions associated with the plurality of training samples are fraudulent transactions, and

modifying one or more second weights associated with hidden units of at least one hidden layer of the second neural network according to a second objective function that depends on the plurality of first predictions as a plurality of second labels for the plurality of training samples and the plurality of second predictions to generate a second trained neural network,

extract, from the second trained neural network, the one or more modified second weights associated with the hidden units of the at least one hidden layer of the trained second neural network;

obtain transaction data including a plurality of features x i associated with a transaction currently being processed in a transaction processing network;

process, using the trained first neural network, the transaction data including the plurality of features x i associated with the transaction to generate a prediction for the transaction;

apply in real-time during processing of the at least one transaction in the transaction processing network, using the one or more modified second weights extracted from the trained second neural network to the plurality of features x i to generate a contribution score for each feature x i of the plurality of features x i to the at least one prediction for the transaction generated by the first neural network by calculating a score for each path of a plurality of paths of each feature x i through the trained second neural network based on the one or more modified second weights extracted from the trained second neural network and at least one activation function, and summing each score for each path of the plurality of paths to determine the contribution score for that feature x i , and

provide, with the at least one processor, to a user device, in real-time during processing of the at least one transaction in the transaction processing network, the prediction and the contribution score Contribution (x i →y m ) for each feature x i as an indication of a contribution of that feature x i to the prediction.

14 . The computer program product of claim 13 , wherein the first neural network includes a deep learning model including a greater number of hidden layers than the second neural network.

15 . The computer program product of claim 13 , wherein the program instructions, when executed by at least one processor, further cause the at least one processor to:

store, in a memory, the one or more modified second weights removed from the trained second neural network.

16 . The computer program product of claim 13 , wherein the program instructions, when executed by at least one processor, further cause the at least one processor to process, using the trained first neural network, the transaction data including the plurality of features x i associated with the transaction by:

providing, as input to the trained first neural network, the plurality of features x i associated with the transaction,

receiving, as output from the trained first neural network, output data including a prediction for the transaction, wherein the prediction includes a probability that the transaction is a fraudulent transaction; and

authorizing or denying, in the transaction processing network, based on the prediction including the probability that the transaction is a fraudulent transaction, the transaction.

17 . The computer program product of claim 16 , wherein the one or more modified second weights include: weights for hidden units h j in a hidden layer of the trained second neural network, weights for activation units a j in an activation layer of the trained second neural network, weights for output units y m in an output layer of the trained second neural network, a weight matrix u ij applied to a feature x i on a path to a hidden unit h j of the trained second neural network, and a weight matrix Vim applied to an output of an activation unit a j on a path to an output unit y m .

18 . The computer program product of claim 17 , wherein the contribution score Contribution (x i →y m ) for each feature x i of the plurality of features x i to the prediction for the transaction received as output from the first neural network is determined according to the following Equations (1) to (4):

h

j

=

∑

i

=

1

K

x

i

*

u

ij

(

1

)

a

j

=

max

⁡

(

0

,

h

j

)

(

2

)

y

m

=

∑

j

=

1

H

a

j

*

v

jm

(

3

)

Contribution

(

x

i

->

y

m

)

=

∑

j

=

1

H

(

x

i

*

u

ij

)

*

(

a

j

*

v

jm

)

(

4

)

wherein Contribution (x i →y m ) is the contribution score of the feature x i to the output unit y m , wherein K is a number of the plurality of features x i , wherein His a number of the hidden units h j in the hidden layer removed from the trained second neural network, wherein M is a number of the output units y m of the output layer removed from the trained second neural network, wherein U and V are weight matrices, wherein a number of weight matrices U is equal to K×H, wherein a number of weight matrices V is equal to H×M, wherein u ij is the weight matrix applied to the feature x i on the path to the hidden unit h j removed from the trained second neural network, wherein a j is the activation unit of the activation layer between the hidden layer and the output layer removed from the trained second neural network, and wherein v jm is the weight matrix applied to the output of the activation unit a j on the path to the output unit y m removed from the trained second neural network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2022
From: ZHAO, HANGQI; WANG, SHENG; WANG, DAN; CAI, YIWEI; BARCENAS CARDENAS, CLAUDIA CAROLINA
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 059223/0488 →
Continuity (2)
Continuation 16515255 · Jul 18, 2019
Related Publication 20220284435A1 · Sep 8, 2022
References Cited (37)
US 5819226A · Gopinathan · 1998 [cited by examiner]
US 6434435B1 · Tubel et al. · 2002 [cited by applicant]
US 7089592B2 · Adjaoute · 2006 [cited by examiner]
US 7668769B2 · Baker · 2010 [cited by examiner]
US 8880441B1 · Chen et al. · 2014 [cited by applicant]
US 9454733B1 · Purpura et al. · 2016 [cited by applicant]
US 9990639B1 · Kong et al. · 2018 [cited by applicant]
US 10068235B1 · Boates et al. · 2018 [cited by applicant]
US 10110738B1 · Sawant et al. · 2018 [cited by applicant]
US 11023894B2 · Adjaoute · 2021 [cited by examiner]
US 20140180974A1 · Kennel · 2014 [cited by examiner]
US 20140324677A1 · Walraven et al. · 2014 [cited by applicant]
US 20180033009A1 · Goldman et al. · 2018 [cited by applicant]
US 20180247161A1 · Cowan · 2018 [cited by applicant]
US 20190163666A1 · Cakmak et al. · 2019 [cited by applicant]
US 20190197549A1 · Sharma · 2019 [cited by applicant]
US 20190197550A1 · Sharma · 2019 [cited by applicant]
US 20190258927A1 · Chen et al. · 2019 [cited by applicant]
US 20190378210A1 · Merrill · 2019 [cited by examiner]
US 20200045066A1 · Meng et al. · 2020 [cited by applicant]
US 20200302318A1 · Hetherington · 2020 [cited by examiner]
US 20210142169A1 · De · 2021 [cited by examiner]
CN 106651373A · 2017 [cited by examiner]
WO WO2019134569A1 · 2019 [cited by examiner]
Philipp Blandfort, etc., “An Overview of Computational Approaches for Interpretation Analysis”, published on May 22, 2019 to arXiv, retrieved Sep. 6, 2025. (Year: 2019). [cited by examiner]
Himabindu Lakkaraju, etc., “Interpretable & Explorable Approximations of Block Box Models”, published on Jul. 4, 2017 to arXiv, retrieved Sep. 6, 2025. (Year: 2017). [cited by examiner]
Zachary C. Lipton, etc., “The Mythos of Model Interpretability”, published to ACMQUEUE, vol. 16, issue 3, pp. 2-17 and then online on Jul. 16, 2018, retrieved Sep. 6, 2025. (Year: 2018). [cited by examiner]
W. James Murdoch, etc., “Interpretable machine learning: definitions, methods, and applications”, published on Jan. 14, 2019 to arXiv, retrieved Sep. 6, 2025. (Year: 2019). [cited by examiner]
Zhengping Che, etc., “Interpretable Deep Models for ICU Outcome Prediction”, published via AMIA Annu Symp Proc. on Feb. 10, 2017, retrieved Sep. 6, 2025. (Year: 2017). [cited by examiner]
Xian Liu, etc., “Improving the Interpretability of Deep Neural Networks with Knowledge Distillation”, published via 2018 IEEE International Conference on Data Mining Workshops (ICDMW), retrieved Mar. 30, 2026. (Year: 20… [cited by examiner]
Anoop Korattikara, etc., “Bayesian Dark Knowledge”, published on Nov. 6, 2015 to arXiv, retrieved Mar. 30, 2026. (Year: 2015). [cited by examiner]
Animesh Koratana, etc., “LIT: Learned Intermediate Representation Training for Model Compression”, published via Proceedings of the 36th International Conference on Machine Learning, Long Beach, CA, USA, 2019, retrieved… [cited by examiner]
Cristian Bucila, etc., “Model Compression”, published via KDD '06, Aug. 30-Aug. 23/2006, Philadelphia, PA, USA, retrieved Mar. 30, 2026. (Year: 2006). [cited by examiner]
Lei Jimmy Ba, etc., “Do Deep Nets Really Need to be Deep?”, published via Advances in Neural Information Processing Systems 27 (NIPS 2014), retrieved Mar. 30, 2026. (Year: 2014). [cited by examiner]
Geoffrey Hinton, etc., “Distilling the Knowledge in a Neural Network”, published on Mar. 9, 2015 to arXiv, retrieved Mar. 30, 2026. (Year: 2015). [cited by examiner]
Shenvi et al., “Credit Card Fraud Detection using Deep Learning”, 2019 5th International Conference for Convergence in Technology (I2CT), 2019, pp. 1-5. [cited by applicant]
Srivastava et al., “Credit Card Fraud Detection at Merchant Side using Neural Networks”, IEEE, 2016 International Conference on Computing for Sustainable Global Development, 2016, pp. 667-670. [cited by applicant]