【5分钟paper】基于近似动态规划的学习、规划和反应的集成架构

简介: 【5分钟paper】基于近似动态规划的学习、规划和反应的集成架构
  • 论文题目:Integrated architectures for learning, planning, and reacting based on approximating dynamic programming

所解决的问题?

  提出Dyna-PI结构和Dyna-Q结构。

背景

  Dyna结构是用机器学习的方法逼近动态规划算法,动态规划算法本身并不是一种学习算法,是一种居于模型的最优策略计算方法。它与state-space search算法非常像,但是与之不同的是动态规划是一种增量式的学习算法,并不考虑action sequences。正是这种增量式的学习算法,使得其更容易处理随机环境和非完美信息问题。对于learned world model问题,通常都是随机的和不确定的,因此动态规划算法就非常合适。Dyna框架就是learn a world model online,与此同时,用动态规划算法学习规划最优行为。

所采用的方法?

Dyna-PI:Dyna by Approximating Policy Iteration

  Dyna-PI中的PI表示的是Policy Iteration,其由四大组成部分:

  1. policy:接收一个当前状态,产生一个动作。
  2. world:接收一个动作,产生下一个状态和奖励信息。
  3. world model:与real model类似,接收状态动作,输出下一个状态
  4. evaluation function:评估状态的好坏。

  其结构如下所示:

  Evaluation Function和Policy可以用函数近似的方法来拟合:决策树、K-D tree,神经网络或者符号规则。

  算法流程

  但是当world model发生改变之后,算法需要很长一段时间才能去适应改变了的model。产生这类问题的原因在于,算法收敛之后,对于非最优策略下的action是很少去选择的,概率基本为0,因此当model改变之后,需要大量的采样才能知道新的最优策略。

Dyna-Q:Dyna by Q-Learning

  将Q-Learning算法融入进来,其实也就是max那一步引入进来,并且作者在选择动作的时候用的玻尔兹曼分布,并且在奖励函数上加噪声来增加探索。

总结

  算法分为两步:1. 使用当前策略与环境互动产生数据,并用这些数据学一个world model出来。2. 基于learned model产生的数据也用来做策略改进,进而减少与真实model的交互。

其它参考链接

相关文章
|
3月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
157 3
|
4月前
|
缓存 Devops jenkins
专家视角:构建可维护的测试架构与持续集成
【10月更文挑战第14天】在现代软件开发过程中,构建一个可维护且易于扩展的测试架构对于确保产品质量至关重要。本文将探讨如何设计这样的测试架构,并将单元测试无缝地融入持续集成(CI)流程之中。我们将讨论最佳实践、自动化测试部署、性能优化技巧以及如何管理和扩展日益增长的测试套件规模。
70 3
|
1月前
|
负载均衡 算法
架构学习:7种负载均衡算法策略
四层负载均衡包括数据链路层、网络层和应用层负载均衡。数据链路层通过修改MAC地址转发帧;网络层通过改变IP地址实现数据包转发;应用层有多种策略,如轮循、权重轮循、随机、权重随机、一致性哈希、响应速度和最少连接数均衡,确保请求合理分配到服务器,提升性能与稳定性。
232 11
架构学习:7种负载均衡算法策略
|
2月前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
74 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
2月前
|
人工智能 自然语言处理
RWKV-7:RWKV系列开源最新的大模型架构,具有强大的上下文学习能力,超越传统的Attention范式
RWKV-7是RWKV系列的最新大模型架构版本,具有强大的上下文学习能力,超越了传统的attention和linear attention范式。本文详细介绍了RWKV-7的主要功能、技术原理及其在多语言处理、文本生成等领域的应用场景。
178 7
RWKV-7:RWKV系列开源最新的大模型架构,具有强大的上下文学习能力,超越传统的Attention范式
|
4月前
|
测试技术
软件质量保护与测试(第2版)学习总结第十三章 集成测试
本文是《软件质量保护与测试》(第2版)第十三章的学习总结,介绍了集成测试的概念、主要任务、测试层次与原则,以及集成测试的不同策略,包括非渐增式集成和渐增式集成(自顶向下和自底向上),并通过图示详细解释了集成测试的过程。
104 1
软件质量保护与测试(第2版)学习总结第十三章 集成测试
|
4月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
486 1
|
5月前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
105 19
|
4月前
|
Java Spring
springboot 学习十一:Spring Boot 优雅的集成 Lombok
这篇文章是关于如何在Spring Boot项目中集成Lombok,以简化JavaBean的编写,避免冗余代码,并提供了相关的配置步骤和常用注解的介绍。
196 0
|
4月前
|
机器学习/深度学习 算法 前端开发
集成学习任务七和八、投票法与bagging学习
集成学习任务七和八、投票法与bagging学习
57 0