基于时间序列网络的极化码译码算法
核心思路
首先生成大量的极化码编码数据,将编码前的数据作为标签
再设计TCN网络结构,针对译码对结构进行微调
最后对译码效果进行多方面评估,画出误码率曲线以及对参数进行调整获取最佳结果
细节问题
一些细节问题以及怎么解决的
第一点 生成什么样的数据,数据结构是什么样?
第二点 怎么对数据进行标注,标注样式是什么?
第三点 获取不同信噪比下的表现,是每个信噪比训练一个模型还是混合信噪比训练?
第四点 生成数据集的规模是多大的?数据是越多越好?
第五点 如果效果不好,数据应该怎么调整?
第五点 网络结构是什么样的?超参数怎么设置?
第六点 怎么对效果进行评估,怎么计算误码率曲线?
数据集生成
- 首先是极化码的编码,随机生成一个数据源
- 再对数据源进行计划码编码,生成编码后的数据
- 对编码后的数据添加噪声
- 对加噪数据进行标注,标注内容是信噪比和数据源
- 重复以上步骤,生成足够的数据
TCN网络
扩张因果卷积,扩张因子d = 1,2,4,滤波器大小k = 3。接收域能够覆盖输入序列中的所有值。
TCN的卷积和普通1D卷积最大的不同就是用了扩张卷积(dilated convolutions),越到上层,卷积窗口越大,而卷积窗口中的“空洞”越多。
-
网络输入x0, . . . , xT 的时序数据,输出也是一样大小的 y0, . . . , yT 的预测。扩张卷积可以做到每一层隐层都和输入序列大小一样,并且计算量降低,感受野足够大。
-
时序预测要求对时刻t 的预测yt只能通过t时刻之前的输入x1到xt-1来判别(像隐马尔科夫链)。这在CNN里面就叫做因果卷积(causalconvolutions),这是通过限制卷积窗口滑动做到的。
TCN还为了提高准确率,还加入了残差卷积的跳层连接,以及1×1的卷积操作:
TCN中残差连接的示例。蓝线是残差函数中的过滤器,绿线是身份映射。可以看出TCN 只是一维CNN的一个结构创新。