强化学习介绍
强化学习讨论的问题是一个智能体(agent) 怎么在一个复杂不确定的环境(environment)里面去极大化它能获得的奖励。 示意图由两部分组成:agent 和 environment。在强化学习过程中,agent 跟 environment 一直在交互。Agent 在环境里面获取到状态,agent 会利用这个状态输出一个动作(action),一个决策。然后这个决策会放到环境之中去,环境会根据 agent 采取的决策,输出下一个状态以及当前的这个决策得到的奖励。Agent 的目的就是为了尽可能多地从环境中获取奖励。
强化学习和监督学习的对比
强化学习输入的是序列数据,而不是像监督学习里面这些样本都是独立的。
学习器并没有被告诉你每一步正确的行为应该是什么。学习器需要自己去发现哪些行为可以得到最多的奖励,只能通过不停地尝试来发现最有利的动作。
Agent 获得自己能力的过程中,其实是通过不断地试错探索(trial-and-error exploration)。
探索(exploration)和利用(exploitation)是强化学习里面非常核心的一个问题。
探索:你会去尝试一些新的行为,这些新的行为有可能会使你得到更高的奖励,也有可能使你一无所有。
利用:采取你已知的可以获得最大奖励的行为,你就重复执行这个动作就可以了,因为你已经知道可以获得一定的奖励。
因此,我们需要在探索和利用之间取得一个权衡,这也是在监督学习里面没有的情况。
在强化学习过程中,没有非常强的监督者(superv