Deeplearning4j(简称DL4J)是为Java和Scala编写的首个商业级开源分布式深度学习库。DL4J与Hadoop和 Spark 集成,为商业环境(而非研究工具目的)所设计。 Skymind 是DL4J的商业支持机构。
Deeplearning4j技术先进,以即插即用为目标,通过更多预设的使用,避免太多配置,让非研究人员也能够进行快速的原型制作。DL4J同时可以规模化定制。DL4J遵循Apache 2.0许可协议,一切以其为基础的衍生作品均属于衍生作品的作者。
人脸/图像识别
语音搜索
文本到语音(转录)
垃圾邮件筛选(异常情况探测)
欺诈探测
推荐系统(客户关系管理、广告技术、避免用户流失)
回归分析
功能多样的N维数组类,为Java和Scala设计
与GPU集合
可在Hadoop、Spark上实现扩缩
Canova:机器学习库的通用向量化工具
ND4J:线性代数库,较Numpy快一倍
Deeplearning4j包括了分布式、多线程的深度学习框架,以及普通的单线程深度学习框架。定型过程以集群进行,也就是说,Deeplearning4j可以快速处理大量数据。神经网络可通过[迭代化简]平行定型,与 Java 、 Scala 和 Clojure 均兼容。Deeplearning4j在开放堆栈中作为模块组件的功能,使之成为首个为微服务架构打造的深度学习框架。
受限玻尔兹曼机
卷积网络 (图像)
递归网络 / LSTMs (时间序列和传感器数据)
递归自动编码器
深度置信网络
深度自动编码器 (问-答/数据压缩)
递归神经传感器网络(场景、分析)
堆叠式降噪自动编码器
更多用途请参见 《如何选择神经网络》
深度神经网络能够实现前所未有的准确度。对神经网络的简介请参见概览页。简而言之,Deeplearning4j能够让你从各类浅层网络(其中每一层在英文中被称为 layer
)出发,设计深层神经网络。这一灵活性使用户可以根据所需,在分布式、生产级、能够在分布式CPU或GPU的基础上与Spark和Hadoop协同工作的框架内,整合受限玻尔兹曼机、其他自动编码器、卷积网络或递归网络。
此处为我们已经建立的各个库及其在系统整体中的所处位置:
在定型深度学习网络的过程中,有许多可供调节的参数。我们已尽可能对这些参数进行解释,从而使Deeplearning4j能够成为Java、 Scala 和 Clojure 编程人员的DIY工具。