深度机器学习的第一个领域(年最值得关注的)(1)

顶级开源项目

先让我们看看今年的一些顶级开源项目。

1. BERT

BERT 是 Bidirectional Encoder Representations from Transformer 的缩写,一种解决自然语言处理问题的新方法,可以获得最先进的处理结果。它是基于 TensorFlow 的,开发人员可以使用预先训练的模型来解决问题。BERT 模型比其他模型具有很大的优势,因为它们可以识别句子的上下文。这个项目目前在 Github 上有 8841 个 star 和 1560 个 fork。

BERT 项目地址:

https://github.com/google-research/bert

论文:

https://arxiv.org/abs/1810.04805

2. DeepCreamPy

这是一个深度学习工具,可以像图像编辑工具一样重建图像缺失的区域。用户使用图像编辑工具将图像的缺失区域绘成绿色,神经网络则负责给这些区域填充内容。这个项目目前在 GitHub 上有 6365 个 star 和 613 个 fork。

项目地址:

https://github.com/deeppomf/DeepCreamPy

3. TRFL

TRFL 的发音与 truffle(松露)相同,可以基于 TensorFlow 开发强化学习代理。

项目地址:

https://github.com/deepmind

4.Horizon

Horizo​​n 是一个用于应用强化学习的平台。Horizo​​n 使用 PyTorch 构建,并使用 Caffe2 来提供模型服务。Horizo​​n 的一个主要优势是在设计时就考虑到了生产环境的使用场景。

项目地址:

https://github.com/facebookresearch/Horizon

5.DeOldify

深度机器学习的第一个领域(年最值得关注的)(2)

DeOldify,顾名思义,是一个深度学习库,用于恢复老照片,并给它们着色。库的作者结合了几种方法来实现这一目的,比如 Self-Attention Generative Adversarial Networks(https://arxiv.org/abs/1805.08318)、Progressive Growing of GANs(https://arxiv.org/abs/1710.10196),以及 Two Time-Scale Update Rule(https://arxiv.org/abs/1706.08500)。

项目地址:

https://github.com/jantic/DeOldify

6.AdaNet

AdaNet 是一个基于 TensorFlow 的库,可以自动学习模型而无需大量专家干预。这个项目基于 AdaNet 算法(http://proceedings.mlr.press/v70/cortes17a.html)。

项目地址:

https://github.com/tensorflow/adanet

7.Graph Nets

深度机器学习的第一个领域(年最值得关注的)(3)

Graph Nets 是 DeepMind 推出的一个库,用于在 Sonnet 和 TensorFlow 中构建图网络。图网络将图作为输入,并返回图作为输出。

项目地址:

https://github.com/deepmind/graph_nets

8.Maskrcnn-benchmark

在使用 PyTorch 构建对象检测和分割工具时,这个项目可以帮上忙。这个库的优点是速度快、内存占用低、多 GPU 训练和推理,并为推理提供 CPU 支持。

项目地址:

https://github.com/facebookresearch/maskrcnn-benchmark

9.PocketFlow

深度机器学习的第一个领域(年最值得关注的)(4)

PocketFlow 是一个加速和压缩深度学习模型的框架。它解决了大多数深度学习模型的高计算成本问题。它最初由腾讯 AI 实验室的研究人员开发。

项目地址:

https://github.com/Tencent/PocketFlow

10.MAMEToolkit

MAMEToolKit 是一个用于训练街机游戏强化学习算法的库。这个工具包可以在跟踪游戏状态的同时接收游戏帧数据。

项目地址:

https://github.com/M-J-Murray/MAMEToolkit

ML 框架的主要进展

现在让我们来看一下主要机器学习框架的一些进展。

PyTorch 1.0

在 10 月份的 PyTorch 大会期间,Facebook 发布了 PyTorch 1.0 预览版。新版本将解决以下一些挑战:耗时的训练、大量的网络、缓慢的规模扩展以及 Python 编程语言带来的一些不灵活性。

新版本引入了一组编译器工具(Torch.jit),它们将弥合生产阶段和研究阶段之间的差距。Torch.jit 包含了一门称为 Torch Script 的语言,它是 Python 的一个子集。模型可以从 eager 模式转到 graph 模式。这对于开发高性能和低延迟的应用程序来说非常有用。

Auto-Keras

你可能已经听说过自动机器学习这个概念。从本质上讲,就是自动搜索机器学习模型的最佳参数。其他自动化 ML 框架还包括谷歌的 AutoML。Auto-Keras 是使用 Keras 和 ENAS(神经架构搜索的最新版本)开发的。

TensorFlow Serving

TensorFlow Serving 是一个使 TensorFlow 模型更容易部署到生产环境的系统。TensorFlow Serving 是在 2017 年发布的,在部署模型到生产环境方面,它已经帮助开发人员简化了大量工作。

机器学习 Javascript

有一些 Javascript 框架允许开发人员在浏览器上运行机器学习模型。这些框架包括 TensorFlow.js 和 Keras.js。这些模型的实现与使用 Keras 或 TensorFlow 等常规框架非常相似。

展望未来

2019 年,随着 Auto-Keras 等自动化工具的进步,我们可以期待开发人员的工作变得更轻松。随着研究的进展和开源社区的贡献,我们还可以期待各种机器学习框架的性能得到提升。

英文原文:

https://heartbeat.fritz.ai/2018-year-in-review-machine-learning-open-source-projects-frameworks-430df2fe18cd

,