ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

深度强化学习计算卸载神作DROO:无线供能移动边缘计算入门必读

深度强化学习计算卸载神作DROO:无线供能移动边缘计算入门必读 深度强化学习计算卸载神作DROO无线供能移动边缘计算入门必读【免费下载链接】DROODeep Reinforcement Learning for Online Computation Offloading in Wireless Powered Mobile-Edge Computing Networks项目地址: https://gitcode.com/gh_mirrors/dr/DROO如果你正在研究深度强化学习计算卸载那么 DROO 一定是你绕不开的经典开源项目。DROODeep Reinforcement Learning for Online Computation Offloading in Wireless Powered Mobile-Edge Computing Networks是发表于顶级期刊 IEEE Transactions on Mobile Computing 的论文官方代码它用深度强化学习解决无线供能移动边缘计算网络中的在线计算卸载决策问题。本文面向零基础读者先讲清楚算法原理再手把手教你跑通代码、看懂数据集助你快速入门这个热门方向。一、先搞懂背景什么是无线供能移动边缘计算1. 移动边缘计算把算力搬到设备身边传统云计算中手机、传感器等终端要把任务传到远端数据中心延迟高、能耗大。移动边缘计算MEC则把服务器部署在接入点AP附近设备就近卸载任务延迟大幅降低这也是 5G/6G 时代的关键技术。2. 无线供能让设备边充电边算 无线设备通常电池有限。在无线供能架构下接入点先广播射频能量设备收集能量后再用于本地计算或任务卸载——能量从 AP 流向设备任务从设备流向边缘形成完整的供能—计算闭环。这就是无线供能移动边缘计算WPMEC的基本图景。3. 二进制计算卸载0 或 1 的抉择每个时隙无线信道都在动态变化每个设备WD必须立刻做出二选一本地计算0还是卸载到边缘1N 个设备就有 2^N 种组合——N10 时有 1024 种N30 时超过 10 亿种穷举完全不现实。深度强化学习计算卸载由此登场让神经网络在极短时间内做出接近最优的决策。二、DROO 核心算法DNN 猜答案择优回放训练DROO 的思路非常优雅每个时隙只需四步预测把时变信道增益 h 输入深度神经网络两层隐藏层各 120、80 个神经元输出每个设备的卸载概率量化按保序OP或近邻KNN方式生成 K 个候选二进制卸载方案评估用二分法optimization.py为每个候选方案求解资源分配选出加权计算速率最大的方案学习把 (h, 最优方案) 存入记忆库定期采样训练 DNN网络越用越准。这套生成—评估—择优—训练的闭环就是 DROO 的全部秘密对应代码分布在 mainPyTorch.py 与 memoryPyTorch.py 中。自适应 K越学越聪明的省力技巧 初期网络不靠谱K 取最大值 N多生成几个候选方案兜底随着网络变准系统动态缩减 K只保留少量候选进一步降低计算开销。这正是论文中自适应 KAdaptive K机制的巧妙之处。三、为什么说 DROO 是计算卸载领域的神作1. 顶级期刊背书代码完整开源论文发表于 IEEE Transactions on Mobile Computing2020作者来自浙江工业大学、深圳大学与香港中文大学。训练数据、主程序、两个 Demo 全部开源任何人都能复现论文图表这在学术项目中相当难得。2. 性能逼近最优复杂度大幅降低在 3 万个时隙的仿真中训练收敛后的归一化加权计算速率可长期保持在最优解附近0.94 以上越接近 1 越优而单时隙决策开销远低于穷举 2^N 种组合的传统方法真正做到了又快又好。3. 三种深度学习框架实现学习门槛低项目同时提供 TensorFlow 1.xmemory.py、TensorFlow 2memoryTF2.py和 PyTorchmemoryPyTorch.py三个版本主程序一一对应你可以用自己熟悉的框架直接上手。四、零基础运行教程三步跑通 DROO第一步准备 Python 环境需要 numpy、scipy、matplotlib以及 TensorFlow 或 PyTorch 其中之一推荐 PyTorch代码最简洁用 pip 一条命令即可装齐。第二步克隆仓库在终端执行git clone https://gitcode.com/gh_mirrors/dr/DROO第三步运行主程序进入项目目录后直接运行 PyTorch 版主程序python mainPyTorch.py程序会自动读取./data/data_10.mat中的 3 万条样本按 8:2 划分训练集与测试集训练中打印进度最终输出 Averaged normalized computation rate归一化计算速率与单信道平均决策时间。数值越接近 1说明算法越接近最优解。整个流程几分钟即可跑完如果你用 TensorFlow 2把文件名换成mainTF2.py即可。五、项目结构速览官方文件地图 ️文件作用main.py主程序TensorFlow 1.x 版含训练与测试全流程mainTF2.py主程序TensorFlow 2 版mainPyTorch.py主程序PyTorch 版推荐新手阅读memory.py / memoryTF2.py / memoryPyTorch.pyDNN 记忆结构网络构建、候选方案生成、训练与记忆回放optimization.py资源分配求解器二分法求解能量广播时间 a 与卸载时间 τdemo_alternate_weights.py演示设备权重交替变化场景demo_on_off.py演示设备随机开关机场景data/预生成训练/测试数据集.mat 格式推荐阅读顺序mainPyTorch.py → memoryPyTorch.py → optimization.py由整体到细节很快就能理清脉络。六、数据集详解data 文件夹里装了什么data 目录下是作者用穷举法N≤10与 CD 方法N20、30预先生成的最优解标签包含 data_5.mat 至 data_30.mat 共 8 个数据文件详见 data/README.md。其中 N10/20/30 每个文件含 3 万条样本其余为 1 万条。每条样本包含变量含义input_h无线设备与 AP 之间的信道增益output_mode最优二进制卸载动作 x*output_aAP 广播射频能量的最优时间占比 a*output_tau分配给设备任务卸载的最优时间占比 τ*output_obj最优加权和计算速率 Q*其中 data_10_WeightsAlternated.mat 是权重交替场景的专用数据集供进阶 Demo 使用。七、进阶玩法复现论文中的两个动态场景 除了基础训练项目还内置两个演示脚本帮你理解 DROO 在真实动态网络中的表现demo_alternate_weights.py设备权重如服务优先级随时间交替变化测试算法能否稳定逼近最优demo_on_off.py训练过程中随机让部分设备开机/关机信道增益置零或恢复观察算法在设备数量动态变化时的自适应能力。运行方法与主程序一致只需根据所用框架修改 import 的 MemoryDNN 来源。八、写给新手的 3 条学习建议 ✍️先跑后读把 demo 跑出曲线再回头读代码带着这个变量是干嘛的的疑问去读效率最高画图观察运行后会自动生成训练损失曲线与归一化计算速率曲线观察它们如何收敛是理解深度强化学习的最佳方式从论文出发建议配合论文《Deep Reinforcement Learning for Online Computation Offloading in Wireless Powered Mobile-Edge Computing Networks》阅读代码与论文公式一一对应如果想做多时隙连续控制还可以继续研究作者的扩展工作 LyDROO。DROO 是深度强化学习计算卸载方向当之无愧的入门第一课算法优雅、代码干净、数据齐全。希望这篇入门指南能帮你顺利跑通第一个无线供能移动边缘计算实验迈出科研与工程实践的第一步【免费下载链接】DROODeep Reinforcement Learning for Online Computation Offloading in Wireless Powered Mobile-Edge Computing Networks项目地址: https://gitcode.com/gh_mirrors/dr/DROO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表