深度通信网络专栏: ComNet for OFDM接收机——深度学习与传统理论的结合

本文主要是介绍深度通信网络专栏: ComNet for OFDM接收机——深度学习与传统理论的结合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文地址:ComNet: Combination of Deep Learning and Expert Knowledge in OFDM Receivers

文章目录

  • 前言
  • 文章中心思想
  • 全文概览
  • 系统模型
  • 训练流程
  • 仿真结果
    • 算法
    • 信道估计
    • 信号检测
    • 复杂度分析
    • 几点疑问

前言


深度通信网络专栏: 快速上手: 2018-2019年最新深度学习用于无线通信(物理层)的论文整理,附论文核心思想总结与代码分析。一点拙见,如有偏颇,望不吝赐教,顺颂时祺。

文章中心思想


本文的思想如题目所述: 将深度学习与传统通信理论相结合。 相比于Power of deep learning for channel estimation and signal detection in OFDM systems中, 简单地将OFDM接收机视为一个黑箱子并用深度网络DNN来实现, 本文基于一些现有的传统通信理论,旨在简化网络模型和加快训练速度。这样的做法已经逐渐被应用到各种通信问题中,主要得益于几个重要优点:

  • 通过传统通信中累积的大量前人工作来初始化网络, 可以极大地提升训练效率,减小数据依赖, 降低整体复杂度。
  • 使得每个子网络有清晰的物理意义,从而更容易地进行调整,获得进一步增益。

用一句原文的话来说就是:

Instead of using straightforward FC-DNN as in [4] to estimate the transmitted data in a brute force manner, in the proposed ComNet receiver, the CE and SD subnets use traditional communication solutions as initializations and apply DL networks to refine the coarse inputs.

如文中所述,之前的方法可归为Data-Driven, 而本文方法可归为是Model-Driven。

全文概览


系统模型


ComNet receiver architecture
由于有Power of deep learning for channel estimation and signal detection in OFDM systems珠玉在前,本文无时无刻不体现出与之的对比。 核心区别点就如题目所说: 结合传统理论来优化网络结构。为达到这一点,这个系统模型有两点重要不同:

  • 既然要结合传统理论,就不能再将接收机视为简单的黑箱子。 因此, **本文的网络仍按照传统通信的方式,设置了两个subNet, 分别用于信道估计与信号检测。
  • 这样分割的优势点就在于每个网络都有了鲜明的物理意义,同时,经典理论中的Sub-optimal solution就可以作为深度网络的初始点。众所周知,神经网络本质上是梯度下降法,有效的初始点可以极大提升收敛性能。 另外一个优势在于 估计出的信道不仅仅能用于数据检测,也有feedback回发送端之类的其他用途,这一点是黑箱子无法做到的。
  • 作者不仅仅使用了WMMSE解作为了LS_Refine网络的初始点,更重要的是,相比于许多工作中简单将原始的接收数据输入到网络的方式,作者使用LS信道估计器及ZF接收机先对原始数据进行了预处理,再通过网络,这一点也体现了Model-Driven。
  • 作者使用了双向LSTM网络来构建SD网络,不过相比于其核心思想,此处对网络的改进显得不甚重要。

训练流程


据此,总结一下网络的训练流程。 其实这张图片已经将大致过程准确体现了 (实线部分为深度学习流程,虚线为传统算法流程),这里给出一个文字版的总结:

  • 导频数据 x p \mathbf{x}_p xp 和 接收到的 y p \mathbf{y}_p yp,作为CE subnet的输入,进行信道估计。 注意:

    先使用LS估计器对信道进行预估计。再将其输入一个全连接层(无激活函数)进行处理。这里我持怀疑的一点在于,在没有任何其余信息的情况下,神经网络如何能够将LS的估计结果提升呢?原理是什么。 在我的理解中,将 y p \mathbf{y}_p yp也一并输入到网络中,更能获得提升。

  • 估计出的信道与接收数据 y D \mathbf{y}_D yD作为输入数据输入到SD subnet中进行数据检测。首先,由一个ZF均衡器获得一个粗略检测的结果,然后将其与 y D \mathbf{y}_D yD h ^ \hat{h} h^联结后一并输入到检测网络中。如下图所示:

    这个网络可能更符合我的理解,即将几乎所有能给网络的信息都给了网络。而 先前的信道估计网络则让我有点感觉到巧妇难为无米之炊的味道,实在不知增益应当从何而来。
    在这里插入图片描述

  • 由于作者定义了检测网络的输出即为通过sigmoid激活函数得到的(0,1)之间的数(由是否大于0.5判为0或1),损失函数也是非常自然的使用了最常见的MSE。优化器等其他配置与其他paper大致相似。

  • 几点补充:

    • 由于不使用激活函数,信道估计网络(LS_RefineNet)事实上就是一个线性变换矩阵。因此, 可以用传统算法中的WMMSE解来作为网络神经元的初始权重。

    • 文章中使用了 Bi-directional long short-term memory (BiLSTM)-SD网络层来构建ZF_RefineNet, 仿真结果中体现了更好的性能。可以在一定程度上说明RNN在接收机中的能力,然而需要更进一步的对比才能下定论。

    • 两个网络虽然共享了一个损失函数,但是作者并没有采取一起优化的策略。(可能是考虑到深度太大难以训练的问题?)作者使用的仿真是先固定SD网络,训练CE。 再固定CE,训练SD。 这个对Auto-Encoder网络的训练可能也具有指导意义。

    • 关于如何在tensorflow中训练复数输入,本文没有新的改变,沿用了最常用的方式:将实部虚部独立拆分后拼接,如图所示:
      在这里插入图片描述

仿真结果

文章最后,给出了以下几种算法在多种情况下的性能:

算法

  • LMMSE-MMSE: 使用LMMSE(线性最小均方误差)信道估计与MMSE信号检测(根据作者团队其他paper来看,也是LMMSE)。 **这一方法作为较为基本的传统方法的代表,与新的深度学习算法对比。
  • FC-DNN: Power of deep learning for channel estimation and signal detection in OFDM systems 这篇paper的网络。
  • 本文自己提出的两种结构,分别为: ComNet-FCComNet-BiLSTM
  • Y/H_true: 假定信道已知的最大似然解,可以说是传统算法的最优了。

这里的一个小疑问在于作者使用了64-QAM而非Power of deep learning for channel estimation and signal detection in OFDM systems中的4QAM符号,这样的对比是否有刻意之嫌?个人感觉用4QAM更具说服力

信道估计


由于有一个信道估计网络,所以可以比较其信道估计性能。
在这里插入图片描述
可以看到结论可概括为:

  • ComNet性能全面压制传统算法,在不使用CP的情况下,性能堪称碾压。

信号检测

这里应该指的是使用CENet估计出的信道信息放进SDNet进行检测。
在这里插入图片描述
可以看到ComNet的性能是超过了Power of deep learning for channel estimation and signal detection in OFDM systems的。

在这里插入图片描述
这两张图则继承了神经网络算法一贯的传统:面对一些极端条件时性能很好,比如图中展示的无CP情况和无CR情况。

复杂度分析

作者使用了floating-point multiplication-adds (FLOPs) 来衡量网络的复杂度。需要注意的是, 这里的FLOPs不等同于以往的定义,如:

  • FLOPS: floting-point operations per second
  • FLOPs: floting-point operations
    与作者的定义都不同。这里应该认为只统计乘法的复杂度。

在这里插入图片描述

由于文章的篇幅限制,作者没有进一步给出表格中数据的具体计算过程,不得不说,因此很难准确确定作者的计算准则。

几点疑问

  1. 作者提出其算法对抗mismatched SNR具有鲁棒性,然而仿真中只画了一个点(红叉点)来表示。 事实上作者完全可以画出一条线或者多几个点,一个点的话很可能有所偏颇。
  2. 在Fig. 6中,作者没有画出ComNet-FC的图,个人觉得应该画一下,还是说和FC-DNN差不多,因此就省略了?
  3. 为什么选用了64QAM,是因为4QAM下不能跑出想要的结果么?
    以及其CENet的设计,很可能增益单纯来自于对训练数据的过拟合,在实际应用中的效果有待商榷。加之作者没有给出源代码,这一实验结果需要持保留态度。 但无论如何,这一篇文章的思路也是值得借鉴的。

这篇关于深度通信网络专栏: ComNet for OFDM接收机——深度学习与传统理论的结合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659881

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx