机器/深度学习PaddlePaddle、photon-ml、DL4J、Swift AI介绍

以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:PaddlePaddle(百度分布式深度学习平台)、photon-ml(LinkedIn开源的Photon机器学习)、DL4J(Deeplearning4j-分布式深度学习库)、Swift AI(人工智能和机器学习库)。

1、PaddlePaddle(百度分布式深度学习平台)

PaddlePaddle (中文名:飞桨,PArallel Distributed Deep LEarning 并行分布式深度学习)是百度研发的深度学习平台,具有易用,高效,灵活和可伸缩等特点,为百度内部多项产品提供深度学习算法支持。

PaddlePaddle 的优势:

同时支持动态图和静态图,兼顾灵活性和效率。

动态图具有方便调试、高效验证业务、快速实现想法等特点, 静态图具有方便部署、运行速度快,适合进行业务应用等特点,助您灵活、高效地进行训练和预测。

精选应用效果最佳的算法模型并提供官方支持。

飞桨提供70+官方模型,全部经过真实应用场景的有效验证。基于百度多年中文业务实践,提供更懂中文的NLP模型,同时开源多个百度独有的优势业务模型以及国际竞赛冠军算法。

真正源于产业实践,提供业界最强的超大规模并行深度学习能力。

飞桨是业内唯一全面支持大规模稀疏参数训练场景的开源框架,支持千亿规模参数、数百个节点的高效并行训练。

支持的特性:

易用性:为用户提供了直观且灵活的数据接口和模型定义接口。

灵活性:PaddlePaddle支持多种神经网络结构和优化算法。简单书写配置文件即可实现复杂模型,如带注意力机制或复杂记忆连接的神经机器翻译模型。

高效性:为充分发挥多种计算资源的效力,PaddlePaddle在计算、存储、架构、通信等多方面都做了细致优化,性能优异。

可伸缩性:PaddlePaddle全面支持多核、多GPU、多机环境,优化的通信实现使高吞吐与高性能成为可能,轻松应对大规模数据训练需求。

PaddlePaddle 模型学习工具:PaddleHub。

Paddle Fluid 内部执行流程:

机器/深度学习PaddlePaddle、photon-ml、DL4J、Swift AI介绍

Executor 设计思想:

机器/深度学习PaddlePaddle、photon-ml、DL4J、Swift AI介绍

安装最新的稳定版本:

# Linux CPU

pip install paddlepaddle

# Linux GPU cuda10cudnn7

pip install paddlepaddle-gpu

# Linux GPU cuda9cudnn7

pip install paddlepaddle-gpu==1.6.0.post97

下载地址:https://github.com/PaddlePaddle/Paddle

2、photon-ml(LinkedIn开源的Photon机器学习)

Photon机器学习是什么?

Photon机器学习提供支持大规模回归,支持带L1、L2和elastic-net正则化的线性回归、逻辑回归和泊松回归。Photon机器学习提供可选择的模型诊断,创建表格来帮助诊断模型和拟合的优化问题。Photon机器学习实现了实验性质的广义混合效应模型,下面会详细介绍。

在LinkedIn如何应用Photon机器学习?

典型的机器学习系统以下面的流程图表示。第一阶段是数据预处理,从在线系统清晰数据,创建数据表,特征提取。接下来的阶段是应用机器学习算法为推荐系统或者搜索系统学习得到好的评分函数,进而选择最好的模型。最后,最优模型进行在线A/B test发布,来测试其对用户体验的影响。

机器/深度学习PaddlePaddle、photon-ml、DL4J、Swift AI介绍

Photon机器学习是LinkedIn公司模型训练的核心,可作为其它机器学习库的热插拔替代。在上面的流程图中,圆圈代表行为,圆柱体代表数据集。

如何在集群中运行Photon机器学习?

在LinkedIn公司,Photon机器学习运行使用Spark on Yarn模式,与其它Hadoop MapReduce应用共用同一个集群。我们可以很容易在同一个工作流中混合使用Photon机器学习和传统的Hadoop MapReduce程序或者脚本。模型训练从Hadoop MapReduce迁移到Spark on Yarn可提速10到30x倍。为了更好的使用Spark,机器学习算法团队贡献了支持Spark的Dr. Elephant。

Spark和Hadoop工作流共用同一个集群,可支持LinkedIn已有的机器学习输入和输出格式,极大的提高Photon机器学习在LinkedIn的推广。现在许多团队在开发关联应用和安全数据科学时使用Photon机器学习,一些团队也在线上使用。

Photon机器学习的发展方向:GAME。

作者开源Photon机器学习到社区,对其他人构建和应用机器学习会有工业级别的影响。虽然当前有许多开源的机器学习库,但作者认为Photon机器学习是相当重要的补充。Photon机器学习提供广义混合效应模型(GAME)。

当前,Photon机器学习实现GAME,支持广义线性混合效应模型(GLMix)。GLMix模型由固定效应和多随机效应模型组成。固定效应模型对应传统模型和广义线性模型,假设每个观测变量是独立的。随机效应在固定效应的留存中附加多粒度参数(users, items, segments)获取额外的异质性。一般规则化是用来避免过拟合。并且,随机效应会引起观测变量的边际依赖。

机器/深度学习PaddlePaddle、photon-ml、DL4J、Swift AI介绍

GAME采用坐标下降法依次解决每个系数。

机器/深度学习PaddlePaddle、photon-ml、DL4J、Swift AI介绍

我们使用坐标下降法优化所有问题,单步按序调试每个效应,使用合适的优化器解决子问题。对于固定效应坐标,我们使用分布式回归算法按列分区数据。Spark的RDD每次迭代利用本地数据优势,在不用shuffle数据的情况下快速优化。为了有效地解决随机效应坐标,我们根据随机变量分区数据,用单机算法解决随机效应坐标。

GAME模型提供精确的图表来辅助研究型工程师定位问题。作者希望使用这些技术更广泛的提高推荐系统的算法。LinkedIn公司内部使用A/B test显示Photon机器学习训练GLMix模型在工作推荐中提高了百分之十五到百分之三十,在邮件推荐中提高百分之十到百分之二十(基于点击率)。虽然这些test只是在早期阶段,但得到的结果表明Photon机器学习能显著的提高推荐效果。

Photon机器学习提供的GAME算法训练模型,作者后续将持续提高它的稳健性和易用性。除了广义线性模型外,作者已经开发了分解式随机效应模型试验性代码,利用矩阵分解来和随机效应交互。在未来,作者将会继续用广义混合框架实现其它的机器学习算法。

下载地址:https://github.com/linkedin/photon-ml

3、DL4J(Deeplearning4j-分布式深度学习库)

Deeplearning4j(简称DL4J)是为Java和Scala编写的首个商业级开源分布式深度学习库。DL4J与Hadoop和Spark集成,为商业环境(而非研究工具目的)所设计。Skymind是DL4J的商业支持机构。

Deeplearning4j技术先进,以即插即用为目标,通过更多预设的使用,避免太多配置,让非研究人员也能够进行快速的原型制作。DL4J同时可以规模化定制。DL4J遵循Apache 2.0许可协议,一切以其为基础的衍生作品均属于衍生作品的作者。

神经网络使用情景:

人脸/图像识别、语音搜索、文本到语音(转录)、垃圾邮件筛选(异常情况探测)、欺诈探测、推荐系统(客户关系管理、广告技术、避免用户流失)、回归分析。

为何选择Deeplearning4j?

功能多样的N维数组类,为Java和Scala设计、与GPU集合、可在Hadoop、Spark上实现扩缩、Canova:机器学习库的通用向量化工具、ND4J:线性代数库,较Numpy快一倍。

Deeplearning4j包括了分布式、多线程的深度学习框架,以及普通的单线程深度学习框架。定型过程以集群进行,也就是说,Deeplearning4j可以快速处理大量数据。神经网络可通过[迭代化简]平行定型,与Java、Scala和Clojure均兼容。Deeplearning4j在开放堆栈中作为模块组件的功能,使之成为首个为微服务架构打造的深度学习框架。

DL4J神经网络:

受限玻尔兹曼机、卷积网络(图像)、递归网络/LSTMs(时间序列和传感器数据)、递归自动编码器、深度置信网络、深度自动编码器(问-答/数据压缩)、递归神经传感器网络(场景、分析)、堆叠式降噪自动编码器。

深度神经网络能够实现前所未有的准确度。对神经网络的简介请参见概览页。简而言之,Deeplearning4j能够让你从各类浅层网络(其中每一层在英文中被称为layer)出发,设计深层神经网络。这一灵活性使用户可以根据所需,在分布式、生产级、能够在分布式CPU或GPU的基础上与Spark和Hadoop协同工作的框架内,整合受限玻尔兹曼机、其他自动编码器、卷积网络或递归网络。

此处为我们已经建立的各个库及其在系统整体中的所处位置:

机器/深度学习PaddlePaddle、photon-ml、DL4J、Swift AI介绍

在定型深度学习网络的过程中,有许多可供调节的参数。我们已尽可能对这些参数进行解释,从而使Deeplearning4j能够成为Java、Scala和Clojure编程人员的DIY工具。

下载地址:https://gitee.com/mirrors/deeplearning4j

4、Swift AI(人工智能和机器学习库)

Swift AI 是高性能的人工智能和机器学习库,完全用 Swift 编写,目前支持  iOS and OS X,未来将支持更多平台。

Swift AI 包括一组人工智能和机器学习的通用工具,这些工具灵活、强大,可用于广泛的应用程序。常用工具:

神经网络(灵活的,完全连接的神经网络,支持深度学习,使用高级并行处理技术专门针对Apple硬件进行了优化)、卷积神经网络、递归神经网络、遗传算法库、快速线性代数库、信号处理库。

下载地址:https://github.com/Swift-AI/Swift-AI

注明

以上就是机器/深度学习PaddlePaddle、photon-ml、DL4J、Swift AI的介绍内容,这些机器学习/深度学习软件都能使用在Linux操作系统中。

栏目相关文章