深度学习库 你只要知道这50个就够了

电子发烧友网工程师 发表于 2018-05-17 19:19:00 收藏 已收藏
赞(0) •  评论(0

深度学习库 你只要知道这50个就够了

电子发烧友网工程师 发表于 2018-05-17 19:19:00

Data Science Central网站主编、有多年数据科学和商业分析模型从业经验的Bill Vorhies曾撰文指出,过去一年人工智能和深度学习最重要的发展不在技术,而是商业模式的转变——所有巨头纷纷将其深度学习IP开源。 毋庸置疑,“开源浪潮”是2016年人工智能领域不可忽视的一大趋势,而其中最受欢迎的项目则是谷歌的深度学习平台TensorFlow。下文就从TensorFlow说起,盘点2016年AI开源项目,最后统计了Github最常用深度学习开源项目Top 50。

谷歌开源:围绕TensorFlow打造深度学习生态圈

1.Google第二代深度学习引擎TensorFlow开源

2015年11月,谷歌开源深度学习平台TensorFlow。2016年4月,谷歌推出了分布式TensorFlow。现在,TensorFlow已经成为业内最受欢迎的深度学习平台之一。

2.谷歌开源全球最精准语言解析器SnytaxNet

2016年5月13日,Google Research宣布,世界准确度最高的自然语言解析器SyntaxNet开源。谷歌开源再进一步。据介绍,谷歌在该平台上训练的模型的语言理解准确率超过90%。SyntaxNet是一个在TensoFlow中运行的开源神经网络框架,提供自然语言理解系统基矗谷歌公开了所有用用户自己的数据训练新SyntaxNet模型所需要的代码,以及谷歌已经训练好的,可用于分析英语文本的模型Paesey McParseface。

Paesey McParseface建立于强大的机器学习算法,可以学会分析句子的语言结构,能解释特定句子中每一个词的功能。此类模型中,Paesey McParseface是世界上最精确的,谷歌希望它能帮助对自动提取信息、翻译和其他自然语言理解(NLU)中的应用感兴趣的研究者和开发者。

3.谷歌推出Deep&Wide Learning,开源深度学习API

2016年6月29日,谷歌推出Wide & Deep Learning,并将TensorFlow API开源,欢迎开发者使用这款最新的工具。同时开源的还有对Wide & Deep Learning的实现,作为TF.Learn应用程序接口的一部分,让开发者也能自己训练模型。

4.谷歌开源TensorFlow自动文本摘要生成模型

2016年8月25日,谷歌开源了TensorFlow中用于文本信息提取并自动生成摘要的模型,尤其擅长长文本处理,这对自动处理海量信息十分有用。自动文本摘要最典型的例子便是新闻报道的标题自动生成,为了做好摘要,机器学习模型需要能够理解文档、提取重要信息,这些任务对于计算机来说都是极具挑战的,特别是在文档长度增加的情况下。

5.谷歌开源图像分类工具TF-Slim,定义TensorFlow复杂模型

2016年8月31日,谷歌宣布开源TensorFlow高级软件包TF-Slim,能使用户快速准确地定义复杂模型,尤其是图像分类任务。自发布以来,TF-Slim已经得到长足发展,无论是网络层、代价函数,还是评估标准,都增加了很多类型,训练和评估模型也有了很多便利的常规操作手段。这些手段使你在并行读取数据或者在多台机器上部署模型等大规模运行时,不必为细节操心。此外,谷歌研究员还制作了TF-Slim图像模型库,为很多广泛使用的图像分类模型提供了定义以及训练脚本,这些都是使用标准的数据库写就的。TF-Slim及其组成部分都已经在谷歌内部得到广泛的使用,很多升级也都整合进了tf.contrib.slim。

6.谷歌开源大规模数据库,10亿+数据,探索RNN极限

2016年9月13日,谷歌宣布开源大规模语言建模模型库,这项名为“探索RNN极限”的研究今年2月发表时就引发激论,如今姗姗来迟的开源更加引人瞩目。研究测试取得了极好的成绩,另外开源的数据库含有大约10亿英语单词,词汇有80万,大部分是新闻数据。这是典型的产业研究,只有在谷歌这样的大公司才做得出来。这次开源也应该会像作者希望的那样,在机器翻译、语音识别等领域起到推进作用。

7.谷歌开源TensorFlow图说生成模型,可真正理解图像

2016年9月23日,谷歌宣布开源图说生成系统Show and Tell最新版在TensorFlow上的模型。该系统采用编码器-解码器神经网络架构,分类准确率达93.9%,在遇到全新的场景时能够生成准确的新图说。谷歌表示,这说明该系统能够真正理解图像。

8.谷歌开源超大数据库,含800万+视频

2016年9月28日,谷歌在官方博客上宣布,将含有800万个Youtube视频URL的视频数据库开源,视频总时长达到了50万个小时。一并发布的还有从包含了4800个知识图谱分类数据集中提取的视频级别标签。这一数据库在规模和覆盖的种类上都比现有的视频数据库有显著提升。例如,较为著名的Sports-1M数据库,就只由100万个Youtube视频和500个运动类目。谷歌官方博客上说,在视频的数量和种类上,Youtube-8M代表的是几乎指数级的增长。

9.谷歌发布Open Images图片数据集,包含900万标注图片

2016年10月1日,继前天发布800万视频数据集之后,谷歌又发布了图片数据库Open Images,包含了900万标注数据,标签种类超过6000种。谷歌在官方博客中写到,这比只拥有1000个分类的ImageNet更加贴近实际生活。对于想要从零开始训练计算机视觉模型的人来说,这些数据远远足够了。就在12月,谷歌还开源了Open Images并行下载工具的脚本,5天速度最高超过200 M。

10.DeepMind开源AI核心平台DeepMind Lab(附论文)

2016年12月5日,DeepMind宣布将其AI核心平台DeepMind Lab开源。DeepMind实验室把全部代码上传至Github,供研究人员和开发者进行实验和研究。DeepMind Lab这一平台将几个不同的AI研究领域整合至一个环境下,方便研究人员测试AI智能体导航、记忆和3D成像等能力。值得一提的是,这些代码也包括AlphaGO的代码,谷歌希望以此增加AI能力的开放性,让更多开发者参与AI研究,观察其他开发者是否能够挑战并打破DeepMind现在的纪录。

Facebook开源:贯彻理念

1.Facebook开源围棋引擎DarkForest

6个月前,Facebook将其围棋引擎DarkForest开源。现在训练代码已经全部发布。Github链接:https://github.com/facebookresearch/darkforestGo。

2.Facebook开源文本分类工具fastText,不用深度学习也可以又快又准

2016年8月19日,Facebook AI实验室(FAIR)宣布开源文本分析工具fastText。fastText既可以用于文本分类,又能用于学习词汇向量表征。在文本分类的准确率上与一些常用的深度学习工具不相上下,但是在时间上却快很多——模型训练时间从几天减少到几秒。除了文本分类,fastText也能被用于学习词语的向量表征,Facebook称fastText比常用的Word2vec等最先进的词态表征工具表现都要好得多。

3.Facebook开源计算机视觉系统deepmask,从像素水平理解图像(附论文及代码)

2016年8月26日,Facebook宣布开源计算机视觉系统deepmask,称该系统能“从像素水平理解物体”,Facebook希望开源能加速计算机视觉的发展。不过,Facebook并没有在自家产品中使用这些工具,像这样落实到具体应用前就开源,跟通常所说的“开源”有些不同。对此,Facebook人工智能团队FAIR的负责人Yann LeCun 曾表示,正是因为FAIR 做基础的、不受制于公司短期效益的研究,才能真正推进人工智能技术发展。

4.Facebook 开源AI 训练和测试环境CommAI-env

2016年9月27日,Facebook 宣布开放AI 训练和测试环境CommAI-env,可以用任何编程语言设置智能体。据介绍,CommAI-env 这个平台用于训练和评估AI 系统,尤其是注重沟通和学习的AI 系统。与用强化学习从玩游戏到下围棋都能做的OpenAI Gym 不同,Facebook 的CommAI-env 侧重基于沟通的训练和测试,这也是为了鼓励开发人员更好地打造能够沟通和学习的人工智能,呼应该公司的十年规划。Facebook 还表示,CommAI-env 会持续更新,并在成熟后举办竞赛推进AI 的开发。

在AI 测试环境方面,Facebook 还开源了CommNet,这是一个让基于神经网络的代理更好交互、实现合作而研发的模型,与CommAI-env 配套。12月,Facebook 还开源了 TorchCraft,在深度学习环境 Torch 与星际争霸之间搭起了桥梁,方便研究人员使用控制器,编写能够玩星际争霸游戏的智能代理。

5.Facebook 贾扬清发文介绍 Caffe2go,手机就能运行神经网络

2016年11月8日,Caffe作者、Facebook 研究员贾扬清在官方网站上发文介绍了新的机器学习框架 Caffe2go,并表示在接下来的几个月将其部分开源。Caffe2go 规模更小,训练速度更快,对计算性能要求较低,在手机上就行运行,已经成为 Facebook 机器学习的核心技术。

OpenAI

1.OpenAI 推出代理训练环境 OpenAI Gym

创立于2015年底的非盈利机构 OpenAI 的成立打破了谷歌、Facebook 等巨头霸占 AI 领域的格局,但其创始人、特斯拉CEO马斯克多次发表人工智能威胁论。马斯克创立 OpenAI 目的何在?2016年5月4日,OpenAI 发布了人工智能研究工具集 OpenAI Gym,用于研发和比较强化学习算法,分析 OpenAI Gym 或可找出马斯克的真正动机。

2.另一种开源:OpenAI 介绍深度学习基础框架

2016年8月30日,OpenAI 研究员在博客发文,结合实例介绍了 OpenAI 进行深度学习研究时采用的基础设施配置,并且提供了相关开源代码。文章激起了很多反响,相对于软硬件开源,OpenAI 从另一个侧面,对深度学习模型的实际部署提供了帮助。

3.OpenAI 重磅发布 AGI 测试训练平台 Universe

2016年12月4日,在今年 NIPS 大会召开的前一晚,OpenAI 发布了 Universe,用于训练解决通用问题 AI 的基础架构。据悉,这是一个能在几乎所有环境中衡量和训练 AI 通用智能水平的开源平台,目标是让智能体能像人一样使用计算机。目前,Universe 已经有1000种训练环境,由微软、英伟达等公司参与建设。有了 Universe,任何程序都能被接入到 OpenAI Gym 的环境中。很快,OpenAI 还推出了 Mini World of Bits(MiniWoB),这个与 OpenAI Universe 配套的环境基准可以测试代理与常见网页浏览器元素的交互能力,比如按钮、文本框、滑块。

微软开源:CNTK 升级版

根据 Github 2016年度的《Octoverse 观察报告》,微软不仅是拥有开源项目最多的公司,也是贡献人数最多的公司。

在人工智能方面,微软的开源项目有很多,包括 CNTK计算网络工具包、DMTK分布式机器学习工具包,Send2vec语义相似映射器, 以及 CodaLab 研究平台(基于Web的开源平台,旨在通过其在线社区帮助解决数据导向的许多常见问题,从而促进机器学习和高性能计算的研究领域的发展)。

2016年10月27日,微软开源深度学习认知工具包 CNTK 升级版,其中最瞩目的功能是增加了 Python 绑定,支持增强学习。新版的 CNTK 性能大幅提升,尤其是在多台机器上处理较大数据集的情况下能高速运行,这种类型的大规模部署对于多GPU上的深度学习是不可或缺的,也是开发消费产品和专业产品的必需。

微软研究人员表示,在多服务器间运行的能力是一大进步。CNTK 升级版还包含了一些算法,用于将大规模数据处理的计算消耗降到最低。

百度

1.百度开源深度学习代码 Warp-CTC 详解

2016年1月15日,百度公布了代码 Warp-CTC,能够让 AI 软件运行得更高效。说 Warp-CTC 知道的人可能还少,百度语音识别系统 Deep Speech 2就是用它搭建的。百度位于硅谷的 AI 实验室主管 Adam Coates 在接受 Re-Work 采访时表示,他们在构建深度语音端对端系统的过程中发明了Warp-CTC 方法,进而使用 CTC 提高模型的可伸缩性。“由于没有相似的工具,我们决定将其分享给人们。它是一款很实用的工具,可以用到现有的AI框架中。现在有很多深度学习的开源软件,但是之前用于训练序列数据的端对端网络一直很慢。我们在Warp-CTC上的投入是对“我们坚信深度学习与高性能计算技术(HPC)的结合会有巨大潜力”的一种证明。”

2.百度开源分布式深度学习平台,挑战 TensorFlow(附教程)

2016年8月31日,百度宣布开源深度学习平台 PaddlePaddle。实际上,百度深度学习实验室在几年前就投入 PaddlePaddle 的开发,业内对这个云端托管的分布式深度学习平台赞誉有加:代码简洁、设计干净,没有太多抽象……PaddlePaddle 对于序列输入、稀疏输入和大规模数据的模型训练有着良好的支持,支持GPU运算,支持数据并行和模型并行,仅需少量代码就能训练深度学习模型,大大降低了用户使用深度学习技术的成本。

3.百度公开硬件基准 DeepBench,推动深度学习专用芯片研发竞争

2016年9月,百度发表论文,开源 DeepBench 基准测试,AI研究者和芯片制造商可以用它测试不同的芯片运行软件时的性能,尤其是哪款硬件加速深度学习性能最好。目前 DeepBench 只能测试深度学习的训练模型,能提供在三种 Nvidia GPU和一种 Intel Xeon Phi 处理器的基准化测试结果,未来还可能测试用于图像和语音识别之类任务的“推理”模型。百度希望 DeepBench 能促进特定任务深度学习加速器的研发,“GPU显然不是终点,我们希望这能鼓励竞争”。

GitHub 最受欢迎的深度学习项目

名称星数简介

TensorFlow

29622

使用数据流图计算可扩展机器学习问题

Caffe

11799

一个高效的开源深度学习框架

Neural Style

10148

由Torch实现的神经网络算法

Deep Dream

9042

一款图像识别工具

Keras

7502

一款由Python实现的深度学习库,包括卷积神经网络、递归神经网络等。运行在Theano和TensorFlow之上

Roc AlphaGo

7170

由学生主导的一个独立项目,重新实现了 DeepMind在2016发表于Nature论文"Mastering the game of Go with deep neural networks and tree search(用深度神经网络和树搜索学习围棋)" (Nature 529, 484-489, 28 Jan 2016)

TensorFlow Models

6671

基于TensorFlow开发的模型

Neural Doodle

6275

运用深度神经网络将涂鸦变为优雅的艺术品,从照片生成无缝纹理,转变图片风格,进行基于实例的提升,等等。(语义风格传递的实现)

CNTK

5957

微软的计算网络工具(Computational Network Toolkit,CNTK)

TensorFlow Examples

5872

面向初学者的TensorFlow教程和代码示例

ConvNet JS

5231

基于Java的深度学习库。在浏览器中训练卷积神经网络模型(或者普通模型)

Torch

5133

Torch7,深度学习库

OpenFace

4855

基于深度学习网络的面部识别

MXNet

4685

轻巧、便携、灵活的分布式/移动深度学习框架,支持Python, R, Julia, Scala, Go, Java等等语言

Nupic

4364

智能计算的Numenta平台(Numenta Platform for Intelligent Computing,Nupic):一个脑启发式的计算智能和机器智能平台,基于皮层学习算法的生物精确神经网络模型

Theano

4286

一个 Python 库,用来定义、优化和模拟数学表达式计算,用于高效解决多维数组的计算问题

Leaf

4281

面向黑客的开源机器智能框架

Char RNN

3820

基于Torch开发的多层递归神经网络的字符级别语言模型

Neural Talk

3694

一个Python+numpy项目,用多模式递归神经网络描述图像

deeplearning4j

3673

基于Hadoop和Spark的Java, Scala & Clojure深度学习工具

TFLearn

3368

深度学习库,包括高层次的TensorFlow接口

TensorFlow Playground

3352

神经网络模型示例

OpenAI Gym

3020

一种用于开发和比较强化学习算法的工具包

Magenta

2914

用机器智能生成音乐和艺术

Colornet

2798

用神经网络模型给灰度图上色

Synaptic

2666

基于node.js和浏览器的免架构神经网络库

Neural Talk 2

2550

Torch开发的图像简介生成GPU运行代码

Image Analogies

2540

使用神经匹配和融合生成相似图形

TensorFlow Tutorials

2413

Tensorflow的基础原理到应用

Lasagne

2355

基于Theano训练和构建神经网络的轻型函数库

PyLearn2

2153

基于Theano的机器学习库

LISA-lab Deep Learning Tutorials

2134

深度学习教程笔记和代码

Neon

2121

Nervana 开发的一款快速、可扩展、易使用的Python深度学习框架

Matlab Deep Learning Toolbox

2032

Matlab/Octave的深度学习工具箱。包括深度信念网络、自动编码机、卷积神经网络、卷积自动编码机和vanilla神经网络等。每种方法都有入门示例

Deep Learning Flappy Bird

1721

使用深度强化学习破解Flappy Bird游戏

Chainer

1573

一款灵活的深度学习神经网络框架

Neural Story Teller

1514

一种根据图片生成故事的递归神经网络模型

DIGITS

1353

深度学习GPU训练系统

Deep Jazz

1229

基于Keras和Theano生成jazz的深度学习模型

Brainstorm

1143

快速、灵活、有趣的神经网络

Darknet

937

C语言版本的开源神经网络

Theano Tutorials

904

基于Theano的机器学习入门教程,从线性回归到卷积神经网络

RNN Music Composition

904

一款生成古典音乐的递归神经网络工具

Blocks

866

一种用于构建和训练神经网络模型的Theano框架

TDB

860

TensorFlow的交互式、节点调试和可视化的工具

Scikit Neural Net

849

深度神经网络入门工具,类似scikit-learn的分类器和回归模型。

Veles

760

分布式机器学习平台(Python, CUDA, OpenCL)

Deep Detect

759

基于C++11的深度学习接口和服务器,与Python绑定并支持Caffe

TensorFlow DeepQ

759

基于Google Tensorflow的deep Q learning演示

Caffe on Spark

724

基于Spark的Caffe

Nolearn

702

神经网络库的抽象,著名的Lasagne

DCGAN TensorFlow

568

基于tensorflow实现的深度卷积生成对抗网络

MatConvNet

479

MATLAB卷积神经网络工具箱,用于计算机视觉应用

DeepCL

413

用于训练深度卷积神经网络模型的OpenCL库

Visual Search Server

304

用Tensorflow Inception 模型和近似最近邻的视觉搜索

收藏

相关话题
文章来源栏目
+关注

评论(0)

加载更多评论

参与评论

分享到

QQ空间 QQ好友 微博
取消