在上周公开课《AI 从业者该如何选择深度学习开源框架丨硬创公开课》中,微软机器学习科学家彭河森博士详细讲述了各大开源框架适用的场景,课程结束后,我们特地整理了深度学习入门者较为关注的几个问答:
想学习深度学习开源框架,比如TensorFlow,Caffe,需要掌握哪些 Linux 知识?
Linux 方面的知识我认为主要在系统配置方面,这里推荐一下 Docker,Docker 是一个容器虚拟机,可以让虚拟机中的程序和硬件更紧密的结合在一起,同时省去了配置 CUDA,BLAS/LAPACK 等环境方面的麻烦,现在 Docker 本身也是一个非常火热的领域。
还没有接触过深度学习。作为一个初学者,我想知道 Mxnet 这类框架,与 Spark MLLib 里边机器学习包的关系、差异?Spark 只是提供了一些机器学习算法,可以这样理解吗?
这个问题表面上是问差异,但是我想多讲一点,首先现在工业级应用其实都离不开 Apache 生态的支持,如果一个分布式系统不和 Zookeeper 说两句话,都不好意思出来混。当然也有如 Elasticearch 一类的生命野蛮的存在,MXnet 分布式设计有一些部分是非常可圈可点的,比如利用 Yarn 进行服务器资源管理,这样的话可以很容易的和工业级分布式应用整合在一起。Spark MLLib 更多的是一些现有的功能包,包括了监督式和非监督式学习的很多常用模块。MXNet 更为专门,目前据我有限的经验,MLLib的程序基于Java虚拟机,并没有和机器层紧密结合。ELK = Elasticsearch + Logstash + kibana :),Elasticsearch 5.0很好很强大,加入了Beats也可以研究一下。
对深度学习硬件支撑这一块的看法。
硬件很有意思,例如图像处理里面,非常大的运算量是用在了卷积层计算上面。所谓卷积层计算,就是将图像通过深度网络,映射到更低的维度上面去,图像卷积操作可能到了某一天,会出现一个视网膜一样的硬件,在摄像头上面就已经完成了卷积操作,我们传图像的时候,可能传一个类似于 meta tag 的东西。这样的话 FPGA 就有大大的用处。(有群友继续问到:是否类 似Autoencoder)Autoencoder 是一个逻辑上的概念,应该说叫做 ASIC,Application Specific Integrated Circuit,最后成平也就是手机芯片的一个小模块。
相关阅读:
本文作者:亚峰
本文转自雷锋网禁止二次转载,原文链接