2
我们先来谈谈自学深度学习最大的问题。
现在搞深度学习的,十之八九并不是“科班出身”。
这就导致:如果你想要跨行成为一名深度学习工程师,从头到尾的一切,都基本靠自学。但是,开发者很快就会发现自己遇到了第一个障碍:
绝大多数的学习资源以理论研究为导向,轻工程实践。
其实这也难怪。这几年,深度学习是火了,但大牛们都来自学界,例子不胜枚举:比如谷歌云首席科学家李飞飞、主管 FAIR 的 Yann LeCun、在谷歌大脑的 Ian Goodfellow,以及在过去三年里任百度首席科学家的吴恩达。大牛出身高校,他们编写的教材、录制的慕课也是,不可避免带有很强的学术属性,总给人一种“听大学老师讲课”的感觉(本来就是)。即便有意避免研究导向,甚至弱化数学理论部分(比如吴恩达老师在 Coursera 上的“Machine Learning”),仍然离产业界的需求相去甚远。
用一句话来概括:现有的深度学习资源,对学生群体很友好,但对在职工程师并不如此。许多人花大半年时间(有毅力的会更久)研读了几本深度学习教材,发现实际操作时仍然不知道该怎么实现一个具体的东西。
我们的老熟人——澳大利亚的机器学习(ML)专家 Jason Brownlee,就常用自己的“惨痛经历”劝诫深度学习学习者切勿迷信学校里的东西。
他本是一名普通的软件工程师,对 ML 感兴趣之后,花几百澳刀买了几本教材自学,但效果不是很好,以为需要“科班”学习经历才能读懂那些学术语言。一咬牙辞职,从 AI 专业的研究生读到博士。毕业了,却发现“搞” ML(而不是研究 ML),其实在 IT 技能的基础上,一步步边实践边摸索就够了,饶了一大圈回来,还是重拾程序猿的老本行,成为一名几年前的自己其实就能胜任的 ML 工程师。
Jason Brownlee
有感于自己绕的弯路,Jason Brownlee 创建了一个 ML 学习网站 Machine Learning Mastery,把自己的学习心得分享给大家。他写的教程和书,首重开发者最关心的具体模型的实现,对其背后的理论一带而过,结果大受工程师的欢迎。
如今, “Machine Learning Mastery” 已成为业界最知名的 ML 教育品牌之一。
关注雷锋网的读者应该也发现了,但凡 Jason 有符合国内读者需求的技术教程,雷锋网总在第一时间翻译出来分享给大家。而这实际折射了一个趋势:凡是冠以“实战”二字的深度学习、ML 文章,会更受欢迎。
这直接反映出:工程实践导向的深度学习、ML 学习资源有多匮乏。
有句话怎么说来着——“需求产生供给”。巨大的市场缺口,吸引着越来越多产业界的 ML 工程师投身教育培训。比如说,除了 Machine Learning Mastery,国外的英伟达 DLI 深度学习学院(详情见雷锋网此前报道“你听说过英伟达深度学习学院 DLI 吗?”)、fast.ai,国内雷锋网创立的 mooc.ai,都是以工程实践为导向、面向开发者的深度学习培训项目。这些培训,弥补了大多数深度学习慕课偏重理论讲解、缺乏代码实现的短板,可说是互为表里。
但由于深度学习开发者培训需要经验丰富的工程师现场指导如何设置环境、如何操作开发工具,以及如何 troubleshooting,慕课的万人在线、线上学习形式难以满足要求。高品质的培训,往往在线下进行,这大幅限制了参与人数,导致资源依旧稀缺。
鉴于此,AI 慕课学院(mooc.ai)联合 fast.ai 中文社区,邀请了四名中外深度学习工程师,6 月 17 -18 日在北京太库(Techcode)进行“12小时零基础入门深度学习”线下培训,目标是提供业内对新手最友好的深度学习入门指导,降低学习者跨行从事深度学习开发的门槛。开课前夕,几位指导老师同雷锋网进行了交流——为什么在他们眼中,深度学习可以“零基础入门”。
雷锋网对指导老师中的三位:杨杰、Max 和赵伊丹进行了采访。
其中,杨杰老师曾在南方航空动力机械有限公司从事多年的生产线设计,转型深度学习后进行算法金融项目的研发;Max 本是金融学博士,在“深度学习”和“无人驾驶”领域有丰富教学经验;赵伊丹老师在致力于深度学习之前,从事校园 VC 的深度学习与无人驾驶项目。
为什么实战培训如此重要?
杨杰:现在的学习资源太倾向数学理论。比如 Ian Goodfellow、Yoshua Bengio、Aaron Courville 编写的教科书《Deep Learning》,初学者看了也不知道该怎么做。深度学习的理论研究已经进入到很深的层次,对于想要真正做好、精通的人,我认为这本书是必读的,但不适合初学者。
Max(经雷锋网编译,下同):fast.ai 的创始人 Jeremy Howard 喜欢举这么个例子:对于足球运动员,不需要学习物体的物理运动原理,只需要喜欢这项运动,然后去踢,不断在练习中提高技艺。对于开发者,在一开始上手时,只需要知道怎么做,而不需要知道为什么。
杨杰:(补充道) 数学理论可以上手后再慢慢学。一开始就往里钻容易产生畏难情绪, “觉得不是他的菜”,因而放弃。可以先用起来,感兴趣之后慢慢再研究理论。
新手入门深度学习的主要障碍是什么?
杨杰:心理障碍。
Max :知识点太多,需要理解的术语、概念太多。因此在一开始深度学习看上去很难。但真正上手之后,会发现其实没有想象中那么难。
赵伊丹:环境配置(杨杰和 Max 点头赞同)。这一关会把很多初学者吓跑——很多人靠自己很难把第一步的开发环境设置起来。这里需要的东西很多也很麻烦,容易遇到各种系统问题。因此,“12小时零基础入门深度学习”会把环境调好让大家可以直接上手。
新手最需要掌握的技能是什么?
Max :Python 和 numpy。
杨杰:什么都不需要,一张白纸最好。什么都没学过更容易入门,不然容易和以前学到的编程知识混淆。虽然深度学习开发必须要用 Python,但一开始不会 Python 用不着介意。相比主流编程语言,比如 C++,Python 上手更简单,对普通人更友好。
赵伊丹:基础编程技巧,以及计算机命令行。虽然这些可以慢慢学,但事先就会的话能省些功夫。
推荐哪些辅助开发工具、框架?
三位老师:Keras+TensorFlow,后者已经成为行业标准,前者是后者的 API。
conda 和 Anaconda。
另外,由于硬件基本都是用 GPU,需要 CUDA。
对于各个深度学习模型,你们认为新手应从哪一个上手?
Max:CNN。图像处理问题一般基于 CNN,它也很适合应用于分类问题。简单来说就是:它最基础,应用频繁,很多更复杂的模型都是基于 CNN,非常适合入门。
三年前,世界屈指可数的顶级研究机构才能实现的一些算法,现在任何一个开发者都可以利用各种开发工具借助 CNN 实现。
深度学习入门课程,比如”12 小时零基础入门深度学习“,能为学习者带来的最大的提升在于哪个方面?
杨杰:信心——明白“I can do it”。
赵伊丹:指导老师手把手带着尝试过了,在实战中就知道怎么去做、朝什么方向去做。
你们当初入门深度学习的过程中都遇到了哪些困难,又是如何解决的?
Max:搭建环境是个很大的坎儿。另外,当时我没有 GPU,训练速度特别慢。后来就想办法减少数据加快速度。
我觉得新手可以多看看 “help”帮助文档。再有就是 Google 和百度——从我的经验来看,99%的问题都能搜索解决。绝大多数问题别人已经遇到过,并且已经解决过了,只需要多点耐心找出来。
赵伊丹:缺乏实践项目的磨炼, 理论学得太多,但不知道怎么用。举个例子,有很多深度学习模型的优化方法,但只凭理论是无法判断出应该用哪个的,也不知道怎么去调。这里就需要实践经验并结合实际项目来做选择。
有许多原本从事其他行业的程序员、甚至非程序员,想要跨行做深度学习,对他们的建议是?
杨杰:(笑)我们以前就是跨行的。这次的培训也是针对这一点,不需要深厚基础,不需要对深度学习数学理论有多深的理解。程序员也未必优势很大,他们上手新编程语言更容易,仅此而已。
Fast.ai 的座右铭是”make deep learning uncool again“,即“让深度学习不再高冷”。你们的理解是?
Max:深度学习不应该是只有科学家才能做的事情。各行各业的技术人员,都应该有能力把深度学习技术整合进他们的工程应用中,把产品做得更好。现在,只有谷歌等少数互联网巨头才称得上是大范围地应用深度学习。但在不远的将来,无数公司的服务、产品都会有这个需要。这其中的关键,就是让深度学习不局限于内行、专家,让任何专业背景的技术人员借助工具都能掌握。而且,它本来就不难学。
赵伊丹:(补充道)现在还存在大片市场空白。在许多尚未涉及的领域,一旦应用深度学习就很容易产生很大的效果。
学习形式:线下授课
时间:6 月 17 -18 日,两天共九课时
地点:北京市海淀区海淀大街鼎好大厦A座西南门 3 层
培训价格:999 元
课程详情:http://www.mooc.ai/course/92
报名须知:每位学员请带上个人笔记本电脑,Windows 用户请安装 Xshell
另:学员有机会参与太库(Techcode)组织的 AI 企业参观活动。
相关文章:
雷峰网原创文章,未经授权禁止转载。详情见转载须知。