当前位置: 首页 > news >正文

【论文速读】《面向深度学习的联合消息传递与自编码器》

这篇文章来自华为的渥太华无线先进系统能力中心和无线技术实验室,作者中有大名鼎鼎的童文。
在这里插入图片描述

一、自编码架构的全局收发机面临的主要问题

文章对我比较有启发的地方,是提到自编码架构的全局收发机面临的主要问题:
问题一:基于随机梯度下降法,使用反向传播算法训练自编码器,需要一个或多个可微信道模型层,用于连接发射机的深度神经层和接收机的深度神经层。由于真实信道必须包含很多非线性分量(如数字或模拟的预失真与转换),又涉及上采样、下采样等不可微阶段,因此收发机深度神经层训练出来的模型是基于构造的信道而非真实信道。在真实信道场景下,这样得到的模型可能会在推理阶段带来性能损失。
在这里插入图片描述
问题二:所有隐藏层或中间层均根据输入信号的后验概率进行训练。在自编码器全局收发机中,接收机深度神经层的第一层是一个中间层,该中间层的输入信号易受当前信道失真的影响。这种影响会不可避免地渗透到接收机的所有深度神经层。如果信道变化的程度大到超出了训练期望,会导致接收机在推理阶段失效。
在这里插入图片描述

问题三:神经层之间缺乏可解释性,无法获知哪些神经元以及神经层之间的哪些连接会有效影响最终的学习准确度。 Goodfellow等人举了一个深度神经网络分类器的例子,虽然该分类器通过非噪声图像完成了良好的训练,但仍可能将带噪声的熊猫图像误判为长臂猿。这个例子表明,基于深度神经网络的分类器进行最终决策时,很大程度上依赖于一些“关键路径”(指熊猫图像中的部分像素,也称为“局部特征”)。如果关键路径完好无损,就能做出正确的分类;如果关键路径受到干扰,则会做出错误的分类。同时,这种由噪声导致的分类误判,只是在存在加性随机噪声的前提下出现的偶发情况,这表明深度神经网络依赖于这样一种假设——即 “关键路径”经过噪声信道处理后仍然保持完好。深度神经网络易受加性随机噪声的影响,这对它在无线收发机设计中的应用几乎是致命打击。
在这里插入图片描述

这三个问题的本质可以归结为同一个核心问题,即面临无线信道的随机变化时,深度神经网络的泛化性能太差。没有任何模型(即便是十分优越的信道模型)能够完全捕获无线电传播的所有可能场景,因此分布外(Out-of-Distribution, OOD)样本或离群点的处理是自编码器始终要面对的现实问题。
更糟糕的是,针对这些问题的现有解决方案还面临许多阻碍,因为所提出的解决方案必须满足无线通信设备和基础设施的低能耗、低时延、低开销等实际要求。一方面,在动态环境中,自编码器收发机对自身进行累加、增强以及重训练的成本过高;另一方面,进行累加、增强和重训练的整个过程本身也违反了深度神经网络的“Once-for-All”策略——即一次学习、长期有效,进而无法很好地满足现实需要和能耗要求。

在无线场景中,离群点通常由信道的随机变化引起。在推理阶段,如果信道正在发生变化,偏离了训练阶段所使用的信道模型,这时离群点的问题表现得尤为突出。随着推理的进行,会出现更多的离群点,进而影响到接收信号的分布形状, Bengio就将深度学习泛化性能差的原因归咎于这一点。目前有一些补救方法,比如进行额外的训练,包括迁移训练、基于注意力的循环网络,或强化学习。然而,面对未来无线通信低能耗、低时延和低控制开销的要求,这些补救方法变得不切实际,缺乏可行性。

对于文章提出的MPA方法,文章也分析解决思路,重点是下面我标黑的部分:
“首先,为实现可微性,需要简化信道模型,但这种简化会损害自编码器收发机的性能。造成性能损害的原因在于,用来训练自编码器的信道模型是一种简化模型,而非真实模型。也就是说,训练阶段使用的简化信道模型与推理阶段处理的真实信道之间存在偏移,这种偏移带来了性能损失。如果偏移量增加到超出期望的程度,整个自编码器收发机将会失效。有两种补救方法可以缓解这种性能下降。第一种是利用强化学习,不间断地记录信道状态,并对策略DNN和(或)评估 DNN进行持续训练。不过,从维度的复杂程度上讲,强化学习对无线系统来说过于复杂,因为强化学习处理的维度实际上比AlphaGo围棋还要大得多。因此,基于强化学习的调整机制并不可行。第二种是利用生成对抗网络(Generative Adversary Network,GAN),将尽可能多的信道场景学习到一个大的深度神经网络模型中。然而,这是一种经验方法,无法证明该方法能够涵盖所有信道场景

出于对上述问题的考虑,带MPA的自编码器采取不同的技术路径。在推理阶段,MPA会针对每次数据传输,调整当前信道测量函数中的降维层系数,因此自适应推理会在训练阶段使用一个粗信道模型,我们称之为“粗学习”。如果粗学习对训练和推理两个阶段模拟了相同或相似的信道模型,则很难证明粗学习的优势,不过这种优势可以在实际的现场测试中得到证明。

其次,带MPA的自编码器可以与基于生成对抗网络的信道模型联合工作。从经验来讲,大部分信道的实际条件依赖于用户位置和环境拓扑,比如高层建筑、山丘、道路等。参考文献提出利用条件生成对抗网络,对未知信道建模,并获得了良好的性能。我们可以利用该方法建立一个信道模型,为训练阶段提供良好的支持

在推理阶段,我们建议依靠导频的信道估计、信道测量反馈或信道互易来获得最新的信道条件。众所周知,MPA还受益于稀疏性,能够较好地容忍偏置与偏移(这也是LDPC解码器可以有效工作的原因)。从这一角度来看,没有必要进行全维信道测量,只需测量部分维度,即使存在一定的估计误差,我们的方案在整体性能上仍具备较好的鲁棒性。另外,残差可以通过误差容忍度较高的接收深度神经层得到处理。由于在推理和训练阶段已经做好了降维层的调整,我们可以将降维层作为整个传输链的预编码器,因而不必在接收深度神经层再做训练。这样不但带来节能效益,而且对延长用户设备的电池寿命也是一种巨大的优势。”

二、文章速读

其实,对文章提出的方法,我个人还是持一种怀疑态度。来简单看看文章的方法。

文章摘要

文章提出了一种基于消息传递算法(Message Passing Algorithm, MPA)的自编码器收发机,以解决传统自编码器在处理随机信道变化时泛化性能较差的问题。作者通过在自编码器中引入MPA,实现了一种灵活的收发机,能够在不同使用场景下提供较好的泛化性能。该方法允许在训练阶段进行粗学习,并在推理阶段实现自适应推理。

解决的主要问题

  1. 泛化性能问题:传统自编码器收发机在面对随机信道变化时,由于神经元一旦训练完成就固定,导致泛化性能较差。
  2. 模型与真实信道的偏差:使用基于随机梯度下降法和反向传播算法训练的自编码器,依赖于构造的信道模型而非真实信道,可能导致推理阶段性能损失。
  3. 信道变化的适应性问题:自编码器全局收发机在信道变化超出训练期望时,可能导致接收机失效。
  4. 分布外样本处理:无线信道的随机变化导致分布外样本或离群点问题,现有解决方案难以满足无线通信设备的低能耗、低时延、低开销要求。

主要方法

  • 消息传递算法(MPA):引入MPA功能,通过预编码器层实现自适应调整,提升收发机在信道动态变化时的泛化性能。
  • 降维层:将降维层插入自编码器框架中,进行线性降维转换,并通过MPA对降维层系数进行迭代调整。
  • 独立式MPA迭代:采用前向迭代(类似非线性支持向量机)和反向迭代(类似注意力深度神经网络)来独立调整降维层,不依赖于原始自编码器的反向传播。
  • 全局串联学习:通过串联训练方案,分别训练降维层和深度神经层,实现粗学习和自适应推理。
  • 粗学习与自适应推理:在训练阶段使用简化信道模型进行粗学习,而在推理阶段通过MPA调整降维层以适应当前信道测量情况。

通过这些方法,文章旨在提高自编码器收发机在随机信道变化条件下的性能和泛化能力。
在这里插入图片描述
对于文章的MPA方法,看图16和17可以了解大概。
主要是加入了MPA层,完成了发射向量到信道之间的一个维度变换,然后训练的时候先冻结MPA层,完成整体收发的训练后,再迭代训练MPA层。MPA层可以看作是发射的一个预编码映射,具体的维度可以通过对信道的测量获得,这里还是对信道采取了常见的多径假设。MPA层的训练,是依靠接收信号和发射向量之间的注意力。注意力深度神经网络是测量不同维度间两个特征相似度的一种有效方法。应当注意,注意力的数量小于接收信号的数量,即L < N。注意力深度神经网络可以用于降维层的反向传播。
在这里插入图片描述
上图显示了带MPA层与传统方式的差异,MPA层可以实现在线学习,而接收信号可以通过信道互易性获得。

相关文章:

【论文速读】《面向深度学习的联合消息传递与自编码器》

这篇文章来自华为的渥太华无线先进系统能力中心和无线技术实验室&#xff0c;作者中有大名鼎鼎的童文。 一、自编码架构的全局收发机面临的主要问题 文章对我比较有启发的地方&#xff0c;是提到自编码架构的全局收发机面临的主要问题&#xff1a; 问题一&#xff1a;基于随…...

防御---001

一、实验拓扑二、要求 1&#xff0c;DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00 - 18:00)可以访问&#xff0c;生产区的的设备全天可以访问. 2&#xff0c;生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3,办公区设备10.0.2.10不允许访问DMZ…...

DNS 杂谈

一、定义 DNS&#xff08;Domain Name System&#xff09;&#xff0c;域名系统&#xff0c;该系统记录域名和Ip地址的相互映射关系。用户访问互联网时&#xff0c;通过域名地址得到对应的IP地址&#xff0c;这个过程称为域名解析。DNS运行于UDP协议之上&#xff0c;使用的端口…...

docker笔记2

docker笔记2 一、阿里云镜像配置二、docker基本原理1.docker是如何启动一个容器的2.docker的底层原理 三、镜像命令总结 一、阿里云镜像配置 配置镜像的目的 由于Docker Hub等公共镜像仓库的服务器可能位于国外&#xff0c;直接从中拉取镜像时可能会遇到网络延迟或不稳定的问…...

数字统计

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别// 注意 while 处理多个 caseint a in.nextInt();i…...

Git 使用问题

Git 使用问题 1, 网络问题 1, 网络问题 # 报错如下&#xff1a; fatal: unable to access https://github.com/xianglingliwei/HRNet.git/: Failed to connect to github.com port 443 after 21044 ms: Couldnt connect to server在不能正常访问Github的区域&#xff0c;需要设…...

JMH325【剑侠情缘3】第2版80级橙武网游单机更稳定亲测视频安装教学更新整合收集各类修改教学补丁兴趣可以慢慢探索

资源介绍&#xff1a; 是否需要虚拟机&#xff1a;是 文件大小&#xff1a;压缩包约14G 支持系统&#xff1a;win10、win11 硬件需求&#xff1a;运行内存8G 4核及以上CPU独立显卡 下载方式&#xff1a;百度网盘 任务修复&#xff1a; 1&#xff0c;掌门任务&#xff08…...

大数据专业创新人才培养体系的探索与实践

一、引言 随着大数据技术的迅猛发展&#xff0c;其在各行各业中的应用日益广泛&#xff0c;对大数据专业人才的需求也日益增长。我国高度重视大数据产业的发展&#xff0c;将大数据作为国家战略资源&#xff0c;推动大数据与各行业的深度融合。教育部也积极响应国家战略&#…...

MySQL 中的 DDL、DML、DQL 和 DCL

文章目录 1. 数据定义语言&#xff08;DDL&#xff09;2. 数据操作语言&#xff08;DML&#xff09;3. 数据查询语言&#xff08;DQL&#xff09;4. 数据控制语言&#xff08;DCL&#xff09;总结 在 MySQL 数据库管理系统中&#xff0c;SQL 语句可以根据其功能分为不同的类别&…...

基础架构服务API:降低成本,提升业务效益

基础架构服务API的应用可以显著降低企业的成本&#xff0c;并提升业务效益。通过使用这些API&#xff0c;企业可以充分利用云计算、自动化部署和资源管理等功能&#xff0c;从而减少了传统基础设施所需的大量投资和维护成本。这些API还提供了弹性扩展和自动化功能&#xff0c;使…...

Redis IO多路复用

0、前言 本文所有代码可见 > 【gitee code demo】 本文涉及的主题&#xff1a; 1、BIO、NIO的业务实践和缺陷 2、Redis IO多路复用&#xff1a;redis快的主要原因 3、epoll 架构 部分图片 via 【epoll 原理分析】 1、BIO单线程版 1.1 业务代码 client client代码相同…...

如何在Vue中实现拖拽功能?

Vue.js是一款流行的JavaScript框架&#xff0c;用于构建用户界面。其中一个常见的需求是在Vue中实现拖拽功能&#xff0c;让用户可以通过拖拽元素来进行交互。今天&#xff0c;我们就来学习如何在Vue中实现这一功能。 首先&#xff0c;我们需要明白拖拽功能的基本原理&#xf…...

在Linux下使用Docker部署chirpstack

目录 一、前言 二、chirpstack 1、chirpstack是什么 2、chirpstack组件 3、为什么选择Docker部署 三、Linux下部署过程 四、web界面部署过程 一、前言 本篇文章我是在Linux下使用 Docker 进行部署chirpstack&#xff0c;chirpstack采用的是v4 版本&#xff0c;v4 版本 与…...

《昇思25天学习打卡营第14天|计算机视觉-ShuffleNet图像分类》

FCN图像语义分割&ResNet50迁移学习&ResNet50图像分类 当前案例不支持在GPU设备上静态图模式运行&#xff0c;其他模式运行皆支持。 ShuffleNet网络介绍 ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一样主要应用在移动端…...

将字符串写入结构体变量中

将字符串写入结构体变量中&#xff0c;主要涉及到结构体中字符数组&#xff08;或指针&#xff09;的使用。 一、使用字符数组 假设你有一个结构体&#xff0c;它包含一个字符数组来存储字符串&#xff1a; #include <stdio.h> #include <string.h> // 用于st…...

iPhone 16 Pro系列将标配潜望镜头:已开始生产,支持5倍变焦

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 更多资源欢迎关注 7月6日消息&#xff0c;据DigiTimes最新报道&#xff0c;苹果将在iPhone 16 Pro中引入iPhone 15 Pro Max同款5倍光学变焦四棱镜潜望镜头。 报道称&#xff0c;目前苹果已经将模组订单交至大立光电和玉…...

PG在还没有pg_class的时候怎么访问基础系统表?

在没有pg_class的时候&#xff0c;数据库怎么访问系统表&#xff1f;这个问题可以分成两个阶段来看&#xff1a; 数据库簇初始化&#xff0c;此时一个database都没有&#xff0c;所以怎么构造和访问pg_class等系统表是一个问题私有内存初始化系统表。PG的系统表信息是放在back…...

UnityHub 无法添加模块问题

文章目录 1.问题描述2.问题解决 1.问题描述 在Hub中无法添加模块 2.问题解决 1、点击设置 2、设置版本安装位置 可以发现installs的安装位置路径设置不是unity安装位置&#xff0c;这里我们更改成自己电脑unity安装位置的上一级路径 添加模块正常&#xff1a;...

python04——类(基础new)

类其实也是一种封装的思想&#xff0c;类就是把变量、方法等封装在一起&#xff0c;然后可以通过不同的实例化对其进行调用操作。 1.类的定义 class 类名&#xff1a; 变量a def __init__ (self,参数2&#xff0c;参数2...)&#xff1a;初始化函数&#xff01;&#xff01;&…...

【Python百日进阶-Web开发-Peewee】Day296 - 查询示例(五)聚合2、递归

文章目录 14.6.13 列出每个指定设施的预订总小时数 List the total hours booked per named facility14.6.14 列出每位会员在 2012 年 9 月 1 日之后的首次预订 List each member’s first booking after September 1st 201214.6.15 生成成员名称列表,每行包含成员总数 Produc…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...