Author image

Yijun Wu

3 篇文章 个人网站
Yijun Wu,互联网从业者,信奉用技术手段解决非技术问题。相信人类水平的人工智能在30年之内将会实现。关注深度学习,TensorFlow。

我所推荐的深度学习学习路径

深度学习最近为什么这么火

外行所见的是2016年AlphaGo 4比1 战胜李世石,掀起了一波AI热潮,DeepMind背后所用的深度学习一时间火得不得了。其实在内行看来,AlphaGo对阵李世石的结果是毫无悬念的,真正的突破在几年前就发生了。2012年,Gefferey Hinton的学生Alex使用一个特别构造的深度神经网络(后来就叫AlexNet),在图像识别的专业比赛ImageNet中,得到了远超之前最好成绩的结果,那个时候,整个人工智能领域就已经明白,深度学习的革命已经到来了。果然,之后深度学习在包括语音识别,图像理解,机器翻译等传统的人工智能领域都超越了原先各自领域小郭最好的方法。从2015年起,工业界内一些嗅觉灵敏的人士也意识到,一场革命或已到来。

基本概念

1. 机器学习与深度学习

深度学习是机器学习中的一种技术,机器学习包含深度学习。机器学习还包含其他非深度学习的技术,比如支持向量机,决策树,随机森林,以及关于“学习”的一些基本理论,比如,同样都能描述已知数据的两个不同模型,参数更少的那个对未知数据的预测能力更好(奥卡姆剃刀原理)。而深度学习是一类特定的机器学习技术,主要是深度神经网络学习,在之前经典的多层神经网络的基础上,将网络的层数加深,并辅以更复杂的结构,在有极大量的数据用于训练的情况下,在很多领域得到了比其他方法更好的结果。

2. 机器学习与大数据

阅读全文

在AWS GPU主机上用Docker容器运行TensorFlow

学习TensorFlow,第一步当然要把TensorFlow的程序跑起来。在什么样的环境上跑呢?深度学习的训练包含大量的浮点运算,业内广泛使用GPU来进行加速,加速比可以达到10到100倍。我们作为专业人士,当然也要用GPU来加速训练。本文就教大家怎么用最经济快速的方式使用GPU来运行TensorFlow。

技术栈

深度学习使用的GPU都比较贵,业内典型的GPU,Titan X K40,售价大概20000RMB。一次性投入过大,不适合短期使用。目前很多云提供商都提供了带GPU的云主机,支持按使用量付费,比较适合短期的使用。我们将选择带GPU的云主机作为我们的环境。同时,Docker是我们一直非常喜欢的运行程序的方式,TensorFlow支持跑在Docker容器里,并且能够使用GPU的运算能力。但要做到这一点,需要在我们的运行环境中增加一些层级和组件。为了大家有个整体的认识,我们先介绍以下我们的技术栈。

1. 云主机+GPU

国内提供带GPU的云主机的厂商有阿里云和UCloud。不幸的是目前这两家都缺货,阿里云支持在控制台页面直接申请,但是提示缺货,正在备货。这个状态已经持续超过一个月了。UCloud需要申请,据客服说申请者要等至少半个月。国外的亚马逊AWS也提供带GPU的主机,现货充足。我们就以这个环境为我们的运行环境。

2. Docker

Docker的好处在于通过它运行程序非常方便,因为所有的依赖都包含在一个镜像当中了,一条命令就可以把程序跑起来,也可以将自己的程序打包成镜像到别的机器上很方便地运行。

阅读全文