解读:AlphaGo之父倾力打造:The Predictron端到端训练与规划

简介: 解读:AlphaGo之父倾力打造:The Predictron端到端训练与规划
  • 论文题目:The Predictron: End-To-End Learning and Planning


所解决的问题?


  提出predictron结构,一种abstract model来表示马尔可夫奖励过程。端到端直接训练,相对来说能够省去一些没有必要的计算开销。但同时也损失了一些可解释性。


背景


  基于模型的强化学习主要的思想聚焦于两个问题:1. 学习模型。2. 基于这个所学的模型进行规划。模型可以表示为MRP或者MDP的形式,规划的话就是基于这个所学的模型去评估值函数并且给出策略。以往一般的工作都是将二者分开,各玩各的,这样的话,智能体就并不能很好地去适应全局的目标函数。

image.png


所采用的方法?


  Predictron由四部分组成:

image.png 

这第四点可能优点难以理解,作者也举了个例子(k − s t e p k-stepk−step predictron):

20210118142339730.png

image.png


如上图中的最右边的显示的那样,展开有:

image.png

网络结构


2021012113234539.png

表示函数f ff是一个两层的卷积神经网络。之后定义一个core,里面结合了MRP modelλ -network到一个可重复模块中:

image.png

代码实现

  定义编码网络和core网络:

# a two-layer convolutional network as the state representation
self.embed = nn.Sequential(
    nn.Conv2d(C, hid_dim, kernel_size=kernel_size, padding=padding),
    nn.BatchNorm2d(hid_dim, momentum=bn_momentum), nn.ReLU(),
    nn.Conv2d(hid_dim, hid_dim, kernel_size=kernel_size, padding=padding),
    nn.BatchNorm2d(hid_dim, momentum=bn_momentum), nn.ReLU()).to(self.device)
def clones(module, N):
    "Produce N identical layers."
    return nn.ModuleList([deepcopy(module) for _ in range(N)])
self.cores = clones(
            Core(input_dims=(hid_dim, H, W),
                 hid_dim=hid_dim,
                 kernel_size=kernel_size), core_depth).to(self.device)

  前向和loss计算:

# 1. 先观测编码到s。
x = self.embed(x)
self.buffer.reset()
# 2. 之后进入N个core中
for core in self.cores:
    x, val, rwd, gam, lam = core(x)
    self.buffer.store(rwd, gam, lam, val)
# 3. value计算
self.value_net_f = deepcopy(self.cores[0].value_net).to(self.device)
val = self.value_net_f(self.flatten(x))
self.buffer.finish_path(last_val=val)
# 4. 拿标签算loss:
pret, g_lam_ret = self.buffer.get()
y_tile = y.unsqueeze(1).expand_as(pret)
ploss = self.loss_fn(pret, y_tile)
lloss = self.loss_fn(g_lam_ret, y)
loss = ploss + lloss

  完整代码可以参考:

  1. Pytorch实现:https://github.com/cying9/predictron-pyt
  2. Tensorflow实现:https://github.com/zhongwen/predictron


取得的效果?


  作者与循环神经网络,还有几组子对比实现进行了比较。这个思想在【Nature论文浅析】基于模型的AlphaGo Zero也是有用到的。

所出版信息?作者信息?


  作者是大名鼎鼎的David Silver

相关文章
|
3月前
|
机器学习/深度学习 API 网络架构
"解锁机器学习超级能力!Databricks携手Mlflow,让模型训练与部署上演智能风暴,一触即发,点燃你的数据科学梦想!"
【8月更文挑战第9天】机器学习模型的训练与部署流程复杂,涵盖数据准备、模型训练、性能评估及部署等步骤。本文详述如何借助Databricks与Mlflow的强大组合来管理这一流程。首先需在Databricks环境内安装Mlflow库。接着,利用Mlflow跟踪功能记录训练过程中的参数与性能指标。最后,通过Mlflow提供的模型服务功能,采用REST API或Docker容器等方式部署模型。这一流程充分利用了Databricks的数据处理能力和Mlflow的生命周期管理优势。
138 7
|
5月前
|
机器学习/深度学习 计算机视觉
【机器学习】LoFTR:革命性图像特征批评技术等领跑者
【机器学习】LoFTR:革命性图像特征批评技术等领跑者
79 1
|
6月前
|
人工智能 自然语言处理 监控
GPT-4整治学术不端!人大/浙大团队实测7000篇论文,撤稿预测与人类95%一致
【4月更文挑战第15天】中国人民大学和浙江大学的研究团队利用GPT-4模型预测论文撤稿,研究基于3,505篇撤稿及未撤稿论文的推特数据,发现16%的撤稿论文提及含有预警信号,预测准确度高达92.86%。GPT-4预测一致性达95%,为学术诚信监控提供新途径。但研究受限于主观偏见、撤稿原因区分及推特互动等因素。
97 1
GPT-4整治学术不端!人大/浙大团队实测7000篇论文,撤稿预测与人类95%一致
|
机器学习/深度学习 人工智能 自然语言处理
大模型时代下,算法工程师该何去何从?
大模型时代的到来,将算法工程师的职业发展带入了全新的境地。在这个浩瀚的数据海洋中,算法工程师们面临着前所未有的挑战和机遇。不久前,合合信息举办了一场《》的直播活动,智能技术平台事业部副总经理、高级工程师丁凯博士分享了。这段深度探讨不仅让我对算法工程师的未来有了更清晰的认识,也启发了我对自身职业发展的思考。接下来,我将分享这次讨论的精彩内容,希望能够为同学们提供一些有益的启示与思考。
|
机器学习/深度学习 数据可视化 数据挖掘
第十二届“中国软件杯”大赛:A10-基于机器学习的分布式系统故障诊断系统——baseline(一)
第十二届“中国软件杯”大赛:A10-基于机器学习的分布式系统故障诊断系统——baseline(一)
587 0
第十二届“中国软件杯”大赛:A10-基于机器学习的分布式系统故障诊断系统——baseline(一)
|
机器学习/深度学习 人工智能 算法
华为MindSpore架构师王紫东:当生物计算领域「遇灾」,MindSpore做了何解?
华为MindSpore架构师王紫东:当生物计算领域「遇灾」,MindSpore做了何解?
212 0
华为MindSpore架构师王紫东:当生物计算领域「遇灾」,MindSpore做了何解?
|
机器学习/深度学习 人工智能 并行计算
全球首创 :分子之心开源新AI算法,攻克蛋白质侧链预测与序列设计难题
全球首创 :分子之心开源新AI算法,攻克蛋白质侧链预测与序列设计难题
146 0
|
机器学习/深度学习 人工智能 算法
横向对比 11 种算法,多伦多大学推出机器学习模型,加速长效注射剂新药研发
横向对比 11 种算法,多伦多大学推出机器学习模型,加速长效注射剂新药研发
160 0
|
人工智能 算法 安全
让所有人都能做蛋白质结构预测,华为昇思 MindSpore 最新成果将开源
让所有人都能做蛋白质结构预测,华为昇思 MindSpore 最新成果将开源
161 0
|
机器学习/深度学习 人工智能 数据挖掘
中山大学团队通过深度学习和分子模拟加速有理PROTAC设计,助力药物研发
中山大学团队通过深度学习和分子模拟加速有理PROTAC设计,助力药物研发
168 0
下一篇
无影云桌面