# US 2021/0241067 A1 · Hyper-Graph Network Decoders for Algebraic Block Codes

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

- Number: US 2021/0241067 A1
- Document ID: US20210241067A1
- Status: Published application
- Kind: A1
- Application number: 16/782,919
- Filed: 2020-02-05
- Published: 2021-08-05
- Earliest claimed: 2020-02-05
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Eliya Nachmani; Lior Wolf
- Web page: https://patentgrep.com/patent/US20210241067A1

## CPC

- G06N 3/04: Architecture, e.g. interconnection topology
- G06F 17/17: Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method ({G06F17/18 takes precedence } ; interpolation for numerical control G05B19/18)
- G06N 3/045: Combinations of networks
- G06N 3/0495: Quantised networks; Sparse networks; Compressed networks
- G06N 3/0499: Feedforward networks
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- H03M 13/1105: {Decoding}
- H03M 13/1191: {Codes on graphs other than LDPC codes}
- H03M 13/15: Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes (H03M13/17 takes precedence)
- H03M 13/152: {Bose-Chaudhuri-Hocquenghem [BCH] codes}
- H03M 13/13: Linear codes
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

In one embodiment, a method includes inputting an encoded message with noise to a neural-networks model comprising a variable and a check layers of nodes, each node being associated with at least one weight and a hyper-network node, updating the weights associated with the variable layer of nodes by processing the encoded message using the hyper-network nodes associated with the variable layer of nodes, generating a first set of outputs by processing the encoded message using the variable layer of nodes and their respective updated weights, updating the weights associated with the check layer of nodes by processing the first set of outputs using the hyper-network nodes associated with the check layer of nodes, and generating a decoded message without noise using the neural-networks model by using at least the first set of outputs and the check layer of nodes and their respective updated weights.

## Claims

### Claim 1

A method comprising, by one or more computing systems:
inputting an encoded message with noise to a neural-networks model comprising a variable layer of nodes and a check layer of nodes, wherein each node is associated with at least one weight and a hyper-network node;
updating the weights associated with the variable layer of nodes by processing the encoded message using the hyper-network nodes associated with the variable layer of nodes;
generating a first set of outputs by processing the encoded message using the variable layer of nodes and their respective updated weights;
updating the weights associated with the check layer of nodes by processing the first set of outputs using the hyper-network nodes associated with the check layer of nodes; and
generating a decoded message without noise using the neural-networks model, wherein the generation comprises using at least the first set of outputs and the check layer of nodes and their respective updated weights.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
applying an absolute value of the encoded message.

### Claim 3 (depends on 1)

The method of claim 1, wherein the encoded message with noise is based on one or more of:
Bose-Chaudhuri-Hocquenghem (BCH) code;
low density parity check (LDPC) code; or
polar code.

### Claim 4 (depends on 1)

The method of claim 1, wherein each hyper-network node is associated with an activation function.

### Claim 5 (depends on 4)

The method of claim 4, wherein the activation function comprises one or more of:
a tanh activation function;
an arctanh activation function; or
a Taylor approximation of an arctanh activation function.

### Claim 6 (depends on 4)

The method of claim 4, wherein updating the weights associated with the variable layer of nodes by processing the encoded message with noise using the hyper-network nodes associated with the variable layer of nodes is based on the activation functions.

### Claim 7 (depends on 4)

The method of claim 4, wherein updating the weights associated with the check layer of nodes by processing the first set of outputs using the hyper-network nodes associated with the check layer of nodes is based on the activation functions.

### Claim 8 (depends on 4)

The method of claim 4, wherein each activation function is associated with a damping factor.

### Claim 9 (depends on 8)

The method of claim 8, wherein updating the weights associated with the variable layer of nodes by processing the encoded message with noise using the hyper-network nodes associated with the variable layer of nodes is based on the activation functions and their respective damping factors.

### Claim 10 (depends on 8)

The method of claim 8, wherein updating the weights associated with the check layer of nodes by processing the first set of outputs using the hyper-network nodes associated with the check layer of nodes is based on the activation functions and their respective damping factors.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
applying a binary generator matrix and a binary parity check matrix to the encoded message with noise.

### Claim 12 (depends on 1)

The method of claim 1, wherein the neural-networks model is trained based on a plurality of training examples, wherein each training example is generated as a zero codeword transmitted over an additive white Gaussian noise, and wherein each training example is associated with a distinct signal-to-noise (SNR) value.

### Claim 13

One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
input an encoded message with noise to a neural-networks model comprising a variable layer of nodes and a check layer of nodes, wherein each node is associated with at least one weight and a hyper-network node;
update the weights associated with the variable layer of nodes by processing the encoded message using the hyper-network nodes associated with the variable layer of nodes;
generate a first set of outputs by processing the encoded message using the variable layer of nodes and their respective updated weights;
update the weights associated with the check layer of nodes by processing the first set of outputs using the hyper-network nodes associated with the check layer of nodes; and
generate a decoded message without noise using the neural-networks model, wherein the generation comprises using at least the first set of outputs and the check layer of nodes and their respective updated weights.

### Claim 14 (depends on 13)

The media of claim 13, wherein the software is further operable when executed to:
apply an absolute value of the encoded message.

### Claim 15 (depends on 13)

The media of claim 13, wherein the encoded message with noise is based on one or more of:
Bose-Chaudhuri-Hocquenghem (BCH) code;
low density parity check (LDPC) code; or
polar code.

### Claim 16 (depends on 13)

The media of claim 13, wherein each hyper-network node is associated with an activation function.

### Claim 17 (depends on 16)

The media of claim 16, wherein the activation function comprises one or more of:
a tanh activation function;
an arctanh activation function; or
a Taylor approximation of an arctanh activation function.

### Claim 18 (depends on 16)

The media of claim 16, wherein updating the weights associated with the variable layer of nodes by processing the encoded message with noise using the hyper-network nodes associated with the variable layer of nodes is based on the activation functions.

### Claim 19 (depends on 16)

The media of claim 16, wherein updating the weights associated with the check layer of nodes by processing the first set of outputs using the hyper-network nodes associated with the check layer of nodes is based on the activation functions.

### Claim 20

A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:
input an encoded message with noise to a neural-networks model comprising a variable layer of nodes and a check layer of nodes, wherein each node is associated with at least one weight and a hyper-network node;
update the weights associated with the variable layer of nodes by processing the encoded message using the hyper-network nodes associated with the variable layer of nodes;
generate a first set of outputs by processing the encoded message using the variable layer of nodes and their respective updated weights;
update the weights associated with the check layer of nodes by processing the first set of outputs using the hyper-network nodes associated with the check layer of nodes; and
generate a decoded message without noise using the neural-networks model, wherein the generation comprises using at least the first set of outputs and the check layer of nodes and their respective updated weights.
