|
下载本文的。pdf格式 这种文件类型包括高分辨率的图形和原理图(如适用)。 |
深度学习是人工智能(AI)不断发展的一个方面,由于多核硬件(如图形处理单元通用计算)的性能改进。工具和框架也让开发者更容易接触到深度学习,但到目前为止,还没有出现像C这样的主流平台。过多的选择可能会让人困惑,并不是所有的平台都是一样的。在这个领域,尖端的开发总是会让在坚实的基础上创建新应用变得更加困难。
深度学习是深度神经网络(dnn)的另一个名称。这种类型的神经网络有许多层,这影响了计算需求:随着层的大小和层数的增加,这些需求也会增加。此外,性质较浅的宽神经网络可用于许多应用。事实上,它们可以混合使用(见图)使用一些框架。神经网络还与循环神经网络、卷积神经网络和逻辑回归有关。
一些比较流行的开源深度学习框架包括咖啡,CNTK,TensorFlow,火炬,DeepLearning4J.咖啡,在伯克利愿景与学习中心可能拥有最大的追随者和支持。微软的计算网络工具包(CNTK)是一个活跃的开源项目。Torch和Theano是提供深度学习支持的Python库。MatConvNet是为Mathworks的MATLAB设计的工具箱。
谷歌开始TensorFlow。的TensorFlow操场是一个网站,您可以在此试验预先定义的网络,以了解变化如何影响识别过程及其准确性。DeepLearning4J,由Skymind是一个用Java编写的深度学习框架,旨在运行在Java虚拟机(JVM)上。Skymind智能层(SKIL)基于Deeplearning4J、ND4J和LibND4J(一个n维数组库)。
基础款
大多数DNN平台经常利用新的或现有的计算框架来完成应用程序所需的繁重工作。两个著名的计算框架是OpenCL和Nvidia的cuDNN (CUDA款)。OpenCL的优点是可以在从多核cpu到GPGPU阵列的各种硬件上运行。英伟达的解决方案针对的是其自己的gpu,包括最新的Pascal架构特斯拉P100(参见“GPU瞄准深度学习应用”).
DNN应用程序通常需要在大型计算集群上进行大量训练,以确定与神经网络中的节点或神经元相关的权值。其优点是,由此产生的网络可以在包括微控制器在内的更简单的硬件上实现。
开发者面临的最大挑战是熟悉DNN。这些框架通常为示例应用程序预先配置了许多网络,比如图像识别。这些工具可以用于更多的用途,但通常需要专家来开发和调优新配置。
不幸的是,商业支持只适用于某些框架。像英伟达这样的公司有一个积极的支持项目,使用了像深度学习GPU训练系统(DIGITS)这样的工具,该系统旨在处理图像分类和对象检测任务。它可以帮助实现一系列功能,比如并行训练多个网络。
dnn及其相关工具并不适用于所有应用程序。然而,从汽车到智能手机的人脸识别,它们可以在许多应用领域的性能和性能方面产生重大影响。
寻找零件?去SourceESB.
|
下载本文的。pdf格式 这种文件类型包括高分辨率的图形和原理图(如适用)。 |