2018 年最值得关注的 10 个机器学习开源项目
顶级开源项目
先让我们看看今年的一些顶级开源项目。
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
Horizon 是一个用于应用强化学习的平台。Horizon 使用 PyTorch 构建,并使用 Caffe2 来提供模型服务。Horizon 的一个主要优势是在设计时就考虑到了生产环境的使用场景。
项目地址:
https://github.com/facebookresearch/Horizon
5.DeOldify
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
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
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