编者按:近日,专为开发者制定阅读策略的Mybridge发表新年总结,回顾了过去一年,也就是2017年机器学习领域质量最高、受众最广的30个开源项目。据了解,这些项目从超过8800个项目中选出,入选率仅为0.3%,为错过许多有趣项目的数据科学家提供了一份高效指引。以下是论智编译的内容。
在过去一年里,我们比较了近8800个开源机器学习项目,并从中筛选出前30名。这是一份十分具有竞争力的名单,汇总了从2017年1月至12月之间发布的最佳开源机器学习库、数据集和应用程序,各项目所获Github星星的平均数量是3558。
开源项目是参与实践、加深学习的一个重要途径。通过这篇文章,读者可以阅读相关源代码并试着在项目上构建一些东西。此外,大家还可以抽出大量空闲时间,去玩一玩2017年可能错过的一些有趣项目。
基础知识掌握
1.神经网络(Neural Networks)
了解神经网络是进阶机器学习的第一步,这块内容较为初级,只要求高中数学基础。如果是纯粹萌新,可以先阅读论智的从零学习:从Python和R理解和编码神经网络建立初步认识。
这里再推荐udemy上的在线课程:Deep Learning A-Z™: Hands-On Artificial Neural Networks。包含23小时视频和22篇文章,已积累了超过68000条评论,评分4.5/5星(英语教学)。
2.TensorFlow
同样的,如果要开启机器学习项目,学会使用TensorFlow也是一个必要的前提。这里推荐同样是udemy上的经典课程:Complete Guide to TensorFlow for Deep Learning with Python,英语教学,评分4.6/5星。
30个开源项目
1.FastText
地址:github.com/facebookresearch/fastText?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:FastText是Facebook在2017年推出的一个免费开源轻量级库,允许开发者在上面学习文本分类和训练监督文本分类器。和word2vec等工具相比,它主要有以下几点优势:
-
适合大型数据且训练高效;
-
支持多语言表达;
-
facebook公开了90种语言的Pre-trained word vectors;
-
未来也许能被移植到移动端使用。
2.Deep Photo Style Transfer
地址:github.com/luanfujun/deep-photo-styletransfer?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
论文:Deep Photo Style Transfer
简介:这个是一个基于深度卷积神经网络的图片风格转换项目,由康奈尔大学和Adobe合作打造。不同于一般风格迁移,它实现了现实场景的风格转换,包括天气、季节和艺术编辑风格,同时输出图像也具有极高保真度。
3.face_recognition
地址:github.com/ageitgey/facerecognition?utmsource=mybridge&utmmedium=blog&utmcampaign=read_more
简介:该项目整合了当前世界上最简单的人脸识别库,并提供了一个Python API接口,允许开发者利用深度学习框架识别人脸。同时,它也提供了一个简单的命令行工具face_recognition。
4.Magenta
地址:github.com/tensorflow/magenta?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Magenta是Google Brain团队的一个项目,允许开发者用机器学习创作令人瞩目的音乐作品和视觉艺术。
5.sonnet
地址:github.com/deepmind/sonnet?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:sonnet是DeepMind团队在2017年开源的一个建立在TensorFlow之上的高级框架,可用于构建复杂神经网络。它基于TensorFlow,但又很像Torch。因为是专为DeepMind设计的,所以它在一般神经网络算法库功能的基础上增加了不少特有工具,最受关注的是星际争霸2的API。
6.deeplearn.js
地址:github.com/PAIR-code/deeplearnjs?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:deeplearn.js是一款由Google Brain PAIR开发的、基于硬件加速的开源JavaScript库,可被用在机器学习领域。它提供高性能机器学习构建块,允许用户在浏览器中训练神经网络,或在inference模式下运行预先训练好的模型。
7.Fast Style Transfer
地址:github.com/lengstrom/fast-style-transfer?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:这个项目针对的是图像、视频风格迁移,由MIT的Logan Engstrom提供,结合了Gatys的神经算法艺术风格、李飞飞等人的实时风格转移和超分辨率感知损失以及Ulyanov的Instance Normalization,能在几分之一秒内将名画风格迁移到任何图像中。
8.PySC2
地址:github.com/deepmind/pysc2?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:PySC2是DeepMind开源的 “星际争霸II学习环境”(SC2LE)的Python组件。它能通过暴雪官方星际2客户端API接入游戏环境,并将其作为强化学习环境(Python)。该组件为强化学习智能体提供交互界面,获取观察结果并发送动作指令。
9.AirSim
地址:github.com/Microsoft/AirSim?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:AirSim是一个由微软开源的无人机、无人驾驶汽车虚拟训练平台,包含现实环境、天气环境、车辆引擎和传感器等工具,提供从物理到视觉的逼真模拟体验。
10.Facets
地址:github.com/PAIR-code/facets?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Facets是一款由谷歌开源的可视化工具,它包含Facets Overview和Facets Dive两部分,能帮助用户用可视化的方式理解、分析机器学习数据集,且能被嵌入Jupyter笔记本或网页中使用。
11.Style2Paints
地址:github.com/lllyasviel/style2paints?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
视频:www.bilibili.com/video/av14443094/
简介:这是一个由国内团队提供的开源项目,输入一张风格图像和线稿后,工具会自动为线稿着色。据团队成员“一秒一喵”(知乎账号)介绍,Style2Paints实现了基于语义信息迁移的颜色提示,目前已推出2.0版,是当前最精准、最自然、最和谐的着色工具(reddit账号q914847518)。
12.Tensor2Tensor
地址:github.com/tensorflow/tensor2tensor?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Tensor2Tensor(简称 T2T)是一个由Google Brain团队研究人员使用、维护的深度学习模型和数据集库。它提供一个名为MultiModel的模型,能在翻译、语法分析、语音识别、图像识别、物体检测等多种任务上进行训练学习。尽管谷歌曾在论文One Model To Learn Them All中为它大肆宣传,并引发了巨大争议,但事实证明MultiModel并没有那么大的技术进步。
13.pytorch-CycleGAN-and-pix2pix
地址:github.com/junyanz/pytorch-CycleGAN-and-pix2pix?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:PyTorch中的图像到图像转换。
14.Faiss
地址:github.com/facebookresearch/faiss?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Faiss是一个由Facebook Research提供的用于有效相似性搜索和稠密矢量聚类的库。它包含可在任何大小向量集合里进行搜索的算法,也包含评估和参数调试的支持代码。
15.Fashion-mnist
地址:github.com/zalandoresearch/fashion-mnist?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Fashion-mnist是一个类似MNIST的数据库,包含一个60000样本的训练集和一个10000个样本的测试集。这是一个时装数据库,其中每个样本都是大小为28x28的黑白图像,共分为10类。
16.ParlAI
地址:github.com/facebookresearch/ParlAI?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:ParlAI是一个由Facebook Research提供的对话AI研究框架(Python),它的目标是为开发者提供对话模型统一框架、集中的对话数据集和亚马逊Mechanical Turk无缝集成。
17.Fairseq
地址:github.com/facebookresearch/fairseq?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Fairseq是一个由Facebook Research提供的机器翻译工具包,实现了用CNN做时间序列预测分析,它的encoder和decoder都是CNN,inference速度更快,提供英语到法语、英语到德语、英语到罗马尼亚语翻译的预训练模型。但是它只有PyTorch版本。
18.Pyro
地址:github.com/uber/pyro?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Pyro是Uber AI Lab和斯坦福大学研究团队合作开源的一个基于PyTorch的可扩展的深度概率编程库,它是根据这些原则设计的:
-
通用:Pyro是一个通用的PPL——它可以表示任何可计算的概率分布;
-
可扩展性:与手写代码相比,Pyro可扩展到大型数据集,代价小;
-
轻量:Pyro是灵活的、可维护的,它由一些强大的、可组合的抽象概念实现;
-
灵活:Pyro的目标是只在有需要时实现自动化和进行控制,它通过高层次的抽象概念来表达生成和推理模型。
19.iGAN
地址:github.com/junyanz/iGAN?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:IGAN是加州大学伯克利分校和Adobe CTL联合开发的一个开源项目,旨在基于生成对抗网络(GAN)生成交互式图像。
20.Deep-image-prior
地址:github.com/DmitryUlyanov/deep-image-prior?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
论文:sites.skoltech.ru/app/data/uploads/sites/25/2017/12/deepimageprior.pdf
简介:Deep-image-prior是一个基于论文成果的开源项目,作者Dmitry Ulyanov、Andrea Vedaldi、Victor Lempitsky通过卷积滤波使模型在只见过破损图像的情况下实现去噪点和图像修复,且修复后的图片自然、平滑、清晰。
21.face_classification
地址:github.com/oarriaga/faceclassification?utmsource=mybridge&utmmedium=blog&utmcampaign=read_more
简介:face_classification是一个使用keras CNN模型和openCV的fer 2013/IMDB数据集的实时人脸检测和情感/性别分类项目,支持静态图像和动态视频。
22.Speech-to-Text-WaveNet
地址:github.com/buriburisuri/speech-to-text-wavenet?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Speech-to-Text-WaveNet是基于DeepMind的WaveNet和tensorflow端到端语音识别的一个开源语音识别系统。
23.StarGAN
地址:github.com/yunjey/StarGAN?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:StarGAN是2017年高丽大学、Clova AI Research、新泽西大学和香港科技大学合作的一项新成果,它用一个GAN就能在多域图像间实现图对图转换,当用在人脸生成上时,它不仅能调整图像中的发色、肌理、肤色、性别,还能合成各种生动有趣的表情。
具体可见: 港科大等校最新研究:这个GAN不仅能整容,还支持在线变性(附代码实现)
24.Ml-agents
地址:github.com/Unity-Technologies/ml-agents?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Ml-agents允许开发者使用Unity编辑器创建游戏和进行模拟,其中它的编辑器可以通过Python API实现将智能体载入游戏环境进行训练,在那里,开发者可以用强化学习等机器学习方法训练自己的智能体。
25.DeepVideoAnalytics
地址:github.com/AKSHAYUBHAT/DeepVideoAnalytics/?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Deep Video Analytics是由康奈尔大学Akshay Bhat博士提供的一个分布式可视化搜索和可视化数据平台。
26.OpenNMT
地址:github.com/OpenNMT/OpenNMT?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:OpenNMT是一个功能齐全的开源神经机器翻译系统,它设计简单、易于扩展,同时提供高效、先进、准确率高的翻译性能,它的主要功能包括:
-
针对高性能GPU训练的速度、内存优化;
-
简单的通用接口,只需要源和目标数据文件;
-
C++实现翻译器,轻松实现;
-
允许其他序列生成任务(如图像字幕)扩展。
27.Pix2pixHD
地址:github.com/NVIDIA/pix2pixHD?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
论文:arxiv.org/pdf/1711.11585.pdf
简介:Pix2pixHD是NVIDIA和加州大学伯克利分校的合作成果,它能用条件GAN合成和处理大小为2048x1024的图像。近期,相关研究人员又为条件GAN如何生成图像发表了一篇论文,具体可见: 通过协同绘制用GAN合成高分辨率无尽道路 。
28.Horovod
地址:github.com/uber/horovod?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:Horovod是Uber Engineering提供的一个分布式TensorFlow训练框架,它易于使用,训练速度提升明显。对Inception V3和ResNet-101可以实现90%的扩展效率,对VGG-16也可以达到79%的扩展效率。
29.AI-Blocks
地址:github.com/MrNothing/AI-Blocks?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:AI-Blocks是一个“所见即所得”的机器学习模型创建界面,它的用法是通过拖动对象来实现一个简单场景。可直接在编辑器商运行,也可导出到Tensorflow上运行独立脚本。
30.deep-voice-conversion
地址:github.com/andabi/deep-voice-conversion?utmsource=mybridge&utmmedium=blog&utmcampaign=readmore
简介:deep-voice-conversion是一个多对一的语音转换系统,它无需目标对象的语音、文本、对话数据,只依赖声谱图(波状频率)就能把你的声音转换为目标人物的声音。
原文地址:medium.mybridge.co/30-amazing-machine-learning-projects-for-the-past-year-v-2018-b853b8621ac7