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

池州网站优化儿童网站建设外文翻译

池州网站优化,儿童网站建设外文翻译,用哪个软件制作网页,网页模版下载目录 一、引言二、强化学习基础回顾#xff08;一#xff09;策略#xff08;二#xff09;价值函数 三、近端策略优化#xff08;PPO#xff09;算法#xff08;一#xff09;算法原理#xff08;二#xff09;PPO 目标函数#xff08;三#xff09;代码示例… 目录 一、引言二、强化学习基础回顾一策略二价值函数 三、近端策略优化PPO算法一算法原理二PPO 目标函数三代码示例以 OpenAI Gym 环境 CartPole 为例 四、直接偏好优化DPO算法一算法原理二DPO 目标函数三代码示例简单示意假设已有偏好数据 五、DPO 与 PPO 对比一数据利用二优化目标三应用场景 六、案例分析一对话系统二自动驾驶 七、结论 一、引言 强化学习在近年来取得了巨大的进展被广泛应用于机器人控制、游戏、自动驾驶等多个领域。近端策略优化Proximal Policy OptimizationPPO算法是强化学习中的经典算法之一而直接偏好优化Direct Preference OptimizationDPO算法则是在其基础上发展而来的一种新算法它在一些场景下展现出了独特的优势。本文将深入探讨 DPO 算法通过与 PPO 算法的对比帮助读者更好地理解这一算法的原理与应用。 二、强化学习基础回顾 在深入了解 DPO 算法之前我们先来回顾一下强化学习的基本概念。强化学习是智能体agent在环境中通过不断试错来学习最优行为策略的过程。智能体根据当前的状态选择一个动作环境会根据这个动作返回一个奖励和新的状态。智能体的目标是最大化长期累积奖励。 一策略 策略policy是智能体从状态到动作的映射通常用 π ( a ∣ s ) \pi(a|s) π(a∣s) 表示在状态 s s s 下选择动作 a a a 的概率。可以把它想象成一个导航仪根据你当前所处的位置状态告诉你应该往哪个方向走动作。 二价值函数 价值函数value function用于评估状态的好坏分为状态价值函数 V π ( s ) V^{\pi}(s) Vπ(s) 和动作价值函数 Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a) 。 状态价值函数 V π ( s ) E π [ ∑ t 0 ∞ γ t r t ∣ s 0 s ] V^{\pi}(s) E_{\pi}[\sum_{t0}^{\infty}\gamma^{t}r_{t}|s_{0}s] Vπ(s)Eπ​[t0∑∞​γtrt​∣s0​s] 其中 γ \gamma γ 是折扣因子 r t r_{t} rt​ 是在时刻 t t t 获得的奖励。简单来说它是在当前状态下按照既定策略行动未来能获得的所有奖励的总和考虑了折扣因子因为越远的奖励对当前决策的影响相对越小。比如你现在站在一个路口状态价值函数就代表了你从这个路口出发按照一定的行走策略最终能收获的所有 “好处” 的预估。 动作价值函数 Q π ( s , a ) E π [ ∑ t 0 ∞ γ t r t ∣ s 0 s , a 0 a ] Q^{\pi}(s,a) E_{\pi}[\sum_{t0}^{\infty}\gamma^{t}r_{t}|s_{0}s,a_{0}a] Qπ(s,a)Eπ​[t0∑∞​γtrt​∣s0​s,a0​a] 它评估的是在当前状态下采取某个具体动作后未来能获得的累积奖励。还是以上述路口为例动作价值函数就是你在这个路口选择向左转、向右转或者直走等不同动作后分别能得到的未来奖励总和。 三、近端策略优化PPO算法 一算法原理 PPO 算法的核心思想是在策略更新时限制新策略与旧策略之间的差异以保证策略更新的稳定性。这就好比你在学习骑自行车你每次尝试的新姿势新策略不能和之前已经掌握的姿势旧策略相差太大不然就很容易摔倒策略不稳定。它通过重要性采样来估计策略更新的梯度然后使用截断的目标函数来优化策略。重要性采样可以理解为从旧策略中选取一些有代表性的样本来指导新策略的更新就像从过去的骑车经验中挑选一些关键的片段来帮助你调整当前的骑车姿势。 二PPO 目标函数 PPO 使用的目标函数是截断的优势目标函数clipped surrogate objective L C L I P ( θ ) E t [ min ⁡ ( r t ( θ ) A ^ t , clip ( r t ( θ ) , 1 − ϵ , 1 ϵ ) A ^ t ) ] L^{CLIP}(\theta) \mathbb{E}_{t}[\min(r_{t}(\theta)\hat{A}_{t}, \text{clip}(r_{t}(\theta), 1 - \epsilon, 1 \epsilon)\hat{A}_{t})] LCLIP(θ)Et​[min(rt​(θ)A^t​,clip(rt​(θ),1−ϵ,1ϵ)A^t​)] 其中 r t ( θ ) π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) r_{t}(\theta)\frac{\pi_{\theta}(a_{t}|s_{t})}{\pi_{\theta_{old}}(a_{t}|s_{t})} rt​(θ)πθold​​(at​∣st​)πθ​(at​∣st​)​ 是重要性采样比 A ^ t \hat{A}_{t} A^t​ 是估计的优势函数 ϵ \epsilon ϵ 是截断参数。这个公式看起来复杂但简单来说就是通过比较新策略和旧策略的采样比以及优势函数来确保策略更新在一个合理的范围内通过截断参数 ϵ \epsilon ϵ 来控制避免更新幅度过大导致不稳定。 三代码示例以 OpenAI Gym 环境 CartPole 为例 import gymimport torchimport torch.nn as nnimport torch.optim as optimfrom torch.distributions import Categorical# 定义策略网络class Policy(nn.Module):def __init__(self, state_size, action_size):super(Policy, self).__init__()self.fc1 nn.Linear(state_size, 128)self.fc2 nn.Linear(128, action_size)def forward(self, x):x torch.relu(self.fc1(x))x self.fc2(x)return Categorical(logitsx)# 超参数gamma 0.99epsilon 0.2learning_rate 3e-4num_epochs 10# 初始化环境和策略网络env gym.make(CartPole-v1)state_size env.observation_space.shape[0]action_size env.action_space.npolicy Policy(state_size, action_size)optimizer optim.Adam(policy.parameters(), lrlearning_rate)for epoch in range(num_epochs):states, actions, rewards [], [], []state env.reset()state torch.FloatTensor(state)done Falsewhile not done:states.append(state)dist policy(state)action dist.sample()actions.append(action)state, reward, done, _ env.step(action.item())state torch.FloatTensor(state)rewards.append(reward)returns []R 0for r in rewards[::-1]:R r gamma * Rreturns.insert(0, R)returns torch.FloatTensor(returns)states torch.stack(states)actions torch.tensor(actions)old_log_probs policy(states).log_prob(actions)for _ in range(3):dist policy(states)log_probs dist.log_prob(actions)ratios torch.exp(log_probs - old_log_probs.detach())advantages returns - policy(states).valuesurr1 ratios * advantagessurr2 torch.clamp(ratios, 1 - epsilon, 1 epsilon) * advantagesloss -torch.min(surr1, surr2).mean()optimizer.zero_grad()loss.backward()optimizer.step()env.close()四、直接偏好优化DPO算法 一算法原理 DPO 算法直接利用人类偏好数据进行策略优化。想象你在学习画画PPO 算法就像是你根据自己每次画画后的自我评价环境奖励来改进绘画技巧而 DPO 算法则是直接参考老师或者其他专业人士对你画作的评价人类偏好来调整绘画方式。它通过构建一个偏好模型将人类对不同策略产生的轨迹的偏好信息融入到策略更新中从而使策略更符合人类的期望。 二DPO 目标函数 DPO 的目标函数基于 KL 散度来衡量新策略与参考策略之间的差异同时考虑偏好奖励 L D P O ( θ ) − E ( s , a ) ∼ π θ [ r p r e f ( s , a ) − α D K L ( π θ ( a ∣ s ) ∣ ∣ π r e f ( a ∣ s ) ) ] L^{DPO}(\theta) - \mathbb{E}_{(s,a)\sim \pi_{\theta}}[r_{pref}(s,a) - \alpha D_{KL}(\pi_{\theta}(a|s)||\pi_{ref}(a|s))] LDPO(θ)−E(s,a)∼πθ​​[rpref​(s,a)−αDKL​(πθ​(a∣s)∣∣πref​(a∣s))] 其中 r p r e f ( s , a ) r_{pref}(s,a) rpref​(s,a) 是偏好奖励 α \alpha α 是平衡系数 π r e f \pi_{ref} πref​ 是参考策略。这个公式的意思是在优化策略时既要考虑人类偏好奖励你画画得到的专业评价分数又要控制新策略与参考策略比如一些经典的绘画风格之间的差异不要太大通过 KL 散度来衡量。 三代码示例简单示意假设已有偏好数据 import torchimport torch.nn as nnimport torch.optim as optim# 假设已有偏好数据 (states, actions, preferences)states torch.FloatTensor([[1.0, 2.0], [3.0, 4.0]])actions torch.tensor([0, 1])preferences torch.FloatTensor([0.8, 0.6])# 定义策略网络class DPO_Policy(nn.Module):def __init__(self, state_size, action_size):super(DPO_Policy, self).__init__()self.fc1 nn.Linear(state_size, 128)self.fc2 nn.Linear(128, action_size)def forward(self, x):x torch.relu(self.fc1(x))x self.fc2(x)return nn.functional.softmax(x, dim-1)state_size 2action_size 2policy DPO_Policy(state_size, action_size)optimizer optim.Adam(policy.parameters(), lr3e-4)alpha 0.1for _ in range(10):dist policy(states)log_probs torch.log(dist.gather(1, actions.unsqueeze(1)))ref_dist torch.FloatTensor([[0.5, 0.5], [0.5, 0.5]]) # 假设参考策略分布kl_divergence torch.sum(dist * (torch.log(dist) - torch.log(ref_dist)), dim1)loss -torch.mean(preferences * log_probs - alpha * kl_divergence)optimizer.zero_grad()loss.backward()optimizer.step()五、DPO 与 PPO 对比 一数据利用 PPO主要利用环境反馈的奖励数据进行策略优化。就像自己独自摸索学习通过自己的成功和失败来总结经验。 DPO直接利用人类偏好数据能更好地捕捉人类的意图和价值观。如同有老师指导直接获取专业的建议和评价。 二优化目标 PPO通过截断目标函数来优化策略关注策略更新的稳定性。强调在学习过程中稳步前进避免突然的大幅度改变。 DPO基于 KL 散度和偏好奖励使策略更符合人类偏好。侧重于让学习结果符合专业标准或大众期望。 三应用场景 PPO适用于大多数传统强化学习场景如机器人控制、游戏等。在这些场景中通过不断试错来优化策略是可行的。 DPO在需要考虑人类偏好的场景中表现出色如对话系统、推荐系统等。因为这些场景需要符合人类的交流习惯和兴趣偏好。 六、案例分析 一对话系统 在对话系统中PPO 算法可以通过最大化奖励如用户满意度评分来优化对话策略。而 DPO 算法可以直接利用人类标注的对话偏好数据例如人类标注员对不同对话回复的偏好使对话策略更符合人类期望的交流方式。比如对于用户询问 “今天天气如何”PPO 可能通过不断尝试不同回复并根据用户反馈奖励来优化回复方式而 DPO 则可以参考人类标注员认为更自然、更合适的回复直接向这个方向优化。 二自动驾驶 在自动驾驶中PPO 可以通过优化车辆行驶的安全性和效率相关的奖励来学习驾驶策略。DPO 则可以利用人类专家对不同驾驶行为的偏好例如对更平稳驾驶行为的偏好来优化驾驶策略。例如在遇到红绿灯时PPO 可能根据通过路口的速度和时间等奖励来决定驾驶动作DPO 则可以根据人类专家认为更舒适、更安全的驾驶方式如提前减速、平稳停车等偏好来调整驾驶策略。 七、结论 DPO 算法作为强化学习中的一种新方法通过直接利用人类偏好数据为策略优化提供了新的思路。与传统的 PPO 算法相比它在一些需要考虑人类因素的场景中具有独特的优势。然而DPO 算法也面临着一些挑战如偏好数据的获取和标注成本较高等。未来随着技术的不断发展相信 DPO 算法将在更多领域得到应用和改进。
http://www.tj-hxxt.cn/news/226369.html

相关文章:

  • 广州番禺区网站建设外国人做旅游攻略网站
  • 工商网站如何做实名阿里云企业网站建设
  • cad培训班一般学费多少钱seo查询站长
  • wordpress 建站视频响应式网站开发源码
  • 服装网站欣赏长沙微信网站公司
  • 中关村能力建设网站网站怎么优化关键词排名
  • 集团公司网站案例网站投放广告赚钱吗
  • 常州网络公司鼎豪网络网站建设海口建设
  • 建设工程主管部门网站长春微信做网站
  • 涉及部署未备案网站百度快照什么意思
  • 济宁网站开发wordpress插件残留数据
  • 南京网站建微网站微名片
  • 2017网站设计如何报价泸州住房和城乡建设厅网站
  • 单页手机网站源码中南路网站建设公司
  • iis 手机网站软件开发外包公司
  • 烟台h5网站建设男女直接做视频网站
  • 网站优化 西安完全自建网站
  • 番禺网站制作多少钱正邦设计招聘
  • 网站后缀有哪些只用html5做网站
  • 自己做网站帮公司出认证证书违法吗什么网站比较容易做权重
  • 莆田网站制作企业seo sem培训
  • 做少儿培训网站的公司贵阳手机网站建设公司
  • 门户网站开发工具高性能标准网站建设进阶指南 pdf
  • 四川省住房和城乡建设厅网站查询付费wordpress
  • 网站设计概念263企业邮箱入口 邮箱登录
  • 电子商务网站策划书模板五种关键词优化工具
  • 做移门配件的网站wordpress汽车主题公园
  • 企业网站建设信息管理平台站长工具网站测速
  • 网站优化模板贸易公司如何找客户
  • 展示型网站功能萧山品牌网站建设