强化学习
这一章会讲基于策略的强化学习Policy-based Reinforcement learning
前言
说明一下:这是我的一个学习笔记,课程链接如下:最易懂的强化学习课程
公众号:AI那些事
一、policy函数
我们回顾一下Action-Value Functions:
Policy函数记作π(a|s),是一个概率密度函数,我们可以用他来自动控制agent运动,策略函数的输入是当前状态s,它的输出是一个概率分布,给每一个输出一个概率值,有了各个动作的概率值,agent就会做一次随机抽样得到动作a,每个动作都可能被抽到,概率越大的动作越容易被抽到。
所以说只要有了一个好的策略函数π,我们就可以用π来自动控制agent运动,但是我们怎样才能得到这个策略函数呢?
假如这个游戏只有5个动作10个状态那很好办,我们画一张5*10的表,表里面每一格对应一个概率,我们通过玩游戏将这50个概率值算出来就可以了,但是超级玛丽这种游戏有无数个状态,我没法将每个状态的每个动作的概率记在一张表里,想要agent自动玩超级玛丽这种游戏,我没法直接算策略函数。
所以我得到函数近似,学出来一个函数来近似策略函数,函数近似的方法有很多,可以用线性函数、神经网络等,如果用神经网络的话,我们可以将这个函数称为Policy network策略网络,把它记为π(a|s;θ),这里的θ是神经网络的参数,一开始θ是初始化的,然后我们通过学习来改进θ,如果是超级玛丽这个问题我们可以将神经网络设置为:
由于策略函数π是一个概率密度函数,所以π要满足:
这是什么意思呢?是对于所有的动作a,把π函数的输出都加起来要等于1。
这也是为什么要在输出时放