# US 12,762,465 B2 · Binary machine learning network with operations quantized to one bit

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

- Number: US 12,762,465 B2
- Document ID: US12762465B2
- Status: Granted
- Kind: B2
- Application number: 17/585,197
- Filed: 2022-01-26
- Published: 2023-07-27
- Granted: 2026-10-13
- Earliest claimed: 2022-01-26
- Assignees: Texas Instruments Incorporated
- Applicants: Texas Instruments Incorporated
- Inventors: Arthur John Redfern; Lijun Zhu; Molly Katherine Newquist
- Web page: https://patentgrep.com/patent/US12762465B2

## CPC

- G06N 20/00: Machine learning
- 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)}
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for a machine learning model including the steps of summing values of a set of non-binary input feature values with bias values of a first set of bias values to generate first summed values; binarizing the first summed values; receiving a set of binary weights; performing a convolution operation on the binarized summed values and the set of binary weights to generate convolved output feature values; summing feature values of the convolved output feature values with bias values of a second set of bias values and applying a scale value of a first set of scale values to generate a first set of normalized feature values; summing the first set of normalized feature values with the non-binary input feature values to generate second summed values; and outputting a set of output feature values based on the second summed normalized feature values and non-binary input feature values.

## Claims

### Claim 1

A non-transitory computer readable storage device storing instructions stored thereon that, when executed, cause one or more processors to:
receive a machine learning model, the machine learning (ML) model including a set of building blocks, wherein layers of the ML model includes one or more building blocks;
receive a set of input data;
replicate the set of input data;
concatenate the replicated set of input data to the set of input data to produce concatenated input data;
normalize the concatenated input data to generate a first set of non-binary input feature values; and
input the first set of non-binary input feature values to a building block of the one or more building blocks, wherein the building block is configured to:
perform a first binary convolution operation based on the first set of non-binary input feature values, comprising:
receiving the first set of non-binary input feature values;
binarizing the first set of non-binary input feature values;
performing a first convolution operation on the binarized input feature values to generate first non-binary convolved output;
performing a grouped convolution operation on the first non-binary convolved output;
normalizing an output of the grouped convolution operation to generate normalized intermediate feature values;
binarizing the normalized intermediate feature values;
performing a second convolution operation on the binarized normalized intermediate feature values to generate convolved intermediate feature values; and
outputting a first set of non-binary output features based on the convolved intermediate feature values;
perform a non-binary convolution operation based on the first set of non-binary output features to produce a second set of non-binary input feature values;
perform a second binary convolution operation based on the second set of non-binary input feature values to produce a second set of non-binary output features; and
output the second set of non-binary output features.

### Claim 2 (depends on 1)

The non-transitory computer readable storage device of claim 1, wherein performing the second binary convolution operation comprises:
receiving the second set of non-binary input feature values;
binarizing the second set of non-binary input feature values;
performing a first convolution operation on the second set of binarized input feature values to generate second non-binary convolved output;
performing a fully grouped convolution operation on the second non-binary convolved output;
normalizing an output of the grouped convolution operation to generate second normalized intermediate feature values;
binarizing the second normalized intermediate feature values;
performing a second convolution operation on the second binarized normalized intermediate feature values to generate second convolved intermediate feature values; and
outputting the second set of non-binary output features based on the second convolved intermediate feature values.

### Claim 3 (depends on 1)

The non-transitory computer readable storage device of claim 1, wherein the instructions are further configured to cause the one or more processors to:
replicate the first set of non-binary input feature values; and
concatenate the replicated set of non-binary input feature values with the set of non-binary input feature values to generate replicated and concatenated feature values.

### Claim 4 (depends on 3)

The non-transitory computer readable storage device of claim 3, wherein the instructions for at least one building block of the one or more building blocks are further configured to cause the one or more processors to:
perform a third binary convolution operation based on the replicated and concatenated feature values; and
sum the convolved replicated and concatenated feature values with the convolved intermediate feature values.

### Claim 5 (depends on 4)

The non-transitory computer readable storage device of claim 4, wherein the instructions for at least one building block of the one or more building blocks are further configured to cause the one or more processors to scale negative values of the summed convolved replicated and concatenated feature values and the convolved intermediate feature values to generate the set of non-binary output features.

### Claim 6 (depends on 1)

The non-transitory computer readable storage device of claim 1, wherein the instructions further cause the one or more processors to sum the set of non-binary input feature values with the convolved intermediate feature values.

### Claim 7 (depends on 1)

The non-transitory computer readable storage device of claim 1, wherein the instructions further cause the one or more processors to binarize the set of non-binary input feature values by assigning a binary value based on a sign of a value of the set of non-binary input feature values.

### Claim 8

A device, comprising:
one or more processors; and
a memory, and wherein instructions stored in the memory cause the one or more processors to:
receive a machine learning model, the machine learning (ML) model including a set of building blocks wherein layers of the ML model includes one or more building blocks;
receive a set of input data;
replicate the set of input data;
concatenate the replicated set of input data to the set of input data to produce concatenated input data;
normalize the concatenated input data to generate a first set of non-binary input feature values; and
input the first set of non-binary input feature values to a building block of the one or more building blocks, wherein the building block is configured to:
perform a first binary convolution operation based on the set of non-binary input feature values, comprising
receiving the first set of non-binary input feature values;
binarizing the set of non-binary input feature values;
performing a first convolution operation on the binarized input feature values to generate first non-binary convolved output;
performing a grouped convolution operation on the first non-binary convolved output;
normalizing an output of the grouped convolution operation to generate normalized intermediate feature values;
binarizing the normalized intermediate feature values;
performing a second convolution operation on the binarized normalized intermediate feature values to generate convolved intermediate feature values; and
outputting a first set of non-binary output features based on the convolved intermediate feature values;
perform a non-binary convolution operation based on the first set of non-binary output features to produce a second set of non-binary input feature values; and
perform a second binary convolution operation based on the second set of non-binary output features to produce a second set of non-binary output features; and
output the second set of non-binary output features.

### Claim 9 (depends on 8)

The device of claim 8, wherein the performing the second binary convolution operation comprises:
receiving the second set of non-binary input feature values;
binarizing the second set of non-binary input feature values;
performing a first convolution operation on the second set of binarized input feature values to generate a second non-binary convolved output;
performing a grouped convolution operation on the first second non-binary convolved output;
normalizing an output of the grouped convolution operation to generate second normalized intermediate feature values;
binarizing the second normalized intermediate feature values;
performing a second convolution operation on the second set of binarized normalized intermediate feature values to generate second convolved intermediate feature values; and
output a second set of non-binary output features based on the second convolved intermediate feature values.

### Claim 10 (depends on 8)

The device of claim 8, wherein the instructions further cause the one or more processors to:
replicate the first set of non-binary input feature values; and
concatenate the replicated set of non-binary input feature values with the set of non-binary input feature values to generate replicated and concatenated feature values.

### Claim 11 (depends on 10)

The device of claim 10, wherein the instructions for at least one building block of the one or more building blocks further cause the one or more processors to:
perform a third binary convolution operation based on the replicated and concatenated feature values; and
sum the convolved replicated and concatenated feature values with the convolved intermediate feature values.

### Claim 12 (depends on 11)

The device of claim 11, wherein the instructions for at least one building block of the one or more building blocks further cause the one or more processors to scale negative values of the summed convolved replicated and concatenated feature values and the convolved intermediate feature values to generate the set of non-binary output features.

### Claim 13 (depends on 8)

The device of claim 8, wherein the instructions further cause the one or more processors to sum the set of non-binary input feature values with the convolved intermediate feature values.

### Claim 14

A method comprising:
receiving a machine learning model, the machine learning (ML) model including a set of building blocks, wherein layers of the ML model includes one or more building blocks;
receiving a set of input data;
replicating the set of input data;
concatenating the replicated set of input data to the set of input data to produce concatenated input data;
normalizing the concatenated input data to generate a first set of non-binary input feature values; and
inputting the first set of non-binary input feature values to a building block of the one or more building blocks, for the building block:
performing a first binary convolution operation based on the first set of non-binary input feature values, comprising:
receiving the first set of non-binary input feature values;
binarizing the first set of non-binary input feature values;
performing a first convolution operation on the binarized input feature values to generate first non-binary convolved output;
performing a grouped convolution operation on the first non-binary convolved output;
normalizing an output of the grouped convolution operation to generate normalized intermediate feature values;
binarizing the normalized intermediate feature values;
performing a second convolution operation on the binarized normalized intermediate feature values to generate convolved intermediate feature values; and
outputting a first set of non-binary output features based on the convolved intermediate feature values;
performing a non-binary convolution operation based on the first set of non-binary output features to produce a second set of non-binary input feature values;
performing a second binary convolution operation based on the second set of non- binary input feature values to produce a second set of non-binary output features; and
outputting the second set of non-binary output features.

### Claim 15 (depends on 14)

The method of claim 14, wherein performing the second binary convolution operation comprises:
receiving the second set of non-binary input feature values;
binarizing the second set of non-binary input feature values;
performing a first convolution operation on the second set of binarized input feature values to generate second non-binary convolved output;
performing a grouped convolution operation on the second non-binary convolved output;
normalizing an output of the grouped convolution operation to generate second normalized intermediate feature values;
binarizing the second normalized intermediate feature values;
performing a second convolution operation on the second binarized normalized intermediate feature values to generate second convolved intermediate feature values; and
outputting the second set of non-binary output features based on the second convolved intermediate feature values.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
replicating the first set of non-binary input feature values; and
concatenate the replicated set of non-binary input feature values with the set of non-binary input feature values to generate replicated and concatenated feature values.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
performing a third binary convolution operation based on the replicated and concatenated feature values; and
summing the convolved replicated and concatenated feature values with the convolved intermediate feature values.

### Claim 18 (depends on 17)

The method of claim 17, further comprising scaling negative values of the summed convolved replicated and concatenated feature values and the convolved intermediate feature values to generate the set of non-binary output features.

### Claim 19 (depends on 14)

The method of claim 14, further comprising summing the set of non-binary input feature values with the convolved intermediate feature values.

### Claim 20 (depends on 14)

The method of claim 14, further comprising binarizing the set of non-binary input feature values by assigning a binary value based on a sign of a value of the set of non-binary input feature values.
