【发布时间】:2020-03-17 10:10:05
【问题描述】:
我正在解决关于强化学习的 MIT 实验室问题,但我被困在奖励函数上。 特定的代码块是这样的: https://colab.research.google.com/github/aamini/introtodeeplearning/blob/master/lab3/solutions/RL_Solution.ipynb#scrollTo=5_Q2OFYtQ32X&line=19&uniqifier=1
相关代码的一个更简单的版本是:
import numpy as np
rewards=[0.,0,0,0,0,1]
discounted_rewards = np.zeros_like(rewards)
R = 0
for t in reversed(range(0, len(rewards))):
# update the total discounted reward
R = R * .95 + rewards[t]
discounted_rewards[t] = R
discounted_rewards
输出如下:
array([0.77378094, 0.81450625, 0.857375, 0.9025, 0.95 ,1.])
提供的解释是,我们希望鼓励尽早获得奖励。在 for 循环中使用 reversed 有什么帮助?
【问题讨论】:
标签: python python-3.x tensorflow tensorflow2.0 reinforcement-learning