chapter 18 强化学习入门之Q

本文介绍了强化学习的基础算法——QLearning,详细解析了智能体如何通过奖励函数Q[state,action]来决定行为,实现从初始状态到最优策略的学习过程。并通过在Tensorflow中的实例应用,展示了QLearning在迷宫寻宝问题上的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、强化学习基础算法:Q Learning

强化学习中最核心的概念有以下几个:

  • 智能体(agent)
  • 环境(environment)
  • 动作(action)
  • 奖励(reward)
  • 状态(state)

智能体存在于环境中,它在环境中做出一个动作,会到达一个相应的状态,得到一个相应的奖励。在实际的强化学习中,每个状态的reward是已知的(即人为定义的),当智能体go right,其会得到正向奖励,反之,则会得到负向奖励。
那么,智能体如何决定要做出什么样的动作呢?智能体将根据“奖励函数Q[state,action]”来决定自己在某一状态state下,要采取何种action。Q[state,action]也即“强化学习的学习目标”,其具体学习步骤如下:
step1:人为定义智能体到达各个state下,会得到多少reward(已知量);
step2:初始化Q[state,action] = 0,即在各个state下,执行各个action的Q均等于0;
step3:根据epsilon-greedy(Q,state)策略,告知智能体在state下应该采取何种action;
step4:根据智能体所采取的action将到达哪个state1,来决定智能体将得到多少reward1;
step5:利用“固有公式(参见code)”,更新智能体在未采取action时的状态state下,Q[state,action]的值,Q[state,action] = f(Q[state,action], reward1, Q[state1,:].max())。
将上述的训练过程进行多次Iteration,Q[state,action] 将被逐渐优化,从而使智能体在各个state下的action趋于“最优策略”。

二、Q Learning 在Tensorflow中的实现

下面给出了“走迷宫”的 Q Learning实现,我们的目标是要学习一个奖励函数Q[state,action],使得智能体A根据Q的指示,能够最快的获得宝藏O。
1、问题描述:


2、code实现:
env.py 定义迷宫环境;
q_learning.py 定义了一个完整的Q Learning算法;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Sarah ฅʕ•̫͡•ʔฅ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值