ADM-201 dump PMP dumps pdf SSCP exam materials CBAP exam sample questions

用强化学习来优化物联网 – 译学馆
未登陆,请登陆后再发表信息
最新评论 (0)
播放视频

用强化学习来优化物联网

Internet of Things Optimization

大家好 我是Siraj
“物联网”近几年可谓是炙手可热
但确实存在我们身边
今天我将展示怎样通过强化学习
去优化智能家居中
多台设备中的耗电量
Marc Andreessen曾说
“软件正在吞噬世界”
在今天看来仍是对的
越来越多的设备从出厂就能联网
这在从前无法实现
包括智能洒盐瓶 智能直肠温度计
智能马克杯 智能座椅等等在内
由于这些设备与万维网相连
它们能够与外部通信且相互连接
共享信息甚至相互学习
这样的物联网
在全世界都越来越普遍
无论是智能家居 一列无人驾驶汽车
或是在全球范围内的一系列物联网设备
拥有一张物物互联的网络
在现代化世界中
对商家和消费者都用处多多
但这种设备的主要问题是
如何解决它们所需的能量
芯片需要耗电
所以设备越多 耗能越高
好消息是 可以通过强化学习
来构造一个耗电量大大降低的系统
当然也可以用在许多其他行业
只要是需要构建设备互联系统
来共同完成某项任务
农业 制造业 甚至普通家庭也可以应用
我们将对智能家居进行演示
谷歌最近就使用强化学习
将他们数据中心的耗电量降低了近40%
正如笔记本使用时会发热
他们无数架服务器也产生了大量热量
但高温会损害服务器
所以使用冷却系统
保持数据中心恒温非常必要
也正因为这是个动态系统
我们需要一个学习系统来设置温度
许许多多不可预见的场景
比如天气变化 供电切断
以及定期但充满不确定性的人为干扰
都可能对系统带来扰动
另外 每个数据中心
都有独特的架构和环境
所以系统要能够适应
多种不同的环境
上周我们介绍了
设计强化学习问题的基础方法——
使用Agent(智能体)与环境互动
以最大化收益函数
这一过程我们称为 马尔科夫决策过程
设置智能体目的是
学会在给定状态下
如何采取最优行动
来最大化我们的收益函数
在完整的马尔科夫决策过程中
如果所有的环境变量都已知
可以使用动态规划来学习最优策略
然而 如果提前无法知道变量的值
该怎么办呢?
乖乖放弃?绝不!
让我们考虑一下无模型的强化学习
而不是有模型的强化学习
在无模型强化学习中
第一个缺失的的变量就是转化模型
我们事先不会知道
每一步的下一状态是怎样的
而这一信息告诉我们
每种状态变化出现的概率
第二个缺失的变量是收益函数
它能提前告知智能体
每种状态对应的相关收益
所以当马尔科夫过程中缺失这两个变量时
动态规划是行不通的
我们需要换种不同方法
——蒙特卡洛方法
蒙特卡洛方法其实对应一大类不同算法
它们都依靠重复随机采样
来求解数值结果
这里的关键词是 随机性
蒙特卡洛方法正是利用随机性来解决问题
这种方法在数学和物理领域非常有用
Stanislaw Ulam在上世纪40年代末提出这个方法
那时他正参与研制核弹
作为曼哈顿计划的一部分
后来冯诺依曼也觉得这个方法不错
于是设计了一台机器进行相同的计算
正如所有的机密项目都有个独特代号
他们决定将这个代码库命名为蒙特卡洛
Coulomb的叔叔
恰巧在摩洛哥的蒙特卡洛赌场输了钱
所以就叫蒙特卡洛了 (叔叔们呀)
其实DeepMind的AlphaGo
就用了蒙特卡洛搜索树
来帮助对战之前卫冕的围棋冠军
结果见Move 37
我们会在课程的后期会详细讲解
蒙特卡洛方法相比于动态规划
有许多优点
首先 它可以通过与环境的互动
直接学习出最优表现
而不需要事先定义状态转移和收益函数
其次 这种方法简单且高效
可以先用MC方法 关注问题的一个子状态
第三 MC可以用于模拟真实情况
假设我们现在有一个房间
由各种物联网设备组成
里面有一台智能电视 智能冰箱
一只智能狗和一台智能大型服务器
这些设备的运行都需要大量耗电
但也需要降温 否则房间会温度过高
所以我们有一套冷却系统
现在假设我们能够获取耗电日志数据
(多亏与我们友好的数据提供商合作)
而且我们的智能调节器可以根据系统调节相应温度
可以把电力流向各个设备的过程想象成
形成了一个闭环系统
而持续不断的电流数据可以被利用
它告诉了我们电价 冷却需求和耗电量
可以用这些变量 构建马尔科夫决策过程
系统的总目标是最小化我们的电费
(这样才有钱买GPU哇)
智能体会在这一环境下采取一步行动
——要么升 要么降一摄氏度
美国同胞们全世界人民大多使用公制
那么智能体所处的不同状态就指的是
冷却需求是多大 以及相应的电费是多少
收益函数告诉我们是否有在省钱
通过计算 耗电量*电价 来决定状态切换
并根据与之前状态的电费进行比较
我们知道了这是正收益还是负收益
最优策略是在给定状态下
(此例中状态包含冷却需求和电费单价)
给出一个温度调节器应该设定的温度
使得我们既省了电费
又能在必要时恰如其分地给房间降温
这个基于收益的实时可适应系统
要学习的就是这个最优策略
由于事先不知道收益函数和状态转移函数
我们需要在真实条件下实时计算这两个量
所以采用MC这样的无模型方法来学习
基本思想是 在每个周期结束时
利用收益 回溯计算每个状态的评估函数值
我们需要一个结束点来使任务有完整周期
以便我们使用蒙特卡洛方法
在我们的案例中可以将周期设定为8小时
这8小时我在辛勤工作所以房间没人
如果根据所给策略从初态走到终态
在每个时间节点得到其收益值
记录下所有收益值
到达终态时 再反向循环
以计算每个状态的评估函数值
当有多个周期时
蒙特卡洛法会对每个周期的返回值求均值
我们知道返回值是收益函数的降低之和
但在使用蒙特卡洛方法时要把它转换一下
为了获取状态值函数
我们对所有返回值求期望而非求和
将状态S设为离散随机变量
每种状态都对应其出现的概率
当智能体每到达一种状态
可以理解我们给随机变量S赋值一次
对一个周期内的每种状态 求其返回值并存入列表
重复多次 以保证结果收敛于真实状态函数
在MC强化学习中
我们对真实状态函数的预测
是基于每个完整周期的返回值的
所以计算的周期数越多 预测越准确
但仍要注意一个可能出现的问题
单周期中出现两次相同状态 怎么办呢?
其实我们有两种蒙特卡洛策略估计方法
首次记录和次次记录
本视频中只讨论“首次记录”
“首次记录”只记下是首次遇到的状态
所有遇到第二次的记录都不算在内
而且返回值是根据每次记录分别计算的
蒙特卡洛方法具有随机性
因为当我们根据前态来更新整个周期时
不同结果取决于 在同一状态下的不同行动
由于这样的随机因素
蒙特卡洛方法具有较大方差
当我们把智能体的模拟绘成图像
可以看出最终策略会收敛
这时系统就知道 根据电费 电量等变量
把房间设定在什么温度最省钱
有许多不同的MC方法可以用来做各种事
我们会晚些再讨论
现在总结关于这节课的三点
对比有模型的强化学习 在无模型时
我们事先不知道 收益函数 和 状态转移函数
所以必须根据经验来学习这两项
蒙特卡洛方法就是一种无模型的强化学习
它通过重复随机取样来获取数值
MC采取“首次记录”原则时
状态评估函数被定义为
多周期 首次遇到该状态时返回值的 平均值
欢迎订阅更多我的编程视频!
现在我要去尝试新案例啦
谢谢观看!

发表评论

译制信息
视频概述

这期视频中我们将介绍如何使用强化学习来优化物联网系统中的耗电问题...

听录译者

收集自网络

翻译译者

Rain

审核员

审核员#IN

视频来源

https://www.youtube.com/watch?v=kYWw6GBRjVk

相关推荐