CN111106839A - 一种基于神经网络的极化码译码方法及装置 - Google Patents

一种基于神经网络的极化码译码方法及装置 Download PDF

Info

Publication number
CN111106839A
CN111106839A CN201911319155.0A CN201911319155A CN111106839A CN 111106839 A CN111106839 A CN 111106839A CN 201911319155 A CN201911319155 A CN 201911319155A CN 111106839 A CN111106839 A CN 111106839A
Authority
CN
China
Prior art keywords
neural network
network model
sample
output
neuron
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
Application number
CN201911319155.0A
Other languages
English (en)
Inventor
牛凯
董超
高健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201911319155.0A priority Critical patent/CN111106839A/zh
Publication of CN111106839A publication Critical patent/CN111106839A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明实施例提供了一种基于神经网络的极化码译码方法及装置,包括:获取待译码的极化码,其中,极化码是对未编码序列进行极化编码得到的,未编码序列由K位的信息位和(N‑K)位的冻结位组成,N=2n,n为正整数,K为小于N的正整数;将待译码的极化码输入神经网络模型,得到译码序列;其中,神经网络模型是基于预设训练集进行训练得到的,预设训练集中包含样本极化码和样本未编码序列。应用本发明实施例提供的技术方案,神经网络模型在训练完成后,样本极化码的译码序列和样本未编码序列之间的误差已经被调整到可接受范围内,可以降低极化码译码的误码率;另外,利用神经网络模型可以并行译码,减少了极化码译码的延迟时间。

Description

一种基于神经网络的极化码译码方法及装置
技术领域
本发明涉及通信技术领域,特别是涉及一种基于神经网络的极化码译码方法及装置。
背景技术
在通信技术领域中,极化码是一次新的突破,当码长无限长时,在SC(SuccessiveCancellation,串行抵消)译码算法下可以达到二进制输入BMCs(Binary-input DiscreteMemoryless Channel,离散无记忆信道)的信道容量。当码长有限长时,通过CRC(CyclicRedundancy Check,循环冗余校验码)辅助的SCL(Successive Cancellation List,串行抵消列表)译码可以达到比turbo码和LDPC(Low Density Parity Check,低密度奇偶校验码)码更好的性能。已有的极化码译码算法包括基于SC的算法和基于BP(Belief Propagation,置信传播)的算法两类,其中基于SC的算法串行译码的特性限制了它的吞吐率,具有较高的译码延迟。基于BP的算法虽然可以并行译码,但BP译码的复杂度高,并且译码性能与基于SC的算法有一定的差距。
发明内容
有鉴于此,本发明实施例的目的在于提供一种基于神经网络的极化码译码方法及装置,相对于现有的极化码译码方法,可以降低极化码译码的延迟时间和误码率。具体技术方案如下:
第一方面,本发明实施例提供了一种基于神经网络的极化码译码方法,包括:
获取待译码的极化码,其中,所述极化码是对未编码序列进行极化编码得到的,所述未编码序列由K位的信息位和(N-K)位的冻结位组成,N=2n,n为正整数,K为小于N的正整数;
将所述待译码的极化码输入神经网络模型,得到译码序列;
其中,所述神经网络模型是基于预设训练集进行训练得到的,所述预设训练集中包含样本极化码和样本未编码序列,所述样本极化码为对所述样本未编码序列进行极化编码得到的,所述样本未编码序列由K位的样本信息位和(N-K)位的样本冻结位组成。
可选的,所述神经网络模型为全连接神经网络模型;
所述全连接神经网络模型包括一个输入层、一个输出层和预设数量个隐藏层;其中,所述输入层的神经元个数为N,所述输出层的神经元个数为K,每个神经元与前一层的所有神经元相连,对于一个I层的全连接神经网络,神经网络中第i层的输出向量表示为:
Figure BDA0002326670810000011
其中I是正整数,i∈{0,1,…,I-1},oi,j表示神经网络中第i层第j个神经元的输出,j∈{1,2,…,Ji},Ji表示第i层神经元的数量;
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的全连接神经网络模型,得到样本译码序列,其中,所述样本信息位为K位随机二进制码,所述样本冻结位均为0,所述样本译码序列为K位二进制码,所述K位二进制码的位数依次为{0,1,…,K-1};
基于所述样本译码序列中的所述K位二进制码和所述样本未编码序列中的所述K位随机二进制码,计算所述全连接神经网络模型的损失函数;
所述全连接神经网络模型的损失函数为:
Figure BDA0002326670810000021
其中,dk为所述样本未编码序列中所述信息位的第k位,
Figure BDA0002326670810000022
是所述输出层第k个神经元的输出;
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的全连接神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的全连接神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
可选的,所述神经网络模型为对基于置信传播BP译码因子图的多级输出神经网络模型进行训练得到的;
基于BP译码因子图的所述多级输出神经网络模型包括一个输入层,T个输出层和2n(T-1)+n个隐藏层,每一层的神经元数目为N,每个神经元传递的信息包括从右往左传播的左信息和从左往右传播的右信息,所述BP译码因子图共有n+1级,最左侧为第0级,最右侧为第n级,每一级的神经元数目为N,第n级的神经元只传播左信息,第n级的神经元传播的左信息初始化为:
Figure BDA0002326670810000023
第0级的神经元只传播右信息,第0级的神经元传播的右信息初始化为:
Figure BDA0002326670810000024
第1级到第n-1级的神经元传播的左信息和右信息全部初始化为0;
其中,n为正整数,t∈{0,1,…,T},i∈{0,1,…,N-1},A为所述信息位的序号,AC为所述冻结位的序号,T为BP译码的最大迭代次数;
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的所述多级输出神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的所述多级输出神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述多级输出神经网络模型的损失函数;
所述多级输出神经网络模型的损失函数为:
Figure BDA0002326670810000031
其中,ui为所述样本未编码序列的第i位,
Figure BDA0002326670810000032
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure BDA0002326670810000033
表示第t′次迭代中,第i个神经元的左信息,
Figure BDA0002326670810000034
表示第t′次迭代中,第i个神经元的右信息;
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的所述多级输出神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的所述多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
可选的,所述神经网络模型为基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型;所述CRC神经元与基于BP译码因子图的多级输出神经网络模型的输出层的神经元根据校验关系相连;
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数;
所述基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数为:
Figure BDA0002326670810000035
其中,ui为所述样本未编码序列的第i位,
Figure BDA0002326670810000036
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure BDA0002326670810000041
表示第t′次迭代中,第i个神经元的左信息,
Figure BDA0002326670810000042
表示第t次迭代中,第i个神经元的右信息,
Figure BDA0002326670810000043
表示第i个CRC节点的输出;
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
可选的,所述神经网络模型为基于BP二分图的神经网络模型;
所述基于BP二分图的神经网络模型,包括1个输入层,T个输出层和2T-1个隐藏层,其中T表示最大迭代次数,所述输入层和所述输出层的神经元数量均为N,所述隐藏层包括奇数隐藏层和偶数隐藏层,所述奇数隐藏层由变量节点组成,所述奇数隐藏层的神经元数量等于所述变量节点连边的数量,所述奇数隐藏层的神经元执行公式:
Figure BDA0002326670810000044
其中,oc,e表示第k隐藏层第e个神经元的输出,Lk,e表示输入第k隐藏层第e个神经元的对数似然比,
Figure BDA0002326670810000045
表示输入第k隐藏层第e个神经元的对数似然比所分配的权重,ok-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出,wk-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出所分配的权重,所述k∈{1,3,5,7,…};
所述偶数隐藏层由校验节点组成,所述偶数隐藏层的神经元数量等于所述校验节点连边的数量,所述偶数隐藏层的神经元执行公式:
ok′,e′=2tanh-1(∏wk′-1,e′ok′-1,e′);
其中,ok′,e′表示第k′隐藏层第e′个神经元的输出,ok′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出,wk′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出所分配的权重,所述k′∈{0,2,4,6,…};
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的基于BP二分图的神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的基于BP二分图的神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述基于BP二分图的神经网络模型的损失函数;
所述基于BP二分图的神经网络模型的损失函数为:
Figure BDA0002326670810000051
其中,ui为所述样本未编码序列的第i位,
Figure BDA0002326670810000052
表示第t输出层,第i个神经元的输出,i∈{0,1,…,N-1};
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的基于BP二分图的神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的基于BP二分图的神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
可选的,所述神经网络模型为基于SC译码因子图的神经网络模型;
所述基于SC译码因子图的神经网络模型,包括1个输入层,1个输出层和n个隐藏层,每一层的神经元数量为N;所述神经元包括f神经元,g神经元和ssign神经元;
所述f神经元执行的公式为:f(a,b)=w*sgn(a)sgn(b)min(|a|,|b|),其中w表示f神经元的权重,a和b均表示f神经元的输入;
所述g神经元执行的公式为:
Figure BDA0002326670810000053
其中
Figure BDA0002326670810000054
表示SC译码过程中产生的部分和,w′表示g神经元的权重,a′和b′均表示g神经元的输入;
所述ssign神经元执行的公式为:
Figure BDA0002326670810000055
其中t是一个可训练的参数,τ是预设值,ReLU(a″)=max(0,a″),a″表示ssign神经元的输入;
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的基于SC译码因子图的神经网络模型,得到样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述样本译码序列为所述待训练的基于SC译码因子图的神经网络模型中输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
基于所述样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述基于SC译码因子图的神经网络模型的损失函数;
所述基于SC译码因子图的神经网络模型损失函数为:
Figure BDA0002326670810000056
其中,ui为所述样本未编码序列的第i位,
Figure BDA0002326670810000061
表示输出层第i个神经元的输出,mn,i表示第n层隐藏层第i个神经元的输出,i∈{0,1,…,N-1};
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的基于SC译码因子图的神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的基于SC译码因子图的神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
第二方面,本发明实施例还提供了一种基于神经网络的极化码译码装置,包括:
获取单元,用于获取待译码的极化码,其中,所述极化码是对未编码序列进行极化编码得到的,所述未编码序列由K位的信息位和(N-K)位的冻结位组成,N=2n,n为正整数,K为小于N的正整数;
第一输入单元,用于将所述待译码的极化码输入神经网络模型,得到译码序列;
其中,所述神经网络模型是基于预设训练集进行训练得到的,所述预设训练集中包含样本极化码和样本未编码序列,所述样本极化码为对所述样本未编码序列进行极化编码得到的,所述样本未编码序列由K位的样本信息位和(N-K)位的样本冻结位组成。
可选的,所述神经网络模型为全连接神经网络模型;
所述全连接神经网络模型包括一个输入层、一个输出层和预设数量个隐藏层;其中,所述输入层的神经元个数为N,所述输出层的神经元个数为K,每个神经元与前一层的所有神经元相连,对于一个I层的全连接神经网络,神经网络中第i层的输出向量表示为:
Figure BDA0002326670810000062
其中I是正整数,i∈{0,1,…,I-1},oi,j表示神经网络中第i层第j个神经元的输出,j∈{1,2,…,Ji},Ji表示第i层神经元的数量;
所述装置还包括:
第二输入单元,用于将所述预设训练集中的所述样本极化码输入待训练的全连接神经网络模型,得到样本译码序列,其中,所述样本信息位为K位随机二进制码,所述样本冻结位均为0,所述样本译码序列为K位二进制码,所述K位二进制码的位数依次为{0,1,…,K-1};
第一计算单元,用于基于所述样本译码序列中的所述K位二进制码和所述样本未编码序列中的所述K位随机二进制码,计算所述全连接神经网络模型的损失函数;
所述全连接神经网络模型的损失函数为:
Figure BDA0002326670810000063
其中,dk为所述样本未编码序列中所述信息位的第k位,
Figure BDA0002326670810000071
是所述输出层第k个神经元的输出;
第一判断单元,用于判断所述损失函数是否收敛;
第一确定单元,用于若所述第一判断单元的判断结果为收敛,将当前的所述待训练的全连接神经网络模型,确定为训练完成的所述神经网络模型;
调整单元,用于若所述第一判断单元的判断结果为未收敛,调整所述待训练的全连接神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
可选的,所述神经网络模型为对基于置信传播BP译码因子图的多级输出神经网络模型进行训练得到的;
基于BP译码因子图的所述多级输出神经网络模型包括一个输入层,T个输出层和2n(T-1)+n个隐藏层,每一层的神经元数目为N,每个神经元传递的信息包括从右往左传播的左信息和从左往右传播的右信息,所述BP译码因子图共有n+1级,最左侧为第0级,最右侧为第n级,每一级的神经元数目为N,第n级的神经元只传播左信息,第n级的神经元传播的左信息初始化为:
Figure BDA0002326670810000072
第0级的神经元只传播右信息,第0级的神经元传播的右信息初始化为:
Figure BDA0002326670810000073
第1级到第n-1级的神经元传播的左信息和右信息全部初始化为0;
其中,n为正整数,t∈{0,1,…,T},i∈{0,1,…,N-1},A为所述信息位的序号,AC为所述冻结位的序号,T为BP译码的最大迭代次数;
所述装置还包括:
第三输入单元,用于将所述预设训练集中的所述样本极化码输入待训练的所述多级输出神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的所述多级输出神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
第二计算单元,用于基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述多级输出神经网络模型的损失函数;
所述多级输出神经网络模型的损失函数为:
Figure BDA0002326670810000074
其中,ui为所述样本未编码序列的第i位,
Figure BDA0002326670810000075
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure BDA0002326670810000076
表示第t′次迭代中,第i个神经元的左信息,
Figure BDA0002326670810000081
表示第t′次迭代中,第i个神经元的右信息;
第二判断单元,用于判断所述损失函数是否收敛;
第二确定单元,用于若所述第二判断单元的判断结果为收敛,将当前的所述待训练的所述多级输出神经网络模型,确定为训练完成的所述神经网络模型;
第二调整单元,用于若所述第二判断单元的判断结果为未收敛,调整所述待训练的所述多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
可选的,所述神经网络模型为基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型;所述CRC神经元与基于BP译码因子图的多级输出神经网络模型的输出层的神经元根据校验关系相连;
所述装置还包括:
第四输入单元,用于将所述预设训练集中的所述样本极化码输入待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
第三计算单元,用于基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数;
所述基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数为:
Figure BDA0002326670810000082
其中,ui为所述样本未编码序列的第i位,
Figure BDA0002326670810000083
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure BDA0002326670810000084
表示第t′次迭代中,第i个神经元的左信息,
Figure BDA0002326670810000085
表示第t次迭代中,第i个神经元的右信息,
Figure BDA0002326670810000086
表示第i个CRC节点的输出;
第三判断单元,用于判断所述损失函数是否收敛;
第三确定单元,用于若所述第三判断单元的判断结果为收敛,将当前的所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,确定为训练完成的所述神经网络模型;
第三调整单元,用于若所述第三判断单元的判断结果为未收敛,调整所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
可选的,所述神经网络模型为基于BP二分图的神经网络模型;
所述基于BP二分图的神经网络模型,包括1个输入层,T个输出层和2T-1个隐藏层,其中T表示最大迭代次数,所述输入层和所述输出层的神经元数量均为N,所述隐藏层包括奇数隐藏层和偶数隐藏层,所述奇数隐藏层由变量节点组成,所述奇数隐藏层的神经元数量等于所述变量节点连边的数量,所述奇数隐藏层的神经元执行公式:
Figure BDA0002326670810000091
其中,oc,e表示第k隐藏层第e个神经元的输出,Lk,e表示输入第k隐藏层第e个神经元的对数似然比,
Figure BDA0002326670810000092
表示输入第k隐藏层第e个神经元的对数似然比所分配的权重,ok-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出,wk-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出所分配的权重,所述k∈{1,3,5,7,…};
所述偶数隐藏层由校验节点组成,所述偶数隐藏层的神经元数量等于所述校验节点连边的数量,所述偶数隐藏层的神经元执行公式:
ok′,e′=2tanh-1(∏wk′-1,e′ok′-1,e′);
其中,ok′,e′表示第k′隐藏层第e′个神经元的输出,ok′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出,wk′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出所分配的权重,所述k′∈{0,2,4,6,…};
所述装置还包括:
第五输入单元,用于将所述预设训练集中的所述样本极化码输入待训练的基于BP二分图的神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的基于BP二分图的神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
第四计算单元,用于基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述基于BP二分图的神经网络模型的损失函数;
所述基于BP二分图的神经网络模型的损失函数为:
Figure BDA0002326670810000093
其中,ui为所述样本未编码序列的第i位,
Figure BDA0002326670810000094
表示第t输出层,第i个神经元的输出,i∈{0,1,…,N-1};
第四判断单元,用于判断所述损失函数是否收敛;
第四确定单元,用于若所述第四判断单元的判断结果为收敛,将当前的所述待训练的基于BP二分图的神经网络模型,确定为训练完成的所述神经网络模型;
第四调整单元,用于若所述第四判断单元的判断结果为未收敛,调整所述待训练的基于BP二分图的神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
本发明实施例提供的一种基于神经网络的极化码译码方法及装置,将待译码的极化码输入神经网络模型中进行译码,得到译码序列,神经网络模型是基于预设训练集得到的。神经网络模型在训练完成后,样本极化码的译码序列和样本未编码序列之间的误差已经被调整到可接受范围内,可以降低极化码译码的误码率;另外,利用神经网络模型可以并行译码,减少了极化码译码的延迟时间。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于神经网络的极化码译码方法的一种流程图;
图2为本发明实施例提供的全连接神经网络模型的一种示意图;
图3为本发明实施例提供的训练全连接神经网络模型的一种流程图;
图4为本发明实施例提供的基于BP译码因子图的多级输出神经网络模型的一种示意图;
图5为本发明实施例提供的训练基于BP译码因子图的多级输出神经网络模型的一种流程图;
图6为本发明实施例提供的基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型的一种示意图;
图7为本发明实施例提供的训练基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型的一种流程图;
图8为本发明实施例提供的基于BP二分图的神经网络模型的一种示意图;
图9为本发明实施例提供的训练基于BP二分图的神经网络模型的一种流程图;
图10为本发明实施例提供基于SC译码因子图的神经网络模型的一种示意图;
图11为本发明实施例提供的训练基于SC译码因子图的神经网络模型的一种流程图;
图12为本发明实施例提供的基于神经网络的极化码译码装置的一种结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于神经网络的极化码译码方法及装置,以下分别进行详细说明。
如图1所示,图1为本发明实施例提供的基于神经网络的极化码译码方法的一种流程图。该方法可以应用于电脑、手机等电子设备,为便于描述,下面以电子设备为执行主体进行说明。该基于神经网络的极化码译码方法包括如下步骤:
步骤11,获取待译码的极化码,其中,极化码是对未编码序列进行极化编码得到的,未编码序列由K位的信息位和(N-K)位的冻结位组成,N=2n,n为正整数,K为小于N的正整数;
步骤12,将待译码的极化码输入神经网络模型,得到译码序列;其中,神经网络模型是基于预设训练集进行训练得到的,预设训练集中包含样本极化码和样本未编码序列,样本极化码为对样本未编码序列进行极化编码得到的,样本未编码序列由K位的样本信息位和(N-K)位的样本冻结位组成。
采用上述图1所示的基于神经网络的极化码译码方法,将待译码的极化码输入神经网络模型中进行译码,得到译码序列,神经网络模型是基于预设训练集得到的。神经网络模型在训练完成后,样本极化码的译码序列和样本未编码序列之间的误差已经被调整到可接受范围内,可以降低极化码译码的误码率;另外,利用神经网络模型可以并行译码,减少了极化码译码的延迟时间。
一个实施例中,上述神经网络模型为全连接神经网络模型,全连接神经网络模型包括一个输入层、一个输出层和预设数量个隐藏层;其中,输入层的神经元个数为N,输出层的神经元个数为K,每个神经元与前一层的所有神经元相连,如图2所示,图2为本发明实施例提供的全连接神经网络模型的一种示意图,对于一个I层的全连接神经网络,神经网络中第i层的输出向量表示为:
Figure BDA0002326670810000111
其中I是正整数,i∈{0,1,…,I-1},oi,j表示神经网络中第i层第j个神经元的输出,j∈{1,2,…,Ji},Ji表示第i层神经元的数量;
采用如下步骤,如图3所示,图3为本发明实施例提供的训练全连接神经网络模型的一种流程图,基于预设训练集进行训练,得到神经网络模型:
步骤31,将预设训练集中的样本极化码输入待训练的全连接神经网络模型,得到样本译码序列,其中,样本信息位为K位随机二进制码,样本冻结位均为0,样本译码序列为K位二进制码,K位二进制码的位数依次为{0,1,…,K-1};
步骤32,基于样本译码序列中的K位二进制码和样本未编码序列中的K位随机二进制码,计算全连接神经网络模型的损失函数;
全连接神经网络模型的损失函数为:
Figure BDA0002326670810000121
其中,dk为样本未编码序列中信息位的第k位,
Figure BDA0002326670810000122
是输出层第k个神经元的输出;
步骤33,判断损失函数是否收敛;如果收敛,执行步骤34;如果未收敛,执行步骤35;
步骤34,将当前的待训练的全连接神经网络模型,确定为训练完成的神经网络模型;
步骤35,调整待训练的全连接神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
调整好待训练的全连接神经网络模型的参数后,在进行下一次训练时,可以选取新的样本极化码输入到待训练的全连接神经网络模型中进行训练,经过训练过程中不断地调整参数,直到损失函数收敛。
一个实施例中,上述神经网络模型为基于BP译码因子图的多级输出神经网络模型进行训练得到的,基于BP译码因子图的多级输出神经网络模型包括一个输入层,T个输出层和2n(T-1)+n个隐藏层,每一层的神经元数目为N,每个神经元传递的信息包括从右往左传播的左信息和从左往右传播的右信息,BP译码因子图共有n+1级,最左侧为第0级,最右侧为第n级,每一级的神经元数目为N,第n级的神经元只传播左信息,第n级的神经元传播的左信息初始化为:
Figure BDA0002326670810000123
第0级的神经元只传播右信息,第0级的神经元传播的右信息初始化为:
Figure BDA0002326670810000124
第1级到第n-1级的神经元传播的左信息和右信息全部初始化为0;
其中,n为正整数,t∈{0,1,…,T},i∈{0,1,…,N-1},A为信息位的序号,AC为冻结位的序号,T为BP译码的最大迭代次数;
如图4所示,图4为本发明实施例提供的基于BP译码因子图的多级输出神经网络模型的一种示意图,图中BP译码因子图共有4级,最左侧为第0级,最右侧为第3级,BP译码的最大迭代次数为2,故该多级输出神经网络模型包括1个输入层,9个隐藏层,2个输出层,每一层的神经元数量为8。BP译码是通过迭代传播左信息和右信息,一次完整的迭代包括从左向右传播右信息,在获得第n级神经元的右信息后,再从右向左传播左信息,直到获得第0级神经元的左信息。特别的是,由于BP算法开始于从右向左传播左信息,所以第1次迭代是不完整的,仅包括从右向左传播左信息,故第一次迭代是从第3级神经元向第0级神经元逐级传播左信息,直到第0级神经元获得左信息,第一次迭代结束,第1输出层的译码序列为第一次迭代中第0级神经元获得的左信息;第二次迭代是在第一次迭代第0级神经元的基础上,继续向第3级神经元逐级传播右信息,第3级神经元获得右信息后,再向第0级逐级传播左信息,直到第0级神经元获得左信息,第二次迭代结束,第2输出层的译码序列为第二次迭代中第0级神经元获得的左信息。
采用如下步骤,如图5所示,图5为本发明实施例提供的训练基于BP译码因子图的多级输出神经网络模型的一种流程图,基于预设训练集进行训练,得到神经网络模型:
步骤51,将预设训练集中的样本极化码输入待训练的多级输出神经网络模型,得到T个样本译码序列,其中,样本信息位均为0,样本冻结位均为0,T个样本译码序列分别为待训练的多级输出神经网络模型中T个输出层的输出,样本译码序列为N位二进制码,N位二进制码的位数依次为{0,1,…,N-1};
步骤52,基于多个样本译码序列中的N位二进制码,以及样本未编码序列中的N位二进制码,计算多级输出神经网络模型的损失函数;
多级输出神经网络模型的损失函数为:
Figure BDA0002326670810000131
其中,ui为样本未编码序列的第i位,
Figure BDA0002326670810000132
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure BDA0002326670810000133
表示第t′次迭代中,第i个神经元的左信息,
Figure BDA0002326670810000134
表示第t′次迭代中,第i个神经元的右信息;
步骤53,判断损失函数是否收敛;如果收敛,执行步骤54;如果未收敛,执行步骤55;
步骤54,将当前的待训练的多级输出神经网络模型,确定为训练完成的神经网络模型;
步骤55,调整待训练的多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
调整好待训练的多级输出神经网络模型的参数后,在进行下一次训练时,可以选取新的样本极化码输入到待训练的多级输出神经网络模型中进行训练,经过训练过程中不断地调整参数,直到损失函数收敛。
一个实施例中,上述神经网络模型为基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型;CRC神经元与基于BP译码因子图的多级输出神经网络模型的输出层的神经元根据校验关系相连;如图6所示,图6为本发明实施例提供的基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型的一种示意图,图中以(8,5)极化码,2次迭代为例,N=8,K=5,信息位序号集合为A∈{3,4,5,6,7},级联2位CRC,KCRC=2,CRC生成多项式为gCRC(x)=x2+x+1,2位CRC位于原始序列的第6和第7位上,因此级联2位CRC后的(8,5)极化码中实际传输的信息位数量KI=K-KCRC=5-2=3,图中的黑色神经元即CRC神经元,与输出层的信息位神经元相连,CRC神经元的数量等于CRC的长度,例如2位CRC对应两个神经元,具体连接关系按如下步骤计算:
1、根据CRC的生成多项式gCRC(x),计算生成矩阵GCRC
Figure BDA0002326670810000141
生成矩阵GCRC有KI行K列,其中,第i行的多项式为xK-1-i+Ri(x),Ri(x)=(xK-1-i)modgcRC(x),i∈{0,1,…,KI-1}。多项式中最高指数项为K-1次幂,最低指数项为0次幂。多项式中存在的指数项对应元素取值为1,不存在的指数项对应元素取值为0,由多项式可以确定该行中元素的取值。例如图中所用极化码及CRC的配置是KI=3,K=5,gCRC(x)=x2+x+1,则生成多项式GCRC有3行5列,第0行的多项式为x4+x,相应的GCRC中第0行为{0,1,0,0,1}。第1行的多项式为x3+1,相应的GCRC中第1行为{0,1,0,0,1}。第2行的多项式为x2-x-1,相应的GCRC中第2行为{0,0,1,1,1}。因此,
Figure BDA0002326670810000142
2、根据生成矩阵GCRC确定校验关系。
上述生成矩阵中,矩阵的最后两列分别对应于输出层中用于承载CRC神经元的第6位和第7位神经元,矩阵的3行对应于输出层中实际承载信息的第3,4,5位神经元,由此可知,输出层第6位神经元承载的CRC用来校验第3和第5位承载的信息,第7位神经元承载的CRC用来校验第4和第5位承载的信息,因此根据生成矩阵确定的校验关系为:
Figure BDA0002326670810000143
Figure BDA0002326670810000144
其中,
Figure BDA0002326670810000145
表示异或运算。根据校验关系可知,一个CRC神经元与输出层输出
Figure BDA0002326670810000146
的神经元相连,另一个CRC与输出层输出
Figure BDA0002326670810000147
的神经元相连。
采用如下步骤,如图7所示,图7为本发明实施例提供的训练基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型的一种流程图,基于预设训练集进行训练,得到神经网络模型:
步骤71,将预设训练集中的样本极化码输入待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,得到T个样本译码序列,其中,样本信息位均为0,样本冻结位均为0,T个样本译码序列分别为待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中T个输出层的输出,样本译码序列为N位二进制码,N位二进制码的位数依次为{0,1,…,N-1};
步骤72,基于多个样本译码序列中的N位二进制码,以及样本未编码序列中的N位二进制码,计算基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数;
基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数为:
Figure BDA0002326670810000151
其中,ui为样本未编码序列的第i位,
Figure BDA0002326670810000152
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure BDA0002326670810000153
表示第t′次迭代中,第i个神经元的左信息,
Figure BDA0002326670810000154
表示第t次迭代中,第i个神经元的右信息,
Figure BDA0002326670810000155
表示第i个CRC节点的输出;
步骤73,判断损失函数是否收敛;如果收敛,执行步骤74;如果未收敛,执行步骤75;
步骤74,将当前的待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,确定为训练完成的神经网络模型;
步骤75,调整待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
调整好待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的参数后,在进行下一次训练时,可以选取新的样本极化码输入到待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中进行训练,经过训练过程中不断地调整参数,直到损失函数收敛。
一个实施例中,上述神经网络模型为基于BP二分图的神经网络模型,包括1个输入层,T个输出层和2T-1个隐藏层,其中T表示最大迭代次数,输入层和输出层的神经元数量均为N,隐藏层包括奇数隐藏层和偶数隐藏层,奇数隐藏层由变量节点组成,奇数隐藏层的神经元数量等于变量节点连边的数量,奇数隐藏层的神经元执行公式:
Figure BDA0002326670810000156
其中,oc,e表示第k隐藏层第e个神经元的输出,Lk,e表示输入第k隐藏层第e个神经元的对数似然比,
Figure BDA0002326670810000157
表示输入第k隐藏层第e个神经元的对数似然比所分配的权重,ok-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出,wk-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出所分配的权重,k∈{1,3,5,7,…};
偶数隐藏层由校验节点组成,偶数隐藏层的神经元数量等于校验节点连边的数量,偶数隐藏层的神经元执行公式:
ok′,e′=2tanh-1(∏wk′-1,e′ok′-1,e′);
其中,ok′,e′表示第k′隐藏层第e′个神经元的输出,ok′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出,wk′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出所分配的权重,k′∈{0,2,4,6,…}。
如图8所示,图8为本发明实施例提供的基于BP二分图的神经网络模型的一种示意图,以(6,2)极化码,3次迭代为例,偶数隐藏层为第0、2、4层,偶数隐藏层的神经元数量等于校验节点端连边的数量12,并且偶数隐藏层第e个神经元的输出表示校验节点端第e条边的输出,奇数隐藏层为第1、3、5层,奇数隐藏层的神经元数量等于变量节点端连边的数量12,并且奇数隐藏层第e个神经元的输出表示变量节点端第e条边的输出。各隐藏层之间的连接关系由基于二分图的BP算法中计算每条连边的输出时所需要的输入决定。例如计算变量节点端第0条边的输出时
Figure BDA0002326670810000161
v表示变量节点,c表示校验节点,L表示对数似然比,表示奇数隐藏层的第0个神经元与前一层偶数隐藏层的第9个神经元相连,图中短黑线表示由样本极化码计算的对数似然比。
采用如下步骤,如图9所示,图9为本发明实施例提供的训练基于BP二分图的神经网络模型的一种流程图,基于预设训练集进行训练,得到神经网络模型:
步骤91,将预设训练集中的样本极化码输入待训练的基于BP二分图的神经网络模型,得到T个样本译码序列,其中,样本信息位均为0,样本冻结位均为0,T个样本译码序列分别为待训练的基于BP二分图的神经网络模型中T个输出层的输出,样本译码序列为N位二进制码,N位二进制码的位数依次为{0,1,…,N-1};
步骤92,基于多个样本译码序列中的N位二进制码,以及样本未编码序列中的N位二进制码,计算基于BP二分图的神经网络模型的损失函数;
基于BP二分图的神经网络模型的损失函数为:
Figure BDA0002326670810000162
其中,ui为样本未编码序列的第i位,
Figure BDA0002326670810000163
表示第t输出层,第i个神经元的输出,i∈{0,1,…,N-1};
步骤93,判断损失函数是否收敛;如果收敛,执行步骤94;如果未收敛,执行步骤95;
步骤94,将当前的待训练的基于BP二分图的神经网络模型,确定为训练完成的神经网络模型;
步骤95,调整待训练的基于BP二分图的神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
调整好待训练的基于BP二分图的神经网络模型的参数后,在进行下一次训练时,可以选取新的样本极化码输入到待训练的基于BP二分图的神经网络模型中进行训练,经过训练过程中不断地调整参数,直到损失函数收敛。
一个实施例中,上述神经网络模型为基于SC译码因子图的神经网络模型,包括1个输入层,1个输出层和n个隐藏层,每一层的神经元数量为N;神经元包括f神经元,g神经元和ssign神经元;
f神经元执行的公式为:f(a,b)=w*sgn(a)sgn(b)min(|a|,|b|),其中w表示f神经元的权重,a和b均表示f神经元的输入;
g神经元执行的公式为:
Figure BDA0002326670810000171
其中
Figure BDA0002326670810000172
表示SC译码过程中产生的部分和,w′表示g神经元的权重,a′和b′均表示g神经元的输入;
ssign神经元执行的公式为:
Figure BDA0002326670810000173
其中t是一个可训练的参数,τ是预设值,ReLU(a″)=max(0,a″),a″表示ssign神经元的输入;如图10所示,图10为本发明实施例提供的基于SC译码因子图的神经网络模型的一种示意图,以(8,4)极化码为例,包括1个输入层,1个输出层和3个隐藏层,每一层的神经元数目为8,k=0表示输入层,k∈{1,2,3}表示隐藏层,k=4表示输出层。
采用如下步骤,如图11所示,图11为本发明实施例提供的训练基于SC译码因子图的神经网络模型的一种流程图,基于预设训练集进行训练,得到神经网络模型:
步骤111,将预设训练集中的样本极化码输入待训练的基于SC译码因子图的神经网络模型,得到样本译码序列,其中,样本信息位均为0,样本冻结位均为0,样本译码序列为待训练的基于SC译码因子图的神经网络模型中输出层的输出,样本译码序列为N位二进制码,N位二进制码的位数依次为{0,1,…,N-1};
步骤112,基于样本译码序列中的N位二进制码,以及样本未编码序列中的N位二进制码,计算基于SC译码因子图的神经网络模型的损失函数;
基于SC译码因子图的神经网络模型损失函数为:
Figure BDA0002326670810000174
其中,ui为样本未编码序列的第i位,
Figure BDA0002326670810000175
表示输出层第i个神经元的输出,mn,i表示第n层隐藏层第i个神经元的输出,i∈{0,1,…,N-1};
步骤113,判断损失函数是否收敛;如果收敛,执行步骤114;如果未收敛,执行步骤115;
步骤114,将当前的待训练的基于SC译码因子图的神经网络模型,确定为训练完成的神经网络模型;
步骤115,调整待训练的基于SC译码因子图的神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
调整好待训练的基于SC译码因子图的神经网络模型的参数后,在进行下一次训练时,可以选取新的样本极化码输入到待训练的基于SC译码因子图的神经网络模型中进行训练,经过训练过程中不断地调整参数,直到损失函数收敛。
与基于神经网络的极化码译码方法相对应,本发明实施例还提供了一种基于神经网络的极化码译码装置。如图12所示,图12为本发明实施例提供的基于神经网络的极化码译码装置的一种结构图。该装置包括:
获取单元121,用于获取待译码的极化码,其中,极化码是对未编码序列进行极化编码得到的,未编码序列由K位的信息位和(N-K)位的冻结位组成,N=2n,n为正整数,K为小于N的正整数;
第一输入单元122,用于将待译码的极化码输入神经网络模型,得到译码序列;
其中,神经网络模型是基于预设训练集进行训练得到的,预设训练集中包含样本极化码和样本未编码序列,样本极化码为对样本未编码序列进行极化编码得到的,样本未编码序列由K位的样本信息位和(N-K)位的样本冻结位组成。
采用上述图12所示的基于神经网络的极化码译码装置,将待译码的极化码输入神经网络模型中进行译码,得到译码序列,神经网络模型是基于预设训练集得到的。神经网络模型在训练完成后,样本极化码的译码序列和样本未编码序列之间的误差已经被调整到可接受范围内,可以降低极化码译码的误码率;另外,利用神经网络模型可以并行译码,减少了极化码译码的延迟时间。
一个实施例中,神经网络模型为全连接神经网络模型;
全连接神经网络模型包括一个输入层、一个输出层和预设数量个隐藏层;其中,输入层的神经元个数为N,输出层的神经元个数为K,每个神经元与前一层的所有神经元相连,对于一个I层的全连接神经网络,神经网络中第i层的输出向量表示为:
Figure BDA0002326670810000181
其中I是正整数,i∈{0,1,…,I-1},oi,j表示神经网络中第i层第j个神经元的输出,j∈{1,2,…,Ji},Ji表示第i层神经元的数量;
该装置还包括:
第二输入单元,用于将预设训练集中的样本极化码输入待训练的全连接神经网络模型,得到样本译码序列,其中,样本信息位为K位随机二进制码,样本冻结位均为0,样本译码序列为K位二进制码,K位二进制码的位数依次为{0,1,…,K-1};
第一计算单元,用于基于样本译码序列中的K位二进制码和样本未编码序列中的K位随机二进制码,计算全连接神经网络模型的损失函数;
全连接神经网络模型的损失函数为:
Figure BDA0002326670810000191
其中,dk为样本未编码序列中信息位的第k位,
Figure BDA0002326670810000192
是输出层第k个神经元的输出;
第一判断单元,用于判断损失函数是否收敛;
第一确定单元,用于若第一判断单元的判断结果为收敛,将当前的待训练的全连接神经网络模型,确定为训练完成的神经网络模型;
调整单元,用于若第一判断单元的判断结果为未收敛,调整待训练的全连接神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
一个实施例中,神经网络模型为对基于BP译码因子图的多级输出神经网络模型进行训练得到的;
基于BP译码因子图的多级输出神经网络模型包括一个输入层,T个输出层和2n(T-1)+n个隐藏层,每一层的神经元数目为N,每个神经元传递的信息包括从右往左传播的左信息和从左往右传播的右信息,BP译码因子图共有n+1级,最左侧为第0级,最右侧为第n级,每一级的神经元数目为N,第n级的神经元只传播左信息,第n级的神经元传播的左信息初始化为:
Figure BDA0002326670810000193
第0级的神经元只传播右信息,第0级的神经元传播的右信息初始化为:
Figure BDA0002326670810000194
第1级到第n-1级的神经元传播的左信息和右信息全部初始化为0;
其中,n为正整数,t∈{0,1,…,T},i∈{0,1,…,N-1},A为信息位的序号,AC为冻结位的序号,T为BP译码的最大迭代次数;
该装置还包括:
第三输入单元,用于将预设训练集中的样本极化码输入待训练的多级输出神经网络模型,得到T个样本译码序列,其中,样本信息位均为0,样本冻结位均为0,T个样本译码序列分别为待训练的多级输出神经网络模型中T个输出层的输出,样本译码序列为N位二进制码,N位二进制码的位数依次为{0,1,…,N-1};
第二计算单元,用于基于多个样本译码序列中的N位二进制码,以及样本未编码序列中的N位二进制码,计算多级输出神经网络模型的损失函数;
多级输出神经网络模型的损失函数为:
Figure BDA0002326670810000201
其中,ui为样本未编码序列的第i位,
Figure BDA0002326670810000202
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure BDA0002326670810000203
表示第t′次迭代中,第i个神经元的左信息,
Figure BDA0002326670810000204
表示第t′次迭代中,第i个神经元的右信息;
第二判断单元,用于判断损失函数是否收敛;
第二确定单元,用于若第二判断单元的判断结果为收敛,将当前的待训练的多级输出神经网络模型,确定为训练完成的神经网络模型;
第二调整单元,用于若第二判断单元的判断结果为未收敛,调整待训练的多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
一个实施例中,神经网络模型为基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型;CRC神经元与基于BP译码因子图的多级输出神经网络模型的输出层的神经元根据校验关系相连;
该装置还包括:
第四输入单元,用于将预设训练集中的样本极化码输入待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,得到T个样本译码序列,其中,样本信息位均为0,样本冻结位均为0,T个样本译码序列分别为待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中T个输出层的输出,样本译码序列为N位二进制码,N位二进制码的位数依次为{0,1,…,N-1};
第三计算单元,用于基于多个样本译码序列中的N位二进制码,以及样本未编码序列中的N位二进制码,计算基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数;
基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数为:
Figure BDA0002326670810000205
其中,ui为样本未编码序列的第i位,
Figure BDA0002326670810000206
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure BDA0002326670810000207
表示第t′次迭代中,第i个神经元的左信息,
Figure BDA0002326670810000208
表示第t次迭代中,第i个神经元的右信息,
Figure BDA0002326670810000209
表示第i个CRC节点的输出;
第三判断单元,用于判断损失函数是否收敛;
第三确定单元,用于若第三判断单元的判断结果为收敛,将当前的待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,确定为训练完成的神经网络模型;
第三调整单元,用于若第三判断单元的判断结果为未收敛,调整待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
一个实施例中,神经网络模型为基于BP二分图的神经网络模型;基于BP二分图的神经网络模型,包括1个输入层,T个输出层和2T-1个隐藏层,其中T表示最大迭代次数,输入层和输出层的神经元数量均为N,隐藏层包括奇数隐藏层和偶数隐藏层,奇数隐藏层由变量节点组成,奇数隐藏层的神经元数量等于变量节点连边的数量,奇数隐藏层的神经元执行公式:
Figure BDA0002326670810000211
其中,oc,e表示第k隐藏层第e个神经元的输出,Lk,e表示输入第k隐藏层第e个神经元的对数似然比,
Figure BDA0002326670810000212
表示输入第k隐藏层第e个神经元的对数似然比所分配的权重,ok-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出,wk-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出所分配的权重,k∈{1,3,5,7,…};
偶数隐藏层由校验节点组成,偶数隐藏层的神经元数量等于校验节点连边的数量,偶数隐藏层的神经元执行公式:
ok′,e′=2tanh-1(∏wk′-1,e′ok′-1,e′);
其中,ok′,e′表示第k′隐藏层第e′个神经元的输出,ok′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出,wk′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出所分配的权重,k′∈{0,2,4,6,…};
该装置还包括:
第五输入单元,用于将预设训练集中的样本极化码输入待训练的基于BP二分图的神经网络模型,得到T个样本译码序列,其中,样本信息位均为0,样本冻结位均为0,T个样本译码序列分别为待训练的基于BP二分图的神经网络模型中T个输出层的输出,样本译码序列为N位二进制码,N位二进制码的位数依次为{0,1,…,N-1};
第四计算单元,用于基于多个样本译码序列中的N位二进制码,以及样本未编码序列中的N位二进制码,计算基于BP二分图的神经网络模型的损失函数;
基于BP二分图的神经网络模型的损失函数为:
Figure BDA0002326670810000221
其中,ui为样本未编码序列的第i位,
Figure BDA0002326670810000222
表示第t输出层,第i个神经元的输出,i∈{0,1,…,N-1};
第四判断单元,用于判断损失函数是否收敛;
第四确定单元,用于若第四判断单元的判断结果为收敛,将当前的待训练的基于BP二分图的神经网络模型,确定为训练完成的神经网络模型;
第四调整单元,用于若第四判断单元的判断结果为未收敛,调整待训练的基于BP二分图的神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
一个实施例中,神经网络模型为基于SC译码因子图的神经网络模型;
基于SC译码因子图的神经网络模型,包括1个输入层,1个输出层和n个隐藏层,每一层的神经元数量为N;神经元包括f神经元,g神经元和ssign神经元;
f神经元执行的公式为:f(a,b)=w*sgn(a)sgn(b)min(|a|,|b|),其中w表示f神经元的权重,a和b均表示f神经元的输入;
g神经元执行的公式为:
Figure BDA0002326670810000223
其中
Figure BDA0002326670810000224
表示SC译码过程中产生的部分和,w′表示g神经元的权重,a′和b′均表示g神经元的输入;
ssign神经元执行的公式为:
Figure BDA0002326670810000225
其中t是一个可训练的参数,τ是预设值,ReLU(a″)=max(0,a″),a″表示ssign神经元的输入;
该装置还包括:
第六输入单元,用于将预设训练集中的样本极化码输入待训练的基于SC译码因子图的神经网络模型,得到样本译码序列,其中,样本信息位均为0,样本冻结位均为0,样本译码序列为待训练的基于SC译码因子图的神经网络模型中输出层的输出,样本译码序列为N位二进制码,N位二进制码的位数依次为{0,1,…,N-1};
第五计算单元,用于基于样本译码序列中的N位二进制码,以及样本未编码序列中的N位二进制码,计算基于SC译码因子图的神经网络模型的损失函数;
基于SC译码因子图的神经网络模型损失函数为:
Figure BDA0002326670810000226
其中,ui为样本未编码序列的第i位,
Figure BDA0002326670810000227
表示输出层第i个神经元的输出,mn,i表示第n层隐藏层第i个神经元的输出,i∈{0,1,…,N-1};
第五判断单元,用于判断损失函数是否收敛;
第五确定单元,用于若第五判断单元的判断结果为收敛,将当前的待训练的基于SC译码因子图的神经网络模型,确定为训练完成的神经网络模型;
第五调整单元,用于若第五判断单元的判断结果为未收敛,调整待训练的基于SC译码因子图的神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种基于神经网络的极化码译码方法,其特征在于,包括:
获取待译码的极化码,其中,所述极化码是对未编码序列进行极化编码得到的,所述未编码序列由K位的信息位和(N-K)位的冻结位组成,N=2n,n为正整数,K为小于N的正整数;
将所述待译码的极化码输入神经网络模型,得到译码序列;
其中,所述神经网络模型是基于预设训练集进行训练得到的,所述预设训练集中包含样本极化码和样本未编码序列,所述样本极化码为对所述样本未编码序列进行极化编码得到的,所述样本未编码序列由K位的样本信息位和(N-K)位的样本冻结位组成。
2.根据权利要求1所述的方法,其特征在于,所述神经网络模型为全连接神经网络模型;
所述全连接神经网络模型包括一个输入层、一个输出层和预设数量个隐藏层;其中,所述输入层的神经元个数为N,所述输出层的神经元个数为K,每个神经元与前一层的所有神经元相连,对于一个I层的全连接神经网络,神经网络中第i层的输出向量表示为:
Figure FDA0002326670800000013
其中I是正整数,i∈{0,1,…,I-1},oi,j表示神经网络中第i层第j个神经元的输出,j∈{1,2,…,Ji},Ji表示第i层神经元的数量;
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的全连接神经网络模型,得到样本译码序列,其中,所述样本信息位为K位随机二进制码,所述样本冻结位均为0,所述样本译码序列为K位二进制码,所述K位二进制码的位数依次为{0,1,…,K-1};
基于所述样本译码序列中的所述K位二进制码和所述样本未编码序列中的所述K位随机二进制码,计算所述全连接神经网络模型的损失函数;
所述全连接神经网络模型的损失函数为:
Figure FDA0002326670800000011
其中,dk为所述样本未编码序列中所述信息位的第k位,
Figure FDA0002326670800000012
是所述输出层第k个神经元的输出;
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的全连接神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的全连接神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
3.根据权利要求1所述的方法,其特征在于,所述神经网络模型为对基于置信传播BP译码因子图的多级输出神经网络模型进行训练得到的;
基于BP译码因子图的所述多级输出神经网络模型包括一个输入层,T个输出层和2n(T-1)+n个隐藏层,每一层的神经元数目为N,每个神经元传递的信息包括从右往左传播的左信息和从左往右传播的右信息,所述BP译码因子图共有n+1级,最左侧为第0级,最右侧为第n级,每一级的神经元数目为N,第n级的神经元只传播左信息,第n级的神经元传播的左信息初始化为:
Figure FDA0002326670800000021
第0级的神经元只传播右信息,第0级的神经元传播的右信息初始化为:
Figure FDA0002326670800000022
第1级到第n-1级的神经元传播的左信息和右信息全部初始化为0;
其中,n为正整数,t∈{0,1,…,T},i∈{0,1,…,N-1},A为所述信息位的序号,AC为所述冻结位的序号,T为BP译码的最大迭代次数;
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的所述多级输出神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的所述多级输出神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述多级输出神经网络模型的损失函数;
所述多级输出神经网络模型的损失函数为:
Figure FDA0002326670800000031
其中,ui为所述样本未编码序列的第i位,
Figure FDA0002326670800000032
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure FDA0002326670800000033
表示第t′次迭代中,第i个神经元的左信息,
Figure FDA0002326670800000034
表示第t′次迭代中,第i个神经元的右信息;
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的所述多级输出神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的所述多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
4.根据权利要求1所述的方法,其特征在于,所述神经网络模型为基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型;所述CRC神经元与基于BP译码因子图的多级输出神经网络模型的输出层的神经元根据校验关系相连;
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数;
所述基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数为:
Figure FDA0002326670800000035
其中,ui为所述样本未编码序列的第i位,
Figure FDA0002326670800000036
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure FDA0002326670800000037
表示第t′次迭代中,第i个神经元的左信息,
Figure FDA0002326670800000041
表示第t次迭代中,第i个神经元的右信息,
Figure FDA0002326670800000042
表示第i个CRC节点的输出;
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
5.根据权利要求1所述的方法,其特征在于,所述神经网络模型为基于BP二分图的神经网络模型;
所述基于BP二分图的神经网络模型,包括1个输入层,T个输出层和2T-1个隐藏层,其中T表示最大迭代次数,所述输入层和所述输出层的神经元数量均为N,所述隐藏层包括奇数隐藏层和偶数隐藏层,所述奇数隐藏层由变量节点组成,所述奇数隐藏层的神经元数量等于所述变量节点连边的数量,所述奇数隐藏层的神经元执行公式:
Figure FDA0002326670800000043
其中,oc,e表示第k隐藏层第e个神经元的输出,Lk,e表示输入第k隐藏层第e个神经元的对数似然比,
Figure FDA0002326670800000044
表示输入第k隐藏层第e个神经元的对数似然比所分配的权重,ok-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出,wk-1,e表示与第k隐藏层中第e个神经元相连的第k-1隐藏层神经元的输出所分配的权重,所述k∈{1,3,5,7,…};
所述偶数隐藏层由校验节点组成,所述偶数隐藏层的神经元数量等于所述校验节点连边的数量,所述偶数隐藏层的神经元执行公式:
ok′,e′=2tanh-1(∏wk′-1,e′ok′-1,e′);
其中,ok′,e′表示第k′隐藏层第e′个神经元的输出,ok′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出,wk′-1,e′表示与第k′隐藏层第e′个神经元相连的第k′-1隐藏层神经元的输出所分配的权重,所述k′∈{0,2,4,6,…};
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的基于BP二分图的神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的基于BP二分图的神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述基于BP二分图的神经网络模型的损失函数;
所述基于BP二分图的神经网络模型的损失函数为:
Figure FDA0002326670800000051
其中,ui为所述样本未编码序列的第i位,
Figure FDA0002326670800000052
表示第t输出层,第i个神经元的输出,i∈{0,1,…,N-1};
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的基于BP二分图的神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的基于BP二分图的神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
6.根据权利要求1所述的方法,其特征在于,所述神经网络模型为基于SC译码因子图的神经网络模型;
所述基于SC译码因子图的神经网络模型,包括1个输入层,1个输出层和n个隐藏层,每一层的神经元数量为N;所述神经元包括f神经元,g神经元和ssign神经元;
所述f神经元执行的公式为:f(a,b)=w*sgn(a)sgn(b)min(|a|,|b|),其中w表示f神经元的权重,a和b均表示f神经元的输入;
所述g神经元执行的公式为:
Figure FDA0002326670800000054
其中
Figure FDA0002326670800000055
表示SC译码过程中产生的部分和,w′表示g神经元的权重,a′和b′均表示g神经元的输入;
所述ssign神经元执行的公式为:
Figure FDA0002326670800000053
其中t是一个可训练的参数,τ是预设值,ReLU(a″)=max(0,a″),a″表示ssign神经元的输入;
采用如下步骤,基于所述预设训练集进行训练,得到所述神经网络模型:
将所述预设训练集中的所述样本极化码输入待训练的基于SC译码因子图的神经网络模型,得到样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述样本译码序列为所述待训练的基于SC译码因子图的神经网络模型中输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
基于所述样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述基于SC译码因子图的神经网络模型的损失函数;
所述基于SC译码因子图的神经网络模型损失函数为:
Figure FDA0002326670800000061
其中,ui为所述样本未编码序列的第i位,
Figure FDA0002326670800000062
表示输出层第i个神经元的输出,mn,i表示第n层隐藏层第i个神经元的输出,i∈{0,1,…,N-1};
判断所述损失函数是否收敛;
如果收敛,将当前的所述待训练的基于SC译码因子图的神经网络模型,确定为训练完成的所述神经网络模型;
如果未收敛,调整所述待训练的基于SC译码因子图的神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
7.一种基于神经网络的极化码译码装置,其特征在于,包括:
获取单元,用于获取待译码的极化码,其中,所述极化码是对未编码序列进行极化编码得到的,所述未编码序列由K位的信息位和(N-K)位的冻结位组成,N=2n,n为正整数,K为小于N的正整数;
第一输入单元,用于将所述待译码的极化码输入神经网络模型,得到译码序列;
其中,所述神经网络模型是基于预设训练集进行训练得到的,所述预设训练集中包含样本极化码和样本未编码序列,所述样本极化码为对所述样本未编码序列进行极化编码得到的,所述样本未编码序列由K位的样本信息位和(N-K)位的样本冻结位组成。
8.根据权利要求7所述的装置,其特征在于,所述神经网络模型为全连接神经网络模型;
所述全连接神经网络模型包括一个输入层、一个输出层和预设数量个隐藏层;其中,所述输入层的神经元个数为N,所述输出层的神经元个数为K,每个神经元与前一层的所有神经元相连,对于一个I层的全连接神经网络,神经网络中第i层的输出向量表示为:
Figure FDA0002326670800000071
其中I是正整数,i∈{0,1,…,I-1},oi,j表示神经网络中第i层第j个神经元的输出,j∈{1,2,…,Ji},Ji表示第i层神经元的数量;
所述装置还包括:
第二输入单元,用于将所述预设训练集中的所述样本极化码输入待训练的全连接神经网络模型,得到样本译码序列,其中,所述样本信息位为K位随机二进制码,所述样本冻结位均为0,所述样本译码序列为K位二进制码,所述K位二进制码的位数依次为{0,1,…,K-1};
第一计算单元,用于基于所述样本译码序列中的所述K位二进制码和所述样本未编码序列中的所述K位随机二进制码,计算所述全连接神经网络模型的损失函数;
所述全连接神经网络模型的损失函数为:
Figure FDA0002326670800000072
其中,dk为所述样本未编码序列中所述信息位的第k位,
Figure FDA0002326670800000073
是所述输出层第k个神经元的输出;
第一判断单元,用于判断所述损失函数是否收敛;
第一确定单元,用于若所述第一判断单元的判断结果为收敛,将当前的所述待训练的全连接神经网络模型,确定为训练完成的所述神经网络模型;
调整单元,用于若所述第一判断单元的判断结果为未收敛,调整所述待训练的全连接神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
9.根据权利要求7所述的装置,其特征在于,所述神经网络模型为对基于置信传播BP译码因子图的多级输出神经网络模型进行训练得到的;
基于BP译码因子图的所述多级输出神经网络模型包括一个输入层,T个输出层和2n(T-1)+n个隐藏层,每一层的神经元数目为N,每个神经元传递的信息包括从右往左传播的左信息和从左往右传播的右信息,所述BP译码因子图共有n+1级,最左侧为第0级,最右侧为第n级,每一级的神经元数目为N,第n级的神经元只传播左信息,第n级的神经元传播的左信息初始化为:
Figure FDA0002326670800000081
第0级的神经元只传播右信息,第0级的神经元传播的右信息初始化为:
Figure FDA0002326670800000082
第1级到第n-1级的神经元传播的左信息和右信息全部初始化为0;
其中,n为正整数,t∈{0,1,…,T},i∈{0,1,…,N-1},A为所述信息位的序号,AC为所述冻结位的序号,T为BP译码的最大迭代次数;
所述装置还包括:
第三输入单元,用于将所述预设训练集中的所述样本极化码输入待训练的所述多级输出神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的所述多级输出神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
第二计算单元,用于基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述多级输出神经网络模型的损失函数;
所述多级输出神经网络模型的损失函数为:
Figure FDA0002326670800000083
其中,ui为所述样本未编码序列的第i位,
Figure FDA0002326670800000084
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure FDA0002326670800000085
表示第t′次迭代中,第i个神经元的左信息,
Figure FDA0002326670800000086
表示第t′次迭代中,第i个神经元的右信息;
第二判断单元,用于判断所述损失函数是否收敛;
第二确定单元,用于若所述第二判断单元的判断结果为收敛,将当前的所述待训练的所述多级输出神经网络模型,确定为训练完成的所述神经网络模型;
第二调整单元,用于若所述第二判断单元的判断结果为未收敛,调整所述待训练的所述多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
10.根据权利要求7所述的装置,其特征在于,所述神经网络模型为基于BP译码因子图并级联循环校验码CRC神经元的多级输出神经网络模型;所述CRC神经元与基于BP译码因子图的多级输出神经网络模型的输出层的神经元根据校验关系相连;
所述装置还包括:
第四输入单元,用于将所述预设训练集中的所述样本极化码输入待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,得到T个样本译码序列,其中,所述样本信息位均为0,所述样本冻结位均为0,所述T个样本译码序列分别为所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中T个输出层的输出,所述样本译码序列为N位二进制码,所述N位二进制码的位数依次为{0,1,…,N-1};
第三计算单元,用于基于所述多个样本译码序列中的所述N位二进制码,以及所述样本未编码序列中的N位二进制码,计算所述基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数;
所述基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型的损失函数为:
Figure FDA0002326670800000091
其中,ui为所述样本未编码序列的第i位,
Figure FDA0002326670800000092
是第t′输出层第i个神经元的输出,f表示激活函数,t′∈{1,2,…,T},i∈{0,1,…,N-1},
Figure FDA0002326670800000093
表示第t′次迭代中,第i个神经元的左信息,
Figure FDA0002326670800000094
表示第t次迭代中,第i个神经元的右信息,
Figure FDA0002326670800000095
表示第i个CRC节点的输出;
第三判断单元,用于判断所述损失函数是否收敛;
第三确定单元,用于若所述第三判断单元的判断结果为收敛,将当前的所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型,确定为训练完成的所述神经网络模型;
第三调整单元,用于若所述第三判断单元的判断结果为未收敛,调整所述待训练的基于BP译码因子图并级联有循环校验码CRC神经元的多级输出神经网络模型中的参数,进行下一次训练,直到计算得到的损失函数收敛。
CN201911319155.0A 2019-12-19 2019-12-19 一种基于神经网络的极化码译码方法及装置 Pending CN111106839A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911319155.0A CN111106839A (zh) 2019-12-19 2019-12-19 一种基于神经网络的极化码译码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911319155.0A CN111106839A (zh) 2019-12-19 2019-12-19 一种基于神经网络的极化码译码方法及装置

Publications (1)

Publication Number Publication Date
CN111106839A true CN111106839A (zh) 2020-05-05

Family

ID=70422653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911319155.0A Pending CN111106839A (zh) 2019-12-19 2019-12-19 一种基于神经网络的极化码译码方法及装置

Country Status (1)

Country Link
CN (1) CN111106839A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711455A (zh) * 2020-05-26 2020-09-25 北京邮电大学 一种基于神经网络的极化码bp译码方法
CN111900996A (zh) * 2020-08-06 2020-11-06 山东超越数控电子股份有限公司 一种crc32算法参数的确定方法、系统、设备以及介质
CN112332863A (zh) * 2020-10-27 2021-02-05 东方红卫星移动通信有限公司 低轨卫星低信噪比场景下的极化码译码算法、接收端和系统
CN113872610A (zh) * 2021-10-08 2021-12-31 华侨大学 一种ldpc码神经网络训练、译码方法及其系统
CN114465853A (zh) * 2022-03-18 2022-05-10 河南科技大学 一种基于神经网络的多符号非相干检测方法
WO2022244904A1 (ko) * 2021-05-21 2022-11-24 엘지전자 주식회사 오토 인코더를 이용하는 무선 통신 시스템에서 신호를 송수신하기 위한 방법 및 이를 위한 장치
WO2023272739A1 (zh) * 2021-07-02 2023-01-05 北京小米移动软件有限公司 信道译码方法及装置、用于信道译码的神经网络模型的训练方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018007783A1 (en) * 2016-07-07 2018-01-11 Arm Ltd An artificial neural network
CN108964672A (zh) * 2018-07-06 2018-12-07 中国石油大学(华东) 一种基于深度神经网络的极化码译码方法
CN109194446A (zh) * 2018-09-14 2019-01-11 北京邮电大学 基于神经网络的极化码盲检测方法和装置
CN109245776A (zh) * 2018-06-28 2019-01-18 中国石油大学(华东) 一种基于深度神经网络的极化码译码参数确定方法
CN110113057A (zh) * 2019-06-12 2019-08-09 中国计量大学 一种利用深度学习的极化码译码器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018007783A1 (en) * 2016-07-07 2018-01-11 Arm Ltd An artificial neural network
CN109245776A (zh) * 2018-06-28 2019-01-18 中国石油大学(华东) 一种基于深度神经网络的极化码译码参数确定方法
CN108964672A (zh) * 2018-07-06 2018-12-07 中国石油大学(华东) 一种基于深度神经网络的极化码译码方法
CN109194446A (zh) * 2018-09-14 2019-01-11 北京邮电大学 基于神经网络的极化码盲检测方法和装置
CN110113057A (zh) * 2019-06-12 2019-08-09 中国计量大学 一种利用深度学习的极化码译码器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JIE GAO等: "Neural Network Aided SC Decoder for Polar Codes", 《2018 IEEE 4TH INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATIONS》 *
XIAOJIAO TANG等: "Unsupervised Monocular Image Depth Prediction Algorithm Based on Multiple Loss Deep Learning", 《IEEE ACCESS》 *
杨硕: "基于神经网络的极化码译码", 《万方学位论文库》 *
牛凯: ""太极混一"—极化码原理及5G应用", 《中兴通讯技术》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711455A (zh) * 2020-05-26 2020-09-25 北京邮电大学 一种基于神经网络的极化码bp译码方法
CN111900996A (zh) * 2020-08-06 2020-11-06 山东超越数控电子股份有限公司 一种crc32算法参数的确定方法、系统、设备以及介质
CN111900996B (zh) * 2020-08-06 2024-03-15 超越科技股份有限公司 一种crc32算法参数的确定方法、系统、设备以及介质
CN112332863A (zh) * 2020-10-27 2021-02-05 东方红卫星移动通信有限公司 低轨卫星低信噪比场景下的极化码译码算法、接收端和系统
CN112332863B (zh) * 2020-10-27 2023-09-05 东方红卫星移动通信有限公司 低轨卫星低信噪比场景下的极化码译码算法、接收端和系统
WO2022244904A1 (ko) * 2021-05-21 2022-11-24 엘지전자 주식회사 오토 인코더를 이용하는 무선 통신 시스템에서 신호를 송수신하기 위한 방법 및 이를 위한 장치
WO2023272739A1 (zh) * 2021-07-02 2023-01-05 北京小米移动软件有限公司 信道译码方法及装置、用于信道译码的神经网络模型的训练方法及装置
CN113872610A (zh) * 2021-10-08 2021-12-31 华侨大学 一种ldpc码神经网络训练、译码方法及其系统
CN114465853A (zh) * 2022-03-18 2022-05-10 河南科技大学 一种基于神经网络的多符号非相干检测方法
CN114465853B (zh) * 2022-03-18 2023-09-08 河南科技大学 一种基于神经网络的多符号非相干检测方法

Similar Documents

Publication Publication Date Title
CN111106839A (zh) 一种基于神经网络的极化码译码方法及装置
Xu et al. Improved polar decoder based on deep learning
TWI663839B (zh) 使用硬選取硬解碼模式下的解碼器產生軟資訊的方法
USRE44421E1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
RU2308803C2 (ru) Способ кодирования кода разреженного контроля четности
TWI699977B (zh) 使用於低密度奇偶檢查碼解碼器的方法及解碼器
EP3092717B1 (en) Decoding of non-binary ldpc codes
CN111565051B (zh) 一种用于ldpc码的自学习归一化偏置最小和译码方法
CN109981112B (zh) 一种部分循环冗余校验辅助的排序统计译码方法
CN105763203B (zh) 一种基于硬可靠度信息的多元ldpc码译码方法
Xu et al. Polar decoding on sparse graphs with deep learning
CN109586732B (zh) 中短码ldpc编解码系统和方法
JP2002353946A (ja) 有限サイズのデータブロックに対して誤り訂正符号を評価する方法
EP3533145A1 (en) Generation of spatially-coupled quasi-cyclic ldpc codes
TW202145723A (zh) 基於信度傳播之極化碼解碼方法
KR101657912B1 (ko) 비이진 저밀도 패리티 검사 코드의 복호화 방법
CN111130567B (zh) 添加噪声扰动和比特翻转的极化码置信传播列表译码方法
CN110739977B (zh) 一种基于深度学习的bch码译码方法
CN112104379B (zh) 一种基于关键集的极化码置信度传播动态翻转译码方法
CN112929036A (zh) 一种基于对数似然比的置信度传播动态翻转译码方法
Panchenko et al. Analysis of efficiency of the bioinspired method for decoding algebraic convolutional codes
CN112769437A (zh) 极化码的译码方法及译码装置、存储介质、电子装置
JP2008154238A (ja) Rs復号化における重複度の計算方法、装置並びに復号器および復号方法
CN110855298A (zh) 基于子信道冻结条件的低迭代次数极化码bp译码方法
CN112152752A (zh) 译码处理方法及装置

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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20220603