详解基于深度学习的两种信源信道联合编码

 更新时间:2021年05月21日 10:24:44   作者:华为云开发者社区  
信源编码是一个数据压缩的过程,其目的是尽可能地将信源中的冗余度去掉;而信道编码则是一个增加冗余的过程,通过适当加入冗余度来达到抵抗信道噪声,保护传输数据的目的。
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

概述

经典端对端无线通信系统如下图所示:

信源 xx使用信源编码,去除冗余得到比特流 ss

对 ss进行信道编码(如 Turbo、LDPC 等)得到 yy,增加相应的校验位来抵抗信道噪声。

对比特流 yy进行调制(如 BPSK、16QAM 等)得到 zz,并经物理信道发送。

接收端对经信道后的符号 \bar{z}zˉ 进行解调、解码操作得到 \bar{x}xˉ。

根据定义信道方式不同,基于深度学习的信源信道联合编码(Deep JSCC)可以分为两类。

第一类,受无编码传输的启发,将信源编码、信道编码和调制联合设计为编码器。

系统模型如下图所示:

第二类,将通信系统中的调制、噪声信道、解调模块抽象为离散的二进制信道。

系统模型如下图所示:

第一种模型称为基于物理信道的符号编码,第二种称为基于抽象信道的比特编码。

另一方面,信源可根据其是否具有结构化特征划分为两类:

  • 结构化信源,如图像、视频。
  • 非结构化信源,如高斯信源。

结构化信源是 Deep JSCC 的主要研究场景。由于神经网络对结构化数据具有强大的特征获取能力,并且有针对各种结构化数据设计的网络结构的出现。

因此,Deep JSCC 相较于传统设计更具有优势。

图像/视频等具有空间拓扑结构信源适合 CNN 网络结构,文本/语音等具有时间序列化结构信源适合 RNN 网络结构。

对于非结构化信源,Deep JSCC 则稍显羸弱。因为非结构化信源内部相关性弱,难以去除冗余。

基于物理信道的符号编码

结构化信源

Gunduz 团队1 提出了一个传输高分辨率图像的 Deep JSCC 框架。
发送端和接收端都使用 CNN 网络,并在训练时加入了高斯白噪声和瑞利衰减噪声。
提出的 Deep JSCC 框架如下图所示:

实验表明,从 PSNR 和 SSIM 数据来看,提出的信源信道联合编码比信源信道分离方案更优,在低信噪比的信道环境下,优势尤其明显。

Gunduz 团队2 在前一个方案的基础上,提出将噪声反馈模块融入传输系统,以增强编解码器对变换信噪比的鲁棒性。

解码器将一部分经过噪声信道的接收到的符号 \bar{z}zˉ 反馈给编码器,编码器根据 \bar{z}zˉ 重新计算信噪比,并对编解码网络参数进行改进,以适应变换的信噪比环境。

其通信方案如下图所示:

Jankowski3 提出了一种使用 Deep JSCC 来进行图像检索的方案,先提取图像特征,然后使用 Deep JSCC 编码传输图像特征子,接收端接收解码特征子并基于特征对图像进行检索。

系统架构如下图所示:

非结构化信源

Saidutta4 提出了一种应用双编码解码结构的 Deep JSCC 方案对高斯信源进行编码传输。
训练时采用 MSE 优化器。

系统架构如下图所示:

在前面工作的基础上,Saidutta5 提出了基于变分自编码器对高斯信源编码的 Deep JSCC 方案,通过假设接收信号和重构信号的高斯统计特性,给出了正则化 MSE 损失的可变上限证明。

Xuan6 提出了一种基于 RNN 对高斯信源编码的 Deep JSCC 方案。

其不需要获取信源的先验信息,并在理论上证明了 Deep JSCC 的有效性,同时证明了基于深度学习的编码器与基于混沌动态系统(Chaotic Dynamical System)的编码函数之间的相似性。

系统框架如下图所示:

基于抽象信道的比特编码

与传统符号流的 Deep JSCC 方案不同,二进制信道下传输离散比特流无法计算反向传播梯度。因此,离散信道的嵌入也比物理信道的嵌入更为复杂。

近年来,神经网络离散化7和离散自编码器8的发展,为上述难点提供了解决思路。针对离散化神经网络的问题,一个简单的方法是使用得分函数估计器替代梯度9。由于该估计方差较高,一部分工作提出了不同的公式和控制变量来解决该问题10。

另外,为了达到使离散随机变量连续化的目的,Jang 和 Maddisonet 分别提出了 Gumbel-Softmax 分布11和 Concrete 方案12。

结构化信源

Choi13 提出了一种使用离散自编码器对图像进行抽象信道的比特编码方案。为了保留编码的硬离散性,使用了多样本变分下界目标,用于获得低变差梯度。

系统结构如下图所示:

其使用图像及其二进制表示的互信息的变分下界来训练模型,以获得更好的鲁棒性。

Song14 提出了新的正则化方法 IABF(Infomax Adversarial Bits Flip) ,以增强 NECST 的压缩和纠错能力,提升鲁棒性。并提出了新的损失函数,实现了网络对高维数据更有效的优化。

Shao15 基于轻量级 CNN 网络提出了可部署到计算能力有限的移动设备中的低功耗 Deep JSCC。

系统架构如下图所示:

Farsad16 提出了基于 RNN 结构的 Deep JSCC 方案,以对文本信源进行编码传输。采用里德-所罗门(ReedSolomon)码对信道进行编码;结果表明,当编码比特较短时,该方案比传统方法具更低的单词错误率。

系统架构如下图所示:

非结构化信源

Carpi17 提出了一种基于强化学习的 Deep JSCC 方案,采用了比特位翻转解码(bitflipping decoding)、残差信念传播(residual belief propagation)和锚解码(anchor decoding)三种算法,让解码器由数据驱动去学习最佳的解码策略。

以上就是详解基于深度学习的两种信源信道联合编码的详细内容,更多关于基于深度学习的两种信源信道联合编码的资料请关注程序员之家其它相关文章!

相关文章

  • TCP的三次握手与四次挥手详细介绍

    TCP的三次握手与四次挥手详细介绍

    这篇文章主要介绍了TCP的三次握手与四次挥手详细介绍的相关资料,需要的朋友可以参考下
    2017-03-03
  • 浅谈迁移学习

    浅谈迁移学习

    迁移学习(Transfer Learning)是一种机器学习方法,是把一个领域(即源领域)的知识,迁移到另外一个领域(即目标领域),使得目标领域能够取得更好的学习效果
    2021-06-06
  • uniApp微信小程序使用腾讯地图定位功能及getLocation需要在app.json中声明permission字段问题解决

    uniApp微信小程序使用腾讯地图定位功能及getLocation需要在app.json中声明permission字段问

    这篇文章主要介绍了uniApp微信小程序使用腾讯地图定位功能及getLocation需要在app.json中声明permission字段问题解决,需要的朋友可以参考下
    2022-12-12
  • 深入分析java与C#底层控制能力区别及示例详解

    深入分析java与C#底层控制能力区别及示例详解

    这篇文章主要为大家深入分析java与C#底层控制能力不同的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-11-11
  • App开发建议技巧

    App开发建议技巧

    有同学问我,对应用开发你有没有值得注意或小技巧的地方可以分享的。比如适配、优化、排查错误什么的。鸡排把自己的总结笔记整理出来了。供大家参考
    2018-01-01
  • Eclipse 误删文件的恢复与代码的恢复详解

    Eclipse 误删文件的恢复与代码的恢复详解

    这篇文章主要介绍了Eclipse 误删文件的恢复,代码的恢复的相关资料,需要的朋友可以参考下
    2016-09-09
  • 分享下手机软件界面设计浅析

    分享下手机软件界面设计浅析

    手机的软件系统已成为用户直接操作和应用的主体,它应以美观实用、操作便捷为用户所青睐。用户界面设计的规范性显得尤为重要
    2014-05-05
  • 人人都是开发者:7款傻瓜式APP开发工具

    人人都是开发者:7款傻瓜式APP开发工具

    国外的营销工作者和技术开发者开发了许多能帮助企业创建简单APP应用的工具,通过这些工具,就算是一个对程序一窍不通的普通网民都可以很容易的创建一个企业的APP程序,并可以对程序进行应用更新维护,开展营销等活动
    2013-11-11
  • Hbuilder配置Avalon和Vue指令提示的方法详解

    Hbuilder配置Avalon和Vue指令提示的方法详解

    HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE,下面这篇文章主要给大家介绍了关于Hbuilder如何配置Avalon和Vue指令提示的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-10-10
  • Hbuilder连远程接服务器上传代码的图文教程

    Hbuilder连远程接服务器上传代码的图文教程

    下面小编就为大家分享一篇Hbuilder连远程接服务器上传代码的图文教程,具有很好的参考价值,一起跟随小编过来看看吧,希望对大家有所帮助
    2017-11-11

最新评论

?


http://www.vxiaotou.com