前段时间抽空学习了《百度强化学习基础课程》强化学习7日打卡营-世界冠军带你从零实践,总共七天的视频+线上作业(视频地址:世界冠军带你从零实践强化学习),让我这个小白基本对于强化学习有了简单的理解,知识虽然是灌进脑袋里,但仍是一团浆糊,好记性不如烂笔头,后续会多写笔记整理下自己的对于课程所学的理解、思考和发散,今天先从最简单的PG算法开始,然后到最近刚有了解的PPO算法。
PG算法原理
PG算法即是基于策略(Policy-based
),不同于Value-based
的算法的Q函数,其是直接优化策略函函数,在深度强化学习中,其一般是采用神经网络拟合策略函数π(s,a)
,而优化的目标是策略函数的期望回报,即所有策略路径同策略路径发生概率p的加权和,当迭代次数足够的情况,可以用所有迭代的策略路径回报的平均值来表示。
在paddle中使用PG是非常简单的,通过如下调用PG算法
from parl.algorithms import PolicyGradient
然后可以用paddle创建一个简单的模型。
class Model(parl.Model):
def __init__(self, act_dim):
act_dim = act_dim
hid1_size = act_dim * 10
self.fc1 = layers.fc(size=hid1_size, act='tanh')
self.fc2 = layers.fc(size=act_dim, act='softmax')
def forward(self, obs): # 可直接用