乐趣区

年度大盘点:机器学习开源项目及框架

摘要:2018 年马上就要结束了,我们来回顾一下过去的这一年中,机器学习领域有哪些有趣的事情吧!
我们先来看看 Mybridge AI 中排名靠前的顶级开源项目,再聊聊机器学习今年都有哪些发展,最后探寻下新的一年中会有哪些有值得我们期待的事情。
顶级的开源项目
BERT
BERT,全称为 Bidirectional Encoder Representations from Transformers,是一种基于 TensorFlow 解决自然语言处理的新方法,且性能更好。我们可以使用 BERT 中的 预训练模型解决问题,该模型在性能上具有很大优势,比如可以识别句子中的上下文。在 Github 中非常受欢迎,有 8848 个星,完整学术论文请访问这里。
DeepCreamPy
DeepCreamPy 是一个深度学习工具,可以像 Photoshop 一样重建图像中被删除的区域。我们使用图像编辑工具(比如 PS)将删减的区域填充为绿色,神经网络可以对其进行复原。该项目在 Github 中有 6365 颗星。
TRFL
TRFL 项目可用于编写 TensorFlow 中的强化学习代理,具体的操作文档在这里。
Horizon
Horizon 是一个基于 PyTorch 构建的强化学习平台,并使用 Caffe2 为模型提供服务。Horizon 的主要优势在于,设计者在设计这一平台的时候,考虑了生产用例。想要了解更多详细内容,请查看 Facebook Research 官方文档。另外,如果你想使用 Horizon,可查看该使用文档。
DeOldify
DeOldify 是一个用于着色和恢复旧图像的深度学习库。开发者结合了几种不同的方法,来实现这一目标,其中的几种方法包括:带自注意力机制的生成对抗网络(Self-Attention Generative Adversarial Networks),Progressive Growing of GANs,以及 TTUR(Two Time-Scale Update Rule)。

AdaNet
AdaNet 是一个基于 TensorFlow 的库,它可以自动学习模型,且不需要很多的技术人员参与,该项目基于 AdaNet 算法。访问 AdaNet 的官方文档,请点击这里。
Graph Nets

Graph Nets 是用于构建 Sonnet 和 TensorFlow 的 DeepMind 库。Graph 网络输入一个图形,输出也是一个图形。
Maskrcnn-benchmark
Maskrcnn-benchmark 项目可以帮助我们在 Pytorch 中构建对象检测和分割工具。这个库的优势在于速度快、内存效率高,可以进行多个 GPU 训练和推断,且为推断提供 CPU 支持。
PocketFlow
PocketFlow 项目是一个加速和压缩深度学习模型的框架。它解决了大多数深度学习模型的计算费用问题。该项目最初由腾讯 AI 实验室的研究人员开发,了解其实现及官方文档请点击这里。

MAMEToolkit
MAMEToolKit 是一个训练街机游戏强化学习算法的库,使用该工具可以跟踪游戏状态,同时也可以接收游戏帧数据。
机器学习框架的主要发展
PyTorch 1.0
在今年 10 月份举办的 PyTorch 会议期间,Facebook 发布了 PyTorch 1.0 预览版。PyTorch 1.0 解决了以下问题:训练耗时长、联网问题、缓慢的可扩展性以及 Python 编程语言带来的一些不灵活性。
PyTorch 1.0 引入了一组编译工具 Torch.jit,这将弥补生产和研究之间的差距。Torch.jit 中包含 Python 中的 Torch Script 语言,在 PyTorch 1.0 中,我们可以使用图形模式构建模型,这在开发高性能和低延迟的应用程序中非常有用。
Auto-Keras
你或许听过自动化机器学习(automated machine learning),即自动化搜索机器学习模型的最佳参数。除 Auto-Keras 之外,还有其他的自动化机器学习模型,比如 Google 的 AutoML。Auto-Keras 是基于 Keras 和 ENAS 编写的,其中,ENAS 是神经网络结构搜索的最新版本。
TensorFlow Serving
使用 TensorFlow Serving 系统,我们能更加轻松的将 TensorFlow 模型部署到生产环境中。虽然 TensorFlow Serving 在 2017 年就已经发布,但是今年更加注重将模型应用到生产环境环节。
Machine Learning Javascript
现在已经有一些可以允许开发人员在浏览器上运行模型的 Javascript 框架,比如 TensorFlow.js 和 Keras.js。其模型实现与使用的方法,与 Keras 或 TensorFlow 等常规框架非常相似。
展望未来
2019 年马上就要到了,随着 Auto-Keras 等自动化工具的发展,开发人员的工作有望变得更加轻松。除此以外,我们还拥有先进的研究以及优秀的社区,各类机器学习框架的性能还会更上一层楼。

本文作者:【方向】阅读原文
本文为云栖社区原创内容,未经允许不得转载。

退出移动版