# US 12,112,210 B2 · Cluster resampling for alleviation of data poisoning on the edge

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

- Number: US 12,112,210 B2
- Document ID: US12112210B2
- Status: Granted
- Kind: B2
- Application number: 17/509,731
- Filed: 2021-10-25
- Published: 2023-04-27
- Granted: 2024-10-08
- Earliest claimed: 2021-10-25
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Ofir Ezrielev; Nadav Azaria; Avitan Gefen; Amihai Savir
- Web page: https://patentgrep.com/patent/US12112210B2

## CPC

- G06F 9/5072: {Grid computing}
- G06N 20/00: Machine learning
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 18/2193: {based on specific statistical tests}
- G06F 18/2321: using statistics or function optimisation, e.g. modelling of probability density functions
- G06F 18/23213: with fixed number of clusters, e.g. K-means clustering
- G06F 2209/505: Clust
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A method for alleviating data poisoning in an edge computing resource includes receiving a numeric value from an Internet of Things (IoT) unit and associating the numeric value with a cluster selected from a plurality of clusters in accordance with a suitable clustering algorithm such as a k-means clustering algorithm. In at least some embodiments, the numeric value comprises a poisoned numeric value including an adversarial component injected by an adversary to negatively impact a trained model of a cloud-based artificial intelligence engine. Rather than permitting the injected adversarial component to corrupt the AI engine, a cluster with which the numeric value is associated is sampled in accordance with a probability distribution of the cluster to obtain a surrogate for the poisoned numeric value. The surrogate may then be provided as an input to an inference module of the AI engine to generate a prediction.

## Claims

### Claim 1

A method comprising:
responsive to receiving a numeric value from an Internet of Things (IOT) unit, associating the numeric value with a cluster selected from a plurality of clusters in accordance with a clustering algorithm; and
sampling the cluster in accordance with a probability distribution of the cluster to obtain a surrogate for the numeric value; and
providing the surrogate as an input to an inference module of an artificial intelligence engine to generate a prediction.

### Claim 2 (depends on 1)

The method of claim 1, wherein the numeric value comprises a poisoned numeric value including an original component and an injected component.

### Claim 3 (depends on 1)

The method of claim 1, wherein the clustering algorithm comprises a k-means clustering algorithm.

### Claim 4 (depends on 1)

The method of claim 1, further comprising :
determining the plurality of clusters, wherein each of the plurality of clusters is identified by a mean value and a variance value; and
conveying information indicative of the plurality of clusters to a cloud resource.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the plurality of clusters includes:
accessing a hyperparameter indicative of a cluster count (n) corresponding to the number of clusters in the plurality of clusters; and
performing the clustering algorithm on a vector of historical values in accordance with the cluster count.

### Claim 6 (depends on 5)

The method of claim 5, wherein the information indicative of the plurality of clusters includes:
a first n-dimension vector comprising a mean value for each of the n clusters; and
a second n-dimension vector comprising a variance value for each of the n clusters.

### Claim 7 (depends on 1)

The method of claim 1, further comprising approximating a density function of the cluster.

### Claim 8 (depends on 1)

The method of claim 1, wherein generating the surrogate injects random noise into the surrogate.

### Claim 9 (depends on 1)

The method of claim 1, further comprising, updating the plurality of clusters from time to time.

### Claim 10

A non-transitory computer readable medium including processor executable instructions that, when executed by a processor, cause the processor to perform operations comprising:
one or more information handling resources configured to perform operations including:
receiving a numeric value for a parameter of interest from an internet of things (IOT) unit;
associating the numeric value with a cluster selected from a plurality of clusters in accordance with a clustering algorithm; and
sampling the cluster in accordance with a probability distribution of the cluster to obtain a surrogate for the numeric value; and
providing the surrogate, rather than the numeric value, as an input to an inference module of an artificial intelligence engine to generate a prediction.

### Claim 11 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the numeric value comprises a poisoned numeric value including an original component and an injected component.

### Claim 12 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the clustering algorithm comprises a k-means clustering algorithm.

### Claim 13 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the operations include:
determining the plurality of clusters, wherein each of the plurality of clusters is identified by a mean value and a variance value; and
conveying information indicative of the plurality of clusters to the cloud resource.

### Claim 14 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the operations include determining the plurality of clusters by:
accessing a hyperparameter indicative of a cluster count (n) corresponding to the number of clusters in the plurality of clusters; and
performing the clustering algorithm on a vector of historical values in accordance with the cluster count.

### Claim 15 (depends on 5)

The non-transitory computer readable medium of claim 5, wherein the information indicative of the plurality of clusters includes:
a first n-dimension vector comprising a mean value for each of the n clusters; and
a second n-dimension vector comprising a variance value for each of the n clusters.

### Claim 16 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the operations include approximating a density function of the cluster.

### Claim 17 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the operations include, updating the plurality of clusters from time to time.
