Nature2017AlphaGoZero强化学习论文解读系列(二)

人工智能的长远目标之一就是研发出一种能够从白板开始学习,并逐渐进化成拥有超常能力的算法。目前,AlphaGo成为了第一个打败围棋世界冠军的程序。AlphaGo的核心是使用深度网络在蒙特卡罗树搜索过程中进行棋盘局势判断和走棋选择决策。这些深度网络使用监督学习的方法从人类专家棋谱中进行训练,使用强化学习的方法从自我对弈的过程中进行训练。本文介绍一种只使用强化学习的训练算法,除了需要基本的围棋规则以外,不需要人类围棋数据、指导和领域知识。本文使用强化学习得到的深度网络能够同时进行棋盘局势判断预测获胜者,以及走棋选择决策。这个深度网络能够提高树搜索的优势,使得在下一次迭代时,保证更高质量的走棋选择,以及更强的自我对弈。AlphaGoZero从白板开始学习,能够达到超常的能力,并在实践中,以100:0的绝对优势战胜了此前发布的、打败欧洲围棋世界冠军的AlphaGo。

目前人工智能领域的成就主要得益于监督学习,使用监督学习的方法从人类专家数据中进行训练,达到复制、模仿人类专家决策的目的。然而,人类专家的数据通常是昂贵、不可靠甚至不可得到的。即使能够得到可靠的专家数据,训练得到的监督学习系统通常也会达到一个性能瓶颈。相反,强化学习系统从自我经历中训练,原则上可以超越人类的能力,并且能够发掘出人类不曾发现的未知领域。目前,使用强化学习训练的深度神经网络在这一目标上已经取得了快速的发展。例如计算机游戏Atari、3D虚拟环境等,强化学习系统已经超越了人类水平。然而,对于人工智能领域最富挑战性的围棋游戏,上述通用的方法还无法取得和人类水平相当的成就,主要是因为围棋游戏需要在一个浩大的搜索空间中进行精准、复杂的lookahead搜索。

AlphaGo是第一个在围棋领域达到超越人类水平的程序。此前发布的AlphaGoFan打败了欧洲围棋冠军FanHui。回顾一下,AlphaGo使用两个深度网络,策略网络输出下一步走棋的概率分布,值网络判断当前棋面局势,预测获胜者。策略网络一开始使用监督学习的方式,用于加快预测专家走棋;随后使用PolicyGradient的强化学习算法进行重新优化。值网络从策略网络自我对弈过程中进行训练学习,用于预测获胜者。离线训练完后,再使用蒙特卡罗搜索树将深度网络结合起来,使用策略网络将搜索局限在高概率的动作,使用值网络(和FastRolloutPolicy结合)来评估叶子节点的棋面局势,多次执行蒙特卡罗模拟,最终选择访问次数最多的边对应的动作为下一步棋的下法。值得注意的是,后续发布的AlphaGoLee使用了相似的方法,打败了18届围棋世界冠军李世石。

AlphaGoZero不同于AlphaGoFan和AlphaGoLee。主要体现在如下几个方面:

为了实现上述目标,本文研究出一种新的强化学习训练算法,将蒙特卡罗树搜索树纳入训练阶段。新的算法使得性能提升更快、学习更加精确和稳定。

ExpandandEvaluate:叶子节点访问次数达到一个阈值时,此时进行扩展并评估。使用神经网络产生先验概率和评估值。。「此处体现了神经网络是如何指导蒙特卡罗搜索的」。

Play:多次模拟过程结束后,得到搜索概率分布,搜索概率正比于访问次数的某次方,称为温度参数(temperatureparameter)。那么最终的走棋Play,可以使用该分布来抽样动作。

上述描述的是连续训练的版本,即每次都使用最新轮次的神经网络进行自我对弈和产生训练数据,实际自我对弈和训练过程中,部分细节和上述不大一样:

使用强化学习管道方式来进行AlphaGoZero的训练。训练从完全随机的行为开始,一直持续3天,期间不需要人为的干涉。在这个过程中,总共生成了490万个自我对弈棋局,每次蒙特卡罗搜索进行1600次模拟,相应的每步走棋平均花费0.4s,神经网络的参数使用70万个minibatch,每个minibatch包含2048个棋面进行更新,该残差神经网络包含20个残差块residualblocks。

a)合并了PolicyNetwork和ValueNetwork;

b)用ResNet替换了CovNet;

c)强化学习训练算法从PolicyGradient改为PolicyIteration.

AlphaGoZero中的改进值得我们思考,最振奋人心的就是排除了人类棋谱数据和人工特征,完全从强化学习自我对弈过程中进行学习。这其中有两点感悟。

引用周志华的一段话,“如果说深度学习能在模式识别应用中取代人工设计特征,那么这里显示出强化学习能在启发式搜索中取代人工设计评分函数。这个意义重大。启发式搜索这个人工智能传统领域可能因此巨变,或许不亚于模式识别计算机视觉领域因深度学习而产生的巨变。机器学习进一步蚕食其他人工智能技术领域。”

可以看出这里面的核心包括深度学习、强化学习、启发式搜索。本文分别对这三个方面都有所改进,深度学习体现在ResNet的使用以及合并两个神经网络;强化学习体现在PolicyIteration算法的使用,启发式搜索体现在引入PolicyIteration训练过程以及改进蒙特模拟过程(Expansion、Evaluation合并、最终动作决策由选择访问次数最多的动作改成根据访问次数计算动作分布,再随机抽样动作)。这里面的核心中的核心仍然是蒙特卡罗搜索,深度学习和强化学习都是为蒙特卡罗搜索服务的。

可能可以改进的几个核心要素包括单一的改进以及多种元素的结合方式改进。例如强化学习算法中最终报酬函数的设计、深度学习中是否有更好的网络架构,如SENet等、蒙特卡罗搜索树除了用在强化学习算法中,能否用在深度学习算法中,指导误差的反向传播等;蒙特卡罗模拟结束后,是否有其他更好方式来计算动作概率分布。当然另一方面,有没有新的领域能够替代蒙特卡罗搜索树的核心地位,具有前瞻性的问题是否只有通过大量模拟才能得到反馈,是否还有其他的方式能够更好的进行反馈。

知乎:如何评价AlphaGoZero?

AlphaZero实战

「阿尔法狗」再进化!

(1)点击页面最上方'AINLP',进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

THE END
1.相比于离线训练,在线训练的好处有什么?问答离线训练毕竟使用的是 T-1 或者 T-2 的数据去做的,没有对线上实时产生的行为数据进行利用,对于数据的时效性利用相对较差。 比如说,有这样的一个场景,今天我的整个平台只对 14 岁以下的少女做某个运营活动,而平台上充斥了大量的年龄段的客户,整个平台的交互行为都变了,这个时候你的模型还是 T-1 去做的,将https://developer.aliyun.com/ask/446535
2.蚂蚁金服核心技术:百亿特征实时推荐算法揭秘备注:弹性特征带来一个显著的优势:只要用足够强的L1稀疏性约束,在单机上就能调试任意大规模的特征训练,带来很多方便。我们的hashmap实现是KV化的,key是特征,value是vector的首地址。 离线训练优化 经过这样的改造后,在离线批量学习上,带来了以下变化: 在线训练优化 https://maimai.cn/article/detail?fid=1010621115&efid=mIQCHnkj0zjxlpygUmo5mg
3.科学网—[转载]群视角下的多智能体强化学习方法综述基于学习(深度学习、强化学习)设计的迭代式问题求解方法是离线策略学习的基础范式。由于环境及对手的非平稳性,离线训练的蓝图策略通常很难直接运用于在线对抗。在线博弈对抗过程与离线利用模拟多次对抗学习博弈过程不同,博弈各方处于策略解耦合状态,与离线批(batch)式策略学习方法不同,在线博弈对抗策略的求解本质是一个流https://blog.sciencenet.cn/home.php?mod=space&uid=3472670&do=blog&id=1422698
4.深度学习难分样本挖掘(HardMining)数据派关键是找出影响网络性能的一些训练样本,针对性的进行处理。 简单来说就是把难分的样本,剔除出来,放到另外一个地方里面。最后将难分样本,给负样本,加强训练分类器。但是,这样又会造成数据不平衡的问题,下面会讲到。 03、方法:离线和在线 在样本训练过程中,会将训练结果与GroundTruth计算IOU。通常会设定一个阈值(0.5https://www.shangyexinzhi.com/article/4713934.html
5.粗排优化探讨得物技术离线在线一致性分析 待补充实际效果 四 样本设计 粗排相较于精排样本选择偏差(SSB)的问题更加严重,借鉴召回经验,可以通过适当采样减少偏差。采样设计的目的也是希望离线训练样本尽可能与线上分布一致。 样本选择方法 负样本可选范围: 曝光未点击样本; 全库除转化外样本; https://blog.itpub.net/70027824/viewspace-3000851/
6.基于Kmeans聚类的CSI室内定位AET对于单个天线对得到fin,对于m个天线的每个天线对使用Kmeans算法,得到训练向量: 2.2 在线定位阶段 在线定位阶段采用与离线训练阶段相同的方法提取到m个天线对的指纹: 将提取到的指纹与训练阶段建立的数据库中的指纹作比较,即将获取到的第i个天线对的指纹矩阵与数据库中的第i个天线对的指纹矩阵,进行两个指纹矩阵中任http://www.chinaaet.com/article/3000057028
7.离线学习(训练)和在线学习(训练)在线训练和离线训练文章浏览阅读1.4w次,点赞4次,收藏4次。https://blog.csdn.net/a133521741/article/details/79221015_在线训练和离线训练https://blog.csdn.net/sinat_40966515/article/details/100073130
8.编程入门实战训练CodeCamp在线编程实战CodeCamp, freeCodeCamp, 在线编程实战训练,是一个以操作实验为基础的编程训练营,它包含了HTML,CSS,Javascript,jQuery,Bootstrap等编程语言编程闯关,让你在实践中提升自己的编程能力。https://www.w3cschool.cn/codecamp
9.强化学习离线模型离线模型和在线模型推荐系统里非常常见,并且往往非常的隐蔽的一种数据分布不一致的情况被称之为冰山效应,也就是说离线训练用的是有偏的冰山上的数据,而在线上预估的时候,需要预测的是整个冰山的数据,包括大量冰面以下的数据!我们看下面这张图。左边是我们的Baseline,绿色的表示正样本,红色表示负样本,灰色部分表示线上由于推荐系统的“https://blog.51cto.com/u_14499/11815202
10.使用Merlin分层参数服务器扩展推荐系统推理推荐模型有两种培训模式:离线和在线。在线培训将新的模型更新部署到实时生产中,对于推荐的有效性至关重要。HPS 雇佣无缝更新机制通过Apache Kafka– 基于消息缓冲区连接训练和推理节点,如图 5 所示。 图5. HugeCTR 推理在线更新机制 更新机制有助于 MLOps 工作流,支持在线/频繁以及离线/再培训更新,无需停机。它还通https://www.eet-china.com/mp/a159829.html
11.推荐系统完整的架构设计和算法(协同过滤隐语义)其中,数据上报和离线训练组成了监督学习中的学习系统,而实时计算和 A/B 测试组成了预测系统。另外,除了模型之外,还有一个在线存储模块,用于存储模型和模型需要的特征信息供实时计算模块调用。图中的各个模块组成了训练和预测两条数据流,训练的数据流搜集业务的数据最后生成模型存储于在线存储模块;预测的数据流接受业务https://cloud.tencent.com/developer/article/1508050
12.人工智能团队研究成果在TKDE发表:样本高效的离线转在线强化学习离线强化学习,即智能体从先前收集的数据集中学习的过程,已被广泛研究并在机器人控制、推荐系统、智慧医疗等领域取得了巨大成功。然而,由于受到离线数据集质量的限制,离线强化学习智能体的性能通常是次优的。因此,在部署之前,通常需要进一步通过在线交互对预训练的离线强化学习智能体进行微调。 http://icfs.jlu.edu.cn/info/1007/3101.htm
13.2020年最值得收藏的60个AI开源工具语言&开发李冬梅SiamMask 是一款实时在线目标跟踪与目标分割统一框架。技术简单、通用、快速高效。它可以对目标实时跟踪。此款库还包含预训练模型。 项目地址:https://github.com/foolwood/SiamMask DeepCamera 世界首个自动机器学习深度学习边缘 AI 平台 ARM GPU 上的深度学习视频处理监控,用于人脸识别以及更多方法。将数码相机变成人工https://www.infoq.cn/article/2uabiqaxicqifhqikeqw