# US 11,113,124 B2 · Systems and methods for quickly searching datasets by indexing synthetic data generating models

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,124 B2
- Document ID: US11113124B2
- Status: Granted
- Kind: B2
- Application number: 16/409,745
- Filed: 2019-05-10
- Published: 2020-01-09
- Granted: 2021-09-07
- Earliest claimed: 2018-07-06
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Austin Walters; Jeremy Goodsitt; Galen Rafferty; Vincent Pham; Anh Truong; Kate Key; Reza Farivar; Mark Watson
- Web page: https://patentgrep.com/patent/US11113124B2

## CPC

- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 9/54: Interprogram communication
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 11/3608: {using formal methods, e.g. model checking, abstract interpretation (theorem proving G06N5/013)}
- G06F 11/3628: {of optimised code (optimisation G06F8/443)}
- G06F 11/3636: {by tracing the execution of the program}
- G06F 11/3684: {for test design, e.g. generating new test cases}
- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 16/215: Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
- G06F 16/2237: {Vectors, bitmaps or matrices}
- G06F 16/2264: {Multidimensional index structures}
- G06F 16/2423: {Interactive query statement specification based on a database schema}
- G06F 16/24568: {Data stream processing; Continuous queries}
- G06F 16/248: Presentation of query results
- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/283: {Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP}
- G06F 16/285: {Clustering or classification}
- G06F 16/288: {Entity relationship models}
- G06F 16/335: Filtering based on additional data, e.g. user or group profiles (filtering in web context G06F16/9535, G06F16/9536)
- G06F 16/35: Clustering; Classification
- G06F 16/90332: {Natural language query formulation or dialogue systems}
- G06F 16/90335: {Query processing}
- G06F 16/9038: Presentation of query results
- G06F 16/906: Clustering; Classification
- G06F 16/93: Document management systems
- G06F 17/15: Correlation function computation {including computation of convolution operations (arithmetic circuits for sum of products per se, e.g. multiply-accumulators G06F7/5443; digital filters, e.g. FIR, IIR, adaptive filters H03H17/00)}
- G06F 17/16: Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)}
- G06F 17/18: for evaluating statistical data {, e.g. average values, frequency distributions, probability functions, regression analysis (forecasting specially adapted for a specific administrative, business or logistic context G06Q10/04)}
- G06F 18/2115: by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
- G06F 18/213: Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F 18/2148: {characterised by the process organisation or structure, e.g. boosting cascade}
- G06F 18/217: {Validation; Performance evaluation; Active pattern learning techniques}
- G06F 18/2193: {based on specific statistical tests}
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06F 18/23: Clustering techniques
- G06F 18/24: Classification techniques
- G06F 18/2411: based on the proximity to a decision surface, e.g. support vector machines
- G06F 18/2415: based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F 18/285: {Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system}
- G06F 18/40: Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
- G06F 21/552: {involving long-term monitoring or reporting}
- G06F 21/60: Protecting data
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06F 21/6254: {by anonymising data, e.g. decorrelating personal data from the owner's identification}
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06F 40/117: Tagging; Marking up (details of markup languages G06F40/143); Designating a block; Setting of attributes (style sheets, e.g. eXtensible Stylesheet Language Transformation [XSLT], G06F40/154)
- G06F 40/166: Editing, e.g. inserting or deleting
- G06F 40/20: Natural language analysis (semantic analysis of natural language G06F40/30)
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/045: Combinations of networks
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/047: Probabilistic or stochastic networks
- G06N 3/0475: Generative networks
- G06N 3/06: Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N 3/08: Learning methods
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/088: Non-supervised learning, e.g. competitive learning
- G06N 3/09: Supervised learning
- G06N 3/094: Adversarial learning
- G06N 3/0985: Hyperparameter optimisation; Meta-learning; Learning-to-learn
- G06N 5/00: Computing arrangements using knowledge-based models
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 5/02: Knowledge representation; Symbolic representation
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06N 5/04: Inference or reasoning models
- G06N 7/00: Computing arrangements based on specific mathematical models
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06N 20/00: Machine learning
- G06N 20/10: using kernel methods, e.g. support vector machines [SVM]
- G06N 20/20: Ensemble learning
- G06Q 10/04: Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem" (market predictions or forecasting for commercial activities G06Q30/0202)
- G06T 7/194: involving foreground-background segmentation
- G06T 7/246: using feature-based methods, e.g. the tracking of corners or segments
- G06T 7/248: {involving reference images or patches}
- G06T 7/254: involving subtraction of images
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06V 10/768: {using context analysis, e.g. recognition aided by known co-occurring patterns}
- G06V 10/993: {Evaluation of the quality of the acquired pattern}
- G06V 30/194: References adjustable by an adaptive method, e.g. learning
- G06V 30/1985: {Syntactic analysis, e.g. using a grammatical approach (syntactic image representation G06V30/18171)}
- H04L 63/1416: {Event detection, e.g. attack signature detection}
- H04L 63/1491: {using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment}
- H04L 67/306: User profiles
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04N 21/23412: {for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects}
- H04N 21/8153: {comprising still images, e.g. texture, background image}
- G06T 2207/10016: Video; Image sequence
- G06T 2207/10024: Color image
- G06T 2207/20081: Training; Learning
- G06T 2207/20084: Artificial neural networks [ANN]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Systems and methods for searching datasets and classifying datasets are disclosed. For example, a system may include one or more memory units storing instructions and one or more processors configured to execute the instructions to perform operations. The operations may include receiving a test dataset from a client device and generating a test data model output using a data model, based on the test dataset. The operations may include processing test data model output by implementing an encoding method, a factorizing method, and/or a vectorizing method. The operations may include retrieving a reference data model output from a dataset index, based on a reference dataset. The operations may include generating a similarity metric based on the reference data model output and the test data model output. The operations may include classifying the test dataset based on the similarity metric and transmitting, to the client device, information comprising the classification.

## Claims

### Claim 1

A system for searching datasets, comprising:
one or more memory units storing instructions; and
one or more processors that execute the instructions to perform operations comprising:
receiving a test dataset from a client device;
generating, using a data model, test activation function values based on a test dataset, the test activation function values corresponding to nodes of the data model and determining whether the corresponding nodes fire;
processing the test activation function values, the processing comprising implementing at least one of an encoding method, a factorizing method, or a vectorizing method on the test activation function values;
retrieving reference activation function values from a dataset index, the reference activation function values being based on a reference dataset;
generating a similarity metric based on the reference activation function values and the processed test activation function values;
classifying the test dataset based on the similarity metric; and
transmitting, to the client device, information comprising the classification of the test dataset.

### Claim 2 (depends on 1)

The system of claim 1, wherein:
the data model is a selected data-model, and
the operations further comprise:
receiving a plurality of input datasets;
generating a plurality of candidate data models corresponding to the input datasets;
training the candidate data models to generate synthetic data based on the corresponding input datasets, the training comprising setting respective architectural features of the candidate model;
selecting a candidate data model based on the respective architectural features; and
training the selected data-model to generate synthetic data based on the input datasets.

### Claim 3 (depends on 2)

The system of claim 2, wherein:
setting respective architectural features comprises hyperparameter tuning; and
selecting a candidate data model comprises selecting the candidate data model based on a hyperparameter.

### Claim 4 (depends on 3)

The system of claim 3, wherein the hyperparameter is a number of neural network layers.

### Claim 5 (depends on 2)

The system of claim 2, wherein the candidate data models comprise at least one of a generative adversarial model or a long short-term memory model.

### Claim 6 (depends on 2)

The system of claim 2, wherein:
training individual ones of the candidate data models terminates when a training criterion is satisfied; and
training the selected data-model terminates when the training criterion is satisfied.

### Claim 7 (depends on 1)

The system of claim 1, wherein processing the test data-model output comprises implementing the encoding method, the encoding method comprising performing principle component analysis.

### Claim 8 (depends on 1)

The system of claim 1, wherein processing the test activation function values comprises implementing the encoding method, the encoding method comprising using an autoencoder model to reduce the number of dimensions of the test activation function values.

### Claim 9 (depends on 1)

The system of claim 1, wherein processing the test activation function values comprises implementing the factorizing method, the factorizing method comprising performing non-negative matrix factorization.

### Claim 10 (depends on 1)

The system of claim 1, wherein processing the test activation function values comprises implementing the vectorizing method, the vectorizing method comprising appending rows of a dataset.

### Claim 11 (depends on 1)

The system of claim 1, wherein the similarity metric comprises at least one of a correlation between the reference activation function values and the processed activation function values, a difference between a statistical measure of the reference activation function values and the processed activation function values, or a regression result describing a relationship between the reference activation function values and the processed activation function values.

### Claim 12 (depends on 1)

The system of claim 1, wherein the data model comprises at least one of a generative adversarial model, a neural network model, or a long-short term neural network model.

### Claim 13 (depends on 1)

The system of claim 1, wherein the data model is configured to generate synthetic data.

### Claim 14 (depends on 1)

The system of claim 1, the operations further comprising updating the dataset index based on the test activation function values.

### Claim 15 (depends on 1)

The system of claim 1, wherein the test dataset comprises image data.

### Claim 16 (depends on 1)

The system of claim 1, wherein receiving the test dataset comprises receiving the test dataset at a cloud system.

### Claim 17

A method for searching datasets, the method comprising:
receiving a test dataset from a client device;
generating, using a data model, test activation function values based on a test dataset, the test activation function values corresponding to nodes of the data model and determining whether the corresponding nodes fire;
processing the test activation function values, the processing comprising implementing at least one of an encoding method,
a factorizing method, or a vectorizing method on the distribution of test activation function values;
retrieving reference activation function values from a dataset index;
generating a similarity metric based on the reference activation function values and the processed test activation function values;
classifying the test dataset based on the similarity metric;
updating the dataset index based on the test data-model output; and
transmitting, to the client device, information comprising the classification of the test dataset.

### Claim 18

A system for searching datasets, comprising:
one or more memory units storing instructions; and
one or more processors that execute the instructions to perform operations comprising:
receiving a plurality of input datasets;
generating a plurality of candidate data-models corresponding to the input datasets;
training the candidate data-models to generate synthetic data based on the corresponding input datasets, the training comprising setting respective architectural features of the candidate data-models;
selecting a trained data-model based on the respective architectural features;
training the selected data-model to generate synthetic data based on the input datasets;
generating, using a data model, test activation function values based on a test dataset, the test activation function values corresponding to nodes of the data model and determining whether the corresponding nodes fire;
processing the reference activation function values, the processing comprising implementing at least one of an encoding method, a factorizing method, or a vectorizing method on the reference activation function values;
storing processed reference activation function values output in a dataset index;
receiving a test dataset from a client device;
generating test activation function values output using the selected data-model, based on the test dataset;
processing the test activation function values, the processing comprising at least one of implementing an encoding method, a factorizing method, or a vectorizing method on the test activation function values;
retrieving the processed reference activation function values from the dataset index;
generating a similarity metric based on the processed reference activation function values and the processed test activation function values;
classifying the test dataset based on the similarity metric;
updating the dataset index based on the processed activation function values; and
transmitting, to the client device, information comprising the classification of the test dataset.
