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

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算法做一下对比。

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

相关推荐
向上的车轮20 小时前
AI Infra 是什么?AI Infra的发展趋势是怎样的?
人工智能
liangshanbo121520 小时前
Express SSE 流式输出实战:从入门 Demo 到 AI 生产级架构
人工智能·架构·express
安全指北针20 小时前
AI Agent自主入侵真实系统:OpenAI和Anthropic两大模型接连“失控“,给安全行业敲响了什么警钟?
人工智能·安全
2601_9657996820 小时前
2026 在线笔试平台深度测评与选型指南:从功能、稳定性、AI能力、防作弊全面分析
人工智能·笔记·功能测试
2601_9494999420 小时前
芯瑞科技 DT-1414 光模块工程实测:完美兼容博通(安华高) HFBR-1414PTZ,VCSEL 替代方案
大数据·网络·人工智能·科技·光模块
城事漫游Molly20 小时前
研究论证的四要素:主张、理由、证据、保证——用AI逐一检验
人工智能·ai for science·论文发表·博士生必读·论证argument·科研论文投稿
字节跳动视频云技术团队21 小时前
AI 视频降本的三种做法,只有一种不牺牲画质
人工智能·aigc
自动化测试行业观察21 小时前
从“自动化”到“智能化”:TestMan AI测试平台引领软件测试范式转移
运维·自动化测试·人工智能·测试工具·自动化·app测试·移动应用测试
HyperAI超神经21 小时前
在线教程|ProteinGym 第一名!VenusREM 用「检索增强」预测蛋白突变影响,加速蛋白质设计
人工智能·深度学习·生物信息学·大模型推理·生物医学
合调于形21 小时前
Bianfchheng (Baf) 《边城(八)》全文汉语拼音字母标调实测案例
人工智能·自然语言处理·人机交互·语音识别·学习方法