当前位置: 首页 > wzjs >正文

wdcp 防盗链 网站不能打开开发网站的公司

wdcp 防盗链 网站不能打开,开发网站的公司,企业邮箱注册登录入口,著名的国外设计网站有哪些2.策略梯度方法 目标是使策略 不断更新,回报更高。 计算每一个轨迹的回报,和对应的概率 目标是使回报高的轨迹概率应该高。这样整个策略的期望回报也会高。 什么是策略期望回报? 就是用这个策略跑了若干个轨迹,得到回报&#x…

2.策略梯度方法

目标是使策略 不断更新,回报更高。

计算每一个轨迹的回报,和对应的概率
目标是使回报高的轨迹概率应该高。这样整个策略的期望回报也会高。

什么是策略期望回报?
就是用这个策略跑了若干个轨迹,得到回报,然后求平均

2.1 策略梯度的主要原理

![外链图片转存失败,源

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

    # 1. 采样一个完整的 episodelog_probs = []  # 存储每个 (s_t, a_t) 的 log π(a_t|s_t)rewards = []    # 存储每个时间步的奖励 r_twhile not done:action_probs = policy_net(state_tensor)  # π(a|s)action = sample_action(action_probs)     # a_t ~ π(a|s)log_prob = torch.log(action_probs[action])  # log π(a_t|s_t)log_probs.append(log_prob)next_state, reward, done = env.step(action)rewards.append(reward)# 2. 计算每个时间步的折扣回报 G_tdiscounted_rewards = compute_discounted_rewards(rewards, gamma=0.99)# 3. 计算策略梯度损失policy_loss = []for log_prob, G_t in zip(log_probs, discounted_rewards):policy_loss.append(-log_prob * G_t)  # 负号因为 PyTorch 默认做梯度下降# 4. 反向传播total_loss = torch.stack(policy_loss).sum()  # 求和所有时间步的损失optimizer.zero_grad()total_loss.backward()  # 计算梯度 ∇θ J(θ)optimizer.step()       # 更新 θ ← θ + α ∇θ J(θ)

2.2 Reinforce 算法,也称为蒙特卡洛策略梯度,是一种策略梯度算法,它使用来自整个 episode 的估计回报来更新策略参数

import numpy as np
import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as Fclass PolicyNetwork(nn.Module):"""策略网络,输入状态,输出动作概率"""def __init__(self, state_dim, action_dim, hidden_dim=64):super(PolicyNetwork, self).__init__()self.fc1 = nn.Linear(state_dim, hidden_dim)self.fc2 = nn.Linear(hidden_dim, action_dim)def forward(self, x):x = F.relu(self.fc1(x))x = F.softmax(self.fc2(x), dim=-1)return xdef reinforce(env, policy_net, optimizer, num_episodes=1000, gamma=0.99):"""REINFORCE算法实现参数:env: 环境policy_net: 策略网络optimizer: 优化器num_episodes: 训练episode数量gamma: 折扣因子返回:每个episode的奖励列表"""episode_rewards = []for episode in range(num_episodes):state = env.reset()log_probs = []rewards = []# 采样一个完整的episodedone = Falsewhile not done:# 将状态转换为tensorstate_tensor = torch.FloatTensor(state).unsqueeze(0)  # shape: (1, state_dim)# 通过策略网络获取动作概率action_probs = policy_net(state_tensor)  # shape: (1, action_dim)# 从概率分布中采样一个动作action = torch.multinomial(action_probs, 1).item()# 也可以# dist = torch.distributions.Categorical(action_probs)# action = dist.sample()  # 标量值# 计算动作的log概率log_prob = torch.log(action_probs.squeeze(0)[action])  # shape: scalar# 执行动作next_state, reward, done, _ = env.step(action)# 存储log概率和奖励log_probs.append(log_prob)rewards.append(reward)# 更新状态state = next_state# 计算episode的折扣回报discounted_rewards = []R = 0for r in reversed(rewards):R = r + gamma * Rdiscounted_rewards.insert(0, R)# 标准化折扣回报(减少方差)discounted_rewards = torch.FloatTensor(discounted_rewards)discounted_rewards = (discounted_rewards - discounted_rewards.mean()) / (discounted_rewards.std() + 1e-9)# 计算策略梯度损失policy_loss = []for log_prob, R in zip(log_probs, discounted_rewards):policy_loss.append(-log_prob * R)  # 负号因为我们要最大化回报# 反向传播optimizer.zero_grad()policy_loss = torch.stack(policy_loss).sum()  # shape: scalarpolicy_loss.backward()optimizer.step()# 记录总奖励episode_rewards.append(sum(rewards))return episode_rewards

开始以为policy_loss 计算的是策略梯度,感觉很不合理,其实不是的,差了一个求导呢。

在这里插入图片描述

在这里插入图片描述

总结,policy_loss 的梯度 和 目标函数的梯度符号相反。
两者的梯度 符号相反。因此最大化目标函数等于最小化policy_loss


文章转载自:

http://jPHUiL3Q.mrfbp.cn
http://5XJ5roY4.mrfbp.cn
http://MnFxY8wO.mrfbp.cn
http://x7HlLCp4.mrfbp.cn
http://JNhYrAh7.mrfbp.cn
http://uQCebyRJ.mrfbp.cn
http://jTjezcix.mrfbp.cn
http://BANYAUQV.mrfbp.cn
http://VdtSFrHR.mrfbp.cn
http://2vJ8lLqP.mrfbp.cn
http://MO4Zn9FT.mrfbp.cn
http://GyoSN9JJ.mrfbp.cn
http://eAFjG283.mrfbp.cn
http://qnUNXb0N.mrfbp.cn
http://p9RP37xO.mrfbp.cn
http://dKLfVCTC.mrfbp.cn
http://p3AgnuLs.mrfbp.cn
http://GupjBo1n.mrfbp.cn
http://lKtAdHOs.mrfbp.cn
http://i3PeIjaA.mrfbp.cn
http://HVAosTI9.mrfbp.cn
http://AWcjMe2B.mrfbp.cn
http://NSISrj9P.mrfbp.cn
http://X3YUsqLm.mrfbp.cn
http://4xWpcqQb.mrfbp.cn
http://pisXbsFh.mrfbp.cn
http://hRRLeW7r.mrfbp.cn
http://5BUwTVPL.mrfbp.cn
http://TEYNa1YT.mrfbp.cn
http://YDxnoHaM.mrfbp.cn
http://www.dtcms.com/wzjs/626890.html

相关文章:

  • 网上开公司一般多少钱安徽网络优化公司
  • 柳州网站制作推荐网页制作排行榜
  • 温州广厦网页制作seo在线工具
  • 网站建设服务合同模板下载网络建设的网站
  • 高清做 视频在线观看网站奥美广告公司
  • 免费培训学校网站源码南京汤山建设银行网站
  • 南阳做网站优化价格互联国际网站
  • 网站备案还要买幕布wordpress实现下载功能
  • 青岛做网站公司有哪些昆山网站建设公司苏州爬虫科技
  • 自己做网站如何赚钱婺源网站建设wyjcwl
  • redis做网站统计公司运营方案模板
  • 绥化北京网站建设wordpress js效果
  • 微信做单网站有哪些电商网站 支付宝接口
  • 设计网站登录框ps怎么做网页设计与制作个人简介
  • 网站建设指南视频教程怎么开发一款app软件
  • 网站定制开发是什么网站建设分金手指专业十三
  • 可以做投票功能的网站百度网网页版登录
  • 做的比较好的设计公司网站惠州网站制作策划
  • 12380网站建设情况说明wordpress 安装证书
  • 淘宝客代理网站怎么做网上搞钱的野路子
  • 把自己的网站卖给别人后对方做违法网站建设合同表(书)
  • 地产网站建设济南建设信息网站
  • 宁波手机网站开发公司网站编辑适不适合男生做
  • 网站运营管理办法交互式英语网站的构建
  • 汕头网站建设推广方法企业融资计划
  • 网站建设企业站模板妞妞的个人网页制作
  • 北京建网站实力公司wordpress评轮审核
  • 精通网站建设工资多少长沙sem培训
  • 做网站怎么哪有专做飞织鞋面的网站
  • 35互联做的网站如何wordpress用户会员插件