【论文阅读】DL-Based End-to-End Wireless Communication Systems With Conditional GANs as Unknown Channels

文章标题:Deep Learning-Based End-to-End Wireless Communication Systems With Conditional GANs as Unknown Channels
文章链接:https://www.aminer.cn/pub/5e8d92989fced0a24b61f135/deep-learning-based-end-to-end-wireless-communication-systems-with-conditional-gans

摘要

本文开发了一种基于深度神经网络(DNNs)的端到端无线通信系统,其中DNNs被用于执行包括编码、解码、调制和解调在内的几个关键功能。然而,为了使发射机DNN学会优化接收机在解码时的增益,需要准确估计瞬时信道传递函数,即信道状态信息(CSI),这在无线通信中是一个挑战,因为CSI随时间和位置变化,并且在设计收发器时很难获得。我们提出使用条件生成对抗网络(GAN)来表示信道效应,并作为发射机DNN和接收机DNN之间的桥梁,以便接收机DNN可以将梯度反向传播到发射机DNN。特别是,采用条件GAN以数据驱动的方式对信道效应进行建模,其中接收信号对应的导频符号被添加为GAN的条件信息的一部分。为了解决当传输符号序列较长时的维数灾难问题,使用了卷积层。从模拟结果来看,所提出的方法在加性白高斯噪声(AWGN)信道、Rayleigh衰落信道和频率选择性信道上都是有效的,这为构建端到端通信系统的纯数据驱动DNNs开辟了新的途径。

主要问题描述:
文章主要解决的问题是如何在无线通信系统中,不依赖于准确的信道状态信息(CSI),设计一个端到端的通信系统。在无线通信中,CSI的获取往往面临挑战,因为它会随时间和位置变化,而且难以获得。此外,当传输的符号序列较长时,还会遇到所谓的“维数灾难”,这会增加训练过程中未见编码字的比重,从而影响系统性能。

文章贡献概述:

  1. 条件GAN的应用:文章提出使用条件生成对抗网络(Conditional GAN)来模拟无线信道的条件分布,通过将接收到的导频符号作为条件信息的一部分,使条件GAN能够为时变信道生成更具体的样本。

  2. 端到端学习通信系统的开发:基于条件GAN对信道条件分布的建模,开发了一个端到端的学习通信系统,该系统允许通过条件GAN将端到端损失的梯度传播到发射机DNN。

  3. 卷积神经网络(CNN)的应用:为了解决维数灾难问题,文章采用了CNN来减轻问题的影响。实验结果表明,带有卷积层的发射机可以学习将传输数据编码到高维嵌入向量中,并且接收机可以有效解码。

  4. 实际信道的模拟和优化:文章的方法在AWGN信道、Rayleigh衰落信道和频率选择性信道上进行了测试,证明了所提出方法的有效性,与基于专家知识和信道模型设计的传统方法相比,显示出类似或更好的性能。

  5. 数据驱动通信系统的新途径:这项研究为构建纯粹的数据驱动通信系统开辟了新的道路,为未来通信系统的设计提供了新的思路和方法。

I. 引言

在图1(a)所示的传统无线通信系统中,数据传输涉及发射机和接收机中的多个信号处理模块。虽然该系统中的技术非常成熟,但其中各个模块通常是单独设计和优化的,通常基于不同的假设和目标,这使得很难甚至不可能确定系统的全局最优性。此外,信道传播被表示为嵌入设计中的假定数学模型。假定的模型可能无法正确或准确地反映实际的传输场景,从而影响系统性能。
相反,基于学习的基于数据驱动的方法为处理假定信道模型的不完美提供了一种新的途径[1]。最近,深度学习已经被应用于改进传统的块结构通信系统,包括多输入多输出(MIMO)检测[2][3]、信道解码[4]–[9]和信道估计[10][11]。此外,基于深度学习的方法还通过联合优化传统通信模块显示出了令人印象深刻的改进,包括联合信道估计和检测[12]、联合信道编码和源编码[13]。
除了增强传统通信模块之外,深度学习还为未来的通信系统提供了一种新的范式。作为一种纯粹的数据驱动方法,深度学习模型的特征和参数可以直接从数据中学习,无需手工制作或特别设计,通过优化端到端的损失函数。受这种方法的启发,端到端基于学习的通信系统已经在几个先前的研究中进行了研究[14]–[18],其中发射机和接收机都由深度神经网络(DNNs)表示,如图1(b)所示。该框架可以被解释为一个自动编码器系统,它被广泛用于学习数据的表示[19]–[21]。发射机和接收机分别对应于自动编码器和自动解码器。从图1(b)可以看出,发射机学习将传输的符号编码为编码数据x,然后将其发送到信道,而接收机学习根据从信道接收到的信号y恢复传输的符号。结果,发射机处的传统通信模块,如编码和调制,被DNN所取代,而接收机处的模块,如解码和解调,被另一个DNN所取代。发射机和接收机DNNs使用测量或模拟数据集进行离线训练,以一种监督学习的方式优化反映恢复精度的损失函数。从图1(b)可以看出,损失函数取决于发射机DNN的权重/参数集θT、接收机DNN的权重/参数集θR和信道实现h,因此可以表示为L(θT, θR,h)。然而,在离线训练阶段,信道实现h是未知的。我们只知道它来自具有某些特征或特征的样本空间/集合H,例如室内信道或典型的城市信道。因此,发射机和接收机DNN的参数集本质上是针对最小化E(h∈H){L(θT, θR,h)}进行优化的。
从上述讨论中,有几个关键挑战需要解决,以便将基于学习的端到端通信系统框架应用于各种无线信道。众所周知,DNN的权重通常使用随机梯度下降(SGD)进行更新,计算出的损失梯度从输出层反向传播到输入层。当信道传递函数y = fh(x)不可用时,接收机DNN到发射机DNN的梯度反向传播被阻塞,阻止了端到端系统的整体学习。信道传递函数可能被假定,但任何这样的假定都会使学习到的权重产生偏差,重复假定模型和实际信道之间可能存在的偏差所导致的问题。此外,在实际通信系统中,由于无线信道的各种固有不确定性,如信道噪声和时变特性,很难事先获得准确的瞬时CSI。这些不确定性通常未知或无法用解析方式表达。
端到端范式的另一个关键挑战是训练时的维数灾难,当传输的符号序列很长时。通信系统中的码块大小需要足够长以确保足够的编码增益。然而,随着码块大小的增加,可能的码字的大小呈指数增长,训练期间未见码字的比例也会相应显著增加。先前基于学习解码的工作[7]表明,即使在DNN训练中包含了近90%的码字,DNN对未见码字的解码性能仍然很差。因此,几乎所有关于端到端范式的作品都集中在具有小码块大小的例子上,例如汉明码(7,4)[14][22]。因此,希望开发一种基于深度学习的信道不可知的端到端通信系统,该系统能够自动学习不同类型信道效应,而无需知道特定的信道传递函数,并且码块长度足够长以实用。
在这里插入图片描述
在本文中,我们开发了一个信道不可知的端到端通信系统来解决这些挑战,通过条件生成对抗网络(GAN)[23]学习信道输出的分布,如图1©所示。GAN生成样本的条件信息是发射机的编码信号以及用于估计信道的接收导频信息。通过迭代训练条件GAN、发射机和接收机,可以以监督的方式优化端到端损失。
这种信道不可知的端到端系统为优化通信系统提供了一种新的途径,适用于广泛的无线信道。此外,卷积神经网络(CNNs)被用来克服维数灾难,并且可以将块长度从几个比特扩展到几百个比特。本文的主要贡献有三个方面。

  • 使用条件GAN来模拟无线信道的条件分布p(y|x)。通过将接收到的导频符号作为条件信息的一部分,条件GAN可以为时变信道生成更具体的样本。
  • 在基于条件GAN模拟信道条件分布的基础上,开发了一个端到端基于学习通信系统,其中端到端损失的梯度可以通过条件GAN传播到发射机DNN。
  • 采用CNN来缓解维数灾难。实验结果表明,具有卷积层的发射机可以学习将传输数据编码到高维嵌入向量中,接收机可以有效解码。

部分工作已在[22]中发表。与以前的工作相比,本文进行了两项重大改进。首先,引入了卷积层,使这种方法可以从几个比特扩展到几百个比特。其次,框架扩展到更实用的无线信道,例如存在符号间干扰(ISI)的频率选择性信道。本文的其余部分组织如下。第二节讨论相关工作。第三节介绍了基于条件GAN的信道建模方法。第四节详细介绍了端到端系统的培训。第五节展示了模拟结果,并在第六节中得出结论。

II. 相关工作

重点内容总结如下:

A. GANs和条件GANs(Conditional GANs)

  • GANs(生成对抗网络)是一种生成模型框架,由生成器和鉴别器组成,在训练阶段相互竞争。生成器根据鉴别器的反馈提高生成与真实样本相似样本的能力。
  • GAN及其变体主要应用于计算机视觉领域,近期研究集中在提高生成图像的质量。
  • 条件GAN在GAN框架的基础上添加了上下文信息,以生成具有特定属性的样本。条件GAN已广泛应用于改变输入的风格和内容,例如从低分辨率图像生成高分辨率图像。

B. 基于DNN的端到端通信

  • 本文的目标是构建一个无线信道的端到端通信系统,其中信道效应通过条件GAN建模。
  • 端到端学习方法已被提出并证明在AWGN条件下与传统块结构方法具有类似的性能。
  • 端到端方法已被扩展到处理各种硬件不完善情况,并在OFDM系统中采用端到端学习方法。
  • 卷积神经网络(CNNs)被用于调制和解调,显示出对于高阶调制的改进结果。
  • 训练端到端通信系统而不使用信道模型已被研究。一种基于强化学习的框架被用来优化端到端通信系统,不需要信道传递函数或CSI,将信道和接收器视为训练发射器时的环境。

C. 基于学习的编码器和解码器

  • 基于学习的方法长期以来被用于改进解码性能,可以追溯到20世纪90年代使用循环神经网络(RNN)进行编码的尝试。
  • 深度学习方法被广泛应用于解码,包括使用全连接神经网络解码短极化码,并与最大似然解码性能相似。
  • 为了训练长码字,采用了分割方法,并尝试在解码过程中引入一些先验信息。
  • 最近,当使用卷积层和循环卷积层同时学习编码和解码模块时,而不是仅仅学习解码人为设计的码字,维度的诅咒得到了缓解。

III. 用条件GAN建模信道

A. 条件GAN

GAN [25] 是一种新的分布学习方法,目标是学习一个能够产生接近目标分布pdata样本的模型。
在这里插入图片描述
图2. 条件GAN的结构

在我们的系统中,应用GAN来模拟信道输出的分布,并在训练发射机时使用学到的模型作为真实信道的替代品,以便梯度可以传递到发射机。如图2所示,GAN系统由两个DNN组成,即生成器G和鉴别器D。生成器G的输入是来自先验分布pz(例如均匀分布)的噪声向量z。输入z通过生成器转换成生成样本G(z)。鉴别器D的输入可以是来自目标分布pdata的真实样本,或者是生成样本G(z),而鉴别器的输出是一个实数值,表示输入是从目标分布pdata中抽取的概率。在训练期间,鉴别器D学习区分由生成器生成的数据和来自目标分布的数据,而生成器G则学习生成样本以欺骗鉴别器犯错。来自真实数据和生成器的样本被收集起来训练鉴别器,以最大化区分两类数据的能力。如果鉴别器能够成功地对两种来源的样本进行分类,那么它的成功将被用来向生成器提供反馈,以便生成器可以学习产生更类似于真实样本的样本。当达到鉴别器D不能比随机猜测更好地区分真实样本和生成的假样本的平衡状态时,训练过程将结束。
生成器G和鉴别器D的参数集分别表示为θG和θD,训练生成器和鉴别器的目标函数可以分别表示为:

在这里插入图片描述

鉴别器D的目标是在输入属于真实数据集时给出高值,在输入由生成器G生成时给出低值,而生成器G的目标是在给定生成样本G(z)时最大化鉴别器D的输出。如果将额外信息m作为条件,可以将GAN扩展为条件模型,如图2所示。我们只需要将条件信息m作为额外输入输入到生成器和鉴别器中。因此,G的输出将是G(x, m),D的输出将是D(x, m)。生成器和鉴别器的优化目标函数分别变为:
在这里插入图片描述

在我们的端到端通信系统中,使用条件GAN来模拟给定编码信号和接收导频数据的条件信息下的信道输出分布。

B. 建模信道

由于给定输入x的信道输出y由条件分布p(y|x)决定,因此可以使用条件GAN通过将x作为条件信息来学习信道的输出分布。生成器将尝试产生与真实信道输出相似的样本,而鉴别器将尝试区分来自真实信道的数据和来自生成器的数据。
瞬时CSI,h,被视为来自大信道集H的样本,对于在接收机中进行传输符号的相干检测也至关重要。为了获得CSI,一种常见做法是向接收机发送一些导频信息,以便根据对应于导频符号的接收信号推断信道信息。在我们提出的方法中,将对应于导频符号的接收信号yp作为条件信息的一部分添加,以便输出样本遵循给定输入x和接收到的导频数据yp的y的分布。如果从条件信息中排除yp,条件GAN将学习用不同的z生成不同的信道条件。有了yp作为条件信息,条件GAN的输出分布将坚持当前信道而不是多模态分布。

C. 基于卷积层的信道GAN

卷积层已经被引入,以基于它们的共享权重架构和平移不变特性高效提取图像特征[34]。在全连接层中,每个神经元都连接到前一层的所有神经元。相比之下,在卷积层中,每个神经元只连接到前一层中的一些邻近神经元,这称为该神经元的接收场,并且同一组权重由该层中的所有神经元共享。受到卷积码的启发,其中编码过程可以由卷积变换表示,我们在信道GAN以及发射机和接收机中使用分层一维卷积层。记u(i)[n]为DNN中第i层的第n个神经元的输出。对于全连接层,第i层的第n个神经元的输出是

在这里插入图片描述

其中σ(·)是激活函数,w_nk_(i)是连接第(i−1)层的第k个神经元和第i层的第n个神经元的权重。w(i)对于不同的i、n或k是不同的。因此,如果有Ni个神经元在第i层,将有NiNi−1个权重总共连接(i−1)层到第i层。
另一方面,对于卷积层,第i层的第n个神经元的输出将是

在这里插入图片描述

其中w(i)k是卷积系数,对于第i层中的不同n是相同的。总共有L个权重(L通常比Ni或Ni−1小得多)来实现(i−1)层和第i层之间的NiL个连接。总之,与全连接DNN相比,CNN在相邻层之间的连接和要训练的权重要少得多,这将降低复杂性并显著提高训练的收敛速度。
除了更容易训练外,CNN在端到端通信系统中还有两个额外的优点。首先,卷积层的使用可以缓解维度的诅咒[6]。当发射机和接收机都由CNN表示时,CNN学习的码比传统手工制作的码更容易在接收机中恢复。其次,使用卷积层处理ISI信道是合适的,因为信道的效应可以用ISI信道中的卷积操作来表示。

IV. 端到端通信系统

正如引言中所述,端到端通信范式可以被解释为一个深度自动编码器框架。有了条件GAN,即使信道未知,梯度也可以反向传播到发射机。在本节中,首先介绍所提出的框架,并详细说明每个模块的训练过程。

A. 系统概述
如图1(b)所示,自动编码器学习将N个信息比特,s ∈ {0, 1}^N,
映射到长度为K的固定长度嵌入,x ∈ R^K,
并把嵌入发送到信道,而自动解码器根据从信道接收到的信号y学习恢复原始信息。将计算原始信息比特s和恢复信息,s ∈ [0, 1]^N之间的距离。使用二元交叉熵损失来衡量距离,可以表示为:

在这里插入图片描述

其中sn、sn分别代表s、和̂s的第n个元素。图3展示了所提出的端到端通信系统的训练和测试。为了获得训练数据集,随机生成信息比特s,并从信道集合中随机采样瞬时CSI。由于模块中的目标不同,可以根据训练数据迭代地训练发射机、接收机和条件GAN中的信道生成器。每个组件通过固定其他参数来训练。目标是在训练接收机和发射机时最小化端到端损失。当训练条件GAN以生成信道时,使用优化目标函数(3)和(4)。在测试阶段,使用真实信道评估学习到的发射机和接收机的端到端重构性能。

B. 训练接收机
在接收机处,训练一个DNN模型以恢复传输的信号s,其中输入是对应于传输数据的接收信号y,输出是估计值̂s。通过比较s和̂s,可以根据(5)计算损失函数。接收机可以很容易地被训练,因为损失函数在接收机处计算,因此可以很容易地获得损失的梯度。对于时变信道,通过将接收信号y和接收导频数据yp直接作为输入,接收机可以自动推断信道条件,并在不显式估计信道的情况下同时执行信道估计和检测,正如我们在[12]中讨论的。

C. 训练发射机
使用信道生成器作为替代信道,发射机的训练将与接收机类似。

在训练期间,可以将发射机、生成器和接收机视为一个整体DNN。发射机的输出是发射机DNN中最后一个隐藏层的值。在接收机处计算端到端交叉熵损失,如(5)所示,并通过条件GAN将梯度反向传播回发射机。发射机的权重将根据SGD更新,而条件GAN和接收机的权重保持固定。发射机可以学习嵌入的星座图x,以便在接收机处容易检测到接收信号。

D. 训练信道GAN
信道GAN的训练过程在算法1中详细说明。在每次迭代中,交替地训练生成器和鉴别器。一个模型的参数在训练另一个时被固定。通过学习到的发射机,可以通过真实信道获得真实数据,而伪造数据是通过编码数据通过信道生成器获得的。根据方程(3)和(4)的损失函数,分别更新生成器和鉴别器的参数。
在这里插入图片描述

算法1 信道GAN训练算法
1: 对于训练迭代次数做 do
2: % 更新生成器
3: 采样传输数据的小批量{s}和信道{h}。
4: 从发射机DNN的输出和信道{h}的接收导频信号中获取条件信息的小批量{m}。
5: 采样小批量样本{z}。
6: 通过提升损失函数(3)的随机梯度来更新生成器。
7: % 更新鉴别器
8: 采样传输数据的小批量{s}和信道{h}。
9: 从发射机DNN的输出和信道{h}的接收导频信号中获取条件信息的小批量{m}。
10: 通过收集信道的输出来采样真实数据的小批量示例。
11: 采样小批量样本{z}。
12: 通过下降损失函数(4)的随机梯度来更新鉴别器。
13: end for

V. 实验

在这一部分,提供了端到端学习方法的实现细节,并展示了模拟结果。对于几种最常用的信道类型,信道GAN已经显示出以数据驱动的方式模拟信道效应的能力。此外,建立在信道GAN上的端到端通信系统,即使在训练和优化发射机和接收机期间信道信息未知,也能实现类似或更好的结果。
在这里插入图片描述
表I FCN的模型参数
在这里插入图片描述

表II CNN的模型参数

A. 实验设置

  1. 实现细节:在实验中设计了两种类型的DNN模型。一种是全连接网络(FCN),另一种是CNN。FCN用于小的块大小,CNN用于大的块大小以避免维度的诅咒。FCN和CNN的参数分别显示在表I和表II中。两种模型的权重都通过Adam [32]更新,训练的批量大小为320。
  2. 信道类型:在实验中考虑了三种类型的信道,即AWGN信道、Rayleigh信道和频率选择性多径信道。在AWGN信道中,信道的输出y是输入信号x和高斯噪声w的总和,即y = x + w。Rayleigh衰落是当环境中许多物体在无线电信号到达接收机之前散射信号时,窄带无线信道的一个合理模型。在Rayleigh信道中,信道输出由y = hn · x + w决定,其中hn ∼ CN(0, 1)。信道系数hn是时变的,在设计收发器时是未知的。因此,需要信道估计以获得瞬时CSI,然后接收机使用它来检测传输数据。对于频率选择性信道,无线电信号通过多个路径传播,这些路径在幅度、相位和延迟时间上有所不同,并导致不希望的频率选择性衰落和接收信号的时间分散。基带复数信道脉冲响应可以表示为
    在这里插入图片描述

其中,总共有Kp条路径,b_k,theta_k, 和\tau_k 分别代表第k条路径的路径增益、相位偏移和时间延迟,p(t) 是通信系统中的成形脉冲。在我们的模拟中,考虑了一个具有相等平均功率的三抽头信道,即 E|b_k|^2 = 1 ,并且 tau_k = 0, T, 2T,其中T是符号持续时间。

  1. 基线:端到端基于学习的通信系统与传统通信系统进行比较,后者由多个信号处理模块组成,每个模块都基于对信道的先验知识进行设计。在每种类型的信道下比较了比特错误率(BER)和块错误率(BLER)。在我们的基线系统中,使用4-QAM作为调制,使用汉明码或卷积码。对于卷积码,使用维特比算法[35]进行最大似然序列解码。一个常用的卷积码示例,速率为1/2的递归系统卷积(RSC)码,用于信道编码[5]。OFDM用于处理频率选择性多径信道中的ISI。为了简化,接下来的实验中将xp设置为一个脉冲信号。接收到的信号yp可以表示为yp = h + np,其中np是接收到的导频信号中的加性噪声。为了消除信道估计误差的影响,并与包括信道编码和调制技术在内的传统方法进行公平比较,我们假设发射机可以增加导频信号的功率,以便加性噪声np可以忽略不计。通常,DNN可以与除脉冲信号之外的各种导频信号一起工作,如我们之前的作品[12]所示。此外,对于AWGN和Rayleigh衰落信道,所提出的基于条件GAN的端到端系统还与使用真实信道模型训练的端到端系统进行了比较,而不是使用条件GAN作为替代信道。对于AWGN信道,通过将高斯噪声直接注入隐藏层来训练自动编码器系统[14]。对于Rayleigh衰落信道,采用了一个额外的均衡层[17]。自动解码器的输入是均衡信号。

B. 模拟信道效应

我们使用FCN来模拟Rayleigh衰落信道的效应。由于Rayleigh衰落信道是时变的,因此在信道生成器和接收器中添加了额外的条件信息。除了编码信号外,接收到的导频数据yp被用作额外的条件。

C. 端到端通信系统

基于信道GAN,我们在三种类型的信道上建立了一个信道不可知的端到端通信系统,即AWGN信道、Rayleigh衰落信道和频率选择性多径信道。我们将基于学习的信道不可知端到端方法与传统方法进行比较,后者是基于信道传递函数设计的。

  1. AWGN信道:我们首先使用FCN处理小的块大小。在AWGN信道上的端到端恢复性能如图6所示。每次传输四个信息比特,发射机输出的长度设置为七。从图中可以看出,基于学习的方法的BER(比特错误率)和BLER(块错误率)与使用最大似然解码(MLD)的汉明(7,4)码以及在AWGN信道下训练的模型感知端到端自动编码器系统相似,这证明了使用条件GAN作为替代信道的有效性。为了训练具有大的块大小的模型,我们使用CNN来减轻维度的诅咒。我们首先在AWGN信道下训练CNN,直接将噪声添加到隐藏层,如[14]中所用。网络在3 dB固定的信噪比(SNR)下训练,并在不同的SNR下进行测试。图7显示了所提出的端到端方法在128比特长度时的BER和BLER曲线。从图中可以看出,所提出的方法在低SNR区域与RSC(递归系统卷积)性能相似,在高SNR区域显著优于RSC。与模型感知端到端自动编码器系统相比,随着块大小的增加,性能损失可以忽略不计。
    在这里插入图片描述
    在这里插入图片描述

  2. Rayleigh衰落信道:在大的块大小传输中使用CNN,并包括信道编码。我们将端到端方法与传统基线方法进行比较,其中使用QAM作为调制,使用编码率为1/2的RSC作为编码。每个块中传输64个信息比特,因此端到端方法的输入大小为64。从图8可以看出,端到端方法在BER和BLER方面与传统方法表现相似。基于条件GAN的端到端方法也显示出与传统方法训练的Rayleigh信道的模型感知端到端系统相似的性能。

在这里插入图片描述

  1. 频率选择性衰落信道:在频率选择性信道下,使用CNN开发端到端通信系统,并将OFDM系统作为基线。OFDM系统中有64个子载波,循环前缀长度设置为16,使用4 QAM进行调制。RSC用于信道编码。为了进行公平比较,我们将端到端系统的块大小设置为64比特,并在两个连续块之间填充16个零。图9显示了所提出的端到端方法的性能。从图9可以看出,所提出的端到端系统在BER方面比OFDM系统高出2 dB。端到端系统的BLER在高SNR区域也显著低于OFDM系统。在我们的端到端系统中使用导频信息有两个优点。有了导频信息,接收机可以获得特定信道实现的信息,这对于恢复传输数据非常有帮助。此外,有了导频数据,基于GAN的信道生成器学习在当前信道实现下生成信道输出分布。相反,如果没有导频信息,信道生成器学习产生所有信道实现的混合信道输出分布。
    在这里插入图片描述

图9中证明了导频信息的重要性,其中端到端性能在没有导频信息时显著降低。
在这里插入图片描述

此外,为了展示在真实场景中的性能,使用了WINNER II信道[38],并与[12]中的信道生成参数相同,只是使用了最大延迟8个采样周期。OFDM系统和端到端方法的块大小均为128比特。如图10所示,所提出的端到端系统在SNR低于10 dB时的BER性能与OFDM系统相似,在SNR超过10 dB时明显更好。端到端系统的BLER性能在低SNR区域略逊于OFDM系统,但在高SNR区域比基线系统高出约4 dB。
对端到端系统和基线的计算复杂性进行比较。CNN的计算复杂性为
在这里插入图片描述

其中N是块大小,L是层数,kl是第l层的内核大小,Fl−1和Fl分别是第(l − 1)层和第l层的滤波器数量。对于OFDM系统,快速傅里叶变换(FFT)的计算复杂性为O(N log N)。维特比解码的复杂性为O(N^2k),
其中k是存储器的长度。为了完成我们对计算复杂性的讨论,我们在配备Intel i7 CPU和Nvidia 1080Ti GPU的Windows服务器上测量了所提出算法和基线方法的平均运行时间。OFDM系统的平均运行时间约为2.2×10^−2秒,
而端到端系统的平均运行时间仅为约2.5×10^−3秒。

VI. 结论和讨论

在本文中,我们研究了一种通信系统的端到端学习,而无需信道的先验信息。我们展示了信道的条件分布可以通过条件GAN来建模。此外,通过将导频信息添加到条件信息中,条件GAN可以生成对应于特定瞬时信道的数据。端到端流程包括发射机、信道GAN和接收机的DNN。通过迭代训练这些网络,可以以监督的方式优化端到端损失。在AWGN信道、Rayleigh衰落信道和频率选择性信道上的模拟结果证实了所提出方法的有效性,通过显示与传统方法相比具有类似或更好的性能,这些传统方法是根据专家知识和信道模型设计的。我们的研究为构建纯数据驱动通信系统开辟了新的途径。未来的一个研究方向是使用真实数据测试所提出的方法。正如我们在引言中所指出的,在真实的通信场景中,许多不完美因素使得真实信道难以用解析方式建模,但非常适合用数据驱动的方式建模。

  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
image-to-Image Translation with Conditional Adversarial Networks(条件对抗网络的图像到图像转换)是一种用于图像转换的深度学习方法。它通过训练一个生成器网络和一个判别器网络来实现图像的转换。生成器网络将输入图像转换为目标图像,而判别器网络则试图区分生成的图像和真实的目标图像。 这种方法的关键是使用对抗性训练。生成器网络和判别器网络相互竞争,以提高生成器网络生成逼真图像的能力。生成器网络通过最小化判别器网络对生成的图像的判别误差来学习生成逼真的图像。判别器网络则通过最大化对生成的图像和真实图像的判别能力来学习区分真实图像和生成图像。 在条件对抗网络中,生成器网络和判别器网络都接收额外的条件输入,以指导图像转换的过程。这个条件输入可以是任何与图像转换任务相关的信息,例如标签、语义分割图或其他图像。 通过训练生成器网络和判别器网络,条件对抗网络可以实现各种图像转换任务,例如将黑白图像转换为彩色图像、将马的图像转换为斑马的图像等。 这是一个使用条件对抗网络进行图像到图像转换的示例代码: ```python import tensorflow as tf from tensorflow.keras import layers # 定义生成器网络 def build_generator(): # 定义生成器网络结构 generator = tf.keras.Sequential() generator.add(layers.Conv2DTranspose(64, (4, 4), strides=(2, 2), padding='same', input_shape=(256, 256, 3))) generator.add(layers.BatchNormalization()) generator.add(layers.ReLU()) generator.add(layers.Conv2DTranspose(32, (4, 4), strides=(2, 2), padding='same')) generator.add(layers.BatchNormalization()) generator.add(layers.ReLU()) generator.add(layers.Conv2DTranspose(3, (4, 4), strides=(2, 2), padding='same', activation='tanh')) return generator # 定义判别器网络 def build_discriminator(): # 定义判别器网络结构 discriminator = tf.keras.Sequential() discriminator.add(layers.Conv2D(64, (4, 4), strides=(2, 2), padding='same', input_shape=(256, 256, 3))) discriminator.add(layers.LeakyReLU()) discriminator.add(layers.Conv2D(128, (4, 4), strides=(2, 2), padding='same')) discriminator.add(layers.BatchNormalization()) discriminator.add(layers.LeakyReLU()) discriminator.add(layers.Conv2D(256, (4, 4), strides=(2, 2), padding='same')) discriminator.add(layers.BatchNormalization()) discriminator.add(layers.LeakyReLU()) discriminator.add(layers.Conv2D(1, (4, 4), strides=(1, 1), padding='same')) return discriminator # 定义条件对抗网络 class cGAN(tf.keras.Model): def __init__(self, generator, discriminator): super(cGAN, self).__init__() self.generator = generator self.discriminator = discriminator def compile(self, g_optimizer, d_optimizer, loss_fn): super(cGAN, self).compile() self.g_optimizer = g_optimizer self.d_optimizer = d_optimizer self.loss_fn = loss_fn def train_step(self, real_images, labels): # 生成器网络生成假图像 with tf.GradientTape() as tape: fake_images = self.generator([real_images, labels], training=True) # 判别器网络判别真实图像和假图像 real_output = self.discriminator([real_images, labels], training=True) fake_output = self.discriminator([fake_images, labels], training=True) # 计算生成器和判别器的损失 g_loss = self.loss_fn(fake_output, tf.ones_like(fake_output)) d_loss_real = self.loss_fn(real_output, tf.ones_like(real_output)) d_loss_fake = self.loss_fn(fake_output, tf.zeros_like(fake_output)) d_loss = d_loss_real + d_loss_fake # 更新生成器和判别器的参数 g_gradients = tape.gradient(g_loss, self.generator.trainable_variables) d_gradients = tape.gradient(d_loss, self.discriminator.trainable_variables) self.g_optimizer.apply_gradients(zip(g_gradients, self.generator.trainable_variables)) self.d_optimizer.apply_gradients(zip(d_gradients, self.discriminator.trainable_variables)) return {"g_loss": g_loss, "d_loss": d_loss} # 创建生成器和判别器 generator = build_generator() discriminator = build_discriminator() # 创建条件对抗网络 cgan = cGAN(generator, discriminator) # 编译条件对抗网络 cgan.compile( g_optimizer=tf.keras.optimizers.Adam(learning_rate=0.0002, beta_1=0.5), d_optimizer=tf.keras.optimizers.Adam(learning_rate=0.0002, beta_1=0.5), loss_fn=tf.keras.losses.BinaryCrossentropy(from_logits=True) ) # 训练条件对抗网络 cgan.fit(dataset, epochs=100) # 使用生成器网络进行图像转换 input_image = ... label = ... output_image = generator([input_image, label]) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值