首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

IBM 深度学习架构(2)

IBM 深度学习架构(2)

深度叠加网络最后要介绍的一种架构是 DSN,也称为深凸网络。DSN                不同于传统的深度学习框架,因为尽管它包含一个深度网络,但它实际上是各个网络的深度集合,每个网络都有自己的隐藏层。此架构是对一个深度学习问题的一种回应:训练的复杂性。深度学习架构中的每一层的训练复杂性都呈指数级增长,所以                DSN 未将训练视为单一问题,而将它视为单独训练问题的集合。
DSN 包含一组模块,每个模块都是 DSN 的整体分层结构中的一个子网。在此架构的一个实例中,为 DSN 创建了 3                个模块。每个模块都包含一个输入层、一个隐藏层和一个输出层。模块彼此堆叠,一个模块的输入包含前一层的输出和原始输入矢量。这种分层使整个网络能学习比单个模块更复杂的分类。
DSN                允许隔离训练各个模块,这使得它们能并行训练,因而具有很高的效率。监督训练实现为每个模块上的反向传播,而不是在整个网络上的反向传播。对于许多问题,DSN                表现得都比典型 DBN 更好,这使它们成为了一种流行且高效的网络架构。
开源框架这些深度学习架构肯定是可以实现的,但从头开始可能很耗时,而且也需要时间来优化它们并让它们变得成熟。幸运的是,可以利用一些开源框架来更轻松地实现和部署深度学习算法。这些框架支持                Python、C/C++ 和 Java®等语言。让我们看看 3 种最流行的框架和它们的优缺点。
CaffeCaffe 是最流行的深度学习框架之一。Caffe 最初是在一篇博士论文中发布的,但现在已依据 Berkeley Software                Distribution 许可进行发布。Caffe 支持许多深度学习架构,包括 CNN 和 LSTM,但它明显不支持 RBM 或                DBM(不过即将发布的 Caffe2 将会支持它们)。
图像分类和其他视觉应用中已采用 Caffe,而且 Caffe 支持通过 NVIDIA CUDA Deep Neural Network 库实现基于                GPU 的加速。Caffe 支持采用开放多处理 (Open Multi-Processing, OpenMP)                在一个系统集群上并行执行深度学习算法。为了保证性能,Caffe 和 Caffe2 是用 C++ 编写的,它们还为深度学习的训练和执行提供了                Python 和 MATLAB 接口。
Deeplearning4jDeeplearning4j 是一种流行的深度学习框架,它专注于 Java 技术,但包含适用于其他语言的应用编程接口,比如 Scala、Python                和 Clojure。该框架依据 Apache 许可而发布,支持 RBM、DBN、CNN 和 RNN。Deeplearning4j 还包含兼容                Apache Hadoop 和 Spark(大数据处理框架)的分布式并行版本。
人们已应用 Deeplearning4j 来解决众多问题,包括金融领域中的欺诈检测、推荐系统、图像识别或网络安全(网络入侵检测)。该框架集成了                CUDA 来实现 GPU 优化,而且可通过 OpenMP 或 Hadoop 进行分发。
TensorFlowTensorFlow 是 Google 开发的一个开源库,是从闭源 DistBelief 衍生而来。可以使用 TensorFlow                训练和部署各种神经网络(CNN、RBM、DBN 和 RNN),TensorFlow 是依据 Apache 2.0 许可而发布的。人们已应用                TensorFlow 来解决众多问题,比如图像说明、恶意软件检测、语音识别和信息检索。最近发布了一个专注于 Android 的堆栈,名为                TensorFlow Lite。
可以在 Python、C++、Java 语言、Rust 或 Go(但 Python 最稳定)中使用 TensorFlow 开发应用程序,并通过                Hadoop 分散执行它们。除了专业的硬件接口之外,TensorFlow 还支持 CUDA。
Distributed Deep LearningIBM Distributed Deep Learning (DDL) 被称为“深度学习的喷气式引擎”,这个库链接到了 Caffe 和                TensorFlow 等领先框架中。可在服务器集群和数百个 GPU 上使用 DDL 来加速深度学习算法。DDL通过定义最终路径来优化神经元计算的通信,最终的数据必须在GPU之间进行。通过轻松完成 Microsoft                最近设置的一个图像识别任务,证明深度学习集群的瓶颈能够得以解决。
结束语深度学习是通过一系列架构来表示的,这些架构可为各种各样的问题领域构建解决方案。这些解决方案可以专注于前馈的网络,或者是允许考虑以前的输入的递归网络。尽管构建这些类型的深度架构可能很复杂,但可以使用各种开源解决方案(如Caffe,Deeplearning4j,TensorFlow和DDL)来快速启动和运行。
返回列表