强化学习:通过实践学习
在人类的学习过程中,实践是提升技能的关键。以围棋为例,阅读大量专业书籍并不足以让人达到顶尖水平,大量的实践才是成为高手的必经之路。那么对于计算机程序来说,是否也能通过实践来学习呢?这就是强化学习的核心思想。
1. 强化学习循环
强化学习算法虽多样,但都遵循一个标准框架。计算机程序通过反复尝试任务来提升性能,这个过程可概括为一个循环:
1. 收集经验 :让程序(如围棋机器人)进行一批游戏,并记录每一轮的决策和最终结果,这些记录就是经验数据。
2. 训练 :根据经验数据更新程序的行为,使其重复在胜利游戏中做出的决策,避免失败游戏中的决策。常见的训练算法有策略梯度算法、Q - 学习算法和演员 - 评论家算法等。
3. 评估 :通过让程序进行更多游戏,与早期版本或其他AI对比,评估其性能是否提升。
这个循环可以无限重复,逐步提升程序的性能。我们可以将这个循环拆分为多个脚本,先实现一个自对战脚本模拟游戏并保存经验数据,后续再编写训练脚本来更新程序。
graph LR
A[收集经验] --> B[训练]
B --> C[评估]
C --> A
2. 经验的构成
在游戏场景中,经验可分为多个独立的游戏或情节。每个情节有明确的结束点,且各情节之间的决策相互独立。在一个情节内,智能体(程序)会面临环境状态,基于当前状态选择一个动作,然后看到新的状态。新状态不仅
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



