【强化学习实验】- 策略梯度算法

1.实验内容

策略梯度算法文章中2.2 策略梯度算法。

通俗总结

① 优胜劣汰

② 学如逆水行舟,不进则退。

2.实验目标

2.1 构建策略模型

python 复制代码
class PolicyNet(torch.nn.Module):
    def __init__(self, state_dim, hidden_dim, action_dim):
        super(PolicyNet, self).__init__()
        self.fc1 = torch.nn.Linear(state_dim, hidden_dim)
        self.fc2 = torch.nn.Linear(hidden_dim, action_dim)
    # 输入就是state, 输出就是一个action分布
    def forward(self, x):
        x = F.relu(self.fc1(x))
        x = self.fc2(x)
        return F.softmax(x, dim=1)

2.2 目标函数 及其 loss函数

loss = -微分对象=-Q*log概率

python 复制代码
def update(self, transition_dict):
    state_list  = transition_dict['states']
    action_list = transition_dict['actions']
    reward_list = transition_dict['rewards']
    # 每个episode为单位, 计算动作价值的累计收益
    G = 0
    
    # 倒放数据,计算动作的累计收益
    self.optimizer.zero_grad()
    for i in range(len(reward_list)-1, -1, -1):
        state = torch.tensor([state_list[i]]).to(self.device)
        action = torch.tensor([action_list[i]]).view(-1, 1).to(self.device)
        G = reward_list[i] + self.gamma*G
        logP = torch.log(self.policy_net(state).gather(1, action))
        loss = -G*logP
        loss.backward()
    self.optimizer.step()

2.3 思考算法的优缺点

a、仅使用sar数据,可能会限制算法的能力上线

b、无偏,但是方差比较大

3.完整代码

见附件

4.实验结果

模型训练750个epoch接近收敛,而后震荡收敛。

尝试扩大epoch,效果如下:

结论:总的来说,可以收敛,但是收敛效果并不是很好,后续和AC算法做一下对比。

有没有小伙伴知道为啥后期收敛效果不好?欢迎评论指教。

相关推荐
后端小肥肠1 分钟前
一人公司如何用 WorkBuddy + Obsidian 搭一套长期记忆系统?
人工智能·aigc·agent
RFID舜识物联网1 分钟前
破局“信息孤岛”:RFID耐高温标签重塑汽车喷漆车间可视化
大数据·人工智能·科技·物联网·安全·汽车
05大叔2 分钟前
预训练模型演化,提示词工程
人工智能·深度学习·自然语言处理
BU摆烂会噶2 分钟前
【LangGraph】House_Agent 实战(一):架构与环境配置
人工智能·vscode·python·架构·langchain·人机交互
小小测试开发3 分钟前
OpenAI 模型攻克离散几何 80 年难题:Erdős 单位距离猜想被 AI 证明
人工智能·算法·机器学习
moonsims4 分钟前
从“传感器融合”升级为“多机器人约束融合系统”-Factor Graph 多约束融合
人工智能·算法
tedcloud1235 分钟前
agent-skills部署教程:打造工程化AI Agent系统
服务器·人工智能·系统架构·powerpoint·dreamweaver
测试员周周6 分钟前
【Appium 系列】第15节-视觉测试 — 截图、对比、视觉回归
人工智能·python·数据挖掘·回归·appium·测试用例·测试覆盖率
Dfreedom.9 分钟前
模型剪枝完全指南:从理论到实践,打造高效深度学习模型
人工智能·算法·机器学习·剪枝·模型加速
开始脱发的自然卷10 分钟前
用 Excel 手算 LSTM:从四个门到梯度下降的完整过程
人工智能