You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradient-bandit agent性能异常低下,请求问题排查与优化指导

Gradient Bandit Agent 性能异常排查求助

我正在研读萨顿与巴托所著的《Reinforcement Learning: An Introduction》,测试第2.7章的Gradient-bandit agent时发现性能极低。已尝试以下调整:

  • 使用平均奖励基线/不使用基线
  • 设置alpha为0.1、0.2、0.3、0.4
  • 初始偏好H设为0、1、10、100

但均无改善。

以下是agent生命周期步骤(动作选择+参数更新)的Python代码(self代表agent):

# for probabilities calculation:
pref_exps = np.exp(self.params["preferences"])
pref_exps_sum = sum(pref_exps)

# choosing a bandit:
choice_dice = np.random.uniform() * pref_exps_sum
accum_pref_exp = 0
for i, pref_exp in enumerate(pref_exps):
    accum_pref_exp += pref_exp
    if accum_pref_exp >= choice_dice:
        self.chosen_bandit_i = i
        break

# self.reward is filled here:
self.perform_bandit(self.chosen_bandit_i)

# updating baseline:
self.params["lifetime"] += 1
self.params["average_reward"] += 1 / self.params["lifetime"] * (self.reward - self.params["average_reward"])

# updating preferences:
for i, pref_exp in enumerate(pref_exps):
    probability = pref_exp / pref_exps_sum
    if i == self.chosen_bandit_i:
        self.params["preferences"][i] += self.params["alpha"] * (self.reward - self.params["average_reward"]) * (1 - probability)
    else:
        self.params["preferences"][i] -= self.params["alpha"] * (self.reward - self.params["average_reward"]) * probability

该代码测试结果性能极差:100个agent各自访问10个单臂老虎机,测试2000步,性能表现如下图表:
100 agents testing over 1000 steps

我参考了相关帖子的修正代码,其逻辑与我的代码基本一致,但对方代码能正常工作。我无法定位错误,恳请协助排查,以让Gradient-bandit agent发挥正常性能。

内容的提问来源于stack exchange,提问作者Daniil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 17:55:12