AutoML入侵强化学习!Google用「元学习」来强化学习,ICLR2021已接收

简介: 元学习是一种让机器去学习如何灵活学习解决问题的一种技术。谷歌的新工作使用符号图来表示并应用AutoML的优化技术来学习新的、可解释和可推广的强化学习算法。目前已被ICLR 2021接收。

近年来,AutoML在自动化机器学习的设计方面已经取得了巨大的成功,例如设计神经网络体系结构和模型更新规则

 

神经架构搜索(NAS)是其中一个重要的研究方向,可以用来搜索更好的神经网络架构以用于图像分类等任务,并且可以帮助设计人员在硬件设计上找到速度更快、能耗更低的架构方案。

 

除NAS之外,谷歌之前的研究AutoML-Zero甚至还可以从零开始使用基本数学运算设计一个完整的算法。

 

但这些方法是为监督学习而设计的,总体算法更加简单明了,拿到标签,然后训练。

 

但对于强化学习来说,目标可能没有那么明确,例如采样策略的设计、整体的损失函数等,模型的更新过程并不是很明确,组件搜索的空间也更大。

 

自动化清华学习算法之前的工作主要集中在模型更新规则上。这些方法学习更好的优化器、更新本身的策略,通常用神经网络(RNN或CNN)表示更新规则,使用基于梯度的方法进行优化。

 

但是,这些学习的规则无法解释,也不具有泛化性,因为模型权重的获得过程是不透明的,并且数据也是来源于特定领域的。

 

强化学习算法和计算图


NAS在神经网络体系结构的图的空间中进行搜索,受NAS的想法启发,本文通过将RL算法的损失函数表示为计算图来元学习强化学习算法。

 

在这种情况下,将有向无环图用于损失函数,节点代表输入、运算符、参数和输出,将增强AutoML的可解释性。

 

例如,在DQN的计算图中,输入节点包括来自缓冲区的数据,运算符节点包括神经网络运算符和基本数学运算符,而输出节点表示损失,通过梯度下降法来优化模型。

 

这种表示有一些好处,既能表示现有的算法,也可以定义新的未被发现的算法,并且也是可解释的。

 

如果研究人员可以理解为什么学习的算法更好,那么他们既可以修改算法的内部组成部分来改进它,又可以将有益的组成部分转移到其他问题上。

30.jpg

这种表示形式很容易通过PyGlove库实现,它可以将图形方便地转换为正则化优化的搜索空间。


会进化的RL算法

 

本文提出的强化学习算法是基于进化的方式。

 

首先,我们用随机图初始化一群训练的agent,在一组训练环境中并行训练。agent首先在类似CartPole这样的简单环境上进行训练,目的是快速清除性能不佳的程序。如果agent无法解决简单环境,就会以0分的分数提前停止,否则训练将会进入更难的环境,例如Lunar Lander等,评估算法的性能并将其用于更新整体的权重,在这些训练器中,更有前途的算法会进一步发生变异。

 

为了减少搜索空间,论文中使用功能等效检查器,如果它们在功能上与先前检查过的算法相同,则会跳过实验直到提出新的算法。

 

随着新的变异候选算法的训练和评估,该循环继续进行。在训练结束时,我们选择最佳算法并在一系列看不见的测试环境中评估其性能。

 

实验中的数据规模大概是300个训练器,我们观察到205000个突变后良好的候选进化,需要大约三天的训练时间。我们之所以能够在CPU上进行培训,是因为训练环境非常简单,可以控制训练的计算和能源成本。为了进一步控制训练成本,我们使用人工设计的RL算法(例如DQN)为初始种群播种。

 



31.jpg

我们重点介绍两种发现的算法,它们表现出良好的泛化性能。第一个是DQNReg,它基于DQN,在Q值上额外增加正则平方的Bellman误差。第二个学习的损失函数DQNClipped,Q值的最大值和Bellman误差平方(以常数为模)。两种算法都可以看作是归一化Q值的一种。虽然DQNReg添加了软约束,但DQNClipped可以解释为一种约束优化,如果Q值太大,它将最小化Q值。在训练的早期阶段,高估Q值是一个潜在的问题时,一旦满足此约束条件,损失函数将最小化原始的平方Bellman误差。

 

尽管DQN等基准通常高估了Q值,但我们学到的算法以不同的方式解决了这一问题。DQNReg低估了Q值,而DQNClipped具有与double dqn类似的行为,因为它会缓慢地接近真实值。

 

值得指出的是,当使用DQN进行演化时,这两种算法会不断迭代出现。

 


32.jpg

通常在RL中,泛化是指经过训练的策略,可以跨任务进行泛化。在一组经典控制环境上,学习到的算法可以匹配密集奖励任务(CartPole,Acrobot,LunarLander)上的基线,而在稀疏奖励任务MountainCar上优于DQN 。



33.jpg

在测试各种不同任务的一组稀疏奖励MiniGrid环境中,我们发现DQNReg在样本效率和最终性能方面都大大优于训练和测试环境的基线。实际上,在尺寸、配置和熔岩等新障碍物存在变化的测试环境中,效果甚至更为明显。

34.jpg35.jpg

这些环境的起始位置,墙面配置和对象配置在每次重置时都是随机的,这需要agent进行概括而不是简单地记住环境,尽管DDQN经常努力学习任何有意义的行为,但DQNReg可以更有效地学习最佳行为。

                   36.jpg

无论是在非图像的环境上进行训练,还是在基于图像的Atari环境上,这种表示方法都能带来性能上的提升。这表明,这种元学习算法的通用性。

37.jpg

这篇论文讨论了如何将新的强化学习算法的损失函数表示为计算图,并在此表示形式上扩展多个agent训练来学习新的可解释RL算法。

 

计算图使研究人员既可以建立在人为设计的算法上,又可以使用与现有算法相同的数学工具集来学习算法。这些算法的性能超过之前的baseline系统,并且可以用于非视觉类的任务。

 

文章的作者希望这项工作可以促进机器辅助算法的开发,未来计算元学习可以帮助研究人员找到新的研究方向

相关实践学习
函数计算部署PuLID for FLUX人像写真实现智能换颜效果
只需一张图片,生成程序员专属写真!本次实验在函数计算中内置PuLID for FLUX,您可以通过函数计算+Serverless应用中心一键部署Flux模型,快速体验超写实图像生成的魅力。
相关文章
|
数据挖掘
博客接入谷歌广告(Google Ads)
随着博客的流量越来越大,成功申请到了谷歌平台的广告流量主。对于广告平台的选择,个人觉得谷歌的广告在设计上简洁清爽,广告类型可以根据自己的爱好进行选择,比较适合我。另外国内的也有比较合适的可以选择比如阿里妈妈,百度联盟等。
1401 0
博客接入谷歌广告(Google Ads)
|
3月前
|
机器学习/深度学习 JSON 监控
淘宝拍立淘按图搜索与商品详情API的JSON数据返回详解
通过调用taobao.item.get接口,获取商品标题、价格、销量、SKU、图片、属性、促销信息等全量数据。
|
6月前
|
存储 关系型数据库 MySQL
亿级数据秒级响应:PolarDB MySQL HTAP实时分析方案设计与压测报告
PolarDB MySQL HTAP方案实现亿级数据秒级响应,支持高并发事务与实时分析。通过行列混存、智能路由与资源隔离,满足电商、金融等场景的实时报表、决策需求,降低架构复杂度与运维成本。
257 6
|
5月前
|
机器学习/深度学习 搜索推荐 API
京东拍立淘API-以图搜图中的图像搜索算法
京东拍立淘API基于深度学习,利用CNN提取图像特征,结合余弦相似度实现商品精准匹配。支持图片搜索、类目限定与相似度筛选,日均处理千万级请求,广泛应用于移动购物与社交带货场景。
|
9月前
|
Ubuntu Linux 应用服务中间件
Linux使用cpulimit对CPU使用率进行限制
cpulimit是一款简单易用的CPU使用率限制工具,支持对特定程序或整个CPU使用率进行限制。可通过源安装(如`yum`或`apt-get`)或编译安装获取。使用时,可针对程序名、进程号或绝对路径设置CPU占用上限(如`cpulimit -e xmrig -l 60 -b`)。ROOT用户可限制所有进程,普通用户仅限于权限范围内进程。注意,CPU百分比基于实际核心数(单核100%,双核200%,依此类推)。
933 7
|
人工智能 安全 5G
|
存储 监控 数据处理
【STM32】详细讲述 USART_IRQHandler() 的工作流程和原理
- UART5_IRQHandler的主要任务是响应各种UART中断事件并执行相应的处理。 - 典型的处理中断步骤包括检查中断类型、读取或写入数据寄存器、处理数据或错误、清除中断标志等。 - 实际的中断处理逻辑会根据具体应用的需求进行调整。
506 1
|
人工智能 自然语言处理 API
阿里云百炼平台上线首个最新文生图模型FLUX中文优化版
由Stable Diffusion团队推出的开源文生图模型FLUX风靡全球,其生成质量媲美Midjourney,被誉为“开源王者”。阿里云百炼平台首发FLUX中文优化版,提升了中文指令的理解与执行能力。开发者可直接在平台上体验并调用FLUX模型,且享有1000张图像的免费生成额度,有效期180天。无需额外部署,即可轻松利用这一先进模型创造高质量图像。
2239 0