2017 年,在深度学习技术的加持下,CV、NLP、数据分析等领域全面开花,同时大量新开发工具和开源软件的涌现,降低了人工智能开发的门槛,加速了深度学习的普及。本文从深度学习、CV、NLP 的方面盘点 2017 年 AI 研习社报道过的 AI 领域新开源软件,为各位读者提供开发和设计的参考。
如果本文没有涵盖你心目中最爱的 AI 开发工具,欢迎你在评论区留言讨论。
深度学习
BigDL
BigDL 是 Intel 开源的一个基于 Apache Spark 的分布式深度学习库。通过使用 BigDL,用户可以将他们的深度学习应用程序作为标准的 Spark 程序发布(即将基于 BigDL 的深度学习代码直接嵌入已有的 Spark 程序中),同时,BigDL 还简化了基于 Hadoop 框架的数据加载过程。
详情:https://t.cn/RHMH2WQ
地址:https://github.com/intel-analytics/BigDL
tf.Transform
tf.Transform 是谷歌发布全新 TensorFlow 库,是一个基于 TensorFlow 的全新功能组件,它允许用户在大规模数据处理框架中定义预处理流水线(preprocessing pipelines),同时还可以将这些流水线导出,将其作为 TensorFlow 计算图(TensorFlow graph)的一部分。
详情:https://t.cn/RHMQBGZ
地址:https://github.com/tensorflow/transform
PyTorch 版 fairseq
FacebookAI 研究团队在 GitHub 上开源了 fairseqPyTorch 版本。fairseq 是 FacebookAI 研究院发布的一个序列到序列的学习工具,它的原作者(排名不分先后)是 SergeyEdunov、MyleOtt 和 SamGross。该工具包能实现 Convolutional Sequence to Sequence Learning(地址:https://arxiv.org/abs/1705.03122)中描述的全卷积模型,并能在一台机器上进行多 GPU 训练,也能在 CPU 和 GPU 上快速产生束搜索 (beamsearch)。在开源的数据中,他们提供了英译法和英译德的预训练模型。
详情:https://t.cn/RHxJtQc
地址:https://github.com/facebookresearch/fairseq-py
TensorFlow Lattice
谷歌科学家发布 TensorFlow Lattice,这是一套预建的 TensorFlow Estimators,易于使用,它相当于是 TensorFlow 运算符,用来构建点阵模型(lattice model)。点阵是多维插值查找表(look-up table),与几何教材背面近似于正弦函数的查找表类似。
详情:https://t.cn/RHx6RLX
地址:https://github.com/tensorflow/lattice
Tangent
Tangent 是一个全新的免费开源 Python 库,可以用于自动微分。与其他现有的
机器学习库相比,Tangent 属于源到源(source-to-source)系统,可以用 Python f 函数调用新的 Python 函数,计算出 f 的梯度。对用户来说,这大大改善了梯度计算的可见性,更易于编辑和调试。当调试和设计机器学习模型时,Tangent 增加了许多新功能:
易于调试反向传递(backward pass)
快速进行梯度 surgery
前向模式自动微分
高效的 Hessian-vector product
代码优化
详情:https://t.cn/RHJYhzP
地址:github.com/google/tangent
CV
Open Images Dataset V3 版
谷歌发布 Open Images Dataset (开发图片数据集)的 V3 版,比起今年 7 月份发布的 V2 版,这一最新版本的边框(bounding box)数和图像层级标签(image-level label)数都大大增加。Open Images Dataset 包含 900 万张图片 URL,里面的图片都已经被标注,带有标签和边框,横跨成千上万个类。该数据集包括一个训练集 (9,011,219 张图像)、一个验证集 (41,620 张图像) 和一个测试集 (125,436 张图像)。
详情:https://t.cn/RHxX589
地址:https://github.com/cvdfoundation/open-images-dataset
谷歌 AVA 数据库
为了进一步研究识别人类动作的技术,谷歌发布了 AVA (Atomic Visual Actions) 数据库,意思是 “原子视觉动作”,这一新数据集为扩展视频序列中的每个人打上了多个动作标签。 AVA 数据集由 YouTube 公开视频的 URL 组成,这些视频被 80 个原子动作标注,例如走路,踢东西,握手等,所有动作都具有时空定位,产生 5.76 万个的视频片段,9.6 万个人类动作,以及 21 万个的动作标签。
详情:https://t.cn/RHxXSrf
地址:https://research.google.com/ava/explore.html
NLP
Deep Speech 3
百度研究院发出博文,宣布发布新一代深度语音识别系统 Deep Speech 3。这是下一代的语音识别模型,它进一步简化了模型,并且可以在使用预训练过的语言模型时继续进行端到端训练。
详情:https://t.cn/RHxa8hu
地址:https://usa.baidu.com/tag/deep-speech/
Facebook 90 种语言的预训练词向量
FastText 研究团队在 GitHub 发布了他们的最新研究成果——使用维基百科训练,并包括 90 种语言的 300 维词向量;全都使用 FastText 的默认参数进行训练。FastText 团队表示,希望各路开发者提供使用反馈。
详情:https://t.cn/RHxSpTH
地址:https://github.com/facebookresearch/fastText/blob/master/pretrained-vectors.md
机器人
Roboschool
OpenAI 发布了一个用于模拟机器人的控制训练的开源软件 Roboschool,根据介绍,其整合了前段时间发布的 OpenAI Gym。OpenAI Gym 是一款研发与比较强化算法的工具包,此前用户反馈的问题在于价格。虽然已经向个人或有课程学习需要的学生免费开放,但负责机器人控制的 MuJoCo 组件依然需要收费。不过在基于 OpenAI Gym 环境的 Roboschool 里,用户不必再担心这一额外花费。
详情:https://t.cn/RHxoEKM
地址:https://github.com/openai/roboschool
数据
Prophet
Facebook 宣布开源一款基于 Python 和 R 语言的数据预测工具——“Prophet”,即 “先知”。取名倒是非常直白。Facebook 表示,Prophet 相比现有预测工具更加人性化,并且难得地提供 Python 支持。另外,它生成的预测结果足以和专业数据分析师媲美。
详情:https://t.cn/RHxNjL0
地址:https://facebookincubator.github.io/prophet/docs/quick_start.html
Faiss
Faiss 是一个能使开发者快速搜索相似多媒体文件的算法库。而该领域一直是传统的搜索引擎的短板。借助 Faiss,Facebook 在十亿级数据集上创建的最邻近搜索(nearest neighbor search),比此前的最前沿技术快 8.5 倍,并创造出迄今为止学术圈所见最快的、运行于 GPU 的 k-selection 算法。Facebook 人工智能实验室(FAIR) 借此创造了数个世界纪录,包括在十亿高维矢量上的构建的、世界最快的 k-nearest-neighbor 图。
详情:https://t.cn/RHJuH2y
地址:https://github.com/facebookresearch/faiss
其他
P 语言
为了解决异步计算的挑战,微软开发了 P 语言,这是一种用于异步事件驱动型
应用程序中建模和指定协议的编程语言。P 语言编程人员在高层编写协议及其规范。P 编译器提供用于并发相关竞争条件的自动测试和运行协议的可执行代码。P 语言对建模并发性(modeling concurrency)、指定安全性 (specifying safety) 和活性属性 (liveness property) 提供一流的支持,并使用系统级搜索检查程序是否满足规范。
详情:https://t.cn/RHxKbIE
地址:https://github.com/p-org/P
DataScience Trends
DataScience Trends 是一个针对 GitHub 资源库的交互式数据分析与可视化工具,能方便地对各开源算法库的活动、状态、人气进行比对,包括新 commits 和 pull requests。开发者可用它来考察开源项目大趋势,以及筛选感兴趣的项目。顺便说一句,它免费使用。
详情:https://t.cn/RHxKXtd
地址:https://www.datascience.com/resources/tools/trends
Python Fire
谷歌公布了新的 Python 工具包——Python Fire。它的功能很简单:能从任何 Python 代码生成命令行接口(CLI)。开发者面对任意一个 Python 程序,仅需调用 Python Fire 即可把该程序转为 CLI。Python Fire 已开源,用户可通过 `pip install fire` 在 PyPI 进行下载,也可以去 GitHub 查看它的源代码。
详情:https://t.cn/RHJjObK
地址:https://github.com/google/python-fire