You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pgi29wjsp/_book/pingpong/what is reinforce learning.md

30 lines
2.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 什么是强化学习
强化学习是一类算法,是让计算机实现从一开始完全随机的进行操作,通过不断地尝试,从错误中学习,最后找到规律,学会了达到目的的方法。这就是一个完整的强化学习过程。让计算机在不断的尝试中更新自己的行为,从而一步步学习如何操自己的行为得到高分。
它主要包含四个元素Agent、环境状态、行动、奖励强化学习的目标就是获得最多的累计奖励。
让我们想象一下比赛现场:
计算机有一位虚拟的裁判,这个裁判他不会告诉你如何行动,如何做决定,他为你做的事只有给你的行为打分,最开始,计算机完全不知道该怎么做,行为完全是随机的,那计算机应该以什么形式学习这些现有的资源,或者说怎么样只从分数中学习到我应该怎样做决定呢?很简单,只需要记住那些高分,低分对应的行为,下次用同样的行为拿高分, 并避免低分的行为。
计算机就是 Agent他试图通过采取行动来操纵环境并且从一个状态转变到另一个状态当他完成任务时给高分(奖励),但是当他没完成任务时,给低分(无奖励)。这也是强化学习的核心思想。
![](../img/1.jpg)
在强化学习中有很多算法,如果按类别划分可以划分成 model-based (基于模型)和 model-free (不基于模型)两大类。
如果我们的 Agent 不理解环境,环境给了什么就是什么,我们就把这种方法叫做 model-free这里的 model 就是用模型来表示环境,理解环境就是学会了用一个模型来代表环境,所以这种就是 model-based 方法。
Model-free 的方法有很多, 像 Q learning、Sarsa、Policy Gradients 都是从环境中得到反馈然后从中学习。而 model-based 只是多了一道程序,为真实世界建模,也可以说他们都是 model-free 的强化学习, 只是 Model-based 多出了一个虚拟环境,我们可以先在虚拟环境中尝试,如果没问题,再拿到现实环境中来。
model-free 中, Agent 只能按部就班,一步一步等待真实世界的反馈,再根据反馈采取下一步行动。而 model-based能通过想象来预判断接下来将要发生的所有情况然后选择这些想象情况中最好的那种并依据这种情况来采取下一步的策略这也就是围棋场上 AlphaGo 能够超越人类的原因。
![](../img/2.jpg)
在这里主要介绍一下 model-free 中基于策略的一种算法Policy Gradient。在介绍该算法之前我们先要明确一下这个雅达利乒乓球游戏中的**环境状态**是游戏画面,**Agent**是我们操作的挡板,**奖励**是分数,**动作**是上或者下。
![](../img/3.jpg)