普通策略梯度算法 vanilla policy gradient

在 vanilla policy gradient (VPG) 中,一个重要的做法是,将奖励 reward 转换成回报 return。

从环境 env 中采样得到的是奖励,但为了实现策略 policy 的训练,需要将 reward 转换成 return 才行。

从 env 中采样得到:状态、动作、即时奖励。

用于 policy 的训练:状态、动作、回报。

回报 return(t) = reward(t) + discount*reward(t+1) + discount^2*reward(t+2) + ...

即对于状态 s 采取的动作 a 所得到的回报不仅和即时奖励 reward(t) 有关,而且还和以后所有步的奖励有关,只是往后的时间步往长,影响越小,因此使用折扣函数。

这种做法没有使用贝尔曼迭代。bbs://什么是贝尔曼迭代/

# We need to compute the empirical return for each time step along the
# trajectory
returns = []
return_so_far = 0
for t in range(len(rewards) - 1, -1, -1):
    # t from 99 to 0
    re ... ... 
评论:
  • [#{{item.num}}] {{item.post.nickname}}

    {{item.post.textarea}}

图文信息
发布者 inksci
更新时间 2019-11-30 21:43:21
访问数 20
全部 全部文章

墨之科技,版权所有 © Copyright 2017-2027

湘ICP备14012786号     邮箱:ai@inksci.com