【文献学习】Meta-Learning to Communicate: Fast End-to-End Training for Fading Channels
目录
- 1 引言
- 2 介绍
- 3 系统模型
- 4 技术点
- 4.1 联合训练
- 4.2 元学习
- 5 实验分析
- 5.1 模型参数
- 5.2 实验对比
- 5.3 编码器和解码器网络结构
- 5.4 接收器设计
- 5.5 结果分析
- 6 疑问和思考
1 引言
论文地址
开源源码
- 把学习如何在衰落的噪声信道上进行通信的过程公式化为对自动编码器的无监督训练。该自动编码器由编码器,信道和解码器的级联组成
- 为了解决基于自动编码器方法对端到端训练,需要从头开始为每个新信道进行训练的问题,提出提前考虑在多个信道上的联合训练,从而找到在一类信道上工作良好的一对编码器和解码器
- 利用元学习消除联合训练的局限性:与传统的方法为所有渠道训练通用模型相比,元学习找到一个通用的初始化向量,该向量可以在任何通道上进行快速训练
2 介绍
《Deep learning based communication over the air》展示了一种实际的实现方式,它说明了不完美的同步和其他硬件损害。
《Deep joint source-channel coding for wireless image transmission》该方法用于训练执行视频传输的联合源通道编码的系统
《Model-free training of end-to-end communication systems》作者提出了一种解决方案,该解决方案通过基于接收器反馈的强化学习对编码器进行训练,从而克服了对信道模型的需求
3 系统模型
编码器:采用one-hot编码。把one-hot编码的信号通过fθ函数映射为n个复数符号x,该函数由一个带有权重θT的神经网络定义。
信道:通过线性运算,把x处理得到经过信道的数据y
解码器:由一个带有权重为θR的神经网络定义,每个输出pθR(m | y)提供对所传输消息为m的相应后验概率的估计。最后通过近似最大后验准进行硬判决估计
数学表达为求最小化交叉熵损失下的最优模型
总结了该训练过程,以供算法1参考
4 技术点
通过元学习快速训练。通过元学习使用少量的迭代为新信道找到编码器的权重参数θT和解码器的权重参数θR。关键思想是在算法1中初始化θ(0),然后SGD的更新参数θi即可。
4.1 联合训练
在联合训练下,我们希望找到一个唯一的解参数θ,该参数在集合中的所有信道上都适用。在数学上,将问题表述为对通道中的总对数损失的优化,通过SGD去获得这个参数θ
4.2 元学习
联合训练为集合H中的所有通道获得一个通用模型θ,而元学习则为算法中的集合H中的所有通道获得一个通用的初始化θ(0),以用于算法中的局部训练。目标是基于算法1中的较少迭代,实现更快的收敛,以有效解决与H中的信道相关的任何信道。
元学习的算法MAML实现寻找优化问题的初始化值θ(0)
求解θ(0)公式化为
其中Jθ(0)表示雅克比操作,Lh()表示交叉熵损失函数,Lh’()表示经验损失。整个计算过程,用算法2表示
5 实验分析
5.1 模型参数
传输k=2比特,n=1的复数符号
考虑两个相位的信道,振幅是π/4和3π/4
信噪比是15db
新信道状态的相位以相等的概率在π/ 4和3π/ 4之间随机选择
公式(3)中的每次迭代中设置P = 4个样本
5.2 实验对比
对比实验一:固定初始化,其中初始化向量θ(0)是随机选择的
对比实验二:联合训练找到在集合中的所有信道上都适用的唯一参数θ。模型训练的参数包括学习率k=0.01,Adam优化器。对于新的信道,采用算法1,学习率η=0.001,Adam优化器。
对比实验三:对于元训练,采用算法2,学习率η=0.1,k=0.01。对于新的信道,在迭代时η=0.1,在算法1 中Adam时η=0.001
5.3 编码器和解码器网络结构
(1)编码器
- 输入层:4个神经元
- 一个隐藏层:4个神经元+ReLu
- 输出层:2个线性神经元+归一化
(2)解码器 - 输入层:2个神经元
- 一个隐藏层:4个神经元+ReLU
- 输出层:softmax的4个神经元
5.4 接收器设计
- vanilla
- RTN( Radio Transformer Networks)
RTN将滤波器w应用于接收信号y,以获得到解码器的输入y = y * w作为pθR(·| y)。过滤器w在附加神经网络的输出处获得,该神经网络具有四层,输入层2个神经元,以及各有2个神经元的两个隐藏层+双曲正切激活函数,一个有2个线性神经元的输出层
5.5 结果分析
(1)例子分析
元学习有更快的收敛速度,即使仅进行一次SGD迭代,也能有效地适应新的渠道。
除联合训练外,vanilla自动编码器体系结构优于RTN自动编码器体系结构。 这是由于RTN模型中的参数数量较多,这些参数通常很难通过很少的迭代来训练。
可以看到元学习提供了一种初始化,该初始化在一个通道上效果很好,而一次迭代后又可以适应另一个通道。 此外,可以看到vanilla自动编码器仅适应编码器,而具有RTN的自动编码器体系结构仅适应解码器。 这表明通过更改RTN模块更容易适应解码器。
(2)实际场景
- 模型参数
传输k=4比特,n=4的复数符号
信噪比我15db
元训练信道K=100
每个迭代的样本数P=16
包括每次迭代所有 16条消息,而RTN过滤器具有 6个taps。 - 分析
结果表明,元学习比联训练更快地收敛。 与例子分析不同,对于联合训练和元学习而言,RTN由于更具挑战性的传播环境而提供了性能优势。
此外,经过非常长时间的训练,固定初始化优于其他方案,这表明联合和元学习采用的归纳偏差可能会在有足够的数据时导致性能下降。
6 疑问和思考
(1)在介绍联合训练实现信号解调上,用数学公式抽象化去表达的,无法理解是如何做的联合训练,怎么体现出的联合训练的过程并不知道。同样元学习如何实现解调的,也是不清楚。
(2)元学习解调可以参考作者的另一篇文献《Learning to Demodulate from Few Pilots via Offline and Online Meta-Learning》以及源码,但源码有几千行代码,而且有BUG,运行不通,晦涩难懂。
(3)归根到底,元学习解调是一个数据驱动的解调器
【文献学习】Meta-Learning to Communicate: Fast End-to-End Training for Fading Channels相关推荐
- 初识元学习-Meta learning
目录: meta learning的出现 1.meta learning的出现 Meta Learning,元学习,也叫 Learning to Learn(学会学习).是继Reinforcement ...
- 元学习(meta learning) 最新进展综述论文,28页pdf
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本文综述了元学习在图像分类.自然语言处理和机器人技术等领域的应用.与深度学习不同, ...
- 元学习Meta Learning/Learning to learn
目录 元学习 训练 用途 学习方法 元学习和迁移学习的区别和联系 元学习 Meta Learning/Learning to learn即利用以往的知识经验来指导新任务的学习,使网络具备学会学习的能力 ...
- 元学习Meta learning深入理解
目录 基本理解 元学习与传统的机器学习不同在哪里? 基本思想 MAML MAML与pre-training有什么区别呢? 1. 损失函数不同 2. 优化思想不同 MAML的优点及特点 MAML工作机理 ...
- 什么是元学习 (Meta Learning)
目录 元学习(Meta Learning) 元学习介绍 元学习目的 元学习流程 元学习(Meta Learning) 元学习介绍 元学习希望使得模型获取调整超参数的能力,使其可以在获取已有知识的基础上 ...
- 元学习(meta learning)和小样本学习(few-shot learning)
Meta learning few-shot learning是meta learning中的一种.可将few-shot learning看做是meta leaning即可. Meta learnin ...
- 元学习—Meta Learning的兴起
来源:专知 [导读]元学习描述了训练深度神经网络相关的更高级别的元素.在深度学习文献中,"元学习"一词经常表示神经网络架构的自动化设计,经常引用" AutoML" ...
- 《元学习meta learning)》2020综述论文大全!
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]元学习旨在学会学习,是当下研究热点之一.最近来自爱丁堡大学的学者发布了关于 ...
- 文献学习(part72)--Learning the parts of objects by non-negative matrix factorization
学习笔记,仅供参考,有错必纠 文章目录 Learning the parts of objects by non-negative matrix factorization 摘要 正文 Learnin ...
最新文章
- 熬夜写代码,不如换女装入GitHub获上千Star?
- JBOSS只能本机localhost和127.0.0.1能访问的解决
- 500元辛苦费,求一C#算法,自由定义表达式
- 驱动设计的思想:面向对象/分层/分离
- SpringMVC异常处理机制-异常处理两种方式
- 关于如何安装less
- java基础语句_【Java基础-Java语言基础】
- HttpClient4.5使用RequestConfig配置连接信息
- 【BUG解析】调用PagerAdapter.notifyDataSetChanged()不更新
- word中装订线位置_Word操作技巧:Word文档双面打印全攻略,解决打印难题
- 链表简介(二)——在单向链表中插入节点
- 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第2节 反射_11_反射_案例
- 反向传播算法的直观理解
- element ui 前台模板_简单了解Vue + ElementUI后台管理模板
- 一条用来表示“思路非常乱。。。”的博客
- mov文件如何转换成mp4视频
- idea设置author注解
- 《正确写作美国大学生数学竞赛论文》摘录笔记
- 手机加密聊天软件的实现(基于android系统)
- 28BYJ-48 电机驱动(Linux)
热门文章
- wsus修改端口80重置服务器节点,windows2008R2上的wsus运行规则报错,要求"重置服务器节点"...
- 从网站漏洞被薅羊毛事件谈谈软件测试
- 【CGroup原理篇V1】十四、NET_PRIO子系统
- python知识图谱问答系统代码_如何搭建一个基于知识图谱的问答系统(以医疗行业为例)...
- glMatrixMode(GL_PROJECTION)和glOrtho(0,with,height,0,-100,100)
- 实现扩展 external 能力的 Vite 插件
- 图像局部特征点检测算法综述
- C/C++中的移位运算你真的搞懂了吗?一文看懂移位运算
- Web中验证码的作用
- Python学习笔记(35)~异位词