强化学习-reward-shaping-好奇心驱动-调研

强化学习-reward-shaping-好奇心驱动-调研

前言:

最近在调研model-based和好奇心驱动,以及归整HER的内容。
关于好奇心驱动,我只是简单看过这个名词,知道有这么个操作,但实际的论文我一篇都没有看过,因此今天做一个简单的知识梳理。

快速阅览:

一、Curiosity-driven Exploration by Self-supervised Prediction

这是OpenAI的spinning up推荐的第一篇好奇心驱动的文章

参考博客:强化学习中的好奇心机制论文(1)

这篇文章应该是最基础的好奇心驱动,17年的ICML,目前引用数为1002,非常之高!
亮点有俩,一张图就能解释清楚:
在这里插入图片描述
上图中左边,描述的信息流:
状态st经过策略 π \pi π,获得动作at, at和环境E交互,拿到了下一步的状态st+1,并且将st, at, st+1输入内部好奇心模型(Intrincis Curiosity Module,ICM),拿到了内部好奇心奖励r_t^i,具体过程看右图;
状态st经过特征提取模型features,拿到了维度更低的特征向量 ϕ \phi ϕ(st),将 ϕ \phi ϕ(st)和at输入到forward model中,预测出下一步的特征向量 ϕ \phi ϕ(st+1)_hat,这如果和真实的 ϕ \phi ϕ(st+1)差距不大,那么说明当前的st, at,st+1,是之前forward model学习过的,即agent经历过的。如果差距大,那么就是新的st,这完全可以用作评价好奇心的指标!

至于后面的逆运动学的作用,上面的参考博客说的是:

使用Inverse Model输出预测动作 [公式]的优点:feature提取模块获得的特征只包含受agent动作影响的那一部分。

这个实验的最终结果:
在这里插入图片描述
任务有图像输入的游戏,有走迷宫,效果都还可以;
最后加一张内部奖励的公式:
在这里插入图片描述

二、random network distillation

DRL中的探索方法的主流思路是对novel state给一定的bonus,从而鼓励agent学习探索novel state。
主流做法一般分为两种:
1)count-based,给每个state进行visit次数的记录,visit次数越多,bonus越小,其背后的直观含义是,认为见得越少的state越novel
2)prediction error,例如predict forward dynamics (s, a, s’),用prediction error来作为bonus,直观含义是,prediction error越小(information gain越少)说明对该状态越掌握,越熟悉

  • 强化学习之reward shaping有关论文简述
    这篇博客讲了好几种reward shaping的方式,直观理解,公式,公式讲解,简洁明了。
    第一个就是RND,这个鬼东西,最终的实验结果我个人认为不够solid…三个实验,只有一个有明显的阶跃提升,其他的都不相上下。这算什么嘛~
    它的核心功能蛮有意思的:

设随机函数为f,预测函数为p。
初始:任给x,|p(x)-f(x)| 大。含义:认为每个状态都访问的少。
训练后:p(x)逐渐接近f(x),在训练数据上拟合的好,也就是对于访问过的状态,差值小。含义:认为那些差值小的状态访问的多,差值大的状态访问的少。

我的整体评价,提供了一个新的评价好奇心的方式,但是效果不好说~

三、好奇心驱动的强化学习:从信息论开始

虽然这篇博客介绍的方法实验太简单,最终性能可能也不会好,但提出了一个好奇心的代价的概念,这个很少有人研究的。

整体评价同上~

四、Episodic Curiosity Through Reachability

直接copy博客:强化学习中的好奇心机制论文 (2)
说实话我没太看懂~

本篇论文的核心 idea 是使用 episodic memory 建模好奇心 reward,以解决 agent 的拖延行为。拖延行为产生的原因是环境中存在仅需几个 action 就可以大幅改变 State 的情况,举例说明。假设迷宫环境的某面墙上存在着一个电视,agent 只需要不断换台,就可以获得答复改变的 State。继而导致 agent 一直停在原地看电视,产生拖延行为。一个直观的解决办法是只给 agent 需要一定努力产生到达的新 State 以较高的奖励。

该直观解决办法具体思路如下图所示。我们通过 Reachablity 来定义状态的 novelty。一些 agent 之前观察过的 State 被存放在 episodic memory 中,当某状态 State 只需要小于 k 步,就可以从 memory 中另一个状态达到至该状态,那么我们认为该状态的 novelty 较低;反之,我们认为该状态为 novelty 的状态。
在这里插入图片描述

状态的 Reachability 由如下图 (左) 所示的 Reachablity network 计算得出。Reachablity network 由 Embedding network 和 Comparator network 两个主要模块组成。Embedding network 将输入的 State 映射为对应的特征向量,转换得到的特征向量与 episodic memory 中保存的特征向量输入 Comparator network 中,计算出相关的 Reachablity 值。Reachablity network 本质上是使用 logistic regrression loss 训练得到的分类器:当某个 memory 中的 State 可以在小于 k 步 action 达到输入的 State 的概率越低,该网络输出的预测值应该接近 0;反之,预测值接近 1。

五、李飞飞组:构建好奇心驱动的神经网络,复制婴儿学习能力

机器之心的博客
这个18年的引用15,回头再看吧~

六、Large-Scale Study of Curiosity-Driven Learning

还没来的及看。

七、go-explore!

张楚珩-【强化学习 41】Go-Explore
第一版本直接看原博客就够了~

总结:

还有好多没看,最后恳请大家推荐一些,经典的、好使的、好奇心驱动领域相关的工作或者资料~

联系方式:

ps: 欢迎做强化的同学加群一起学习:

深度强化学习-DRL:799378128

欢迎关注知乎帐号:未入门的炼丹学徒

CSDN帐号:https://blog.csdn.net/hehedadaq

极简spinup+HER+PER代码实现:https://github.com/kaixindelele/DRLib

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
问题定义:本文在产品质量信息不对称的情况下,在基于奖励的众筹活动中研究企业家的定价策略。 我们提出了两种信号传导机制,并研究了在不同市场条件下这些机制的相对性能。学术/实践相关性:该问题与实践有关,因为不对称的质量信息是基于奖励的众筹中的主要关注点; 高素质的企业家正在寻找可靠的机制来向客户传达他们的质量。方法:我们开发了一种既有资金投入又有固定销售期的程式化博弈论信号模型,可以捕获企业家和客户之间不对称的质量信息。缺乏强大粉丝群的高素质企业家,我们提出了一种有关质量信号的新理论。 在很多情况下,低廉的融资价格可能是唯一需要的信号工具(即,单价信号)。 高素质的企业家应在融资期内为客户提供大量优惠,以增加成功开展活动以达到常规销售期的机会。 但是,如果这样的企业家在常规销售期间承诺自己的未来价格(即两次价格信号),则可以提高其融资价格。 我们将融资目标水平定为特征,使企业家能够通过一价或二价机制来传达质量信号。 尤其是,我们表明,在广泛的融资目标水平范围内,二价信号似乎是合理的。 当一价和二价信号都合理时(即融资目标水平不大),潜在的高,低质量水平之间的差距以及市场信号对客户对产品估值的准确性正常的销售期决定了更有效的信号传导机制。管理意义:企业家应注意融资和正常销售期间的定价,因为它在信号质量信息中起着至关重要的作用。 我们的发现表明在众筹中实用的质量信号。 我们证明了在基于奖励的众筹中,信号成本与学习消费者偏好的价值之间存在权衡。 我们证明了价格承诺如何在不严重损害资金价格折衷的情况下,显着提高了高质量企业家的质量信号传递的可能性,从而使众筹平台对高质量企业家具有吸引力。
以下是使用 Python 和 SUMO(Simulation of Urban MObility)与强化学习 Q-learning 结合的代码示例: ```python import traci import numpy as np # 定义 Q-learning 算法的相关参数 Q = np.zeros((num_states, num_actions)) alpha = 0.1 gamma = 0.6 epsilon = 0.1 # 定义状态和动作数量 num_states = ... num_actions = ... # 初始化 SUMO 环境 sumoCmd = ["sumo", "-c", "path/to/sumo/config/file"] traci.start(sumoCmd) # 开始执行 Q-learning 算法 for episode in range(num_episodes): # 重置环境并获取初始状态 traci.load(["-c", "path/to/sumo/config/file"]) state = ... # 执行 Q-learning 算法 while not done: # 使用 epsilon-greedy 策略选择动作 if np.random.uniform(0, 1) < epsilon: action = np.random.randint(0, num_actions) else: action = np.argmax(Q[state, :]) # 执行动作并获取下一个状态和奖励 reward = ... next_state = ... # 更新 Q 值 Q[state, action] = (1 - alpha) * Q[state, action] + alpha * (reward + gamma * np.max(Q[next_state, :])) # 进入下一个状态 state = next_state # 保存本次训练结果 ... # 结束 SUMO 环境 traci.close() ``` 在此示例代码中,我们使用了 Q-learning 算法来控制 SUMO 的交通流,其中 Q 表示状态-动作对的价值,alpha 表示学习率,gamma 表示折扣因子,epsilon 表示 epsilon-greedy 策略中的 epsilon。我们首先初始化了 Q 值表,然后使用 epsilon-greedy 策略选择动作,执行动作并获取下一个状态和奖励,然后更新 Q 值。在每个 episode 结束后,我们保存了本次训练结果。最后,我们结束了 SUMO 环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hehedadaq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值