US 12,093,827 B2
System and method for self constructing deep neural network design through adversarial learning
Eren Kursun, New York, NY (US)
Assigned to BANK OF AMERICA CORPORATION, Charlotte, NC (US)
Filed by Bank of America Corporation, Charlotte, NC (US)
Filed on Dec. 4, 2018, as Appl. No. 16/209,363.
Prior Publication US 2020/0175371 A1, Jun. 4, 2020
Int. Cl. G06N 3/082 (2023.01); G06F 17/11 (2006.01); G06F 18/214 (2023.01); G06N 3/044 (2023.01); G06N 3/045 (2023.01)
CPC G06N 3/082 (2013.01) [G06F 17/11 (2013.01); G06F 18/214 (2023.01); G06N 3/044 (2023.01); G06N 3/045 (2023.01)] 17 Claims
OG exemplary drawing
 
1. A system for self-constructing a neural network, comprising:
a processor;
a communication interface; and
a memory having executable code stored thereon, wherein the executable code, when executed by the processor, causes the processor to:
access a building block library, wherein the building block library is a hybrid hierarchical library comprising one or more library blocks having adaptability characteristics embedded, the one or more library blocks comprising flexible parent structures with configurable characteristics;
select, from the one or more library blocks, a first set of library blocks;
automatically generate a neural network using a self-constructing neural network architecture, wherein the neural network comprises the first set of library blocks;
provide a first set of input data to the neural network;
receive a first set of output data from the neural network;
detect that the first set of output data does not meet a termination condition; and
randomly modify, using a genetic algorithm, a structure within the neural network, wherein randomly modifying the structure within the neural network comprises an addition, removal, or substitution of at least one library block within the neural network;
provide a second set of input data to the neural network;
receive a second set of output data from the neural network;
detect that the second set of output data meets the termination condition;
continuously monitor the neural network for real-time changes in adversarial interaction patterns, the real-time changes comprising a rate of successful detection of unauthorized users, a rate of false positives, and decision-making speed; and
based on continuously monitoring the neural network for the real-time changes in adversarial interaction patterns, perform real-time optimization of the neural network, wherein the real-time optimization comprises fine-tuning performance of the neural network across plurality of performance parameters, the plurality of performance parameters comprising energy efficiency, heat generation, processing speed, and decisioning accuracy, wherein fine-tuning performance of the neural network comprises modifying an edge weight of at least one second block within the neural network;
monitor an effect of modifying the edge weight of the at least one second block on the plurality of performance parameters;
based on monitoring the effect of modifying the edge weight of the at least one second block on the plurality of performance parameters, detect a change in the one or more performance parameters; and
increase or decrease the edge weight of the at least one second block based on detecting the change in the plurality of performance parameters.