语义通信:DeepSC用于文本传输也太香了吧

news2024/9/22 19:42:44

论文标题:Deep Learning Enabled Semantic Communication Systems

论文链接:https://arxiv.org/abs/2006.10685v1

摘要

最近,人们开发了支持深度学习的端到端(E2E)通信系统,以合并传统通信系统中的所有物理层块,从而使联合收发器优化成为可能。在深度学习的推动下,自然语言处理(NLP)在分析和理解大量语言文本方面取得了巨大成功。

受这两个领域研究成果的启发,我们的目标是从语义层面对通信系统提供一个新的视角。 特别地,我们提出了一个基于深度学习的语义通信系统,名为DeepSC,用于文本传输。基于该转换器,DeepSC旨在通过恢复句子的意义,而不是传统通信中的位或符号错误,来最大限度地提高系统容量并最小化语义错误。

此外,迁移学习用于确保DeepSC适用于不同的通信环境,并加速模型训练过程。为了准确证明语义通信的性能,我们还初始化了一个新的度量,称为句子相似度。

大量的仿真结果表明,与不考虑语义信息交换的传统通信系统相比,该系统对信道变化具有更强的鲁棒性,能够在低信噪比下获得更好的性能。

介绍

基于shhannon和Weaver,通信有三个级别

1)符号的传播;

2)传输符号的语义交换;

3)语义信息交换的影响。

  • 第一级通信主要关注符号从发射机成功传输到接收机,其中传输精度主要在比特或符号级别进行测量。
  • 第二级通信处理从发送方发送的语义信息和在接收方解释的含义,称为语义通信。
  • 第三级处理通信的影响,这些影响转化为接收器以发送器所期望的方式执行某些任务的能力。

在过去的几十年里,通信主要集中在如何准确有效地将符号(以比特为单位)从发射机传输到接收机。在这种系统中,误码率(BER:Bit Error Ratio)或SER(Symbol Error Ratio)表示误符号率。通常被视为性能指标。随着第一代(1G)到第五代(5G)的发展,实现的传输速率提高了数万倍,系统容量逐渐接近单端极限。

最近,各种新的应用出现了,例如自动运输、消费机器人、环境监测和远程健康。 这些应用程序的互连将产生惊人的字节数量的数据。此外,这些应用程序需要在有限的频谱资源上支持大规模连接,但需要较低的延迟,这对传统的信源信道编码提出了严峻挑战。

语义通信可以通过提取数据的含义,过滤掉无用、无关和非本质的信息,从而在保留语义的同时进一步压缩数据,从而在语义域中处理数据。

此外,语义通信有望对恶劣的信道环境,即低信噪比(SNR)区域具有鲁棒性,这非常适合要求高可靠性的应用。这些因素促使我们通过考虑数字比特背后的语义来开发智能通信系统,以提高通信的准确性和效率。

与传统通信不同,语义通信旨在传输与传输目标相关的信息。 例如,对于文本传输,意义因此是基本信息,而表达,即是单词的表达,是不必要的。通过这样做,数据流量将显著减少。在典型通信系统中,当带宽有限、信噪比较低或误码率/误码率较高时,这样的系统可能特别有用。

基于深度学习(DL)的自然语言处理(NLP)和通信系统的最新进展启发我们研究语义通信,以实现上述第二级通信。所考虑的语义通信系统主要关注联合语义信道编码和解码,其目的是提取和编码句子的语义信息,而不是简单地一个比特序列或一个单词。

「对于语义通信系统,我们面临以下问题:」

  • Question 1: 如何定义bits

  • Question 2:如何衡量句子的语义错误?

  • Question 3:如何联合设计语义和信道编码?

本文将NLP中的机器翻译技术应用到物理层通信中,研究语义通信系统。 具体来说,我们提出了一个支持DL的语义通信系统(DeepSC)来应对上述挑战。

「本文的主要贡献总结如下:」

在Transformer的基础上,提出了一种新的DeepSC框架,该框架能够有效地从文本中提取语义信息,并且对噪声具有鲁棒性。在提出的DeepSC中,设计了一种联合语义信道编码来处理信道噪声和语义失真,解决了上述问题3。

DeepSC的收发器由语义编码器、信道编码器、信道解码器和语义解码器组成。为了在理解语义的同时最大限度地提高系统容量,采用两个损失函数对接收器进行优化:交叉熵和互信息。此外,本文还提出了一种新的度量标准,以准确反映DeepSC在语义层面的性能。这些解决了上述问题1和2。

为了使DeepSC适用于各种通信场景,采用深度迁移学习加速模型再训练。通过重新训练的模型,DeepSC可以识别各种知识输入,并从失真中恢复语义信息。

基于大量的仿真结果,提出的DeepSC在低信噪比下的性能优于传统的通信系统,提高了系统的鲁棒性。

DeepSC介绍

所考虑的系统模型包括两个层次:语义层次和传输层次,如图1所示。语义层处理用于编码和解码的语义信息,以提取语义信息。传输级别保证语义信息可以在传输介质上正确交换。

总体而言,我们考虑了一个具有随机物理信道的智能E2E通信系统,其中发射机和接收机具有一定的背景知识,即不同的训练数据。对于不同的应用场景,背景知识可能会有所不同。

定义1:语义噪音是信息交换中的一种干扰,由于信息传输中使用的词语、句子或符号的歧义,干扰了信息的解释。

定义2:物理信道噪声是由物理信道损伤引起的,如加性高斯白噪声(AWGN)、衰落信道和多径,从而导致信号衰减和失真。

如图1所示,发射器将句子s映射为复杂符号流x,然后将其通过具有传输损伤(例如失真和噪声)的物理信道。接收到的y在接收器处解码,以估计原始句子s。我们使用DNN联合设计发射器和接收器,因为DL使我们能够训练输入可变长度句子和不同语言的模型。

特别是,我们假设DeepSC的输入是一个句子s=[w1,w2,...,wL],其中wl代表句子中的第l个单词。如图1所示,Transmiter由两部分组成,即语义编码器和信道编码器,用于从s中提取语义信息,并保证语义信息在物理信道上的成功传输。编码的符号流可以用X=C_\alpha (S_\beta (S)),S_\beta (\cdot )是参数集为β的语义编码器网络,C_\alpha (\cdot )是参数集为α的信道编码器。为了简化分析,我们假设相干时间为M。如果发送x,接收器接收到的信号将为y=hx+n如图1所示,接收机包括信道解码器和语义解码器,分别恢复发送的符号和随后发送的句子。解码后的信号可以表示为

该系统的目标是最大限度地减少语义错误同时减少要传输的符号数量。 然而,我们在所考虑的体系中面临两个挑战。第一个挑战是如何设计联合语义信道编码。另一个是语义传递,这在传统的通信系统中没有被考虑。

即使现有的通信系统能够实现较低的误码率,但由于噪声和纠错能力的影响,一些比特可能会导致理解困难,因为整个句子的部分语义信息可能会丢失。

为了实现语义级的成功恢复,我们联合设计了语义和信道编码,以保持\hat s和s之间的意义不变,这是由一个新的DNN框架实现的。

交叉熵(CE)被用作损失函数来测量s和\hat s之间的差异,其公式如下:

性能指标

在E2E通信系统中,发送端和接收端通常以误码率作为训练目标,这有时会忽略通信的其他方面目标。对于文本传输,误码率不能很好地反映性能。

除了通过人工判断来确定句子之间的相似性外,机器翻译中通常使用双语评估研究(Bilingual Evaluation Understudy:BLEU)分数来衡量结果,这将作为本文的性能指标之一。

然而,BLEU分数只能比较两句话中单词之间的差异,而不能比较它们的语义信息。因此,我们初始化了一个新的度量,称为句子相似度,以根据两个句子的语义信息来描述它们的相似程度,这将在下文中介绍。这为问题2提供了一个解决方案。

对于长度为l_s的传输句子s,长度为l_{\hat s}的解码句子\hat s ,BLEU可以表示为

句子相似性:

一个词在不同的语境中可以有不同的含义。 例如,老鼠在生物学和机器中的含义是不同的。传统的方法,如word2vec[25],无法识别多义词,其中的问题是如何使用数字向量来表达单词,而数字向量在不同的上下文中有所不同。

根据语义相似度,我们建议计算原始句子s和恢复句子l_{\hat s}之间的句子相似度,如下所示:

结果

提出的DeepSC与其他DNN算法以及AWGN信道和瑞利衰落信道下的传统信源编码和信道编码方法进行比较,其中我们假设所有方案都具有完美的CSI。在擦除信道和衰落信道以及不同的背景知识下,验证了迁移学习辅助的DeepSC。

对于相同的传输符号总数,BLEU分数与SNR的关系,64-QAM中使用RS(30,42)的哈夫曼编码,64-QAM中使用RS(42,54)的5位编码,64-QAM中使用Turbo编码的哈夫曼编码,128-QAM中使用Turbo编码的5位编码,8-QAM中使用Turbo编码的布罗特利编码;基于DNN的JSCC[22]在AWGN信道和瑞利衰落信道上训练,我们提出的DeepSC在AWGN信道和瑞利衰落信道上训练。

相同传输符号总数下的句子相似性与信噪比,使用64-QAM中的RS(30,42)霍夫曼编码;64-QAM中RS(42,54)的5位编码;哈夫曼编码与64-QAM中的Turbo编码;采用128-QAM的5位Turbo编码;Brotli编码与8-QAM中的Turbo编码;在AWGN信道和瑞利衰落信道上训练的E2E[22];我们提出的DeepSC在AWGN信道和瑞利衰落信道上进行训练。

总结

在本文中,我们提出了一个语义通信系统,名为DeepSC,在DeepSC中,输入文本和输出符号的长度是可变的,互信息被视为损失函数的一部分,以实现更高的数据速率。

此外,还采用了深度迁移学习来满足不同的传输条件,并利用预先训练好的模型中的知识加快新网络的训练。此外,我们还将句子相似性作为一个新的语义错误性能指标进行了初始化,这是一个更接近人类判断的指标。

仿真结果表明,DeepSC的性能优于各种基准,尤其是在低信噪比情况下。所提出的迁移学习辅助的DeepSC已经证明了它能够以较快的收敛速度适应不同的渠道和知识。

因此,我们提出的DeepSC是文本传输的一个很好的候选者,尤其是在低信噪比情况下,这对于大量设备连接到有限频谱资源的情况非常有用。

我们将语义通信系统与传统通信系统的区别归纳为以下几点:

1)不同的数据处理领域。前者在语义域处理数据,后者在熵域压缩数据。

2)不同的沟通目标。传统的通信系统侧重于精确的数据恢复,而语义通信系统则服务于传输的决策或目标。

3)不同的系统设计。传统系统只设计和优化传统收发器中包含的信息传输模块,而语义系统则共同设计从源信息到最终应用目标的整个信息处理模块。

根据本文提出的语义通信概念,我们开发了用于文本和语音传输的L-DeepSC和DeepSC-S。

点击下方卡片关注《学姐带你玩AI》🚀🚀🚀

220+篇AI必读经典论文pdf资料集(CV/NLP...)免费领

码字不易,欢迎大家点赞评论收藏!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/341549.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React中JSX的用法和理解

React的特点 React是用于构建用户界面的高效且灵活的 JavaScript 库,采用组件化模式和声明式编码;使用DOMdiff算法,最大限度地减少与DOM的交互。 相关js库 react.js:React核心库。react-dom.js:提供操作DOM的react扩…

Eclipse导出jar时的错误

文章目录一、发现问题二、解决问题三、新的问题今天,本来是风和日丽,轻风和畅的,复习的一天,直到我开始尝试导出 jar 可执行文件,兄弟们请记住这个词,我将被他折磨很久。一、发现问题 首先,我美…

RT-Thread MSH_CMD_EXPORT分析

RT-Thread MSH_CMD_EXPORT分析 1. 源码分析 在rt-thread中,使用FinSH,可以支持命令行。在源码中,使用MSH_CMD_EXPORT导出函数到对应命令。 extern void rt_show_version(void); long version(void) {rt_show_version();return 0; } MSH_CM…

实战超详细MySQL8离线安装

在RedHat中,RPM Bundle 方式安装MySQL8。建议一定要用 RPM Bndle 版本安装,包全。官网下载:https://dev.mysql.com/downloads/mysql/1.卸载mariadb,会与MySQL安装冲突。rpm -qa | grep mariadb 查看有无mariadb如果有&#xff0…

数据机构笔记哈夫曼编码

1.什么是哈夫曼树?哈夫曼树经典问题:合并果堆问题:如果有三个果堆,其质量分别是1,2,3,我们现在需要将这三堆合并成一堆果堆,合并过程消耗体力等于两堆果堆的质量之和,求最小体力消耗值&#xff…

java贪心算法

1 应用场景-集合覆盖问题 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区 都可以接收到信号 2 贪心算法介绍 贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优…

Threadlocal为何引发内存泄漏问题

首先我们要先了解什么是泄漏问题和什么是内存溢出 内存泄漏表示程序员申请了内存,但是该内存一直无法被释放 内存溢出表示申请内存不足,就会报错 为何引发内存泄漏问题 因为每个线程都有自己独立的ThreadLocalMap对象,key为ThreadLocal&…

【C++1】函数重载,类和对象,引用,string类,vector容器,类继承和多态,/socket,进程信号

文章目录1.函数重载:writetofile(),Ctrue和false,C0和非02.类和对象:vprintf2.1 构造函数:对成员变量初始化2.2 析构函数:一个类只有一个,不允许被重载3.引用:C中&取地址&#x…

【shell 编程大全】内容格式化以及多样化输出

内容格式化以及多样化输出 1. 前倾回顾 本章节我们一起来学习下,shell中内容格式化,以及多样输出。但是在学习之前,我们先来看看上个章节【shell 变量的定义以及使用】 我们都学习到了什么知识 shell 变量的定义以及使用 变量分类变量定义类…

SpringBoot设置和读取配置文件(1)

SpringBoot配置文件是用来保存SpringBoot项目当中所有重要的数据的,比如说数据库连接信息,数据库的启动端口,如果端口被占用了,那么就可以随时修改; 1)比如说我们之前再写JDBC的代码的时候,要去写链接字符串…

C 字符串

在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。空字符(Null character)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符&#…

SNI生效条件 - 补充nginx-host绕过实例复现中SNI绕过的先决条件

文章目录1.前置环境搭建2.测试SNI生效条件(时间)3. 证书对SNI的影响3.1 双方使用同一个证书:3.2 双方使用不同的证书与私钥4. 端口号区分测试4.1 端口号区分,证书区分:4.2 端口号区分,证书不区分:5.总结SNI运行机制6. SNI机制绕过…

Docker-安装Jenkins-使用jenkins发版Java项目

文章目录0.前言环境背景1.操作流程1.1前期准备工作1.1.1环境变量的配置1.2使用流水线的方式进行发版1.2.1新建流水线任务1.2.2流水线操作工具tools步骤stages步骤1:拉取代码编译步骤2:发送文件并启动0.前言 学海无涯,旅“途”漫漫,“途”中小记&#xff…

从0到1一步一步玩转openEuler--12 openEuler用户管理

文章目录12.1 创建用户12.1.1 useradd命令12.1.2 用户信息文件12.1.3 创建用户实例12.2 修改用户账号12.2.1 修改密码12.2.2 修改用户shell设置12.2.3 修改主目录12.2.4 修改UID12.2.5 修改账号的有效期12.3 删除用户12.4 管理员账户授权在Linux中,每个普通用户都有…

【Java 面试合集】怎么声明一个类不会被继承,以及应用场景

怎么声明一个类不会被继承,以及应用场景1. 概述 今天的Java 面试合集又来了。今天我们复习的问题是:怎么声明一个类,不可以被继承 2. 验证 public final class TestMath { }通过上述截图 我们可以看到,被关键字final 修饰过的类,…

EOC第六章《块与中枢派发》

文章目录第37条:理解block这一概念第38条:为常用的块类型创建typedef第39条:用handler块降低代码分散程度第41条:多用派发队列,少用同步锁方案一:使用串行同步队列来将读写操作都安排到同一个队列里&#x…

02 OpenCV图像通道处理

1 通道提取与合并 在数字图像处理中,图像通道是指一个图像中的颜色信息被分离为不同的颜色分量。常见的图像通道包括RGB通道、灰度通道、HSV通道等。 RGB通道是指将图像分离为红色、绿色和蓝色三个颜色通道,每个通道表示相应颜色的亮度。这种方式是最常…

【QT 5 相关实验-仪表盘-学习笔记-表盘组件练习与使用总结】

【QT 5 相关实验-仪表盘-学习笔记-表盘组件练习与使用总结】1、概述2、实验环境3、参考资料-致谢4、自我提升实验效果5、代码练习-学习后拆解(1)头文件部分(2)绘制事件绘制表盘代码(3) 每一块部分绘制6、代码移植提升类…

Spring Security in Action 第十一章 SpringSecurity前后端分离实战

本专栏将从基础开始,循序渐进,以实战为线索,逐步深入SpringSecurity相关知识相关知识,打造完整的SpringSecurity学习步骤,提升工程化编码能力和思维能力,写出高质量代码。希望大家都能够从中有所收获&#…

nginx正向代理的配置和使用

nginx正向代理的配置和使用 nginx正向代理的配置和使用nginx正向代理的配置和使用安装包准备下载nginx安装包下载正向代理模块的包版本与模块对照表部署nginx服务上传nginx包和正向模块包解压,改名安装nginx配置正向代理创建nginx用户检查nginx配置并启动nginx服务所在服务器验…