CN109995380A - 译码方法及设备 - Google Patents
译码方法及设备 Download PDFInfo
- Publication number
- CN109995380A CN109995380A CN201810002475.2A CN201810002475A CN109995380A CN 109995380 A CN109995380 A CN 109995380A CN 201810002475 A CN201810002475 A CN 201810002475A CN 109995380 A CN109995380 A CN 109995380A
- Authority
- CN
- China
- Prior art keywords
- network
- training
- sub
- obtains
- trained
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- 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
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
-
- 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
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
本申请实施例提供一种译码方法及设备,该方法包括:接收设备接收发送设备发送的待译码序列,并获取所述待译码序列对应的第一神经网络,其中,所述第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,所述第一神经网络是所述接收设备根据所述第二校验矩阵中的另一部分元素的位置信息,对所述已训练的第二神经网络进行删减处理得到的神经网络;所述接收设备将所述待译码序列输入所述第一神经网络,得到译码结果。本实施例可以降低译码神经网络的训练复杂度和存储复杂度。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种译码方法及设备。
背景技术
在机器学习领域,译码也可通过神经网络来实现。设计带有未知参数的神经网络,并通过大量编译码训练数据对神经网络进行训练,获得一组该未知参数所对应的训练参数。将这组训练参数代入神经网络,即代入未知参数所对应的位置,该神经网络可以实现译码器功能,相当于该神经网络“学习”了译码的算法。
现有技术中提出了一种利用全连接神经网络对极化(Polar)码与(随机)Random码进行译码的方法。例如,全连接神经网络的输入为编码码字x,长度为N,经过全连接神经网络的译码后,输出为估计信息序列长度为K,即译码结果。其中,全连接神经网络采用多层深度对译码过程进行机器学习,在短码的情况下译码性能较好。
然而,在译码神经网络中,针对不同的N和K的取值,需要重新训练神经网络,使得训练复杂度和存储复杂度随K与N的增大呈指数上升。
发明内容
本申请实施例提供一种译码方法及设备,以减少译码神经网络的训练复杂度和存储复杂度。
第一方面,本申请实施例提供一种译码方法,包括:
接收设备接收发送设备发送的待译码序列,并获取所述待译码序列对应的第一神经网络,其中,所述第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,即第二校验矩阵相较于第一校验矩阵存在多余的元素;所述第一神经网络是所述接收设备根据所述第二校验矩阵中的另一部分元素的位置信息,即多余元素的位置信息,对所述已训练的第二神经网络中对应另一部分元素的训练节点和训练参数进行删减处理得到的神经网络,接收设备不需要针对每种编码比特来设计神经网络并存储多个神经网络,降低了训练复杂度和存储复杂度;
所述接收设备将所述待译码序列输入所述第一神经网络,得到译码结果。
在一种可能的设计中,所述接收设备获取所述待译码序列对应的第一神经网络,包括:
所述接收设备获取所述第一校验矩阵对应的第一坦纳Tanner图,其中,所述第一Tanner图是所述接收设备根据所述位置信息,对所述第二校验矩阵对应的第二Tanner图中的校验节点和/或变量节点进行删减处理得到的Tanner图;该第二Tanner图包括变量节点和校验节点,变量节点分别与第二校验矩阵的各列对应;校验节点分别与第二校验矩阵的各行对应;
所述接收设备根据所述第一Tanner图相对于所述第二Tanner图被删减的校验节点和/或变量节点,对所述已训练的第二神经网络进行删减处理,得到第一神经网络。
在一种可能的设计中,所述位置信息包括所述第二校验矩阵中另一部分元素在所述第二校验矩阵中所处的行和/或列位置;
所述接收设备获取所述第一校验矩阵对应的第一Tanner图,包括:
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第L行,则所述接收设备对所述第二Tanner图中的第L个校验节点进行删减处理;和/或
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第M列,则所述接收设备对所述第二Tanner图中的第M个变量节点进行删减处理;
其中,所述第一Tanner图是所述接收设备对第L个校验节点和/或第M个变量节点进行删减处理得到的Tanner图,所述L和M是正整数,被删减的校验节点和/或变量节点可以为多个。
在一种可能的设计中,所述接收设备对所述已训练的第二神经网络进行删减处理,得到第一神经网络,包括:
所述接收设备删减所述被删减的校验节点和/或变量节点对应的所述已训练的第二神经网络中的训练节点以及训练参数,得到第一神经网络。
在一种可能的设计中,所述接收设备获取所述待译码序列对应的第一神经网络之前,还包括:
所述接收设备获取所述待译码序列对应的编码序列中的信息比特和/或非信息比特的位置;所述接收设备根据所述信息比特和/或所述非信息比特的位置以及所述编码序列的生成矩阵,获取所述第一校验矩阵。其中,针对polar码,该非信息比特位为冻结比特,在生成矩阵中删除信息比特的位置对应的列并转置后得到第一校验矩阵。
在一种可能的设计中,所述接收设备获取所述待译码序列对应的第一神经网络之前,还包括:
所述接收设备对所述第二校验矩阵对应的第二Tanner图进行展开处理,得到待训练的第二神经网络;
所述接收设备对所述待训练的第二神经网络中的训练参数进行译码迭代训练,得到所述训练参数对应的训练结果;
所述接收设备根据所述训练结果,得到所述已训练的第二神经网络。
在一种可能的设计中,所述待训练的第二神经网络的译码迭代次数为Q,所述对所述待训练的第二神经网络中的训练参数进行译码迭代训练,得到所述训练参数对应的训练结果,包括:
所述接收设备对所述待训练的第二神经网络进行P次译码迭代训练,得到第一训练参数对应的第一训练结果,所述P小于所述Q,所述P和Q为正整数;
所述接收设备根据所述第一训练结果和所述待训练的第二神经网络,对所述待训练的第二神经网络进行Q次译码迭代训练,得到第二训练结果;例如,可以将第一训练结果代入待训练的第二神经网络,或者作为待训练的第二神经网络的输入,在Q次迭代译码训练过程中,第一训练结果继续得到训练,最终得到待训练的第二神经网络的第二训练结果;
所述接收设备根据所述训练结果,得到所述已训练的第二神经网络,包括:
所述接收设备根据所述第二训练结果,得到所述已训练的第二神经网络。
本实施例通过先训练小的神经网络,再嵌套训练大的神经网络,使得大的神经网络的前几层也可以得到训练,降低了深度译码神经网络的训练性能损失,保证了迭代的性能增益。
在一种可能的设计中,所述接收设备对所述待训练的第二神经网络中的训练参数进行译码迭代训练,得到所述训练参数对应的训练结果,包括:
所述接收设备对所述待训练的第二神经网络中的子神经网络进行迭代译码训练,得到所述子神经网络中的子训练参数对应的子训练结果;
所述接收设备根据所述子训练结果,对所述待训练的第二神经网络进行译码迭代训练,得到所述训练参数对应的训练结果。在第二子神经网络的训练过程中,还可以保持第一子训练结果不变,仅训练新增的训练参数,以减少计算量。
先训练较小神经网络,将较小神经网络的训练参数嵌套至大神经网络,并训练较大神经网络,由于神经网络参数维度较大,故这种方法造成的性能损失较小。
在一种可能的设计中,所述第二神经网络对应的待译码序列的长度为N,信息比特数量为K,所述第二校验矩阵的列数为所述N,行数为N-K,所述N-1≥K≥1,所述N和K为正整数,所述接收设备对所述待训练的第二神经网络中的子神经网络进行迭代译码训练,得到所述子神经网络中的子训练参数对应的子训练结果,包括:
所述接收设备对第一子校验矩阵对应的第一子Tanner图进行展开处理,得到待训练的第一子神经网络,所述第一子校验矩阵的列数为N,行数为C,其中,1≤C<N-K;
所述接收设备对所述第一子神经网络中的第一子训练参数进行译码迭代训练,得到所述第一子训练参数对应的第一子训练结果;
所述接收设备对第二子校验矩阵对应的第二子Tanner图进行展开处理,得到待训练的第二子神经网络,所述第二子校验矩阵为在所述第一子校验矩阵中增加A行得到的矩阵,且C+A≤N-K;所述A和所述C为正整数;
所述接收设备根据所述第一子训练结果,对所述第二子神经网络中的第二子训练参数进行迭代译码训练,得到第二子译码训练参数对应的第二子训练结果。
由于神经网络参数维度较大,本实施例通过先训练较小神经网络,将较小神经网络的训练参数嵌套至大神经网络,并训练较大神经网络,避免了译码性能的损失,提高了译码的性能增益。
第二方面,本申请提供一种接收设备,包括:
第一神经网络获取模块,用于接收发送设备发送的待译码序列,并获取所述待译码序列对应的第一神经网络,其中,所述第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,所述第一神经网络是所述接收设备根据所述第二校验矩阵中的另一部分元素的位置信息,对所述已训练的第二神经网络进行删减处理得到的神经网络;
译码模块,用于将所述待译码序列输入所述第一神经网络,得到译码结果。
在一种可能的设计中,所述第一神经网络获取模块具体用于:
获取所述第一校验矩阵对应的第一坦纳Tanner图,其中,所述第一Tanner图是所述接收设备根据所述位置信息,对所述第二校验矩阵对应的第二Tanner图中的校验节点和/或变量节点进行删减处理得到的Tanner图;
根据所述第一Tanner图,对所述已训练的第二神经网络进行删减处理,得到第一神经网络。
在一种可能的设计中,所述位置信息包括所述第二校验矩阵中另一部分元素在所述第二校验矩阵中所处的行和/或列位置;
所述第一神经网络获取模块具体用于:
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第L行,则对所述第二Tanner图中的第L个校验节点进行删减处理;和/或
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第M列,则对所述第二Tanner图中的第M个变量节点进行删减处理;
其中,所述第一Tanner图是所述接收设备对第L个校验节点和/或第M个变量节点进行删减处理得到的Tanner图,所述L和M是正整数。
在一种可能的设计中,所述第一神经网络获取模块具体用于:
删减所述被删减的校验节点和/或变量节点对应的所述已训练的第二神经网络中的训练节点以及训练参数,得到第一神经网络。
在一种可能的设计中,还包括:校验矩阵获取模块;
所述校验矩阵获取模块用于在获取所述待译码序列对应的第一神经网络之前,获取所述待译码序列对应的编码序列中的信息比特和/或非信息比特的位置;
根据所述信息比特和/或所述非信息比特的位置以及所述编码序列的生成矩阵,获取所述第一校验矩阵。
在一种可能的设计中,还包括:展开模块、神经网络训练模块以及第二神经网络获取模块;
所述展开模块用于在获取所述待译码序列对应的第一神经网络之前,对所述第二校验矩阵对应的第二Tanner图进行展开处理,得到待训练的第二神经网络;
所述神经网络训练模块用于对所述待训练的第二神经网络中的训练参数进行译码迭代训练,得到所述训练参数对应的训练结果;
所述第二神经网络获取模块用于根据所述训练结果,得到所述已训练的第二神经网络。
在一种可能的设计中,所述待训练的第二神经网络的译码迭代次数为Q,所述神经网络训练模块具体用于:对所述待训练的第二神经网络进行P次译码迭代训练,得到第一训练参数对应的第一训练结果,所述P小于所述Q,所述P和Q为正整数;
根据所述第一训练结果和所述待训练的第二神经网络,对所述待训练的第二神经网络进行Q次译码迭代训练,得到第二训练结果;
所述第二神经网络获取模块具体用于根据所述第二训练结果,得到所述已训练的第二神经网络。
在一种可能的设计中,所述神经网络训练模块具体用于:
对所述待训练的第二神经网络中的子神经网络进行迭代译码训练,得到所述子神经网络中的子训练参数对应的子训练结果;
根据所述子训练结果,对所述待训练的第二神经网络进行译码迭代训练,得到所述训练参数对应的训练结果。
在一种可能的设计中,所述第二神经网络对应的待译码序列的长度为N,信息比特数量为K,所述第二校验矩阵的列数为所述N,行数为N-K,所述N-1≥K≥1,所述N和K为正整数,所述神经网络训练模块具体用于:
对第一子校验矩阵对应的第一子Tanner图进行展开处理,得到待训练的第一子神经网络,所述第一子校验矩阵的列数为N,行数为C,其中,1≤C<N-K;
对所述第一子神经网络中的第一子训练参数进行译码迭代训练,得到所述第一子训练参数对应的第一子训练结果;
对第二子校验矩阵对应的第二子Tanner图进行展开处理,得到待训练的第二子神经网络,所述第二子校验矩阵为在所述第一子校验矩阵中增加A行得到的矩阵,且C+A≤N-K;所述A和所述C为正整数;
根据所述第一子训练结果,对所述第二子神经网络中的第二子训练参数进行迭代译码训练,得到第二子译码训练参数对应的第二子训练结果。
第三方面,本申请实施例提供一种接收设备,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如上第一方面及第一方面各种可能的设计所述的译码方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质包括计算机程序,所述计算机程序用于实现如上第一方面及第一方面各种可能的设计所述的译码方法。
第五方面,本申请实施例提供一种芯片,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的所述程序指令以实现如上第一方面及第一方面各种可能的设计所述的译码方法。
第六方面,本申请实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,所述计算机程序用于实现如上第一方面及第一方面各种可能的设计所述的译码方法。
本实施例提供的译码方法及设备,该方法通过接收设备接收发送设备发送的待译码序列,并获取待译码序列对应的第一神经网络,其中,第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,该第一神经网络是接收设备根据第二校验矩阵中的另一部分元素的位置信息,对已训练的第二神经网络进行删减处理得到的神经网络;接收设备将待译码序列输入第一神经网络,得到译码结果,即本实施例利用了神经网络的嵌套特性,接收设备只需要存储大的神经网络,对大神经网络进行删减处理,得到小神经网络,通过小神经网络进行译码,不需要针对每种编码比特来设计神经网络并存储多个神经网络,降低了训练复杂度和存储复杂度。
附图说明
图1为常用的无线通信的基本流程示意图;
图2示出了本申请实施例可能适用的一种网络架构;
图3为本申请实施例提供的第二Tanner图与第二神经网络的结构示意图;
图4为本申请实施例提供的迭代神经网络的结构示意图;
图5为本申请实施例提供的译码方法的流程示意图;
图6为本申请实施例提供的第二神经网络的删减过程示意图一;
图7为本申请实施例提供的第二神经网络的删减过程示意图二;
图8为本申请实施例提供的基于嵌套训练获取第二神经网络的流程示意图一;
图9为本申请实施例提供的神经网络的迭代性能对比图;
图10为本申请实施例提供的基于嵌套训练获取第二神经网络的流程示意图二;
图11A-图11O为本申请实施例提供的嵌套训练和非嵌套训练的译码性能进行比较示意图;
图12为本申请一实施例提供的接收设备的结构示意图;
图13为本申请另一实施例提供的接收设备的结构示意图;
图14为本申请提供的接收设备的硬件结构示意图。
具体实施方式
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例的技术方案可以应用4G、5G通信系统或未来的通信系统,也可以用于其他各种无线通信系统,例如:全球移动通讯(Global System of Mobilecommunication,GSM)系统、码分多址(CDMA,Code Division Multiple Access)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)等。
图1为常用的无线通信的基本流程示意图,如图1所示,在发送端,信源依次经过信源编码、信道编码、数字调制后发出。在接收端,依次经过数字解调、信道译码、信源解码输出信宿。信道编码可以采用极化码(Polar)码、低密度奇偶校验码(Low-Density Parity-Check,LDPC)。而在信道译码的时候,可以采用串行抵消译码(Successive Cancellationdecoding,SC)译码、串行抵消列表译码(Successive Cancellation decoding,SCL)译码等。
图2示出了本申请实施例可能适用的一种网络架构。如图2所示,本实施例提供的网络架构包括:网络设备01和终端02。本申请实施例所涉及到的终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(terminal device),移动台(Mobile Station,MS)等等。本申请实施例所涉及到的网络设备是一种部署在无线接入网中用以为终端提供无线通信功能的设备。在本实施例中,该网络设备例如可以为图1所示的基站,该基站可以包括各种形式的宏基站,微基站,中继站,接入点等等。
本申请实施例提供的译码方法,可以应用在网络设备与终端之间的信息交互过程中,编码侧即发送设备既可以是网络设备也可以是终端;与之相应的,译码侧即接收设备既可以是终端也可以是网络设备。可选的,也可以应用在终端之间的信息交互过程中,即发送设备和接收设备均为终端,对此本方案不做限制。
本申请实施例提供一种译码方法,该译码方法通过神经网络来实现。本申请实施例将神经网络设计为嵌套结构,即用一个较大的神经网络用于译码,其他具有较小结构的神经网络均可以从该神经网络中嵌套激活部分神经元来获得,对应神经网络的训练参数也可以按相同的方式嵌套获得,即通过大的神经网络来获取小的神经网络,可以通过小的神经网络进行译码。
为了便于说明,本申请将小神经网络称为第一神经网络,对应的校验矩阵称为第一校验矩阵,将大神经网络称为第二神经网络,对应的校验矩阵称为第二校验矩阵。
实施例一
首先,为了便于说明,本申请实施例给出一种神经网络的结构,来说明该神经网络是如何训练和译码。此处的神经网络可以理解为上述的大神经网络,即第二神经网络。
本实施例举例给出了一个采用最小和min-sum译码算法的神经网络的译码过程。发送设备采用的编码方式为Polar码。
其中,Polar码是一种线性块码,其生成矩阵为GN,编码过程为uNGN=xN,其中uN=
(u1,u2,...,uN)是一个二进制的行矢量,长度为N(即码长);GN是一个N×N的矩阵,且这里矩阵是F2的log2(N)次克罗内克积,定义为
xN是编码后的比特(也叫码字),uN与生成矩阵GN相乘后就得到编码后的比特,相乘的过程就是编码的过程。在Polar码的编码过程中,uN中的一部分比特用来携带信息,称为信息比特,信息比特的索引的集合记作A;uN中另外的一部分比特置为收发端预先约定的固定值,称之为冻结比特,其索引的集合用A的补集Ac表示。冻结比特通常被设为0,只需要收发端预先约定,冻结比特序列可以被任意设置。Polar码的构造过程即集合A的选取过程,决定了Polar码的性能。
本申请给出的示例中,码长N=8,信息比特的数量K=3,译码迭代次数I=2。神经网络的生成过程如下:
(1)、根据Polar的生成矩阵,得到第二校验矩阵。
针对Polar码,在生成矩阵中删除信息比特的位置对应的列并转置后得到校验矩阵。例如,uN中的信息比特为u2、u4、u5,即信息比特的位置为第2个位置、第4个位置和第5个位置,则对应生成矩阵中的第2列、第4列和第5列,此时删除生成矩阵中的第2列、第4列和第5列,再进行转置后得到校验矩阵。
本申请此处示例性的给出第二校验矩阵的实现方式具体如矩阵一所示:
矩阵一:N=8,K=3
(2)、对第二校验矩阵对应的第二Tanner图进行展开处理,得到待训练的第二神经网络。
该第二校验矩阵对应的第二Tanner图以及第二神经网络可如图3所示。其中,图3为本申请实施例提供的第二Tanner图与第二神经网络的结构示意图。
结合第二校验矩阵和图3左侧的第二Tanner图所示,第二Tanner图包括两类顶点,码字比特顶点(称为比特顶点或变量节点),分别与第二校验矩阵的各列对应;校验方程顶点(称为校验节点),分别与第二校验矩阵的各行对应。第二校验矩阵的每行表示一个校验方程,每列代表一个码字比特。如果一个码字比特包含在相应的校验方程中,那么就用一条连线将所涉及的变量节点和校验节点连起来,所以第二Tanner图中的连线数与第二校验矩阵中的1的个数相同。变量节点用圆形节点表示,校验节点用方形节点表示。
对第二Tanner图进行展开处理,就可以得到待训练的第二神经网络。其中,图3中的第二神经网络为1次迭代的神经网络,当该第二Tanner图对应的第二神经网络为2次迭代的神经网络时,则如图4所示。其中,图4为本申请实施例提供的迭代神经网络的结构示意图。
(3)、对待训练的第二神经网络中的训练参数进行译码迭代训练,得到训练参数对应的训练结果。
本领域技术人员可以理解,本申请的译码迭代训练可以为一次迭代,也可以为两次迭代,或者更多次迭代,本申请对译码迭代训练的迭代次数不做特别限制。
请继续参考图3和图4所示的神经网络,左侧第一列节点为输入节点,最右侧一列节点为输出节点。中间各列节点都对应第二Tanner图中的边,每一列中的节点的数量为E,与第二Tanner图中的边的数量相同,值用μ表示,连线表示两个节点间存在消息传递的计算。具体的传递公式为:
v2c:
c2v:
其中,v代表变量节点(variable node),c代表校验节点(check node),μ表示各节点储存的临时变量,lv为初始输入对数似然比(Log-likelihood Ratio,LLR)序列,其中,编码后比特在经过信道传递之后,得到的待译码序列为LLR序列。上标t表示迭代次数,sign(·)表示取符号操作,ReLU(x)=max(0,x)为神经网络中特有的激活函数,β为待训练的训练参数,初始值可以为0;
v2c表示第二Tanner图中变量节点传递给校验节点传递信息的过程,c2v表示校验节点给变量节点传递信息的过程。即在图4中标注的v2c是指这一层连线对应原始Tanner图中的操作是从变量节点传输到校验节点的过程,c2v是指这一层连线对应原始Tanner图中的操作是从校验节点传输到变量节点的过程。
单看某一个v2c操作时,对于右列节点中的每一个节点,计算与其相连的左侧节点值的和并加上初始输入LLR序列,作为该节点的值其中c′∈N(v)\c代表从变量节点v传向某校验节点c传递的消息不包含上次消息传递中c节点传向v节点的消息。
对于某一个c2v操作时,对于右列节点中的每一个节点,取所有相连左侧节点值的绝对值中的最小值,减去待训练参数并取ReLU,得到结果再与所有相连左侧节点的符号相乘,最终作为该节点的值同样的,其中v'代表从变量节点c传向某校验节点v传递的消息不包含上次消息传递中v节点传向c节点的消息。
具体地,每一次迭代过程中,将会有E个β,即β的数量与每列节点的数量相同。通过对神经网络进行训练,可以得到β的最优值。例如,针对第一次迭代,会有β=[β0、β1、β2……β15、β16、β17、β18、β19、β20、β21]。对于第二次迭代或更多次的迭代,训练参数β的含义类似,本实施例此处不再赘述。
对待训练的第二神经网络进行训练,得到训练结果,即各训练参数β对应的取值。
(4)、根据训练结果,得到已训练的所述第二神经网络。
将训练参数β对应的取值代入待训练的第二神经网络中,即将训练参数β对应的取值代入上述的传递公式中,得到已训练的第二神经网络。此时,从图3或图4中的输入节点输入初始LLR序列,则从输出节点可以输出译码结果。其中,初始LLR序列中的每个LLR依次按顺序输入每个输入节点,即每个输入节点输入一个LLR值,对应地,每个输出节点输出一个译码后比特,多个输出节点中的译码比特按顺序排列,则得到了译码比特。
本领域技术人员可以理解,从上述v2c公式中可以看出来,每个v2c层除了累积上次c2v的值,还需要增加LLR,即图4中第4列除了与第3列相连,还需要与第一列相连,本实施例为了图示清楚,所以省略了该连线,因此,针对图4而言,除了输入节点输入初始LLR值之外,图4中第4列也要输入初始LLR值。
本实施例以min-sum译码算法以及Polar码编码为例,说明了如何得到已训练的第二神经网络,对于其它编码方式,例如LDPC、BCH编码等以及其它译码算法,例如置信度传播(Belief-Propagation,BP)译码算法等,其实现方式类似,本实施例此处不再赘述。其中,BCH编码为由R.C.Bose,D.K.Ray-Chaudhuri及A.Hocquenghem三人研究而得名。
实施例二
下面结合实施例一中的图3所示的已训练的第二神经网络,来说明如何将该第二神经网络中的较小结构的第一神经网络激活,以得到第一神经网络。
图5为本申请实施例提供的译码方法的流程示意图,如图5所示,该方法包括:
S501、接收设备接收发送设备发送的待译码序列,并获取所述待译码序列对应的第一神经网络,其中,所述第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,所述第一神经网络是所述接收设备根据所述第二校验矩阵中的另一部分元素的位置信息,对所述已训练的第二神经网络进行删减处理得到的神经网络;
S502、所述接收设备将所述待译码序列输入所述第一神经网络,得到译码结果。
当接收设备接收到发送设备发送的待译码序列之后,接收设备获取待译码序列对应的编码序列中的信息比特和/或非信息比特的位置,然后接收设备根据信息比特和/或非信息比特的位置以及编码序列的生成矩阵,获取第一校验矩阵。
对于接收设备和发送设备,信息比特和/或非信息比特的位置可以是收发双方预先约定的。收发双方可以只约定信息比特的位置,也可以只约定非信息比特的位置,也可以同时约定信息比特和非信息比特的位置。接收设备可以根据信息比特和/或非信息比特的位置以及编码序列的生成矩阵,获取第一校验矩阵。
以Polar码为例,该非信息比特可以为冻结比特,接收设备可以在生成矩阵中删除信息比特的位置对应的列并转置后得到第一校验矩阵。本实施例此处给出N=8,K=4;以及N=8,K=5对应的第一校验矩阵。其中,N=8,K=4对应矩阵二,N=8,K=5对应矩阵三。
矩阵二:N=8,K=4
根据矩阵二和矩阵一可知,矩阵二(第一校验矩阵)中的全部元素与矩阵一(已训练的第二神经网络对应的第二校验矩阵)中的一部分元素相同。矩阵二的列与矩阵一的列相同,矩阵二中的全部元素与矩阵一中的第1行、第2行、第3行以及第5行相同。矩阵一中的另一部分元素是与矩阵二不同的元素,即矩阵一中的第4行元素,此时,接收设备根据第4行元素在矩阵一中的位置信息,对上述图3所示的已训练的第二神经网络进行删减处理,得到对应矩阵二的第一神经网络。
图6为本申请实施例提供的第二神经网络的删减过程示意图一。如图6所示,在对已训练的第二神经网络进行删减处理时,删除矩阵一中的第4行元素对应的训练节点,即删除已训练的第二神经网络中的第17个和第18个训练节点以及训练参数,得到第一神经网络。
具体地,根据β=[β0、β1、β2……β15、β16、β17、β18、β19、β20、β21]与训练节点的对应关系可知,删除对应的训练参数β16、β17及对应的训练结果。本领域技术人员可以理解,在删除训练节点时,即删除了该训练节点的点线连接。
矩阵三:N=8,K=5
根据矩阵三和矩阵一可知,矩阵三(第一校验矩阵)中的全部元素与矩阵一(已训练的第二神经网络对应的第二校验矩阵)中的一部分元素相同。矩阵三的列与矩阵一的列相同,矩阵三中的全部元素与矩阵一中的第1行、第2行、第3行相同。矩阵一中的另一部分元素是与矩阵三不同的元素,即矩阵一中的第4行和第5行元素,此时,接收设备根据第4行元素和第5行元素在矩阵一中的位置信息,对上述图3所示的已训练的第二神经网络进行删减处理,得到对应矩阵三的第一神经网络。
图7为本申请实施例提供的第二神经网络的删减过程示意图二。如图7所示,在对已训练的第二神经网络进行删减处理时,删除矩阵一中的第4行和第5行元素对应的训练节点,即删除已训练的第二神经网络中的第17至第22个训练节点以及训练参数,得到第一神经网络。
具体地,根据β=[β0、β1、β2……β15、β16、β17、β18、β19、β20、β21]与训练节点的对应关系可知,删除对应的训练参数β16、β17、β18、β19、β20、β21及对应的训练结果。本领域技术人员可以理解,在删除训练节点时,即删除了该训练节点的点线连接。
由上可知,在上述的删除过程中,接收设备获取第二校验矩阵中的另一部分元素的位置信息,即第二校验矩阵相较于第一校验矩阵中的多余元素的位置信息,接收设备根据另一部分元素的位置信息与第二神经网络中的训练节点的对应关系,来删除已训练的第二神经网络中的训练节点,得到第一神经网络。其中,第二神经网络中的训练节点包括上述的输入节点、输出节点以及中间节点。该另一部分元素的位置信息与第二神经网络中的训练节点的对应关系可以预先存储。
进一步地,由上述实施例可知,校验矩阵与Tanner图具有对应关系,因此在对已训练的第二神经网络进行删减的过程中,可以根据第一校验矩阵对应的第一Tanner图相对于第二校验矩阵对应的第二Tanner图被删减的校验节点和/或变量节点,对已训练的第二神经网络进行删减处理,得到第一神经网络。下面结合图6和图7进行详细说明。主要通过如下步骤实现:
接收设备获取第一校验矩阵对应的第一坦纳Tanner图,其中,第一Tanner图是接收设备根据位置信息,对第二校验矩阵对应的第二Tanner图中的校验节点和/或变量节点进行删减处理得到的Tanner图;
接收设备根据第一Tanner图,对已训练的第二神经网络进行删减处理,得到第一神经网络。其中,接收设备可以根据第一Tanner图相对第二Tanner图被删减的校验节点和/或变量节点,对已训练的第二神经网络进行删减处理。
具体地,若另一部分元素中的元素所处的位置为第二校验矩阵的第L行,则接收设备对第二Tanner图中的第L个校验节点进行删减处理;和/或
若另一部分元素中的元素所处的位置为第二校验矩阵的第M列,则接收设备对第二Tanner图中的第M个变量节点进行删减处理;
其中,第一Tanner图是接收设备对第L个校验节点和/或第M个变量节点进行删减处理得到的Tanner图,所述L和M是正整数。
本领域技术人员可以理解,在具体实现过程中,另一部分元素所处的位置可以为第二校验矩阵中的多行,则在第二Tanner图中删除多个校验节点;另一部分元素所处的位置可以为第二校验矩阵中的多列,则在第二Tanner图中删除多个变量节点;另一部分元素所处的位置还可以为第二校验矩阵中的多行和多列,则同时删除多个变量节点和校验节点。
如图6所示,矩阵一中的另一部分元素是与矩阵二不同的元素,即矩阵一中的第4行元素,此时则删减第二Tanner图中的第4个校验节点,接收设备删减第4个校验节点对应的已训练的第二神经网络中的训练节点以及训练参数,得到第一神经网络。
如图7所示,矩阵一中的另一部分元素是与矩阵三不同的元素,即矩阵一中的第4行和第5行元素,此时则删减第二Tanner图中的第4个校验节点、第5个校验节点,接收设备删减第4个校验节点和第5个校验节点对应的已训练的第二神经网络中的训练节点以及训练参数,得到第一神经网络。
通过接收设备根据第一Tanner图相对于第二Tanner图被删减的校验节点和/或变量节点,对已训练的第二神经网络进行删减处理,得到第一神经网络,可以快速对神经网络进行删减,不需要接收设备预存矩阵中的元素位置信息与神经网络中的训练节点的对应关系,减少了接收设备的存储复杂度。
在上述的图6和图7所示的示例中,给出了N不变,K变的删减过程,在具体实现过程中,还存在K不变、N变以及K和N均变的过程,现示意性进行说明。
首先,N=8,K=2对应的第二校验矩阵位如下矩阵四所示,N=4,K=2对应的第一校验矩阵为如下矩阵五所示。
矩阵四:N=8,K=2
矩阵五:N=4,K=2
对比矩阵四和矩阵五所示,矩阵五中的全部元素是矩阵四中的部分元素,矩阵4中斜体的元素为另一部分多余的元素,在已训练的第二神经网络中删减斜体对应的训练节点并删除对应的训练参数就能得到K=2,N=4的第一神经网络。
其次,N=8,K=1对应的第二校验矩阵为如下矩阵六所示,N=4,K=2对应的第一校验矩阵为如下矩阵七所示。
矩阵六N=8,K=1
矩阵七N=4,K=2
对比矩阵六和矩阵七所示,矩阵七中的全部元素是矩阵六中的部分元素,矩阵六中斜体的元素为另一部分多余的元素,在已训练的第二神经网络中删减斜体对应的训练节点并删除对应的训练参数就能得到K=2,N=4的第一神经网络。
本领域技术人员可以理解,上述的第一神经网络中的训练参数对应的训练结果,即第一神经网络中的β为已知的,该第一神经网络相当于已训练的神经网络。接收设备在得到第一神经网络之后,将待译码序列输入第一神经网络,就可以得到译码结果。
进一步地,在上述实施例中,本申请是对第二神经网络中的训练节点进行删减处理,得到第一神经网络,在具体实现过程中,还可以对第二神经网络中的训练节点不进行删减处理,而是保留该被删减的训练节点,将该被删减的训练节点设置为不激活状态,而其它训练节点设置为激活状态。
在这种情况下,本实施例的描述可以为:接收设备接收发送设备发送的待译码序列,并获取待译码序列对应的第一神经网络,其中,第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,第一神经网络是接收设备根据第二校验矩阵中的一部分元素的位置信息,对已训练的第二神经网络进行激活处理得到的神经网络;接收设备将待译码序列输入第一神经网络,得到译码结果。即接收设备根据第一校验矩阵与第二校验矩阵相同部分的元素,将该相同部分的元素对应的第二神经网络中的训练节点进行激活处理,而其它训练节点不进行激活处理。对于本实施例其它部分的描述与此类似,此处不再一一赘述。
本实施例提供的译码方法,接收设备接收发送设备发送的待译码序列,并获取待译码序列对应的第一神经网络,其中,第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,该第一神经网络是接收设备根据第二校验矩阵中的另一部分元素的位置信息,对已训练的第二神经网络进行删减处理得到的神经网络;接收设备将待译码序列输入第一神经网络,得到译码结果,即本实施例利用了神经网络的嵌套特性,接收设备只需要存储大的神经网络,对大神经网络进行删减处理,得到小神经网络,通过小神经网络进行译码,不需要针对每种编码比特来设计神经网络并存储多个神经网络,降低了训练复杂度和存储复杂度。
实施例三
在本实施例中,将从迭代维度上来说明如何获取上述各实施例中的第二神经网络的过程。
具体地,由于神经网络在迭代次数维度上展开,而通常译码迭代次数可能会在20次以上,故待训练的第二神经网络深度将会很大。造成的直接后果就是反向传播的错误较难传回前几层,前几层几乎不会得到训练,从而失去迭代的性能增益。
为了避免前几层无法得到训练,失去迭代的性能增益的问题,本实施例通过嵌套训练的方法来进一步降低深度译码神经网络的训练性能损失。
图8为本申请实施例提供的基于嵌套训练获取第二神经网络的流程示意图一。在本实施例中第二神经网络的总译码迭代次数为Q。如图8所示,基于嵌套训练获取第二神经网络的流程如下:
S801、接收设备对所述待训练的第二神经网络进行P次译码迭代训练,得到第一训练参数对应的第一训练结果,所述P小于所述Q,所述P和Q为正整数;
S802、所述接收设备根据所述第一训练结果和所述待训练的第二神经网络,对所述待训练的第二神经网络进行Q次译码迭代训练,得到第二训练结果;
S803、所述接收设备根据所述第二训练结果,得到所述已训练的所述第二神经网络。
在本实施例中,以N=16,K=8,P=10,Q=20的Polar码的神经网络为例进行说明。
具体地,接收设备对待训练的第二神经网络进行10次译码迭代训练,得到第一训练参数对应的第一训练结果。将10次迭代的第二神经网络的第一训练结果作为初始值输入20次迭代的待训练的第二神经网络中,并对第二神经网络进行20次译码迭代训练,得到第二训练结果。将第二训练结果代入待训练的第二神经网络,就可以得到已训练的第二神经网络,为了便于区分,将其称为第二神经网络NNs1。对于直接进行20次译码迭代训练得到的已训练的第二神经网络,称为第二神经网络NNs2。其中NNs为神经网络(Neural Networks)的简称。
图9为本申请实施例提供的神经网络的迭代性能对比图。如图9所示,Es/N0代表符号信噪比,其中,Es代表信号(符号)的能量,N0代表噪声的功率谱密度。BLER代表误块率(Block Error Rate,BLER)。Nt代表嵌套训练的神经网络(Nested trained),It代表未嵌套训练,即单独训练的神经网络(Individually trained)。
第二神经网络NNs1的译码性能如图9中的粗线所示,第二神经网络NNs2的译码性能如图9中的细线所示。如图9所示,在相同的符号信噪比下,当符号信噪比较小的情况下,第二神经网络NNs1和第二神经网络NNs2的误块率相差不大,而当符号信噪比较大的情况下,则第二神经网络NNs1译码时的误块率明显小于第二神经网络NNs2译码时的误块率,由此可知,第二神经网络NNs1的译码的性能增益优于第二神经网络NNs2的译码的性能增益。
本实施例通过先训练小的神经网络,再嵌套训练大的神经网络,使得大的神经网络的前几层也可以得到训练,降低了深度译码神经网络的训练性能损失,保证了迭代的性能增益。
实施例四
在上述的实施例三中,本申请给出了在迭代维度上如何获取高性能的译码神经网络,在本实施例中,将给出在训练参数的维度上如何获取上述各实施例中的第二神经网络的过程。在本实施例中,由于神经网络参数维度较大,直接训练大神经网络,会导致大神经网络中的小神经网络无法得到充分的训练,因此先训练较小神经网络,将较小神经网络的训练参数嵌套至大神经网络,故这种方法对于小神经网络而言,造成的性能损失较小。
在具体实现过程中,接收设备对待训练的第二神经网络中的各子神经网络进行迭代译码训练,得到子神经网络中的子训练参数对应的子训练结果;接收设备根据子训练结果,对待训练的第二神经网络进行译码迭代训练,得到训练参数对应的训练结果,接收设备将训练结果代入待训练的第二神经网络,即得到已训练的第二神经网络。
图10为本申请实施例提供的基于嵌套训练获取第二神经网络的流程示意图二,在图10所示的实施例中,第二神经网络对应的待译码序列的长度为N,信息比特数量为K,第二校验矩阵的列数为所述N,行数为N-K,N-1≥K≥1,所述N和K为正整数,所述方法包括:
S1001、所述接收设备对第一子校验矩阵对应的第一子Tanner图进行展开处理,得到待训练的第一子神经网络,所述第一子校验矩阵的列数为N,行数为C,其中,1≤C<N-K;
S1002、所述接收设备对所述第一子神经网络中的第一子训练参数进行译码迭代训练,得到所述第一子训练参数对应的第一子训练结果;
S1003、所述接收设备对第二子校验矩阵对应的第二子Tanner图进行展开处理,得到待训练的第二子神经网络,所述第二子校验矩阵为在所述第一子校验矩阵中增加A行得到的矩阵,且C+A≤N-K;所述A和所述C为正整数;
S1004、所述接收设备根据所述第一子训练结果,对所述第二子神经网络中的第二子训练参数进行迭代译码训练,得到第二子译码训练参数对应的第二子训练结果;
S1005、所述接收设备根据所述第二子训练结果,得到所述已训练的所述第二神经网络。
本领域技术人员可以理解,S1001至S1004示出了根据第一子神经网络的第一子训练结果,对第二子神经网络中的第二子训练参数进行迭代译码训练的过程,该过程为通过一个子神经网络的训练结果,对另一个子神经网络中的子训练参数进行迭代译码训练的示意,并不代表本申请仅通过第一子神经网络和第二子神经网络来获取第二神经网络,在具体实现过程中,可以存在多个子神经网络,本实施例对子神经网络的数量不做特别限定。同时,每次增加的行数A可以相同,也可以不同。
在本实施例中,在第一子训练结果代入第二子神经网络后,在第二子神经网络的训练过程中,还可以保持第一子训练结果不变,仅训练新增的训练参数,以减少计算量。
在具体实现过程中,可以通过多个子神经网络的嵌套训练得到最终的第二神经网络。例如第二神经网络中对应的N为16,K=1,初始校验矩阵的行数2,则每次训练过程中,在上一校验矩阵的基础上,每次增加1行得到新的校验矩阵,直至得到校验矩阵的行数为15。
具体实现过程可如下:
(1)、设计并训练K=15,N=16的神经网络,得到训练参数对应的训练结果
(2)、将(1)中得到的训练结果作为初始值输入嵌套设计的K=14,N=16的神经网络中,并加上保护掩码(使该训练结果对应的训练参数作为不可训练的参数)后进行训练,得到新增训练参数对应的新增训练结果,与(1)中的训练参数合并成为K=14,N=16的训练参数对应的训练结果;
重复以上步骤,直到得到K=1,N=16的训练参数对应的训练结果。
图11A-图11O为本申请实施例提供的嵌套训练和未训练的译码性能进行比较示意图,下面结合图11A至图11O对采用嵌套训练和未训练的译码性能进行比较。
其中,Es/N0代表符号信噪比,其中,Es代表信号(符号)的能量,N0代表噪声的功率谱密度。BLER代表误块率(Block Error Rate,BLER)。Nt代表嵌套训练的神经网络(Nestedtrained),Un代表未训练的神经网络(Untrained)。其中,未训练的神经网络可以理解为直接通过min-sum置信传播(Belief-Propagation,BP)译码算法进行译码得到的译码结果,也可以理解为神经网络中的所有训练参数β均为0时,神经网络进行译码时的译码结果。
如图11A至图11B所示,在K=15,N=16,校验矩阵的行数为1,以及K=14,N=16,校验矩阵的行数为2时,嵌套训练和未训练的神经网络的译码性能差异不大。
如图11C至图11G所示,随着校验矩阵行数的增加,在相同的符号信噪比下,当符号信噪比较小的情况下,嵌套训练和未训练的神经网络的译码性能差异不大,而当符号信噪比较大的情况下,则嵌套训练的神经网络译码时的误块率明显小于未训练的神经网络译码时的误块率,由此可知,嵌套训练的神经网络的译码的性能增益优于未训练的神经网络的译码的性能增益。
如图11H至图11O,随着校验矩阵行数的继续增加,在相同的符号信噪比下,当符号信噪比较小的情况下,未训练的神经网络的误块率略小于嵌套训练的神经网络的误块率,二者译码性能差异不大,而当符号信噪比较大的情况下,则未训练的神经网络的误块率远大于嵌套训练的神经网络的误块率,二者差异较大,综合比较,嵌套训练的神经网络的译码的性能增益还是优于未训练的神经网络的译码的性能增益。
由上述分析可知,由于神经网络参数维度较大,本实施例通过先训练较小神经网络,将较小神经网络的训练参数嵌套至大神经网络,并训练较大神经网络,从而实现了对大神经网络进行删减,在得到小的神经网络时,小的神经网络依然具有较好的译码性能,避免了小神经网络的译码性能的损失,提高了小神经网络译码的性能增益。
综上,本申请实施例解决了译码神经网络的N、K不同,导致译码神经网络需要重新训练的问题,本申请实施例只要训练并存储最大的神经网络,就可以实现不同N、K的译码,从而降低了神经网络的实现复杂度以及训练参数存储的复杂度。同时,结合实施例三和实施例四,通过类似的嵌套的训练方法提高了深度神经网络译码的性能。
针对存储复杂度而言,以图4为例,忽略稀疏的运算(例如n2e和e2n层,可以认为是输入输出的接口,计算比较稀疏,可以忽略),神经网络的实现与存储复杂度可以近似归一化为图4中c2v层的连线数n,即O(n)。表1示出了K=1,不同N下的连续数。
表一
N | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 |
嵌套 | 2 | 16 | 98 | 544 | 2882 | 14896 | 75938 | 384064 |
非嵌套 | 2 | 42 | 584 | 6960 | 77078 | 819588 | 8512866 | 87308010 |
比例 | 1.000 | 0.381 | 0.168 | 0.078 | 0.037 | 0.018 | 0.009 | 0.004 |
其中,嵌套对应的是大神经网络中的c2v层的连线数n,非嵌套对应的是各个神经网络中的c2v层的连线数n的总和,以N=4为例,则非嵌套对应的是K=3,N=4;K=2,N=4,以及K=1,N=4,三个神经网络对应的c2v层的连线数n的总和。
由表1可知,随着N的增大,嵌套对应的连线数n与非嵌套对应的连线数n的比例逐渐减小,即在N较大的情况下,存储复杂度降低的更多,嵌套的优势更加明显。
图12为本申请一实施例提供的接收设备的结构示意图,本实施例提供的接收设备可以为上述的网络设备或终端等可以进行译码的设备。如图12所示,该接收设备120包括:第一神经网络获取模块1201以及译码模块1202;
第一神经网络获取模块1201,用于接收发送设备发送的待译码序列,并获取所述待译码序列对应的第一神经网络,其中,所述第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,所述第一神经网络是所述接收设备根据所述第二校验矩阵中的另一部分元素的位置信息,对所述已训练的第二神经网络进行删减处理得到的神经网络;
译码模块1202,用于将所述待译码序列输入所述第一神经网络,得到译码结果。
可选地,所述第一神经网络获取模块1201具体用于:
获取所述第一校验矩阵对应的第一坦纳Tanner图,其中,所述第一Tanner图是所述接收设备根据所述位置信息,对所述第二校验矩阵对应的第二Tanner图中的校验节点和/或变量节点进行删减处理得到的Tanner图;
根据所述第一Tanner图,对所述已训练的第二神经网络进行删减处理,得到第一神经网络。
可选地,所述位置信息包括所述第二校验矩阵中另一部分元素在所述第二校验矩阵中所处的行和/或列位置;
所述第一神经网络获取模块1201具体用于:
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第L行,则对所述第二Tanner图中的第L个校验节点进行删减处理;和/或
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第M列,则对所述第二Tanner图中的第M个变量节点进行删减处理;
其中,所述第一Tanner图是所述接收设备对第L个校验节点和/或第M个变量节点进行删减处理得到的Tanner图,所述L和M是正整数。
可选地,所述第一神经网络获取模块1201具体用于:
删减所述被删减的校验节点和/或变量节点对应的所述已训练的第二神经网络中的训练节点以及训练参数,得到第一神经网络。
本实施例提供的接收设备,可用于执行上述方法实施例中的译码方法,其实现原理和技术效果类似,本实施例此处不再赘述。
图13为本申请另一实施例提供的接收设备的结构示意图,如图13所示,该接收设备120在图12的基础上,还包括:校验矩阵获取模块1203、展开模块1204、神经网络训练模块1205以及第二神经网络获取模块1206。其中
所述校验矩阵获取模块1203用于在获取所述待译码序列对应的第一神经网络之前,获取所述待译码序列对应的编码序列中的信息比特和/或非信息比特的位置;
根据所述信息比特和/或所述非信息比特的位置以及所述编码序列的生成矩阵,获取所述第一校验矩阵。
可选地,所述展开模块1204用于在获取所述待译码序列对应的第一神经网络之前,对所述第二校验矩阵对应的第二Tanner图进行展开处理,得到待训练的第二神经网络;
所述神经网络训练模块1205用于对所述待训练的第二神经网络中的训练参数进行译码迭代训练,得到所述训练参数对应的训练结果;
所述第二神经网络获取模块1206用于根据所述训练结果,得到所述已训练的第二神经网络。
可选地,所述待训练的第二神经网络的译码迭代次数为Q,所述神经网络训练模块1205具体用于:对所述待训练的第二神经网络进行P次译码迭代训练,得到第一训练参数对应的第一训练结果,所述P小于所述Q,所述P和Q为正整数;
根据所述第一训练结果和所述待训练的第二神经网络,对所述待训练的第二神经网络进行Q次译码迭代训练,得到第二训练结果;
所述第二神经网络获取模块1206具体用于根据所述第二训练结果,得到所述已训练的第二神经网络。
可选地,所述神经网络训练模块1205具体用于:
对所述待训练的第二神经网络中的子神经网络进行迭代译码训练,得到所述子神经网络中的子训练参数对应的子训练结果;
根据所述子训练结果,对所述待训练的第二神经网络进行译码迭代训练,得到所述训练参数对应的训练结果。
可选地,所述第二神经网络对应的待译码序列的长度为N,信息比特数量为K,所述第二校验矩阵的列数为所述N,行数为N-K,所述N-1≥K≥1,所述N和K为正整数,所述神经网络训练模块1205具体用于:
对第一子校验矩阵对应的第一子Tanner图进行展开处理,得到待训练的第一子神经网络,所述第一子校验矩阵的列数为N,行数为C,其中,1≤C<N-K;
对所述第一子神经网络中的第一子训练参数进行译码迭代训练,得到所述第一子训练参数对应的第一子训练结果;
对第二子校验矩阵对应的第二子Tanner图进行展开处理,得到待训练的第二子神经网络,所述第二子校验矩阵为在所述第一子校验矩阵中增加A行得到的矩阵,且C+A≤N-K;所述A和所述C为正整数;
根据所述第一子训练结果,对所述第二子神经网络中的第二子训练参数进行迭代译码训练,得到第二子译码训练参数对应的第二子训练结果。
应理解,上述接收设备中的各模块可以被实现为处理器,当其被实现为处理器时,接收设备的硬件结构图可如图14所示。
图14为本申请提供的接收设备的硬件结构示意图。如图14所示,该接收设备140包括:处理器1401以及存储器1402;其中
存储器1402,用于存储计算机程序;
处理器1401,用于执行存储器存储的计算机程序,以实现上述译码方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器1402既可以是独立的,也可以跟处理器1401集成在一起。
当所述存储器1402是独立于处理器1401之外的器件时,所述接收设备140还可以包括:
总线1403,用于连接所述存储器1402和处理器1401。图14的接收设备还可以进一步包括接收器1404,用于接收待译码序列。
本申请实施例还提供一种存储介质,所述存储介质包括计算机程序,所述计算机程序用于实现如上所述的译码方法。
本申请实施例还提供一种芯片,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的所述程序指令以实现如上所述的译码方法。
本申请实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,所述计算机程序用于实现上述的译码方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
Claims (20)
1.一种译码方法,其特征在于,包括:
接收设备接收发送设备发送的待译码序列,并获取所述待译码序列对应的第一神经网络,其中,所述第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,所述第一神经网络是所述接收设备根据所述第二校验矩阵中的另一部分元素的位置信息,对所述已训练的第二神经网络进行删减处理得到的神经网络;
所述接收设备将所述待译码序列输入所述第一神经网络,得到译码结果。
2.根据权利要求1所述的方法,其特征在于,所述接收设备获取所述待译码序列对应的第一神经网络,包括:
所述接收设备获取所述第一校验矩阵对应的第一坦纳Tanner图,其中,所述第一Tanner图是所述接收设备根据所述位置信息,对所述第二校验矩阵对应的第二Tanner图中的校验节点和/或变量节点进行删减处理得到的Tanner图;
所述接收设备根据所述第一Tanner图,对所述已训练的第二神经网络进行删减处理,得到第一神经网络。
3.根据权利要求2所述的方法,其特征在于,所述位置信息包括所述第二校验矩阵中另一部分元素在所述第二校验矩阵中所处的行和/或列位置;
所述接收设备获取所述第一校验矩阵对应的第一Tanner图,包括:
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第L行,则所述接收设备对所述第二Tanner图中的第L个校验节点进行删减处理;和/或
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第M列,则所述接收设备对所述第二Tanner图中的第M个变量节点进行删减处理;
其中,所述第一Tanner图是所述接收设备对第L个校验节点和/或第M个变量节点进行删减处理得到的Tanner图,所述L和M是正整数。
4.根据权利要求2或3所述的方法,其特征在于,所述接收设备对所述已训练的第二神经网络进行删减处理,得到第一神经网络,包括:
所述接收设备删减所述被删减的校验节点和/或变量节点对应的所述已训练的第二神经网络中的训练节点以及训练参数,得到第一神经网络。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述接收设备获取所述待译码序列对应的第一神经网络之前,还包括:
所述接收设备获取所述待译码序列对应的编码序列中的信息比特和/或非信息比特的位置;
所述接收设备根据所述信息比特和/或所述非信息比特的位置以及所述编码序列的生成矩阵,获取所述第一校验矩阵。
6.根据权利要求2至4任一项所述的方法,其特征在于,所述接收设备获取所述待译码序列对应的第一神经网络之前,还包括:
所述接收设备对所述第二校验矩阵对应的第二Tanner图进行展开处理,得到待训练的第二神经网络;
所述接收设备对所述待训练的第二神经网络中的训练参数进行译码迭代训练,得到所述训练参数对应的训练结果;
所述接收设备根据所述训练结果,得到所述已训练的第二神经网络。
7.根据权利要求6所述的方法,其特征在于,所述待训练的第二神经网络的译码迭代次数为Q,所述对所述待训练的第二神经网络中的训练参数进行译码迭代训练,得到所述训练参数对应的训练结果,包括:
所述接收设备对所述待训练的第二神经网络进行P次译码迭代训练,得到第一训练参数对应的第一训练结果,所述P小于所述Q,所述P和Q为正整数;
所述接收设备根据所述第一训练结果和所述待训练的第二神经网络,对所述待训练的第二神经网络进行Q次译码迭代训练,得到第二训练结果;
所述接收设备根据所述训练结果,得到所述已训练的第二神经网络,包括:
所述接收设备根据所述第二训练结果,得到所述已训练的第二神经网络。
8.根据权利要求6所述的方法,其特征在于,所述接收设备对所述待训练的第二神经网络中的训练参数进行译码迭代训练,得到所述训练参数对应的训练结果,包括:
所述接收设备对所述待训练的第二神经网络中的子神经网络进行迭代译码训练,得到所述子神经网络中的子训练参数对应的子训练结果;
所述接收设备根据所述子训练结果,对所述待训练的第二神经网络进行译码迭代训练,得到所述训练参数对应的训练结果。
9.根据权利要求8所述的方法,其特征在于,所述第二神经网络对应的待译码序列的长度为N,信息比特数量为K,所述第二校验矩阵的列数为所述N,行数为N-K,所述N-1≥K≥1,所述N和K为正整数,所述接收设备对所述待训练的第二神经网络中的子神经网络进行迭代译码训练,得到所述子神经网络中的子训练参数对应的子训练结果,包括:
所述接收设备对第一子校验矩阵对应的第一子Tanner图进行展开处理,得到待训练的第一子神经网络,所述第一子校验矩阵的列数为N,行数为C,其中,1≤C<N-K;
所述接收设备对所述第一子神经网络中的第一子训练参数进行译码迭代训练,得到所述第一子训练参数对应的第一子训练结果;
所述接收设备对第二子校验矩阵对应的第二子Tanner图进行展开处理,得到待训练的第二子神经网络,所述第二子校验矩阵为在所述第一子校验矩阵中增加A行得到的矩阵,且C+A≤N-K;所述A和所述C为正整数;
所述接收设备根据所述第一子训练结果,对所述第二子神经网络中的第二子训练参数进行迭代译码训练,得到第二子译码训练参数对应的第二子训练结果。
10.一种接收设备,其特征在于,包括:
第一神经网络获取模块,用于接收发送设备发送的待译码序列,并获取所述待译码序列对应的第一神经网络,其中,所述第一神经网络对应的第一校验矩阵中的全部元素与已训练的第二神经网络对应的第二校验矩阵中的一部分元素相同,所述第一神经网络是所述接收设备根据所述第二校验矩阵中的另一部分元素的位置信息,对所述已训练的第二神经网络进行删减处理得到的神经网络;
译码模块,用于将所述待译码序列输入所述第一神经网络,得到译码结果。
11.根据权利要求10所述的设备,其特征在于,所述第一神经网络获取模块具体用于:
获取所述第一校验矩阵对应的第一坦纳Tanner图,其中,所述第一Tanner图是所述接收设备根据所述位置信息,对所述第二校验矩阵对应的第二Tanner图中的校验节点和/或变量节点进行删减处理得到的Tanner图;
根据所述第一Tanner图,对所述已训练的第二神经网络进行删减处理,得到第一神经网络。
12.根据权利要求11所述的设备,其特征在于,所述位置信息包括所述第二校验矩阵中另一部分元素在所述第二校验矩阵中所处的行和/或列位置;
所述第一神经网络获取模块具体用于:
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第L行,则对所述第二Tanner图中的第L个校验节点进行删减处理;和/或
若所述另一部分元素中的元素所处的位置为所述第二校验矩阵的第M列,则对所述第二Tanner图中的第M个变量节点进行删减处理;
其中,所述第一Tanner图是所述接收设备对第L个校验节点和/或第M个变量节点进行删减处理得到的Tanner图,所述L和M是正整数。
13.根据权利要求11或12所述的设备,其特征在于,所述第一神经网络获取模块具体用于:
删减所述被删减的校验节点和/或变量节点对应的所述已训练的第二神经网络中的训练节点以及训练参数,得到第一神经网络。
14.根据权利要求10至13任一项所述的设备,其特征在于,还包括:校验矩阵获取模块;
所述校验矩阵获取模块用于在获取所述待译码序列对应的第一神经网络之前,获取所述待译码序列对应的编码序列中的信息比特和/或非信息比特的位置;
根据所述信息比特和/或所述非信息比特的位置以及所述编码序列的生成矩阵,获取所述第一校验矩阵。
15.根据权利要求11至13任一项所述的设备,其特征在于,还包括:展开模块、神经网络训练模块以及第二神经网络获取模块;
所述展开模块用于在获取所述待译码序列对应的第一神经网络之前,对所述第二校验矩阵对应的第二Tanner图进行展开处理,得到待训练的第二神经网络;
所述神经网络训练模块用于对所述待训练的第二神经网络中的训练参数进行译码迭代训练,得到所述训练参数对应的训练结果;
所述第二神经网络获取模块用于根据所述训练结果,得到所述已训练的第二神经网络。
16.根据权利要求15所述的设备,其特征在于,所述待训练的第二神经网络的译码迭代次数为Q,所述神经网络训练模块具体用于:对所述待训练的第二神经网络进行P次译码迭代训练,得到第一训练参数对应的第一训练结果,所述P小于所述Q,所述P和Q为正整数;
根据所述第一训练结果和所述待训练的第二神经网络,对所述待训练的第二神经网络进行Q次译码迭代训练,得到第二训练结果;
所述第二神经网络获取模块具体用于根据所述第二训练结果,得到所述已训练的第二神经网络。
17.根据权利要求15所述的设备,其特征在于,所述神经网络训练模块具体用于:
对所述待训练的第二神经网络中的子神经网络进行迭代译码训练,得到所述子神经网络中的子训练参数对应的子训练结果;
根据所述子训练结果,对所述待训练的第二神经网络进行译码迭代训练,得到所述训练参数对应的训练结果。
18.根据权利要求17所述的设备,其特征在于,所述第二神经网络对应的待译码序列的长度为N,信息比特数量为K,所述第二校验矩阵的列数为所述N,行数为N-K,所述N-1≥K≥1,所述N和K为正整数,所述神经网络训练模块具体用于:
对第一子校验矩阵对应的第一子Tanner图进行展开处理,得到待训练的第一子神经网络,所述第一子校验矩阵的列数为N,行数为C,其中,1≤C<N-K;
对所述第一子神经网络中的第一子训练参数进行译码迭代训练,得到所述第一子训练参数对应的第一子训练结果;
对第二子校验矩阵对应的第二子Tanner图进行展开处理,得到待训练的第二子神经网络,所述第二子校验矩阵为在所述第一子校验矩阵中增加A行得到的矩阵,且C+A≤N-K;所述A和所述C为正整数;
根据所述第一子训练结果,对所述第二子神经网络中的第二子训练参数进行迭代译码训练,得到第二子译码训练参数对应的第二子训练结果。
19.一种接收设备,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如权利要求1至9任一项所述的译码方法。
20.一种存储介质,其特征在于,所述存储介质包括计算机程序,所述计算机程序用于实现如权利要求1至9任一项所述的译码方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810002475.2A CN109995380B (zh) | 2018-01-02 | 2018-01-02 | 译码方法及设备 |
PCT/CN2018/123217 WO2019134553A1 (zh) | 2018-01-02 | 2018-12-24 | 译码方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810002475.2A CN109995380B (zh) | 2018-01-02 | 2018-01-02 | 译码方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109995380A true CN109995380A (zh) | 2019-07-09 |
CN109995380B CN109995380B (zh) | 2021-08-13 |
Family
ID=67128482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810002475.2A Active CN109995380B (zh) | 2018-01-02 | 2018-01-02 | 译码方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109995380B (zh) |
WO (1) | WO2019134553A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110739977A (zh) * | 2019-10-30 | 2020-01-31 | 华南理工大学 | 一种基于深度学习的bch码译码方法 |
CN113872610A (zh) * | 2021-10-08 | 2021-12-31 | 华侨大学 | 一种ldpc码神经网络训练、译码方法及其系统 |
WO2022012256A1 (zh) * | 2020-07-13 | 2022-01-20 | 华为技术有限公司 | 通信的方法及通信装置 |
CN115441993A (zh) * | 2022-09-01 | 2022-12-06 | 中国人民解放军国防科技大学 | 一种信道编解码方法、装置、设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112583419B (zh) * | 2019-09-30 | 2024-06-18 | 华为技术有限公司 | 一种译码方法及装置 |
CN114039699A (zh) * | 2021-10-14 | 2022-02-11 | 中科南京移动通信与计算创新研究院 | 数据链通信方法、装置及可读介质 |
CN115987298B (zh) * | 2023-03-20 | 2023-05-23 | 北京理工大学 | 基于BPL稀疏因子图选择的Polar码剪枝译码方法 |
CN117335815B (zh) * | 2023-11-29 | 2024-03-15 | 广东工业大学 | 基于改进原模图神经译码器的训练方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050257124A1 (en) * | 2001-06-15 | 2005-11-17 | Tom Richardson | Node processors for use in parity check decoders |
CN101257311A (zh) * | 2008-04-03 | 2008-09-03 | 浙江大学 | 一种多进制调制下ldpc码的快速译码方法 |
US20100281328A1 (en) * | 2009-04-29 | 2010-11-04 | Ismail Lakkis | High speed low density parity check codes encoding and decoding |
US20140082448A1 (en) * | 2012-09-18 | 2014-03-20 | Fan Zhang | LDPC Decoder With Dynamic Graph Modification |
CN103929210A (zh) * | 2014-04-25 | 2014-07-16 | 重庆邮电大学 | 一种基于遗传算法与神经网络的硬判决译码方法 |
CN105207682A (zh) * | 2015-09-22 | 2015-12-30 | 西安电子科技大学 | 基于动态校验矩阵的极化码置信传播译码方法 |
CN105900116A (zh) * | 2014-02-10 | 2016-08-24 | 三菱电机株式会社 | 分层型神经网络装置、判别器学习方法以及判别方法 |
CN106569906A (zh) * | 2016-10-20 | 2017-04-19 | 北京航空航天大学 | 基于稀疏矩阵的编码写入方法及装置 |
CN106571831A (zh) * | 2016-10-28 | 2017-04-19 | 华南理工大学 | 一种基于深度学习的ldpc硬判决译码方法及译码器 |
CN106877883A (zh) * | 2017-02-16 | 2017-06-20 | 南京大学 | 一种基于受限玻尔兹曼机的ldpc译码方法和装置 |
CN107005251A (zh) * | 2014-11-19 | 2017-08-01 | 领特投资两合有限公司 | 具有有限精度和迭代次数的动态调整的ldpc解码 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160358075A1 (en) * | 2015-06-08 | 2016-12-08 | The Regents Of The University Of Michigan | System for implementing a sparse coding algorithm |
CN107241106B (zh) * | 2017-05-24 | 2020-07-14 | 东南大学 | 基于深度学习的极化码译码算法 |
-
2018
- 2018-01-02 CN CN201810002475.2A patent/CN109995380B/zh active Active
- 2018-12-24 WO PCT/CN2018/123217 patent/WO2019134553A1/zh active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050257124A1 (en) * | 2001-06-15 | 2005-11-17 | Tom Richardson | Node processors for use in parity check decoders |
CN101257311A (zh) * | 2008-04-03 | 2008-09-03 | 浙江大学 | 一种多进制调制下ldpc码的快速译码方法 |
US20100281328A1 (en) * | 2009-04-29 | 2010-11-04 | Ismail Lakkis | High speed low density parity check codes encoding and decoding |
US20140082448A1 (en) * | 2012-09-18 | 2014-03-20 | Fan Zhang | LDPC Decoder With Dynamic Graph Modification |
CN105900116A (zh) * | 2014-02-10 | 2016-08-24 | 三菱电机株式会社 | 分层型神经网络装置、判别器学习方法以及判别方法 |
CN103929210A (zh) * | 2014-04-25 | 2014-07-16 | 重庆邮电大学 | 一种基于遗传算法与神经网络的硬判决译码方法 |
CN107005251A (zh) * | 2014-11-19 | 2017-08-01 | 领特投资两合有限公司 | 具有有限精度和迭代次数的动态调整的ldpc解码 |
CN105207682A (zh) * | 2015-09-22 | 2015-12-30 | 西安电子科技大学 | 基于动态校验矩阵的极化码置信传播译码方法 |
CN106569906A (zh) * | 2016-10-20 | 2017-04-19 | 北京航空航天大学 | 基于稀疏矩阵的编码写入方法及装置 |
CN106571831A (zh) * | 2016-10-28 | 2017-04-19 | 华南理工大学 | 一种基于深度学习的ldpc硬判决译码方法及译码器 |
CN106877883A (zh) * | 2017-02-16 | 2017-06-20 | 南京大学 | 一种基于受限玻尔兹曼机的ldpc译码方法和装置 |
Non-Patent Citations (2)
Title |
---|
STEFAN KRASTANOV等: "Deep Neural Network Probabilistic Dcoder for Stabilizer Codes", 《SCIENTIFIC REPORTS》 * |
王琪等: "定码长多码率QC-LDPC码的构造", 《清华大学学报(自然科学版)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110739977A (zh) * | 2019-10-30 | 2020-01-31 | 华南理工大学 | 一种基于深度学习的bch码译码方法 |
CN110739977B (zh) * | 2019-10-30 | 2023-03-21 | 华南理工大学 | 一种基于深度学习的bch码译码方法 |
WO2022012256A1 (zh) * | 2020-07-13 | 2022-01-20 | 华为技术有限公司 | 通信的方法及通信装置 |
CN113872610A (zh) * | 2021-10-08 | 2021-12-31 | 华侨大学 | 一种ldpc码神经网络训练、译码方法及其系统 |
CN113872610B (zh) * | 2021-10-08 | 2024-07-09 | 华侨大学 | 一种ldpc码神经网络训练、译码方法及其系统 |
CN115441993A (zh) * | 2022-09-01 | 2022-12-06 | 中国人民解放军国防科技大学 | 一种信道编解码方法、装置、设备及存储介质 |
CN115441993B (zh) * | 2022-09-01 | 2024-05-28 | 中国人民解放军国防科技大学 | 一种信道编解码方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019134553A1 (zh) | 2019-07-11 |
CN109995380B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995380A (zh) | 译码方法及设备 | |
JP5318583B2 (ja) | 高スループット・アプリケーションのためのh−arqレート・コンパチブル符号を提供するためのシステム及び方法 | |
US10560218B2 (en) | Apparatus and methods for decoding assistant bit-based polar code construction | |
US20040057575A1 (en) | LDPC code and encoder/decoder regarding same | |
CN109327225B (zh) | 信息处理的方法、装置和通信设备 | |
CN108282259B (zh) | 一种编码方法及装置 | |
CN109361404A (zh) | 一种基于半监督深度学习网络的ldpc译码系统及译码方法 | |
CN107196737B (zh) | 基于消息传递算法的scma译码方法 | |
CN106685586A (zh) | 生成用于在信道中传输的低密度奇偶校验码的方法及设备 | |
CN109314524A (zh) | 使用通用极化码时通过异构内核进行速率匹配的系统和方法 | |
CN111865335B (zh) | 一种分组纠错码的译码方法、装置、存储介质和电子装置 | |
CN108270510A (zh) | 基于ldpc码的通信方法和通信设备 | |
CN110233628B (zh) | 极化码的自适应置信传播列表译码方法 | |
CN109921803A (zh) | 基于神经网络的高密度线性分组码译码方法 | |
CN107005251A (zh) | 具有有限精度和迭代次数的动态调整的ldpc解码 | |
US9876608B2 (en) | Encoding apparatus and encoding method | |
US10944506B2 (en) | Method and apparatus for transmitting and receiving signal by using polar coding | |
CN108234066A (zh) | 基于ldpc的通信方法和通信设备 | |
CN111130564B (zh) | 译码方法及装置 | |
Kahraman et al. | Folded successive cancelation decoding of polar codes | |
CN105915231A (zh) | 基于乘性重复叠加的长约束卷积码构造方法 | |
CN109889283B (zh) | 一种scma上行通信系统多用户检测方法及装置 | |
CN101436864B (zh) | 一种低密度奇偶校验码的译码方法及装置 | |
CN109361491A (zh) | 基于ldpc的多输入多输出系统的译码方法、设备和存储介质 | |
Han et al. | Block Orthogonal Sparse Superposition Codes for $\sf {L}^ 3$ Communications: Low Error Rate, Low Latency, and Low Power Consumption |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |