选自Model Zoo,机器之心整理。算法
一直以来,研究者与开发者都常常在 GitHub 宝库中搜索比较有意思的项目与实现,但咱们可能须要一个确切的主题,并作一些筛选。近日有开发者发布了一个模型聚合平台,咱们能够分领域在上面搜索到当前最为流行的开源模型。做者根据 GitHub 项目收藏量、项目所属领域、实现框架等特色对这些模型分类,所以咱们能快速定位合适的模型。
项目地址:modelzoo.co/网络
深度学习近来是机器学习最流行的子领域,由于针对高维数据拥有强大的建模能力,它在不少不一样的任务与领域都绽开了夺目的光彩,例如计算机视觉、天然语言处理与智能体学习等。深度学习模型是一种表示学习方法,即根据模型学习表示的自己,而不只仅如同传统机器学习那样将表示映射到输出。架构
目前深度学习主要经过不一样层级的神经元从原始数据自动抽取特征,它学习到的表示每每比传统 ML 手动设计的表示有更好的性能。目前 GitHub 上受关注的 ML 实现大部分都是深度学习模型,它们以不一样的层级结构与网络架构创建起一个个解决具体问题的模型。例如 2D 卷积层以分层的形式堆叠就能由简单到复杂抽取二维数据(如图像)的特征,而循环单元的堆叠就适合处理机器翻译等序列标注问题。再加上残差链接、门控机制和注意力机制等模块就能针对具体任务学习特定知识。框架
这些层级表征的深度模型在近来有很是多的研究,不少开发者与研究者都分享了他们的代码与创意。ModelZoo 旨在为搜索优秀深度模型提供一个集中式的平台,并但愿为复现论文、构建复杂神经网络、学习模型代码与直接使用预训练模型提供资源。机器学习
Model Zoo 是新构建的平台,所以它包含的模型库将不断发展。若是读者发现有其它一些优秀的模型尚未收录进去,能够在网站上提交并通知做者。此外,这个网站的开发者目前还只是新加坡的一名本科生,他但愿能借这样一个平台帮助更多的学习者。函数
Model Zoo 所收集的全部模型都能在 GitHub 中找到,做者 Jing Yu 根据 GitHub 项目收藏量、项目所属领域、实现框架等特征对模型作了整理,此外咱们也能使用关键词搜索肯定须要查找的模型。每个模型都在页面上展现了对应 GitHub 项目的 README 文档,所以读者可快速判断项目的基本信息与要求。此外,做者还构建了 Newsletter 模块,每个月整理一次当月最流行与重要的模型。工具
目前,该项目内的深度学习模型有五大分类:计算机视觉、天然语言处理、生成模型、强化学习和无监督学习。这些类别或领域相互之间是有交叉的,例如不少生成模型均可以归为无监督学习,实际上不少模型确实归为了多个类别。性能
目前收录的实现框架有 Tensorflow、Caffe、Caffe二、PyTorch、MXNet、Keras。虽然还有不少框架没有收录,例如 CycleGAN 的原实现由于使用的是 Lua 语言与 Torch 框架,即便该项目的收藏量达到了 6453,这个平台一样没有收录。学习
能够从 Browse Frameworks 和 Browse Categories 分别进入以上的框架分类界面和模型分类界面,并按其分类进行浏览。下方的搜索框支持模型名称的搜索。网站
模型基本是按 GitHub 的收藏量(如 Magenta 的 10164 star)排序的,预览界面还包含项目简介、实现框架和分类等信息。点击后可进入项目细节(即对应 GitHub 项目的 README 文档)。后文咱们将针对各领域简要介绍其中最流行的项目:
计算机视觉
Magenta 是一个用于探索机器学习在艺术、音乐创做中的做用的研究项目,由于应用众多做者将其划分为计算机视觉与强化学习领域。其主要涉及为生成歌曲、图像、素描等开发新的深度学习和强化学习算法。但它也在尝试构建智能工具和接口,以帮助艺术家和音乐家扩展他们使用这些模型的方式。Magenta 由来自谷歌大脑团队的一些研究员和工程师启动,但也有不少其余人为该项目作出了重要的贡献。
目前该项目有很是多的应用实现与演示,读者可查看 magenta.tensorflow.org/blog。
Mask-RCNN
Mask R-CNN 是一个两阶段的框架,第一个阶段扫描图像并生成候选区域(proposals,即有可能包含一个目标的区域),第二阶段分类候选区域并生成边界框和掩码。Mask R-CNN 扩展自 Faster R-CNN,由同一做者在去年提出。Faster R-CNN 是一个流行的目标检测框架,Mask R-CNN 将其扩展为实例分割框架。
该项目是 Mask R-CNN 的在 Python三、Keras 和 TensorFlow 上的实现。该模型能够为图像中的目标实例生成边框和分割掩码。其架构基于特征金字塔网络(FPN)和 ResNet101 骨干网络。
该 repo 包含:Mask R-CNN 创建在 FPN 和 ResNet101 上的源代码;数据集 MS COCO 的训练代码;MS COCO 的预训练权重;可视化检测流程的每一个步骤的 Jupyter notebook;多 GPU 训练的 ParallelModel 类;在 MS COCO 指标(AP)上的评估;训练自定义数据集的示例。
天然语言处理
WaveNet
下图展现了 WaveNet 的主要结构,这是一个彻底卷积的神经网络,其中的卷积层有不一样的扩张系数(dilation factors),这让其感觉野可根据层级深度指数式地增加并可覆盖数千个时间步骤。此外 Wave Net 仍是第一个提出因果卷积的模型,从直观上来讲,它相似于将卷积运算「劈」去一半,令其只能对过去时间步的输入进行运算。其实后来不少使用卷积网络处理序列标注问题的模型都借鉴了 WaveNet 所提出的这两个结构。
DeepMind 提出的 WaveNet 神经网络架构能够直接生成新的音频波形,在文本到语音转换和音频生成中有优越的表现。在训练时间,其输入序列是由人类说话者录制的真实波形。训练以后,咱们能够对这个网络进行采样以生成合成话语。在采样的每个时间步骤,都会从该网络所计算出的几率分布中取出一个值。而后这个值会被反馈进入输入,并为下一个步骤生成一个新的预测。像这样一次一步地构建样本具备很高的计算成本,但这对生成复杂的、听起来真实感强的音频而言相当重要。
Sentence Classification with CNN
论文《Convolutional Neural Networks for Sentence Classification》的简化版 TensorFlow 实现。
生成模型
DCGAN-tensorflow
Goodfellow 等人提出来的 GAN 是经过对抗过程估计生成模型的新框架。在这种框架下,咱们须要同时训练两个模型,即一个能捕获数据分布的生成模型 G 和一个能估计数据来源于真实样本几率的判别模型 D。生成器 G 的训练过程是最大化判别器犯错误的几率,即判别器误觉得数据是真实样本而不是生成器生成的假样本。所以,这一框架就对应于两个参与者的极小极大博弈(minimax game)。而 DCGAN 主要使用卷积神经网络做为生成器 G 与判别器 D 的架构,所以能生成比较清晰与优秀的图像。
论文《Deep Convolutional Generative Adversarial Networks》的 TensorFlow 实现,这是一个稳定的生成对抗网络。
上图展现了生成器 G 的架构,它使用四个转置卷积进行上采样,即将 100 维的随机变量恢复到图像。这个项目为了防止判别器器网络收敛过快,当判别器迭代一次生成器网络会连续迭代两次,这和原论文不太同样。
Image-to-Image Translation with Conditional Adversarial Networks
由于 CycleGAN 的原实现是用 Lua 写的,所以不少研究者使用该项目复现图像到图像的转换。CycleGAN 的主要想法是训练两对生成器-判别器模型以将图像从一个领域转换为另外一个领域。在这过程当中咱们要求循环一致性,即在对图像应用生成器后,咱们应该获得一个类似于原始 L1 损失的图像。所以咱们须要一个循环损失函数(cyclic loss),它能确保生成器不会将一个领域的图像转换到另外一个和原始图像彻底不相关的领域。
该项目是配对、非配对的图像到图像转换的 PyTorch 实现。
强化学习
Deep Reinforcement Learning for Keras
keras-rl 让人们能够轻松使用当前最佳的深度强化学习算法,使用 Keras 实现,并结合了 OpenAI Gym 来构建项目。
目前该项目实现了如下算法:
DQN-tensorflow
论文《Human-Level Control through Deep Reinforcement Learning》的 TensorFlow 实现。
该实现包括:Deep Q-network 和 Q-learning
无监督学习
MUSE: Multilingual Unsupervised and Supervised Embeddings
MUSE 是一个多语言词嵌入的 Python 库,其目的是为社区提供当前最佳的基于 fastText 的多语言词嵌入,以及用于训练和评估的大规模高质量双语词典。
该项目使用了两种方法,一种是使用双语词典或相同字符串的监督方法,另外一种是没有使用任何平行数据的无监督方法。
Domain Transfer Network (DTN)
论文《Unsupervised Cross-Domain Image Generation》的 TensorFlow 实现,下图是其模型架构概览。
以上是各种别主要流行的模型简介,还有不少优秀的项目并无展现,读者根据该平台与具体的需求筛选模型。