首页 文章 精选 留言 我的

精选列表

搜索[optimization],共1306篇文章
优秀的个人博客,低调大师

PPO(Proximal Policy Optimization)近端策略优化算法

强化学习可以按照方法学习策略来划分成基于值和基于策略两种。而在深度强化学习领域将深度学习与基于值的Q-Learning算法相结合产生了DQN算法,通过经验回放池与目标网络成功的将深度学习算法引入了强化学习算法。其中最具代表性分别是Q-Learning与Policy Gradient算法,将Q-Learning算法与深度学习相结合产生了Deep Q Network,而后又出现了将两种方式的优势结合在一起的更为优秀Actor Critic,DPG, DDPG,A3C,TRPO,PPO等算法。而本文所采用的是目前效果较好的近端策略优化算法PPO。 PPO算法思想 PPO算法是一种新型的Policy Gradient算法,Policy Gradient算法对步长十分敏感,但是又难以选择合适的步长,在训练过程中新旧策略的的变化差异如果过大则不利于学习。PPO提出了新的目标函数可以再多个训练步骤实现小批量的更新,解决了Policy Gradient算法中步长难以确定的问题。其实TRPO也是为了解决这个思想但是相比于TRPO算法PPO算法更容易求解。 PolicyGradient回顾 重新回顾一下PolicyGradient算法,Policy Gradient不通过误差反向传播,它通过观测信息选出一个行为直接进行反向传播,当然出人意料的是他并没有误差,而是利用reward奖励直接对选择行为的可能性进行增强和减弱,好的行为会被增加下一次被选中的概率,不好的行为会被减弱下次被选中的概率。 策略如下图方式定义,详细公式信息接下来会介绍。 公式推导 PolicyGradient算法原来是On-Policy的,(感谢指正,更正:PPO也是on-policy)。 important sampling不能算是off-policy,PPO里面的 important sampling 采样的过程仍然是在同一个策略生成的样本,并未使用其他策略产生的样本,因此它是on-policy的。而DDPG这种使用其他策略产生的数据来更新另一个策略的方式才是off-policy On-Policy:只与相同的环境下进行交互学习 off-Policy:可以与学习自己环境下的经验也可以获得其他环境下的经验 策略τ的回报期望如下 原来是使用 与环境交互,当 更新时就对训练数据重新采样,那要变成off-policy根据之前的经验就需要使用另外一个网络来帮助采样,就像DQN里的targetNet,现在目标是使用采样来训练被固定所以重新使用采样数据。 上图中所示,PolicyGradient是model-free的所以不知道模型的概率,所以只能通过与真实环境数据的分布P(x)中去采样加和平均求期望。但现在我们为了把它变成offpolicy,就不能直接从P(x)中去直接采样。这时候把期望等价写成然后引入新的采样分布q(x)进行变换 ,这时候我们发现这和最大熵模型引入隐含变量的套路有点相似,然后就可以把原来x~p的期望改写成x~q的期望。所以最终可以得到 上述推导就是important sample的技巧。在这个式子中其中的​就是important weight。通过这个公式我们也可以想象得到,如果采样的分布p与真实的分布q差得很多,那么肯定会导致两个期望不一致。下图通过举了一个例子来讲解 上图的p(x)与q(x)差异很大左边为负右边为正,当采样次数很少右边采样很多的情况,就会得出与右边为正的错误结果,但是如果在左边也被采样到一个样本时这个这个时候因为​作为权重修正就相当于给左边的样本一个很大的权重,就可以将结果修正为负的。所以这就是 important weight的作用。但是我们也能看出来,采样次数要足够多,万一采样次数少只采到了一边那就凉凉了。 所以有了上述的 Important Sampling的技巧我们就可以将原来的on-policy变成off-policy了。 上文提到我们不希望与的差距过大,所以要想办法约束它。KL散度也叫相对熵,可以用来衡量两个分布之间的差异性。所以最直接的办法,就是对目标函数增加一个约束条件让他的KL散度小于。这个办法其实就TRPO的思想啦~ 直接求解TRPO这种带约束的问题是十分复杂的,他与PPO算法的效果差不多,但是PPO将KL散度作为惩罚项,更加容易求解。 另外还有一种PPO2算法效果比PPO要好一些,如下图所示利用clip函数将其固定在了一定的范围之内,同样也可以起到限制约束的作用。 承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,专业回答请走知乎,详谈请联系QQ号757160542,非诚勿扰。 本文同步分享在 博客“于小勇”(CSDN)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

优秀的个人博客,低调大师

核心资讯基础架构优化(Core Infrastructure Optimization)了解

Core IO 作为微软IT 基础架构优化框架中的一个部分。该框架包含三个部分:CIO ,BPIO 和APIO : CIO (核心基础架构优化) 专注于核心基础机构组件,如AD ,SMS ,MOM ,ISA ,CA 等方面; BPIO (生产力基础架构优化) 专注于提高企业生产力,员工协作和商务智能等,如OCS ,SPS ,BI 等; APIO (应用平台基础架构优化) 专注于提高企业应用系统开发和部署,如 SQL ,VS 等。就CIO而言,微软提供了一个4阶段模型,如下图: CIO 模型定义了4 个层次:基础、标准、合理、灵活 基础层次 总的来讲:主要靠手动方式管理,局部性的管理流程,较少的集中化管理,没有或非强制性的安全、备份、镜像等等管理策略。补丁、软件和服务的提供和分发基本是手动的。 标准化层次 使用标准和策略进行桌面和服务的管理,控制机制引入了网络中;使用AD 服务管理安全、访问控制。客户已经认识到标准化和策略的重要,但是仍然有提升的空间。补丁、软件、桌面服务通过中等或高开销的中等接触手段提供。有软硬件资产清单,并开始license 管理。开始安全管理,但是Internet 安全是脆弱的。 合理化层次 在桌面和服务上面的花费是最低的,流程和策略被优化并开始成为支持和扩展商务的重要角色。安全挑战被迅速回应和收集。零接触手段的使用帮助最小化开销和事件用于部署和技术响应。使用严格的策略和控制保证安全,从桌面到服务器,到防火墙到外网。 灵活化层次 完全认识到IT 架构在帮助提升商业价值和领先于竞争者方面的价值。成本完全控制,用户、数据、桌面和服务完全集成;用户之间和部门之间的协作完全遍及;移动用户不用考虑位置可以获得几乎等同于现场的服务级别;流程完全自动化;IT 依据商务需求进行组合和管理;技术上的额外投资都可以产生特定的、迅速的、可预测的商务优势。为了确保补丁管理和符合已建立的安全策略而使用的自行开发的软件和类独立系统,允许动态基础架构自动处理,帮助实现可靠。低成本和提高服务级别。 总的过程就是通过一系列自检过程,识别本身核心架构的层次,通过一系列产品、技术、策略等实现到高层次的升级,从而完成整个IT 核心基础架构的优化。 为了实现基础架构的优化,模型在每一个层次上又划分为5 个部分: 1. 身份和访问管理2. 桌面设备和服务器管理3. 数据保护和恢复4. 安全和网络5.IT 和安全流程。 而每一个部分在优化过程中,不同的层次又需要满足不同的要求,能够达到相应层次的相应要求,就能为IT 基础架构已经达到模型的某一个层次。 对于IT 基础架构的自检和优化,微软提供了上个指导文档,分别是:基础到标准化、标准化到合理化、合理化到灵活化。 目前本人已经学习完了基础到标准化、标准化到合理化两个部分,个人感觉标准化层次就已经非常强了,能实现这一步就很厉害了,合理化就太NB 了,基本很难做到了,到了灵活化估计就只能用神话来形容了。 指导文档非常有条理,分成5 个大的部分,每一个部分分为几个具体要求,每一个要求的实现分成4 个阶段:评估、识别、计划、实施。这个是和微软MOF 统一的。 以上是总体框架的理解 本文转自godoha51CTO博客,原文链接:http://blog.51cto.com/godoha/87091,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册