这种复杂性可能会令初学者“无从下手”,对经验丰富的科研人员来说也是一项耗时的任务。AWS 在 MXNet 中尝试了一些更灵活易用的新方法定义和训练神经网络。Microsoft 也是开源项目 MXNet 的开发者,对部分新想法感兴趣。于是我们进行了沟通,结果发现双方抱持几乎相同的愿景:借助此类技术降低机器学习的复杂性,让更多的开发人员能够轻松发挥其强大威力。
**Gluon 特点:动态图,快速迭代,可扩展训练
**Gluon 包含四大创新。
友好的 API:可以使用简单、清晰、简洁的代码定义 Gluon 网络 – 相比某些更晦涩、更形式化的网络及相关加权评分函数定义方法,这更易于开发人员学习,理解难度大幅降低。
动态网络:Gluon 中的网络定义是动态的:它可以像任何其他数据结构一样“收缩和扩展”。这有别于更常见的形式化网络符号定义 (既深度学习框架要求必须保持网络定义不变,才能在训练期间有效地优化计算)。相比之下,动态网络更容易管理。借助 Gluon,开发人员可以在定义网络和算法时轻松混用快速的符号表示和更友好、动态的“命令式”定义。
可以使用算法定义网络:这大大加强了模型与训练算法的联系。在这种情况下,算法可以在定义和训练期间动态调整网络,而不仅仅是独立的定义。也就是说,开发人员能够使用标准的编程循环、条件语句创建此类网络,科研人员也能定义以前无法实现的更复杂的算法和模型。不管是创建、更改还是调试,难度都大幅下降。
由高性能运营商进行训练:这样可在不牺牲训练速度的情况下提供友好、简洁的 API 和动态图,可谓是机器学习领域的一大进步。某些框架为深度学习提供了友好的 API 或动态图,但以前的此类方法都会减缓训练速度。与其他领域的软件一样,抽象需要在运行时进行协商和解释,因而会减慢计算速度。但 Gluon 将简明的 API 与形式化定义进行了深层融合,无需开发人员了解具体细节或手动调整编译器优化。
能通过 Gluon 向开发人员提供此类改进,AWS 团队和 Microsoft 的协作者倍感兴奋。目前,已有开发人员和科研人员提供十分积极的反馈。
**开始使用 Gluon
**Gluon 现已在 Apache MXNet 中可用,将在未来版本中支持 Microsoft Cognitive Toolkit。我们还将发布前端接口和底层 API 规范,以便在适当的时候“进驻”其他框架。
您可以立即试用 Gluon – 只需点击 AWS 深度学习 AMI,就能试验 50 个完全能够正常工作的笔记本示例。如果您是机器学习框架开发者,请访问 GitHub 查阅接口规范。
本文转载自 AWS 技术博客。
原文链接:
评论