CN113872610A - LDPC code neural network training and decoding method and system - Google Patents
LDPC code neural network training and decoding method and system Download PDFInfo
- Publication number
- CN113872610A CN113872610A CN202111172359.3A CN202111172359A CN113872610A CN 113872610 A CN113872610 A CN 113872610A CN 202111172359 A CN202111172359 A CN 202111172359A CN 113872610 A CN113872610 A CN 113872610A
- Authority
- CN
- China
- Prior art keywords
- neural network
- layer
- variable node
- ldpc code
- data set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 128
- 238000012549 training Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 16
- 238000012937 correction Methods 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 8
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 13
- 238000013135 deep learning Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007876 drug discovery Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000009891 weiqi Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Error Detection And Correction (AREA)
Abstract
The invention provides a method and a system for training and decoding a neural network of an LDPC code, wherein a neural network decoding model is constructed and trained by utilizing a data set, and after repeated iterative training, the training is combined with strong learning capability of deep learning and strong capability of extracting high-dimensional data hidden characteristics of the neural network to obtain the trained neural network decoding model, and the trained neural network decoding model is used for decoding and outputting LDPC code data, so that the loss of the performance of a traditional BP decoding algorithm in decoding the LDPC short code is reduced, the decoding of the LDPC code has better flexibility, low delay and high communication reliability, and the main requirements of users in the communication field are met.
Description
Technical Field
The invention relates to the technical field of LDPC code decoding, in particular to a method and a system for training and decoding a neural network of an LDPC code.
Background
Low-density parity-check (LDPC) code is a well-known linear error correcting code, first proposed by Gallager in 1962. The code has excellent error correction performance approaching the shannon limit and higher decoding throughput, and has become a new research hotspot in recent years. Up to now, Belief Propagation (BP) decoding algorithm is one of the most commonly used LDPC decoding algorithms. The BP decoding algorithm can obtain decoding performance close to the Shannon limit when the code length is long. In the application scenario of 5G, ultra-high-reliability and low-delay communication is applied to many fields, such as intelligent transportation systems, industrial automation, and the like; in these scenarios, the main requirements of user communication are better flexibility, low delay and high communication reliability, i.e. in these scenarios, the requirement for short codes is higher and higher, but due to the existence of short loops, the decoding performance of BP decoding algorithm in LDPC short codes is inferior to that in long codes.
In recent years, deep learning with powerful learning and feature attribute extraction capability is gradually and widely applied to communication technology and has made outstanding progress, while A Neural Network (ANN) is an important mathematical model in deep learning, contains a large number of neurons, is an adaptive system, has powerful capability of extracting high-dimensional data hiding features, and has made a major breakthrough in many fields such as target recognition, image classification, drug discovery, natural language processing and weiqi in recent years and greatly improved the original system performance; although the neural network makes great contribution in other fields, no scheme for applying deep learning to the LDPC short code BP decoding algorithm is provided at present.
Aiming at the problems, a decoding method is provided, the characteristics of a neural network are combined to reduce the loss of decoding performance of a BP decoding algorithm in LDPC short codes, and the requirement of a user in the communication field is necessary to be met.
Disclosure of Invention
The invention aims to provide an LDPC code neural network training and decoding method and a system thereof, which solve the problem that the decoding performance of the traditional BP decoding algorithm in a short code is inferior to that in a long code.
In order to achieve the purpose, the invention provides the following scheme:
an LDPC code neural network decoding method comprises the following steps:
acquiring a data set for training a neural network decoding model; wherein the data set is a bit log likelihood ratio data set obtained by demodulating an output signal historically transmitted through an AWGN channel.
Determining the structure of a neural network decoding model according to the data set to obtain a neural network decoding model to be trained;
and performing iterative training on the neural network decoding model to be trained by using the data set to obtain the trained neural network decoding model.
Optionally, the determining the structure of the neural network decoding model according to the data set specifically includes:
the neural network decoding model comprises an input layer, a hidden layer and an output layer, wherein the hidden layer comprises a check node layer and a variable node layer;
determining the number of hidden layers in a neural network decoding model according to the data set, wherein the number of hidden layers specifically comprises the following steps;
obtaining a corresponding Tanner graph according to a check matrix H of the LDPC code used by the data set;
and respectively taking the check nodes and the variable nodes with the message transfer relationship in the Tanner graph as an nth check node layer and an nth variable node layer.
Further, the performing iterative training on the neural network coding model to be trained by using the data set specifically includes:
training each group of check node layers and variable node layers with message transmission in the hidden layers in sequence, wherein the iteration number is half of the number of the hidden layers;
training one group of check node layers and variable node layers with message passing specifically comprises:
respectively updating information of the transmitted messages in a check node layer and a variable node layer to obtain updated variable node information;
outputting a neural network decoding result of the corresponding variable node according to the updated variable node information;
and training the next group according to the neural network decoding result and the input error optimization network of the data set.
Optionally, the information updating of the message to be transmitted in the check node layer and the variable node layer respectively specifically includes:
multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer to update the information;
and multiplying the message which is transmitted to the next check node by the variable node at the variable node layer by the correction factor for information updating.
Further, the outputting the neural network decoding result of the corresponding variable node according to the updated variable node information specifically includes:
and outputting the updated variable node information to an output layer, and outputting a neural network decoding result corresponding to the variable node by using a sigmod function as an activation function in the output layer.
Further, the optimizing the network according to the decoding result of the neural network and the error of the data set specifically includes:
calculating errors of the neural network decoding result and the transmitted data set by using a cross entropy loss function to obtain an output error;
and aiming at the output error, searching a training network by using a small batch gradient descent algorithm and an Adam optimization method to obtain a trained neural network decoding model.
Corresponding to the LDPC code neural network training method, the invention also provides an LDPC code neural network training system, and the training system is executed by the LDPC code neural network training method when being operated by a processor
On the other hand, the present application further provides an LDPC code neural network decoding method, which decodes LDPC code data by using a trained neural network decoding model obtained by executing the LDPC code neural network training method, and specifically includes the following steps:
acquiring an output signal transmitted by an AWGN channel and demodulating the output signal into a bit log-likelihood ratio data set;
inputting the bit log-likelihood ratio data set into the trained neural network decoding model;
sequentially updating information of each group of corresponding check node layer and variable node layer in the hidden layer, wherein the iteration number is half of the number of the hidden layers;
the information updating for one group of corresponding check node layers and variable node layers comprises the following steps:
respectively multiplying the messages transmitted from the check nodes to the variable nodes by the correction factors for information updating in the check node layer, and multiplying the messages transmitted from the variable nodes to the next check nodes by the correction factors for information updating in the variable node layer;
and outputting the neural network decoding result of the corresponding variable node according to the updated variable node information until the information of all node layers in the hidden layer is updated.
Corresponding to the LDPC code neural network decoding method, the invention also provides an LDPC code neural network decoding system, and the system is executed by a processor to execute the LDPC code neural network decoding method.
According to the specific embodiment provided by the invention, the invention discloses the following technical effects:
the invention provides a method and a system for training and decoding a neural network of an LDPC code, wherein the neural network decoding model is trained by constructing the neural network decoding model and utilizing a data set, and the trained neural network decoding model is used for decoding and outputting LDPC code data by combining strong learning capability of deep learning and strong capability of extracting high-dimensional data hiding characteristics of the neural network through repeated iterative training, so that the loss of performance of a BP decoding algorithm in decoding the LDPC short code is reduced, the decoding of the LDPC code has better flexibility, low delay and high communication reliability, and the main requirements of users in the communication field are met.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a flowchart of an LDPC code neural network training method provided in embodiment 1 of the present invention;
fig. 2 is a structural diagram of a neural network decoding model in the method according to embodiment 1 of the present invention;
FIG. 3 is a flowchart of step A2 in the method according to embodiment 1 of the present invention;
FIG. 4 is a flowchart of step A3 in the method provided in embodiment 1 of the present invention;
fig. 5 is a schematic diagram of an LDPC code neural network training system provided in embodiment 2 of the present invention;
fig. 6 is a flowchart of an LDPC code neural network decoding method according to embodiment 3 of the present invention;
fig. 7 is a flowchart of step B3 in the method according to embodiment 3 of the present invention;
fig. 8 is a schematic diagram of an LDPC code neural network decoding system according to embodiment 4 of the present invention;
FIG. 9 is a performance diagram of training data under different channel conditions in simulation comparison of example 5 of the present invention;
FIG. 10 is a graph of iteration number versus BER performance in a simulation comparison in example 5 of the present invention;
FIG. 11 is a graph showing the performance relationship between the decoding method and the conventional method in simulation comparison of embodiment 5 of the present invention.
Symbol interpretation: 1: an LDPC code neural network training system; 2: a historical data set acquisition module; 3: a model building module; 4: a model training module; 3-1: a hidden layer determination submodule; 4-1: an iterative training submodule; 4-1-1: an information updating unit; 5: LDPC code neural network decoding system; 6: a dataset acquisition module; 7: a decoding module; 7-1: an iteration updating unit; 7-2: and an output unit.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The invention aims to provide an LDPC code neural network training and decoding method and a system thereof, which solve the problem that the decoding performance of the traditional BP decoding algorithm in a short code is inferior to that in a long code.
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
Example 1:
as shown in the flowchart of fig. 1, the present embodiment provides an LDPC code neural network training method, including the following steps:
a1, acquiring a data set for training a neural network decoding model; the data set is a bit log-likelihood ratio data set obtained by demodulating an output signal which is transmitted by an AWGN channel historically;
a2, determining the structure of a neural network decoding model according to the data set to obtain the neural network decoding model to be trained; as shown in fig. 2, the structure diagram of the neural network decoding model includes an input layer, a hidden layer and an output layer, where the hidden layer includes a check node layer and a variable node layer;
the structure of the neural network decoding model is determined by the iteration number of BP decoding, for example, BP decoding iterated for T times is expanded into a 2T + 2-layer neural network which comprises an input layer, an output layer and a 2T-layer hidden layer;
the iteration number of BP decoding is reflected in the check matrix H of the LDPC code used by the BP decoding, and the check matrix is converted into a Tanner graph, so that a corresponding check node layer and a corresponding variable node layer can be easily obtained, as shown in the flowchart shown in fig. 3, step a2 specifically includes:
a21, obtaining a corresponding Tanner graph according to a check matrix H of the LDPC code used by the data set;
a22, respectively taking the check nodes and variable nodes with message transmission relation in the Tanner graph as an nth layer check node layer and an nth layer variable node layer;
the check matrix H of the LDPC code used by the data set can be represented by a Tanner graph, which contains two types of vertices: the variable nodes correspond to columns of the check matrix; the check nodes correspond to rows of the check matrix.
And the non-zero elements of the ith column and the jth row in the check matrix correspond to the edges connected between the ith variable node and the jth check node in the Tanner graph. And taking the check nodes and the variable nodes in the Tanner graph as a check node layer and a variable node layer in the hidden layer, wherein the 2T layer hidden layer comprises a T layer check node layer and a T layer variable node layer, and updating information in the check nodes and the variable nodes respectively.
A3, performing iterative training on the neural network decoding model to be trained by using the data set to obtain a trained neural network decoding model; the iteration times are half of the number of hidden layers;
in order to ensure the effect of decoding using the neural network decoding model, the information of each layer is updated before use, as shown in the flowchart of fig. 4, the step a3 of training one set of check node layer and variable node layer with message passing specifically includes:
a31, respectively updating information of the transmitted information in a check node layer and a variable node layer to obtain updated variable node information;
multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer to update the information; and multiplying the message which is transmitted to the next check node by the variable node at the variable node layer by the correction factor for information updating.
In this embodiment, L (P) is usedi) Representing LLR data corresponding to the i-th layer input, Vj\ i represents the set of all variable nodes except i connected to check node j, Ci\ j represents the set of all check nodes except j connected to variable node i;
for different requirements, neural network decoding models with different structures can be selected, and different neural network decoding models have different updating rules;
if the requirement on performance is higher and the requirement on complexity performance is lower, a basic neural network decoding model (neuroalbp, NBP) is selected, and correction factors used in the model are different every time the node information is updated, namely, the information of the check node is multiplied by the correction factor alpha in the check node layerijCarrying out information updating; multiplying the messages of the variable nodes by a correction factor beta at the variable node leveljiCarrying out information updating;
multiplying the message passing the check node to the variable node by the correction factor alpha in the l-th check node layer (0 < l ≦ T, l ∈ Z)ijAnd (3) updating information:
wherein L is(l)(rji) A message value indicating a variable node of the l-th layer,denotes the alpha value, L, of the L-1 th layer(l-1)(qi'j) A message value representing a layer l-1 check node layer;
multiplying the message passing the variable node to the check node at the layer l variable node layer by a correction factor betajiAnd (3) updating information:
wherein L is(l)(qij) A message indicating a check node of the l-th layer,represents the beta value of the l layer;
the updated information L of the variable node(l)(rji) Input to the output layer.
If a lower complexity is required and the acceptable performance is reduced in a small amplitude, a parameter normalization neural network decoding model (NormalizedNeural BP, NNBP) is selected, the same correction factor is used in the same layer in the model, namely, the information of the check node is multiplied by a correction factor alpha to be updated in the check node layer; multiplying the information of the variable nodes by a correction factor beta at a variable node layer to update the information;
for the parameter normalization neural network decoding structure, the information of the messages transmitted from the check nodes to the variable nodes is multiplied by a correction factor alpha at the l-th check node layer for information updating:
wherein alpha is(l-1)Represents the alpha value of the l-th layer;
and (3) multiplying the message transmitted from the variable node to the check node by a correction factor beta at the l-th variable node layer to update the information:
wherein, beta(l)Represents the beta value of the l layer;
the updated information L of the variable node(l)(rji) Input to the output layer.
A32, outputting a neural network decoding result of the corresponding variable node according to the updated variable node information;
and outputting the updated variable node information to an output layer, and outputting a neural network decoding result corresponding to the variable node by using a sigmod function as an activation function in the output layer.
The output layer comprises n neurons which respectively correspond to n variable nodes. Outputting the decoding result of the neural network corresponding to the ith variable node through the ith neuron on an output layer by using the updated information of the ith variable node:
a33, training the next group according to the neural network decoding result and the input error optimization network of the data set;
in order to ensure that the optimal result is obtained, the error of the neural network decoding result and the transmitted data set is calculated by using a cross entropy loss function, and an output error is obtained:
wherein o isiAnd PiThe ith output of the deep neural network and the ith bit of the transmitted real code word respectively, and N is the code length.
And aiming at the output error L (P, o), searching a training network by using a small batch gradient descent algorithm and an Adam optimization method to obtain a trained neural network decoding model.
According to the LDPC code neural network training method provided by the embodiment, a neural network decoding model is constructed, a data set is used for carrying out iterative training on the neural network decoding model for multiple times, the strong learning capability of deep learning and the strong capability of the neural network for extracting high-dimensional data hidden features are combined, the errors of data transmitted by calculation and actual output are optimized in each training process according to the errors by using a small-batch gradient descent algorithm and an Adam optimization method, the trained neural network decoding model is obtained, and a foundation is provided for reducing the loss of BP decoding algorithm performance subsequently.
Example 2:
in addition, the method of embodiment 1 of the present invention can also be implemented by means of the architecture of the LDPC code neural network training system 1 shown in fig. 5. As shown in fig. 5, the LDPC code neural network training system 1 may include a historical data set acquisition module 2, a model construction module 3, and a model training module 4; some modules may also have sub-units for implementing their functions, for example, a hidden layer determination sub-module 3-1 is further included in the model building module 3, and an iterative training sub-module 4-1 and an information updating unit 4-1-1 are further included in the model training module 4 in succession. Of course, the architecture shown in fig. 5 is merely exemplary, and one or at least two components of the system shown in fig. 5 may be omitted as needed to implement different functions.
Example 3:
as shown in the flowchart of fig. 6, the present embodiment provides an LDPC code neural network decoding method, including the following steps:
b1, acquiring an output signal transmitted by an AWGN channel and demodulating the output signal into a bit log-likelihood ratio data set;
b2, inputting the bit log-likelihood ratio data set into a trained neural network decoding model obtained by executing the training method in the embodiment 1;
b3, sequentially updating information of each group of corresponding check node layer and variable node layer in the hidden layer, wherein the iteration number is half of the number of the hidden layer;
updating node information of the input data in each hidden layer of the trained neural network decoding model to obtain a final decoding result, as shown in the flowchart of fig. 7, wherein the updating information for one set of corresponding check node layer and variable node layer in step B3 includes:
b31, multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer for information updating;
b32, multiplying the message of the variable node transferred to the next check node by the correction factor at the variable node layer to update the information;
b32, outputting the neural network decoding result of the corresponding variable node according to the updated variable node information until the information of all node layers in the hidden layer is updated.
The LDPC code neural network decoding method provided in the embodiment uses the training method to obtain the trained neural network decoding model, combines strong learning ability of deep learning and strong ability of the neural network to extract high-dimensional data hiding characteristics, and uses the neural network decoding model to decode and output the LDPC code data, thereby reducing the loss of the performance of the traditional BP decoding algorithm in decoding the LDPC short code, enabling the decoding of the LDPC code to have better flexibility, low delay and high communication reliability, and meeting the main requirements of users in the communication field.
Example 4:
in addition, the method of embodiment 3 of the present invention can also be implemented by means of the architecture of the LDPC code neural network decoding system 5 shown in fig. 8. As shown in fig. 8, the LDPC code neural network decoding system 5 may include a data set acquisition module 6 and a decoding module 7; some modules may also have sub-units for implementing their functions, for example an iterative update unit 7-1 and an output unit 7-2 are also included in the decoding module 7. Of course, the architecture shown in fig. 8 is merely exemplary, and one or at least two components of the system shown in fig. 8 may be omitted as needed to implement different functions.
Portions of the technology may be considered "articles" or "articles of manufacture" in the form of executable code and/or associated data, which may be embodied or carried out by a computer readable medium. Tangible, non-transitory storage media may include memory or storage for use by any computer, processor, or similar device or associated module. For example, various semiconductor memories, tape drives, disk drives, or any similar device capable of providing a storage function for software.
All or a portion of the software may sometimes communicate over a network, such as the internet or other communication network. Such communication may load software from one computer device or processor to another. For example: from a server or host computer of the video object detection device to a hardware platform of a computer environment, or other computer environment implementing a system, or similar functionality related to providing information needed for object detection. Thus, another medium capable of transferring software elements may also be used as a physical connection between local devices, such as optical, electrical, electromagnetic waves, etc., propagating through cables, optical cables, air, etc. The physical medium used for the carrier wave, such as an electric, wireless or optical cable or the like, may also be considered as the medium carrying the software. As used herein, unless limited to a tangible "storage" medium, other terms referring to a computer or machine "readable medium" refer to media that participate in the execution of any instructions by a processor.
Example 5:
comparing the performance of the LDPC code neural network decoding method provided by the invention with the performance of the traditional BP decoding method by combining the example, taking (128,64) LDPC codes as an example, the performance graph of training data under different channel conditions is shown in FIG. 9, and training is carried out under the condition of selecting 1-5dB of multiple channels; a graph of the relationship between the iteration times and the BER performance is shown in FIG. 10, the performance and the structural complexity are comprehensively considered, and a 44-layer network is finally selected for 20 iterations in the neural network BP decoding; the performance comparison result of the method and the traditional method is shown in fig. 11, the decoding performance of the method is superior to that of the traditional BP decoding, and the simulation result proves the effectiveness of the neural network decoding method designed by the invention.
The principles and embodiments of the present invention have been described herein using specific examples, which are provided only to help understand the method and the core concept of the present invention; those skilled in the art will appreciate that the modules or steps of the invention described above can be implemented using general purpose computing apparatus, or alternatively, they can be implemented using program code executable by computing apparatus, such that it is executed by computing apparatus when stored in a storage device, or separately fabricated into integrated circuit modules, or multiple modules or steps thereof can be fabricated into a single integrated circuit module. The present invention is not limited to any specific combination of hardware and software.
Meanwhile, for a person skilled in the art, according to the idea of the present invention, the specific embodiments and the application range may be changed. In view of the above, the present disclosure should not be construed as limiting the invention.
Claims (10)
1. A method for training an LDPC neural network, the method comprising:
acquiring a data set for training a neural network decoding model; the data set is a bit log-likelihood ratio data set obtained by demodulating an output signal which is transmitted by an AWGN channel historically;
determining the structure of a neural network decoding model according to the data set to obtain a neural network decoding model to be trained;
and performing iterative training on the neural network decoding model to be trained by using the data set to obtain the trained neural network decoding model.
2. The LDPC code neural network training method of claim 1, wherein the determining the structure of the neural network coding model from the data set specifically comprises:
the neural network decoding model comprises an input layer, a hidden layer and an output layer, wherein the hidden layer comprises a check node layer and a variable node layer;
and determining the number of hidden layers in the neural network decoding model according to the data set.
3. The LDPC code neural network decoding method of claim 2, wherein the determining the number of hidden layers in the neural network decoding model according to the data set specifically comprises:
obtaining a corresponding Tanner graph according to a check matrix H of the LDPC code used by the data set;
and respectively taking the check nodes and the variable nodes with the message transfer relationship in the Tanner graph as an nth check node layer and an nth variable node layer.
4. The LDPC code neural network training method of claim 3, wherein the iteratively training the neural network coding model to be trained by using the data set specifically comprises:
training each group of check node layers and variable node layers with message transmission in the hidden layers in sequence, wherein the iteration number is half of the number of the hidden layers;
the step of training one of the group of check node layer and variable node layer with message passing specifically includes:
respectively updating information of the transmitted messages in a check node layer and a variable node layer to obtain updated variable node information;
outputting a neural network decoding result of the corresponding variable node according to the updated variable node information;
and training the next group according to the neural network decoding result and the input error optimization network of the data set.
5. The LDPC code neural network training method of claim 4, wherein the information updating of the transmitted messages at the check node layer and the variable node layer respectively specifically comprises:
multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer to update the information;
and multiplying the message which is transmitted to the next check node by the variable node at the variable node layer by the correction factor for information updating.
6. The LDPC code neural network training method of claim 4, wherein outputting the neural network decoding result of the corresponding variable node according to the updated variable node information specifically comprises:
and outputting the updated variable node information to an output layer, and outputting a neural network decoding result corresponding to the variable node by using a sigmod function as an activation function in the output layer.
7. The LDPC code neural network training method of claim 4, wherein the error optimization network according to the neural network decoding result and the data set specifically comprises:
calculating errors of the neural network decoding result and the transmitted data set by using a cross entropy loss function to obtain an output error;
and aiming at the output error, searching a training network by using a small batch gradient descent algorithm and an Adam optimization method to obtain a trained neural network decoding model.
8. An LDPC code neural network decoding method, characterized in that, using a trained neural network decoding model obtained by performing the LDPC code neural network training method according to any one of claims 1 to 8 to decode LDPC code data, specifically comprising:
acquiring an output signal transmitted by an AWGN channel and demodulating the output signal into a bit log-likelihood ratio data set;
inputting the bit log-likelihood ratio data set into the trained neural network decoding model;
sequentially updating information of each group of corresponding check node layer and variable node layer in the hidden layer, wherein the iteration number is half of the number of the hidden layers;
the information updating for one group of corresponding check node layers and variable node layers comprises the following steps:
multiplying the message transmitted from the check node to the variable node by the correction factor at the check node layer to update the information;
multiplying the message transmitted from the variable node to the next check node by the correction factor in the variable node layer to update the information;
and outputting the neural network decoding result of the corresponding variable node according to the updated variable node information until the information of all node layers in the hidden layer is updated.
9. An LDPC code neural network training system, wherein the system when executed by a processor performs the steps of the LDPC code neural network training method of any one of claims 1-7.
10. An LDPC code neural network decoding system, wherein the system when executed by a processor performs the steps of the LDPC code neural network decoding method of claim 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111172359.3A CN113872610A (en) | 2021-10-08 | 2021-10-08 | LDPC code neural network training and decoding method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111172359.3A CN113872610A (en) | 2021-10-08 | 2021-10-08 | LDPC code neural network training and decoding method and system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113872610A true CN113872610A (en) | 2021-12-31 |
Family
ID=79002008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111172359.3A Pending CN113872610A (en) | 2021-10-08 | 2021-10-08 | LDPC code neural network training and decoding method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113872610A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117335815A (en) * | 2023-11-29 | 2024-01-02 | 广东工业大学 | Training method and device based on improved original model image neural decoder |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109302267A (en) * | 2018-09-26 | 2019-02-01 | 西安科技大学 | Interpretation method, equipment and the storage medium of mimo system based on LDPC |
CN109995380A (en) * | 2018-01-02 | 2019-07-09 | 华为技术有限公司 | Interpretation method and equipment |
CN110798228A (en) * | 2019-10-29 | 2020-02-14 | 南京宁麒智能计算芯片研究院有限公司 | Polarization code turning decoding method and system based on deep learning |
CN111106839A (en) * | 2019-12-19 | 2020-05-05 | 北京邮电大学 | Polarization code decoding method and device based on neural network |
CN111565051A (en) * | 2020-04-10 | 2020-08-21 | 北京邮电大学 | Self-learning normalized bias minimum sum decoding method for LDPC code |
CN112737599A (en) * | 2021-01-06 | 2021-04-30 | 北京邮电大学 | Self-learning rapid convergence decoding method and device for original pattern LDPC code |
-
2021
- 2021-10-08 CN CN202111172359.3A patent/CN113872610A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995380A (en) * | 2018-01-02 | 2019-07-09 | 华为技术有限公司 | Interpretation method and equipment |
CN109302267A (en) * | 2018-09-26 | 2019-02-01 | 西安科技大学 | Interpretation method, equipment and the storage medium of mimo system based on LDPC |
CN110798228A (en) * | 2019-10-29 | 2020-02-14 | 南京宁麒智能计算芯片研究院有限公司 | Polarization code turning decoding method and system based on deep learning |
CN111106839A (en) * | 2019-12-19 | 2020-05-05 | 北京邮电大学 | Polarization code decoding method and device based on neural network |
CN111565051A (en) * | 2020-04-10 | 2020-08-21 | 北京邮电大学 | Self-learning normalized bias minimum sum decoding method for LDPC code |
CN112737599A (en) * | 2021-01-06 | 2021-04-30 | 北京邮电大学 | Self-learning rapid convergence decoding method and device for original pattern LDPC code |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117335815A (en) * | 2023-11-29 | 2024-01-02 | 广东工业大学 | Training method and device based on improved original model image neural decoder |
CN117335815B (en) * | 2023-11-29 | 2024-03-15 | 广东工业大学 | Training method and device based on improved original model image neural decoder |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107977704B (en) | Weight data storage method and neural network processor based on same | |
CN111414987B (en) | Training method and training device of neural network and electronic equipment | |
Esfahanizadeh et al. | Finite-length construction of high performance spatially-coupled codes via optimized partitioning and lifting | |
CN109361404B (en) | L DPC decoding system and method based on semi-supervised deep learning network | |
CN105763203B (en) | Multi-element LDPC code decoding method based on hard reliability information | |
Xu et al. | Polar decoding on sparse graphs with deep learning | |
Xiao et al. | Designing finite alphabet iterative decoders of LDPC codes via recurrent quantized neural networks | |
WO2021093866A1 (en) | Deep learning channel decoding method based on alternating direction method of multipliers | |
WO2021204163A1 (en) | Self-learning decoding method for protograph low density parity check code and related device thereof | |
US20230145452A1 (en) | Method and apparatus for training a model | |
CN111339437B (en) | Method and device for determining roles of group members and electronic equipment | |
CN115664899A (en) | Channel decoding method and system based on graph neural network | |
WO2022062406A1 (en) | Packet error correction code decoding method, apparatus, storage medium, and electronic device | |
WO2021102679A1 (en) | Rank selection in tensor decomposition based on reinforcement learning for deep neural networks | |
Yang et al. | Nonlinear programming approaches to decoding low-density parity-check codes | |
CN113872610A (en) | LDPC code neural network training and decoding method and system | |
Dai et al. | New min-sum decoders based on deep learning for polar codes | |
WO2017045142A1 (en) | Decoding method and decoding device for ldpc truncated code | |
CN117353754A (en) | Coding and decoding method, system, equipment and medium of Gaussian mixture model information source | |
CN112737599A (en) | Self-learning rapid convergence decoding method and device for original pattern LDPC code | |
Ji et al. | Generalised non‐locally centralised image de‐noising using sparse dictionary | |
Teng et al. | Convolutional neural network-aided bit-flipping for belief propagation decoding of polar codes | |
CN115423098A (en) | Method, system and device for injecting entity knowledge of pre-training language model | |
Tang et al. | Normalized Neural Network for Belief Propagation LDPC Decoding | |
KR20210048396A (en) | Apparatus and method for generating binary neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |