深度强化学习的风吹到了电网
导读本文将介绍安全强化学习(SafeRL),及其在电网调度中的应用。
主要内容包括以下几大部分:
-
SafeRL 介绍
-
电网调度介绍
-
SafeRL 在电网调度中的应用
-
数据与数学双决策引擎开发平台介绍
-
问答环节
分享嘉宾|杨超 阿里巴巴达摩院 高级算法专家
编辑整理|王琳娜
内容校对|李瑶
出品社区|DataFun
01SafeRL 介绍
首先来介绍一下什么是安全强化学习。
1. 深度强化学习(DRL)
深度强化学习包括三个要素:
- 强化学习:通过试错的方式去寻找最优策略;
- 深度学习:能够处理高维数据,有很好的感知能力,近似最优的 function;
- Markov Decision Process (MDP):通过数学化的形式表示,最终找到平均收益最大的策略。
强化学习比较成功的落地应用包括个性化推荐、网约车在线派单、3D 装箱等。在网约车在线派单场景中,可以帮助平台快速决策如何匹配每一台网约车和每一个呼叫客户。3D 装箱场景,是让大纸箱装更多的包裹。在这些场景中,强化学习真正帮助企业做到了降本提效。然而,强化学习工业场景落地还存在着一些困难点,例如安全性。比如在自动驾驶或机器人控制的场景中,一个不安全的决策可能引起非常致命的危险。
2. 安全强化学习
在强化学习中考虑安全性,一个很直观的想法就是加入安全性因素。把安全性的衡量指标当成新的 reward,几个 reward 合并起来放在标准的强化学习的框架中,其中需要确定每个 reward 的影响占比。
这种方法的优点是直接和自然,在特定的问题上确实可以取得效果。但缺点是需要提前确定 reward 的权重系数,多个目标之间需要 tradeoff。
如上图中右下角所示,左图 y 轴为 reward 或者 return,右图 y 轴为安全性的指标或者 cost。如果权重系数过少,那么安全性可能无法得到很好的保证。比如绿色线会严重违反安全规定。如果系数过大,安全性可以得到保证,但是模型可能无法达到预期的效果。
学术界在很早就提出了在标准 MDP 上做一种扩展,即 Constraint Markov Decision Process(CMDP),它是考虑安全约束的一种数学形式化的框架。整个描述不仅最大化 reward,并且把安全性的考量放在一个约束条件中,形式化为一个带约束的优化问题。当安全约束满足某一特性以内,就可以最大化 reward。在这种数学描述的形式下,和 reward 一样,都是考虑 cumulated cost 的形式,在期望的情况下去做优化。
接下来介绍 CMDP 的两类方法:Local Policy Search 和 Lagrange Multiplier。
Local Policy Search 方法的思想是,假设已知安全约束范围内的 policy,在局部的范围内找一个更好的策略,同时还能够满足安全约束。
比如在找到了一个满足安全约束的策略后,下一步就是希望在 trust region 领域内找符合安全约束的策略同时目标能进一步最大化。虽然上述想法在数学上可以直观地描述出来,但是每一项做优化都是非常困难的。因此业界中各种学术从业者都在试图简化问题,一种方法是把 maximize 的目标和底下的两种约束,替换为更易处理的函数,称之为 surrogate function。比如最经典的一个算法就是 Constrained Policy Optimization,把目标及约束分别替换为各自的上下界,并采用信赖域进行策略搜索。
另外一类方法是 Lagrange Multiplier,其思想是希望把约束放在目标里面,将带约束的优化问题表示成一个无约束的优化问题。一个非常成熟的方法就是通过Lagrange Relaxation 技术将问题转换。转换原理是在 maximize的情况下,将原问题转换成一个对偶问题。对偶问题是原问题的一个上界,因此只要最小化对偶问题就可以逼近原问题的最优解。这里将上面 maximize 带约束的优化问题转换成一个两阶段的 min max 问题,并且动态决定对偶问题里面的 multiplier 的值,不断逼近原问题的解。Lagrange Multiplier 在整个训练的过程中,不断渐进地来保证安全性的要求。
02电网调度介绍
用电是人们日常生活中非常熟悉的一件事。怎么能够让每一个用户用上电是电力系统在做的事情。
电力系统是人工构建的最复杂的系统之一,包括很多个环节,比如电网的运行控制、电力市场的资源配置、需求侧的响应等等。上图中左下角的图展示了日常生活中的电力供给,有各种各样的电子设备。电力调度可以简单抽象成下面有很多节点的图,节点就代表变电站。每一个节点上会有发电厂,还有对应的用户(负荷侧)。如何让每一台发电机组尽可能在满足用户用电的基础上,降低整体的发电成本,这需要电网调度的过程中做出一些决策,包括发电机组的启停决策、发电机组的功率决策等等。
电力传输具有实时供需平衡、安全约束复杂、非线性等特性。
为顺应国家的双碳政策,在 30 年达到碳达峰,在 60 年要达到碳中和,我们也在不断发展新能源。新能源指的是风电和光伏等可再生能源,可以通过自然的能力获得,具有间歇性和随机性的特点。不是每一个区域都具备建风电厂或者光伏厂的能力,所以需要做电网的快速大范围的互联。随着各种各样的柔性设备或者电子设备的增加,整个电力系统的调控规模变得更大,并且不确定性和波动性也加剧了。因此整个电网需要具有高效和鲁棒的调动能力。
03SafeRL 在电网调度中的应用
接下来介绍如何利用 SafeRL 在电网调度中解决前文中提到的问题。
电网调度中需要满足每一个时刻的瞬时安全约束。一旦某一个约束不满足,可能整个电网就会崩溃,造成大范围的断电,带来巨大的经济损失。因此标准的 CMDP 框架不能严格满足要求。要实现每一时刻的安全约束,需要做到以下几点:
- 每一时刻 state-wise 做到安全;
- Worst-case 下做到安全;
- 在线部署时做到 safety;
- 提升训练效率。
接下来将分别展开介绍。
1. State-wise 安全性
如果考虑每一步的安全,每一步都变成一个新的优化问题。一个解决方式是采用State-wise Lagrange Relaxation。新的形式化框架如上图所示。在做对偶问题时,我们希望做到每一个 state 下的安全性都能够得到满足。这就需要考虑标准的 policy 该怎么学。需要针对每一个 state 给出一个对偶,采用神经网络来进行 gradient descent。另外需要做 projection,保证 dual 的合理性。上图右下角展示了训练的过程。
2. Worst-case
在电网调度过程中,安全成本 C(St,at,St+1) 与 St+1 状态有关,比如某个输电线路在 t+1 时刻突然中断,cost 的成本就会非常大。因此可以提前去做 Worst-case 的训练。通常采用 Adversarial Learning 对抗学习的方式来对 N-1 线路中断 Worst-case 进行安全约束保障学习。Attacker Agent 与 Policy Agent 交替更新各自的网络参数。
上图中展示了训练的过程,波动性稍大,但还是可以看出其趋势,每当 Attacker 更新的时候,defender 都会造成 loss 一开始增大,但逐渐学得更小。这样就可以在 Worst-case 下渐进地保障 safety 的能力。
3. 在线部署中保障安全
电网的一个特性是可以通过线性约束形式来近似整个复杂模型。因此在线部署时采用Safety Layer 数学优化模型来对整个强化学习的 policy 进行一个安全性的校正,也叫作可行性恢复。一方面,提前将 inactive 的约束去除掉,可以提升求解效率;另一方面,利用校正动作可以进一步提升 policy 的安全性能。
4. 提升训练效率
电网整个机理模型是相对清晰的,所以能够去做离线仿真的训练。仿真模拟器在训练时会被大量调用,其中核心的模块是潮流计算,主要用来求解一组方程。电力系统整个线性方程的系数矩阵是非常稀疏的。要解方程,标准的稠密计算的库并不太适用,因此我们尝试了采用稀疏的方式去做加速。这里主要用到的是一些符号分析和数值计算的技巧,能够大幅提升整个仿真训练的性能。
04数据与数学双决策引擎开发平台介绍
接下来介绍数学规划求解。假设现在已知优化模型,为了能够更快、更方便地进行求解,我们开发了一些工具来帮助用户实现快速、灵活地求解。
第一套工具针对如何用计算机能理解的语言描述优化模型,开发了 MindOpt APL 接口,它是一种代数建模语言。求解软件 MindOpt Solver,可以更快更优地进行求解,支持线性和非线性规划,以及整数规划等。还有超参自动调优工具 MindOpt Tuner,可以自动搜索最佳参数组合,得到业务场景定制的更快更好的求解器。
对比数据驱动和数学驱动两种方式,其各自有着一些优势和劣势。
数据驱动,是寻找近似最优的 function。其优势是在线响应时间快,可以通过离线的学习或者仿真的学习提前去适应不确定性或者大规模的场景。其劣势为学习成本相对较高,安全性需要特别处理,可解释性较差。
数学驱动的优势是模型精确,解的质量非常高,可解释性好。其劣势是大规模问题响应慢,建模求解需要领域知识。
为了结合数据驱动和数学驱动的优势,我们研发了 MindOpt Studio 的新版本。它能够支持整个强化学习的开发和分布式训练,也包括数学建模的开发和分布式计算。支持强化学习与数学优化双决策引擎多种结合方案,比如右下角的图,强化学习引擎可以帮助数学引擎去做约束边界的缩减、热启动以及辅助求解计算的过程。数学优化引擎可以帮助强化引擎去做仿真环境的构建、辅助策略的学习、策略的增强等等。另外,MindOpt Studio 还提供了作业管理、资源监视、集群运维、模型发布与部署等功能。
在某电网场景案例中,部署了 MindOpt Studio 来支持研发区进行强化学习和优化结合的训练和推理,帮助调度员进行电网的调度决策。在真实的电网中,整个电网的拓扑节点有 4,000 以上,调整机组超过 1,000 台,决策耗时可以达到秒级水准。
最后简单介绍一下决策智能实验室。
实验室致力于尖端运筹优化和机器学习技术,构建智能决策系统,帮助更快更好地做出决策,以降低成本、提升效率、增大收益。实验室负责人印卧涛老师,是全球 top 1% 高被引数学家,获得过 NSF CAREER 奖、斯隆研究奖、晨兴应用数学金奖、达摩奖、Egon Balas 奖等多个全球知名数学奖项。团队在绿色能源 AI 大赛中获得了非常优异的成绩,同时为多个电力能源客户提供了预测调度和交易相关的解决方案,助力新能源的新型电力系统落地。
05问答环节
Q1:基于强化学习做电网调度的优势是什么?特别是在解决不确定性问题方面。
A1:的确,电网调度领域原本主要依赖于数学规划进行优化。然而,随着电网规模不断扩大,不确定性越来越强,优化的时效性受限,因此需要非常好的求解器。强化学习通过把代价转换到离线去学一个最优的方式,可以在离线去应对各种不确定性数据,之后再将优势发挥到线上来做更快的决策。
Q2:强化学习在实际应用中面临的约束较多,通常仅能保证软约束,如何才能保证输出符合强约束?
A:标准的 CMDP安全强化学习框架,只能保证软约束,为保证硬约束需要去做针对安全约束特性的研发。如何与数学规划相结合是一个非常有前景的方向。
以上就是本次分享的内容,谢谢大家。