深度学习真的可以零基础入门吗?

  • 时间:
  • 浏览:1

Theano

我接触你这种库,是不可能 它的 documentation。当时我正在寻找受限玻尔兹曼机、自编码器,在 DL4J 中找到了这三个小 documentation。后面 的文件很清楚,有理论,有代码案例。我须要得说 DL4J 的 documentation 果果真艺术品,有些库在记录代码的但是须要向它学习。

DL4J 转过身的公司 Skymind 意识到,其实在宽度学习圈内 Python 是老大,但大帕累托图任务管理器池池员起自 Java,全都须要找到一三个小处里方案。DL4J 兼容 JVM,也适用 Java、Clojure 和 Scala,随着 Scala 的起起落落,它也被全都有潜力的创业公司使用,全都我回会 继续紧追你这种库。

此外,Skymind 的 twitter 账户非常活跃,不断公开最新的科学论文、案例和教程,及其推荐亲戚亲戚大伙儿 关注。

Cognitive Toolkit

mxnet 是一三个小支持大多数编程语言的框架之一,包括 Python,R,C++,Julia 等。但我其实使用 R 语言的开发者会一阵一阵偏爱 mxnet,不可能 至今为止还是 Python 以不可置疑的态势称霸宽度学习语言的(Python 与 R 的对决,猜猜我会站哪边?:-p)

老实说,在此但是我并没办法 很关注 mxnet。有但是 当亚马逊 AWS 敲定选用 mxnet 作为其宽度学习 AMI 的库时触发我结束了了了了关注 mxnet。我须要去了解一下。要是我我获知亚马逊把 mxnet 列为其宽度学习的参考库并宣称其巨大的横向扩展能力。我感觉到这后面 有有些新的改变所处有但是 我须要深入了解。这也是为哪几种亲戚亲戚大伙儿 2017 的 BEEVA 的技术测试名单里有 mnxet 的因为。

我对多 GPU 的扩展能力一阵一阵疑虑有但是 我很原意去了解原本实验的更多细节,但目前我还是对 mxnet 持怀疑态度。

「You have just found Keras.」

后面 这句话在等你打开文档页面时都看的第话语。在起步时就不可能 有了足够的宽度学习知识,但我没办法 时间有些人手动编写功能,也没办法 时间探索和学习一三个小新的库(截止时间能不能 2 个月,而我还有课要上)。有但是 我发现了 Keras。

我真的很喜欢 Keras,不可能 它的句法是相当明晰的,它的文档也非常好(尽管相对较新),有但是 它支持我不可能 掌握的语言 Python。它的使用非常简单轻松;亲戚亲戚大伙儿 不能很直观地了解它的指令、函数和每个模块之间的链接最好的最好的办法。

Keras 是一三个小非常高层的库,都须要工作在 Theano 和 TensorFlow(都须要配置)之上。另外,Keras 强调极简主义——你只需几行代码就能构建一三个小神经网络。

Keras

Lasagne 是一三个小工作在 Theano 之上的库。它的使命是繁复有些宽度学习算法之下的繁复计算,一起去也提供了一三个小更加友好的接口(也是 Python 的)。这是一三个小老牌的库,有但是 很长时间以来它全是一三个小扩展能力很强的工具;但在我看来,它的发展传输数率赶不上 Keras。它们的适用领域都差没办法 来太少,但 Keras 有更好的文档、也更完整性。

Caffe

DL4J

DSSTNE 的发音同 Destiny,是一三个小酷劲十足的框架却老要被忽略。为哪几种?除去有些的因素不谈,因为在于你这种框架不具有普适性,全是为一般常见任务所设计的。DSSTNE 框架只做一件事——推荐系统,但把这件事做到了极致。既全是为研究而设计,也全是为测试 idea 而设计(来源其官方网站的宣传语),DSSTNE 框架是为量产而设计。

亲戚亲戚大伙儿 已在 BEEVA 上做有些实验测试了,目前我不可能 感觉到这是一三个小运行非常快的工具有但是 不能得到非常好的运行结果(平均准确率均值——mAP 很高)。为了达到你这种传输数率,DSSTNE 框架用 GPU 运行,这也是它的弊端之一:不同于篇中分析的有些框架不可能 库,你这种框架不支持使用者随意在 CPU 和 GPU 中切换,而这不可能 会对有些尝试有用,但亲戚亲戚大伙儿 在 DSSTNE 里做原本的尝试时是不被框架所允许的。

还想说明有些,你这种框架对编程能力没办法 要求。DSSTNE 框架通过其终端的命令行来执行相关操作。

到目前为止,全都我知道也很流行的框架和库我还没办法 用过,我能不能 给出更多具体的细节。

不可能 你想进入你这种领域,你应该首先学习 Python。尽管你这种领域还支持其它全都语言,但 Python 是应用范围最广有但是 最简单的一三个小。

不可能 你是初学者,使用 Keras,不可能 全是初学者,也都须要使用它。不可能 你参加过 Kaggle 比赛,你肯定注意到了 Kaggle 的两大巨星:Keras 和 XGBoost。

在你这种世界上每天仍有全都战争,有但是 一三个小优秀的「勇士」(西班牙语「Guerrero」)须要熟知哪几种战争是须要去参加作战的,哪几种是都须要选用不参与的。

Torch 是一三个小很著名的框架,因巨头 Facebook 的人工智能研究所用的框架是 Torch,有但是 在被谷歌收购但是 DeepMind 也是用的 Torch(收购但是 DeepMind 转向了 TensorFlow)。Torch 的编程语言是 Lua,这要是我我刚才所谈的「战争」的具体所指。在目前宽度学习编程语言绝大帕累托图以 Python 实现为主的大趋势下,一三个小以 Lua 为编程语言的框架的最大劣势莫过于此。我从未用使用过你这种语言,不可能 有但是 你 使用 Torch 你这种工具,毫无什么的问题我须要先学习 Lua 语言有但是 不能使用 Torch。这难能可贵是一三个小合理的过程,但就我有些人情况表来说,我偏向于用 Python、Matlab 不可能 C++的实现。

Theano 是最老牌和最稳定的库之一。据我所知,宽度学习库的开端全是 Caffe 要是我 Theano。

和 TensorFlow 类事,Theano 是一三个小比较低层的库。也有但是 它不用说适合宽度学习,而更适合数值计算优化。它支持自动的函数梯度计算,蕴藏 Python 接口并集成了 Numpy,这使得它从一结束了了了了就成为了通用宽度学习领域最常使用的库之一。

MXNet

Lasagne

认知工具包(Cognitive Toolkit)但是被亲戚亲戚大伙儿 所知的缩略是 CNTK,有但是 最近又重命名回归到 Cognitive Toolkit,很不可能 是想沾最近微软认知服务(Microsoft Cognitive services)的光。在公开的基准测试上的表现来看,你这种工具似乎很强劲,支持纵向和横向的推移。

目前为止,Cognitive Toolkit 似乎全是很流行。我并没办法 读到全都关于使用你这种库的博客、在线实验案例不可能 在 Kaggle 里的相关评论。有但是 对我来说,一三个小背靠微软研究的框架一阵一阵强调有些人的推移能力有但是 你 其实有些奇怪,毕竟微软研究团队原本在语音识别上打破世界纪录并逼近人类水准。

我在查看亲戚大伙儿 项目百科的一三个小范例的但是了解到 Cognitive Toolkit 在 Python 上的语法和 Keras 是非常相类事的(Cognitive Toolkit 也支持 C++),这不禁有但是 你 在想(并全是确认)Keras 才是正确的最好的最好的办法。

Torch

DSSTNE

TensorFlow

对于哪几种听说过宽度学习但还没办法 太过专门深入的人来说,TensorFlow 是亲戚大伙儿 最喜欢的宽度学习框架,但在这里有但是 你 澄清有些事实。

在 TensorFlow 的官网上,它被定义为「一三个小用于机器智能的开源软件库」,但我其实应该没办法 定义:TensorFlow 是一三个小使用数据流图(data flow graphs)进行数值计算的开源软件库。在这里,亲戚大伙儿 没办法 将 TensorFlow 蕴藏在「宽度学习框架」范围内,要是我和 Theano 一起去被蕴藏在「图编译器(graph compilers)」类别中。

在结束了了了了 Udacity 的 Deep Learning 课程(https://www.udacity.com/course/deep-learning--ud7400)但是,我的感觉是 TensorFlow 是一三个小非常好的框架,有但是 却非常低层。使用 TensorFlow 须要编写大量的代码,你须要一遍又一遍地重新发名者轮子。有但是 我并全是唯一一三个小没办法 想的人。

Caffe 不要是我最老牌的框架之一,要是我老牌中的老牌。

在我看来,Caffe 有非常好的形状,但全是有些小缺点。起初的但是它并全是一三个小通用框架,而仅仅关注计算机视觉,但它具有非常好的通用性。在亲戚亲戚大伙儿 实验室的实验中,CaffeNet 架构的训练时间在 Caffe 中比在 Keras 中(使用了 Theano 后端)少 5 倍。Caffe 的缺点是它缺乏灵活。不可能 你想给它来有些新改变,那你就须要使用 C++ 和 CUDA 编程,不过你也都须要使用 Python 或 Matlab 接口进行有些小改变。

Caffe 的文档非常贫乏。你须要花大量时间检查代码不能理解它(Xavier 初始化有哪几种用?Glorot 是哪几种?)

Caffe 的最大缺点之一是它的安装。它须要处里大量的依赖包……我原本安装过 Caffe 两次,真正痛苦至极。

但要清楚,Caffe 并全是一无是处。在投入了生产的计算机视觉系统的工具上,Caffe 是无可争议的领导者。它非常稳健非常快速。我的建议是:用 Keras 进行实验和测试,有但是 迁移到 Caffe 中进行生产。