“具有分布式能源资源的多个智能家庭的能源管理的联邦强化学习”文章学习一

一、摘要

        本文提出了一种新型的联邦强化学习(FRL)方法,用于管理带有家电、太阳能光伏系统和储能系统的多个智能家庭的能源。

        所提出的FRL方法的创新点在于开发了一种由本地家庭能源管理系统(LHEMS)和全局服务器(GS)组成的分布式深度强化学习(DRL)模型。使用能源消耗数据,LHEMS的DRL代理构建并上传其本地模型到全局服务器。然后,全局服务器聚合本地模型以更新LHEMS的全局模型并将其广播到DRL代理。最后,DRL代理用全局模型替换之前的本地模型,并反复重建其本地模型。在异构家庭环境下获得的仿真结果表明了所提出方法在收敛速度、设备能耗和代理数量方面的优势。

二、关键词

        深度强化学习(DRL)、分布式能源资源、联邦强化学习(FRL)、家电、家庭能源管理系统、智能家庭

三、前言

        智能家居(Smart Homes)正在配备部署在高级计量基础设施(AMI)中的智能电表,以实时监测消费者能源消耗并分析不同的消费模式。此外,连接到智能家居设备的智能插头可以快速测量能源消耗并控制设备的运行。从智能电表和智能插头收集的大量数据可以作为家庭能源管理系统(HEMS)的关键输入数据,用于管理带有电器和分布式能源资源(DERs)的智能家居的能源消耗,例如屋顶太阳能光伏(PV)和储能系统(ESS)。显然,有效利用这些大量能源消耗数据来改善HEMS的性能是大有希望的。本研究旨在开发一种基于机器学习(ML)的数据驱动方法,以实现多个智能家居的优化能源管理。

        HEMS是一种在住宅领域实现高效和经济能源管理的有希望的技术。HEMS通过使用智能电表和智能插头,可以快速实时地监测消费者的能源消耗;它们自动安排家用电器和DERs的操作,以减少电费并确保消费者的舒适度,同时考虑到他们的偏好。传统上,已经将众多的HEMS算法表述为基于模型的优化问题[1]-[7]。这些算法包括使用混合整数线性规划(MILP)进行单户和多户住宅的负荷调度[1],[2],在不同热和电条件下开发住宅能源管理系统[3],考虑实时定价下操作依赖性的家用电器最优能源消耗调度[4]。设计一个与储能系统(ESS)集成的家庭能源管理系统(HEMS) [5],同时考虑通过ESS进行双向能源控制 [6],以及开发基于分层优化技术的HEMS,包括本地HEMS和全局HEMS,以实现多个智能家庭的能源管理 [7]。

        然而,基于优化的HEMS方法是通过使用确定性和抽象的方程来表述的。它们没有考虑到家用电器和DERs的动态变化操作条件,例如WM和AC的消费者偏好的操作时间间隔和热舒适度,以及ESS的时间变化状态。因此,基于模型的HEMS优化方法可能为家庭能源消耗计划提供不准确的解决方案。此外,用于HEMS操作的大量参数和数据可以显著增加计算复杂性,甚至产生发散的解决方案。请注意,从一百万个智能电表每小时采样四次获得的数据将产生350.4亿条记录,大约相当于2920太字节[8]。

        为了解决基于模型的HEMS所遇到的这些挑战,作为ML方法的强化学习(RL)最近引起关注作为一种模型无关的HEMS方法。已经提出了与人工神经网络(ANN)模型集成的基于RL的HEMS [9]-[11]。在这些研究中,在HEMS中采用ANN预测模型,用于预测实时价格、PV发电输出和各种电力服务下的室内温度过渡,从而确保更有效的RL过程。使用Q-learning算法的HEMS中需求响应的新结构已经被提出[12]。最近,深度RL(DRL)被用于安排住宅设备的能源消耗[13]和[14]。与基于离散动作空间的Q-learning不同,DRL框架利用连续动作空间来安排家用设备的能源消耗。

        请注意,用于训练智能家居能源消耗模型的的大量数据可以为HEMS带来巨大的计算负担。为了解决这个问题,集中式基于RL的HEMS可以通过在一个单独的位置训练来自HEMS的能源消耗数据来降低本地HEMS的计算负担。然而,很明显,集中式方法对于大量动态时间变化数据处理来说可能不是实时的计算充分解决方案。此外,在中央服务器上的消费者聚合私有数据可能会暴露给潜在对手,他们可能会滥用数据来识别消费者的能源消费模式。为了同时降低由大量不确定数据引起的HEMS计算复杂性并保护消费者的隐私,本研究采用了联邦学习(FL)来解决多个智能家居的能源消耗调度问题。

        FL是一种ML方法,以分布式方式训练本地设备并计算它们的最佳模型,同时减少上传到GS的本地数据,适应异构本地设备,并保护个人数据的隐私[16]。FL被应用于无线网络边缘服务器,消除了边缘服务器和移动设备之间的大量通信开销,并保护了移动设备用户的隐私数据[17],[18]。以前的一项研究使用FL预测了电动汽车充电站的能源需求[19]。因此,充电站只将其本地模型发送给充电站提供商,从而减少了通信开销,并有效地保护了电动汽车用户的隐私数据。最近,联邦强化学习(FRL)被用于以前的研究中[20],其中确定每个代理的最佳策略,但训练数据不共享给代理,并且通过利用高斯差分来保护共享信息时的数据和模型的隐私。以前的一项研究使用基于离散控制的RL方法的DQN来开发FRL模型进行个性化代理[21]。在另一项研究中[22],为云机器人系统的导航开发了FRL架构,其中导航学习机器人有效利用其先验知识并迅速适应新环境。

        尽管FL和FRL用于解决各种工程领域的分布式控制和管理问题,但据我们所知,还没有研究开发基于FRL的HEMS框架来管理多个智能家庭的能源消耗,在考虑消费者的偏好并以分布式方式提供舒适度。在本文中,我们提出了一种计算效率高、隐私保护的基于FRL的HEMS,它由多个本地HEMS(LHEMS)和一个GS组成,如图1所示。GS和LHEMS通过以下两个步骤迭代交互构建多个家庭中空调、窗户和ESS的最优能源消耗模型。1)GS通过聚合来自所有LHEMS的本地模型来更新全局模型,并将其广播到LHEMS。2)LHEMS根据全局模型使用能源消耗数据训练其本地模型,并将它们上传到GS。

        在每个LHEMS中,空调、窗户和ESS三个代理进行DRL过程[23]。在强化学习中,随着状态-动作空间维数的增加,ANN需要更多的隐藏层来准确描述训练过程中状态和动作之间的关系。在我们的HEMS问题中,我们采用了五层隐藏层的DRL方法。如果HEMS集成了其他可控家用电器,则状态和动作空间的维度将显著增加。在这种情况下,更多的隐藏层将有利于有效的训练过程。

        本文的主要贡献如下:

        与传统的以云为中心的机器学习模型不同,在本文中,我们提出了一种使用联邦强化学习的分层分布式机器学习框架,该框架可以优化安排多个智能家庭中的空调、窗户和ESS的能源消耗,同时确保消费者的舒适度。

        我们提出了一个基于联邦强化学习的HEMS算法,该算法在全局服务器和本地HEMS之间迭代执行。全局服务器使用基于本地模型的联邦随机梯度下降算法(FedSGD)为所有本地HEMS开发全局模型。对于每个本地HEMS,三个针对空调、窗户和ESS的DRL代理将使用基于全局模型的能源消耗数据构建他们的本地模型。全局服务器和本地HEMS之间只交换本地和全局模型,可以减少通信开销并保护消费者的能源使用数据隐私。

        仿真结果表明,提出的FRL方法可以成功地安排多个智能家庭中空调、窗户和ESS的最优能源消耗,并考虑到不同的设备参数和消费者的舒适度和偏好。此外,我们还证明了提出的FRL方法在收敛速度方面优于没有FRL的DRL方法。此外,我们还证明了即使有更多的DRL代理加入FRL网络,提出的FRL方法仍然可以保持良好的性能。

        本文的其余部分组织如下:第二部分简要概述了深度强化学习和联邦强化学习。第三部分介绍了提出的基于联邦强化学习的HEMS算法的开发过程。第四部分展示了提出的方法的性能仿真结果。最后,第五部分总结了本文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/147138.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.net core中前端vue HTML5 History 刷新页面404问题

放到启动的应用程序的最后面 app.Run(async (context) > {context.Response.ContentType "text/html";await context.Response.SendFileAsync(Path.Combine(env.WebRootPath, "index.html")); });https://blog.csdn.net/lee576/article/details/88355…

实现线程的多种方式锁的介绍ThreadLocal线程池 详细总结(下)

本文主要介绍线程池的基本使用 上述其他介绍在上一篇文章中:实现线程的多种方式&锁的介绍&ThreadLocal&线程池 详细总结(上)-CSDN博客 线程池 5.1、为什么使用线程池 线程池可以看做是管理了 N 个线程的池子,和连…

Java的XWPFTemplate word生成列表

Java的XWPFTemplate工具类导出word.docx的使用_xwpftemplate 语法_youmdt的博客-CSDN博客 如果是表格的列表参考上面这篇文章即可,比较复杂的列表遍历暂时还没找到方法,只能手动创建表格了 上面是模板,非常简单,以为我们是要自己创…

高效免费办公神器——ONLYOFFICE入手指南

前言: 作为开发者,有时候经常为寻找适合的开发工具而苦恼;或者因为高昂的费用而犹豫不决;亦或喜欢的办公产品只能在单一的平台上使用,与其把时间花在复杂的工具使用上,不如节省出时间投入思考和技术的提升。…

云课五分钟-01课程在哪里-无需安装网页直达

此部分课程均为2015-2019年规划和设计,2020-2022年新版课程还在内测中。 现在想想当年还是很莽的,总想着一个网页云服务,把机器人相关不涉及硬件的课程全囊括。 无需安装个性定制即开即用随时随地云端复现…… 视频 云课五分钟-01课程在哪…

C++设计实现日志系统

转载:C设计实现日志系统 - 知乎 (zhihu.com) 日志系统几乎是每一个实际的软件项目从开发、测试到交付,再到后期的维护过程中极为重要的 查看软件代码运行流程、 还原错误现场、 记录运行错误位置及上下文等的重要依据。一个高性能的日志系统&#xff0c…

【ArcGIS Pro微课1000例】0032:创建具有指定高程Z值的矢量数据

本文讲解ArcGIS Pro中创建具有指定高程值的矢量数据的两种方法。 文章目录 一、独立创建1. 新建地图场景2. 新建shapefile3. 绘制多边形4. 添加高程字段5. 三维显示二、基于高程源创建1. 创建栅格范围2. 添加Z值字段3. 添加Z信息4. 要素更新Z值一、独立创建 1. 新建地图场景 …

Pytorch多GPU并行训练: DistributedDataParallel

1 模型并行化训练 1.1 为什么要并行训练 在训练大型数据集或者很大的模型时一块GPU很难放下,例如最初的AlexNet就是在两块GPU上计算的。并行计算一般采取两个策略:一个是模型并行,一个是数据并行。左图中是将模型的不同部分放在不同GPU上进…

【vue】AntDV组件库中a-upload实现文件上传:

文章目录 一、文档&#xff1a;二、使用(以Jeecg为例)&#xff1a;【1】template&#xff1a;【2】script&#xff1a; 三、效果图&#xff1a; 一、文档&#xff1a; Upload 上传–Ant Design Vue 二、使用(以Jeecg为例)&#xff1a; 【1】template&#xff1a; <a-uploa…

Springboot项目返回数据统一封装

Springboot项目返回数据统一封装,支持swagger。 正常swagger会根据数据库表的注释显示对应的参数释义等。但当我们使用统一接口返回map时&#xff0c;部分注释等信息会被掩盖消失。在此提供三个java类即可满足统一封装返回接口&#xff0c;也可显示对应的swagger释义等。 1.Er…

Vue 2学习(路由、history 和 hash 模式、)-day014

一、路由简介 路由&#xff08;route&#xff09;就是一组 key-value 的对应关系多个路由&#xff0c;需要经过路由器&#xff08;router&#xff09;的管理 在 Vue 中也有路由&#xff0c;Vue 中的路由主要是通过 vue-rounter 这个插件库来实现&#xff0c;它的作用就是专门用…

php 插入排序算法实现

插入排序是一种简单直观的排序算法&#xff0c;它的基本思想是将一个数据序列分为有序区和无序区&#xff0c;每次从无序区选择一个元素插入到有序区的合适位置&#xff0c;直到整个序列有序为止 5, 3, 8, 2, 0, 1 HP中可以使用以下代码实现插入排序算法&#xff1a; functi…

【考研复习】二叉树的特殊存储|三叉链表存储二叉树、一维数组存储二叉树、线索二叉树

文章目录 三叉链表存储二叉树三叉链表的前序遍历&#xff08;不使用栈&#xff09;法一三叉链表的前序遍历&#xff08;不使用栈&#xff09;法二 一维数组存储二叉树一维数组存储二叉树的先序遍历 线索二叉树的建立真题演练 三叉链表存储二叉树 三叉链表结构体表示如下图所示…

2023-11-15 LeetCode每日一题(K 个元素的最大和)

2023-11-15每日一题 一、题目编号 2656. K 个元素的最大和二、题目链接 点击跳转到题目位置 三、题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你需要执行以下操作 恰好 k 次&#xff0c;最大化你的得分&#xff1a; 从 nums 中选择一个元素 m 。将选中…

三极管工作原理介绍(动画图解)

三极管BJT 各位社区的小伙伴们大家好&#xff0c;相信大家也像我一样&#xff0c;因为上学的时候学过&#xff0c;但是呢&#xff0c;出社会不怎么用&#xff0c;久而久之就忘了&#xff0c;今天来给大家巩固一下&#xff0c;我对三极管的通俗易懂的工作原理介绍&#xff01; 半…

计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)

第1章&#xff1a;视觉项目资料介绍与学习指南 相关知识&#xff1a; 介绍计算机视觉、OpenCV库&#xff0c;以及课程的整体结构。学习概要&#xff1a; 了解课程的目标和学习路径&#xff0c;为后续章节做好准备。重要性&#xff1a; 提供学生对整个课程的整体认识&#xff0…

Python 如何实现组合(Composite)设计模式?什么是组合设计模式?

什么是组合&#xff08;Composite&#xff09;设计模式&#xff1f; 组合&#xff08;Composite&#xff09;设计模式是一种结构型设计模式&#xff0c;它允许客户端使用单一对象和组合对象&#xff08;对象的组合形成树形结构&#xff09;同样的方式处理。这样&#xff0c;客…

c++之xml的创建,增删改查

c之xml的创建&#xff0c;增删改查 1.创建写入2.添加3.删除4.修改&#xff1a; 1.创建写入 #include <stdio.h> #include <typeinfo> #include "F:/EDGE/tinyxml/tinyxml.h" #include <iostream> #include <string> #include <Winsock2.…

王道数据结构课后代码题p40 6.有一个带头结点的单链表L,设计一个算法使其元素递增有序 (c语言代码实现)

这一题其实用到了直接插入排序的思想 视频讲解在这里哦&#xff1a;&#x1f447; p40 第6题 王道数据结构课后代码题 c语言代码实现_哔哩哔哩_bilibili 本题代码为 void paixu(linklist* L)//对单链表内的元素排序 {lnode* p (*L)->next;lnode* pre *L;lnode* r p-&…

Skybox天空盒子的更换教程_unity基础开发教程

Skybox天空盒子的更换 Skybox的下载与导入更换SkyboxSkybox属性自定义 Skybox的下载与导入 打开资源商店 搜索FREE Skybox 这里是我使用的是这一款资源&#xff0c;点击添加至我的资源 打开包管理器Package Manager Packages选择My Assets 搜索Sky 选择刚刚添加的天空盒子 点…
最新文章