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神经网络
-
卷积网络 (图像)
-
深度自动编码器(问-答/数据压缩)
-
递归神经传感器网络(场景、分析)
-
更多用途请参见《如何选择神经网络》
深度神经网络能够实现前所未有的准确度。对神经网络的简介请参见概览页。简而言之,Deeplearning4j能够让你从各类浅层网络(其中每一层在英文中被称为layer
)出发,设计深层神经网络。这一灵活性使用户可以根据所需,在分布式、生产级、能够在分布式CPU或GPU的基础上与Spark和Hadoop协同工作的框架内,整合受限玻尔兹曼机、其他自动编码器、卷积网络或递归网络。
此处为我们已经建立的各个库及其在系统整体中的所处位置:
在定型深度学习网络的过程中,有许多可供调节的参数。我们已尽可能对这些参数进行解释,从而使Deeplearning4j能够成为Java、Scala和Clojure编程人员的DIY工具。