Archive:

AI神器榜


20世纪50年代,人工智能是一门哲学

20世纪80年代,人工智能是一门数学

20世纪初。人工智能是一门统计学

直到2006年,人工智能变成一门玄学。

有人说科学的背后是神学,玄学即神学。

2012年以后,深度学习大行其道,现代玄学繁荣昌盛。

所有的科学家,工程师,研究生摇身一变,变成炼丹师。

好马配好鞍,想要成为一名优秀的炼丹师,必须学会炼丹神器。

常见深度学习框架

在深度学习中,一般通过误差反向传播算法来进行参数学习. 采用手工方式来计算梯度再写代码实现的方式会非常低效,并且容易出错。

此外,深度学习模型需要的计算机资源比较多,一般需要在CPU 和GPU 之间不断进行切换,开发难度也比较大。因此,一些支持自动梯度计算、无缝CPU 和GPU 切换等功能的深度学习框架就应运而生。

比较有代表性的框架包括:Caffe、TensorFlow、Pytorch、MXNet 、飞桨(PaddlePaddle)等。

\1. Caffe:由加州大学伯克利分校开发的针对卷积神经网络的计算框架,主要用于计算机视觉。Caffe 用C++ 和Python 实现,但可以通过配置文件来实现所要的网络结构,不需要编码。Caffe2 已经被并入PyTorch 中。

\2. TensorFlow:由Google 公司开发的深度学习框架,可以在任意具备CPU或者GPU 的设备上运行。其计算过程使用数据流图来表示。

TensorFlow 的名字来源于其计算过程中的操作对象为多维数组,即张量(Tensor)。TensorFlow 1.0 版本采用静态计算图,2.0 版本之后也支持动态计算图。

\3. PyTorch:由Facebook、NVIDIA、Twitter 等公司开发维护的深度学习框架,其前身为Lua 语言的Torch4。PyTorch 也是基于动态计算图的框架,在需要动态改变神经网络结构的任务中有着明显的优势。

\4. 飞桨(PaddlePaddle):百度开发的一个高效和可扩展的深度学习框架,同时支持动态图和静态图。飞桨提供强大的深度学习并行技术,可以同时支持稠密参数和稀疏参数场景的超大规模深度学习并行训练,支持千亿规模参数和数百个节点的高效并行训练。

\5. Chainer:一个最早采用动态计算图的深度学习框架,其核心开发团队为来自日本的一家机器学习创业公司Preferred Networks和Tensorflow、Theano、Caffe 等框架使用的静态计算图相比,动态计算图可以在运行时动态地构建计算图,因此非常很适合进行一些复杂的决策或推理任务。

\6. MXNet:由亚马逊、华盛顿大学和卡内基梅隆大学等开发维护的深度学习框架。MXNet 支持混合使用符号和命令式编程来最大化效率和生产率,并可以有效地扩展到多个GPU 和多台机器。

\7. Theano:由蒙特利尔大学的Python 工具包, 用来高效地定义、优化和计算张量数据的数学表达式。Theano 可以透明地使用GPU 和高效的符号微分。Theano 项目目前已停止维护。

在这些基础框架之上,还有一些建立在这些框架之上的高度模块化的神经网络库,使得构建一个神经网络模型就像搭积木一样容易. 其中比较有名的模块化神经网络框架有

基于TensorFlow 和Theano 的Keras8;

基于Theano的Lasagne9。