热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

拯救万千学子于水深火热之中!Facebook开源无梯度优化工具

乾明发自凹非寺量子位出品|公众号QbitAI机器学习啥最苦?十有八九找参数!不少研究生,都被卡在这个环节上,久久不能毕业。现
乾明 发自 凹非寺
量子位 出品 | 公众号 QbitAI

机器学习啥最苦?十有八九找参数!

不少研究生,都被卡在这个环节上,久久不能毕业。

现在,圣诞节前,有了一个好消息!

Facebook宣布,开源自家一直在使用的无梯度优化工具:Nevergrad

640?wx_fmt=gif

并“信誓旦旦”表示,这能让调整模型参数和超参数的过程变得更快、更容易。

但在Twitter上,仿佛起到了相反的效果。

有人看到这个消息之后,立马“梗”上心头:

NeverGraduate吗?

也有人调侃称,这绝对是那些博士读了6年的人心中的噩梦。

640?wx_fmt=png

不过,调侃归调侃,人家可是货真价实的NeverGradient。

大多数人还是用转发、点赞表达了自己的态度。

640?wx_fmt=png

这是个什么东东?

简单来说, 这是一个Python 3库,里面有很多不需要进行梯度计算的算法。这些算法有:

  • 差分进化

  • 序列二次规划

  • FastGA

  • 协方差矩阵自适应

  • 用于噪声管理的种群控制方法

  • 粒子群优化

  • ……

它们都呈现在了一个标准的ask-and-tell Python框架中,同时,Facebook还配备了相关的测试和评估工具。

有没有一种热泪盈眶的感觉?

640?wx_fmt=png

先别急……来看看效果怎么样。

拿起来就能用

就先从上面提到的算法来说吧。之前这些算法都是定制的,想要比较一个任务中各种算法的性能?要么行不通,要么得花大力气。

Facebook表示,有了Nevergrad,这些都不是问题。只要有用得着它的地方,拿起来就能用。

不仅能够比较不同方法的性能,还能与那些常用基准上的最先进水平进行比较,以及帮你为特定的用例找最好的优化方法。

640?wx_fmt=jpeg

应用场景很感人

先说Facebook的情况。博文中说,自家的研究团队已经在强化学习、图像生成以及各种各样的项目中使用Nevergrad了。

而且,Nevergrad的无梯度优化,还能广泛运用于各种机器学习问题。比如:

  • 多模态问题,比如有几个最小值的问题。 (例如,语言建模深度学习的超参数化。)

  • 病态问题,在试图优化几个具有非常不同动态的变量时,通常会出现这种问题。(例如,没有针对具体问题重新标定dropout和学习率。)

  • 可分离或旋转的问题,包括部分旋转的问题。

  • 部分可分离问题,可以考虑通过几个变量块来解决。 例子包括对深度学习或其他形式设计的架构搜索,以及多任务网络的参数化。

  • 离散、连续或混合的问题。这些任务需要同时选择每层的学习速率、每层的权重衰减以及每层的非线性类型。

  • 有噪声的问题,当使用完全相同的参数调用函数时,函数可以返回不同的结果,例如强化学习中的独立事件。

来,总结一下。

在机器学习中,Nevergrad可来调整超参数,如学习速率、动量、权重衰减(可能是每层)、 dropout和深层网络的每一部分的层参数等。

但从无梯度方法的角度来说,它也可以应用到电网管理、航空、镜头设计以及许多其他科学和工程中。

为了证明Nevergrad的能力。Facebook的团队使用 Nevergrad 实现了几个基准测试。

硬核示例:用Nevergrad生成算法基准

不同的例子对应于不同的设置(是否多模态,是否有噪声,是否离散,是否病态) ,并展示了如何使用Nevergrad确定最佳优化算法。

在每个基准测试中,他们对不同的x值进行了独立的实验。这确保了方法之间在几个x值上的一致排名具有统计学意义。

640?wx_fmt=png

噪声最优化示例

这个示例显示,使用pcCMSA - ES的噪声管理方法的TBPSA优于其他几种替代方案。

具体怎么比较的,Facebook在GitHub上开源了,传送门在文末。

Nevergrad也可以处理离散的目标函数,在许多机器学习案例中都会遇到这个问题。

例如,在有限的选项集(如神经网络中的激活函数)之间进行选择,以及在不同类型的层之间进行选择(例如,决定在网络中的某个位置是否需要跳过连接)。

现有的一些工具,比如Bbob和Cutest不包含任何离散的基准测试。但Nevergrad可以处理离散域。

方法有两个,一是通过softmax函数(将离散问题转化为有噪声的连续问题),二是通过连续变量的离散化。

Facebook还专门做了一个测试。

640?wx_fmt=png

如上图,测试中FastGA在这种情况下表现最好。有一点,DoubleFastGA对应于1/dim和( dim - 1 ) / dim之间的突变率,而不是1/dim和1/2。这是因为,原始范围对应的是一个二进制域,而在这里,Facebook考虑的是任意域。

好,到此,该说的都说了。

请收好传送门吧~

传送门

Nevergrad项目地址:

https://github.com/facebookresearch/nevergrad

博客地址:

https://code.fb.com/ai-research/nevergrad/

噪声最优化示例项目地址:

https://github.com/facebookresearch/nevergrad/blob/master/docs/benchmarks.md

作者系网易新闻·网易号“各有态度”签约作者


加入社群

量子位AI社群开始招募啦,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式;


此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。


进专业群请在量子位公众号(QbitAI)对话界面回复关键字“专业群”,获取入群方式。(专业群审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

640?wx_fmt=jpeg

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态


640?wx_fmt=gif

 好看吗?↘↘↘



推荐阅读
  • 图像分割技术在人工智能领域中扮演着关键角色,其中语义分割、实例分割和全景分割是三种主要的方法。本文对这三种分割技术进行了详细的对比分析,探讨了它们在不同应用场景中的优缺点和适用范围,为研究人员和从业者提供了有价值的参考。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • REST API 时代落幕,GraphQL 持续引领未来
    尽管REST API已广泛使用多年,但在深入了解GraphQL及其解决的核心问题后,我深感其将引领未来的API设计趋势。GraphQL不仅提高了数据查询的效率,还增强了灵活性和性能,有望成为API开发的新标准。 ... [详细]
  • 机器学习如何看世界 对抗机器学习诠释人工智能和人类思维的不同
    接近,计算,极限,看,世界,对抗,机器,学习,诠释,人工智能,和, ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 本文源自极分享,详细内容请参阅原文。技术债务如同信用卡负债,随着时间推移,修复成本会越来越高,因此程序员必须对此有深刻认识。此外,团队应致力于培养一种持续维护和优化代码的文化,以减少技术债务的累积。 ... [详细]
  • 【前端开发】深入探讨 RequireJS 与性能优化策略
    随着前端技术的迅速发展,RequireJS虽然不再像以往那样吸引关注,但其在模块化加载方面的优势仍然值得深入探讨。本文将详细介绍RequireJS的基本概念及其作为模块加载工具的核心功能,并重点分析其性能优化策略,帮助开发者更好地理解和应用这一工具,提升前端项目的加载速度和整体性能。 ... [详细]
  • AI TIME联合2021世界人工智能大会,共探图神经网络与认知智能前沿话题
    AI TIME携手2021世界人工智能大会,共同探讨图神经网络与认知智能的最新进展。自2018年在上海首次举办以来,WAIC已成为全球AI领域的年度盛会,吸引了众多专家学者和行业领袖参与。本次大会将聚焦图神经网络在复杂系统建模、知识图谱构建及认知智能应用等方面的技术突破和未来趋势。 ... [详细]
  • 不用蘑菇,不拾金币,我通过强化学习成功通关29关马里奥,创造全新纪录
    《超级马里奥兄弟》由任天堂于1985年首次发布,是一款经典的横版过关游戏,至今已在多个平台上售出超过5亿套。该游戏不仅勾起了许多玩家的童年回忆,也成为强化学习领域的热门研究对象。近日,通过先进的强化学习技术,研究人员成功让AI通关了29关,创造了新的纪录。这一成就不仅展示了强化学习在游戏领域的潜力,也为未来的人工智能应用提供了宝贵的经验。 ... [详细]
  • 全球计算机视觉顶会CVPR2018(ConferenceonComputerVisionandPatternRecognition,即IEEE国际计算机 ... [详细]
  • 第五章5.4安全设备防火墙防火墙是网络关联的重要设备,用于控制网络之间的语言。外部网络用户的访问必须先经过安全策略过滤,而内部网络用户对外部网络的访 ... [详细]
  • 第三届人工智能、网络与信息技术国际学术会议(AINIT 2022)
    20223rdInternationalSeminaronArtificialIntelligence,NetworkingandInformationTechnology第三届 ... [详细]
  • 怎么入门Android?Android免打包多渠道统计如何实现?含泪整理面经
    热修复技术是Android开发中比较高级的知识点,是中级开发人员通向高级开发中必须掌握的技能。本篇重点讲解热修复热修复的原理,各大热修复框架的比较&#x ... [详细]
  • kubernetes官网关于nodelocaldns缓存的介绍 ... [详细]
author-avatar
前世梦0708
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有