吴恩达专访:我的人工智能科研之路-风君雪科技博客

  编译/蒋宝尚   编辑/贾伟

  来源:AI 科技评论

  作为斯坦福大学计算机科学系和电气工程系的客座教授,吴恩达一直致力于深度学习的研究。

  在不同的场合,他一再表示:深度学习还有很大的潜力,是一项被证明有效的技术,我们需要继续加大投入。

  为此他做了很多努力:其与达芙妮·科勒一起创建的在线教育平台 Coursera 影响了数百万的 AI 学习者;所开发的人工神经网络通过观看一周 YouTube 视频,自主学会识别哪些是关于猫的视频为人工智能领域翻开崭新一页。

  近日,MIT 的 AI 科学家 Lex Fridman 对吴恩达进行了专访,在接受采访的时候,从在线教育平台 Coursera 谈到了初学者如何进入 AI 领域,并讲解了他认为的最高效的“学习姿势”是什么样的。另外,其还回忆了他的第一个博士生,并简单介绍了当时研究直升机的项目……

  专访视频如下,由于视频过长,AI 科技评论在不改变吴教授逻辑的情况下,进行了有删改的编译。

  1、在线教育的早些时候

  我在香港和新加坡长大,第一次接触代码还是5、6 岁的时候,当时我学习基础的编程语言,将一些代码编入计算机里,当时我也非常喜欢做一些编码实例。

  我在我的旧电脑上面实现我的想法,沉迷于将课本上的代码复现到电脑上,因为我觉着用编程帮助我玩视频游戏非常酷!

  年龄稍微大点,我就和我的医生爸爸就阅读相关的专家系统和神经网络知识,那时在计算机里写代码,然后展示智能是真的很棒!

  高中的时候,我在办公室做助理实习,期间做了很多复印(photocopy)的工作,当时我就想,如果能写一些软件来造一个机器人来让一些工作自动化,那该多棒。

  从那时起,我的很多工作都围绕着自动化这一主题展开,直达今天。我仍然以自动化为中心,甚至今天的机器学习在写一些学习算法方面也非常出色。另外,我在 Coursera 上也尝试了将自动化应用到校园教学上面。

  我在斯坦福教授机器学习的时候,每年会有大约 400 名学生,每一年我都会在相同的教授,拍摄相同的教学视频,甚至讲相同的笑话。

  我在想为什么我不用在最后一年拍摄的教学视频,然后花更多的时间和同学们建立深刻的关系 ?这启发了我的思考,然后我们发起了第一步的行动。

  其实大多数人都不知道,我放在网上的教学视频大多是晚上 10 点到凌晨 3 点之前录制的。一开始的时候,压力很大,我们想过要放弃,但是有十万人注册,成千上万的人的期待促使我走向录音棚,走向办公室。

  开始录制之前都会调整我的讲课逻辑,调整欢迎致辞,开着麦克风,然后开始录制,每每都会到夜里两三点,但是创作内容的想法鼓励着我希望有很多人学习机器学习。

  我告诉我的团队,我们首要任务是做对学习者有利的事情,每当我往录音棚走去,我脑子唯一的想法是我能说什么,如何才能让学习者尽可能的了解机器学习概念。

  我认为我们做了对的事情,我一直在坚持基本原则,做对学习者最好的事情,即使学习者可能来自全球各地。

  我很想帮助任何对机器学习感兴趣的人进入这个领域,你可能会好奇,为什么要发给这么多的时间来解释梯度下降,其实回想一下学习的基本要求就知道了:任何进阶技能都可回溯到基础概念。

  当然,对人工智能感兴趣的人非常多,这里面可能包括开发商,程序员,他们可能来自世界各地。确定的是,感兴趣的人数还会随着时间的推移而增长,所有的这些东西都不会凭空而来,所有一蹴而就的成功都需要花时间才能实现。

  我第一次接触到在线教育是把我在斯坦福讲课的视频传到 YouTube 上面,随后也建了网站,建造网站的好处是让我可以进行迭代,让我们实现一些想法。

  当时非常兴奋,尤其开发了一个特别的登录功能,即可以让多个人同时登录此网站,能够让多人同时看视频。当前的一些网站大多不支持此项功能,毕竟如果你已经登录了,我再想登录,那么只有你注销才可以。

  当然也有许多失败的教训,其实如果有一些东西看起来很棒,然后没有人使用,那么它实际上并没有你认为的那么棒。

  2、机器学习会像教育一样普及

  整个机器学习运动的兴起,并不是凭空而来,越来越多的人在学习机器学习,进入这个领域的人还会影响他的朋友,所以这个 AI 学习者的比例还会不断的增长。

  尚不清楚 AI 开发人员占总开发人员的多少,但是占到 50% 以上的比例还是非常轻松的。毕竟 AI 不仅涉及机器学习建模,还要涉及机器学习基础设备、数据管道等。就像今天的开发工程师或多或少的都对“云”有些理解,但并不是都在工作里需要“云”。我认为这种现象以后在某种方式上会适用于 AI 开发者。

  曾几何时,只有一小部分人识字,也许你认为不是每个人都需要学会读和写,这些人只需要听就够了?但是当一个国家的人基本上都认识字的时候,这大大的促进了人与人之间的交流。

  在计算机方面,仍处于这个阶段,如果人人都认识代码,都晓得机器学习,这在某种程度上类似于识字教育普及。

  但随着机器学习和数据规模的上升,我发现的是,我认为在日常生活中,在工作中具体使用数据分析的人数非常多。如果你在经营一家商店,如果你能分析你的客户的销售数据,那么你的价值非常高。

  在某种程度上这些人是数据科学家,因此,我认为机器学习的数据迹象可能比软件工程更容易进入发达国家。

  3、无监督学习很重要!

  Peter 是我的我第一个博士生,他有着评判性思维,当时他的博士学位研究主题是用强化学习控制无人直升机,直到现在你都可以在斯坦福网站上看到这些视频。

  这项研究非常难,有一些事情无法克服,例如当直升机倒飞时,你如何找出位置?如何定位直升机?我们尝试了很多方法,但显然问题出在 GPS 硬件上,当时想过用两个 GPS 定位,但没有成功。为了解读 GPS 信号,我们疯狂索复杂的专门硬件配置,经历了很多失败,最后解决方法采用在地面上安装摄像头解决定位问题。

  斯坦福那时候有很多强化学习的理论文章,但是实际应用并不多,所以我们的研究在当时非常有名。

  我们今天可能又回到了原点,强化学习的进展目前如此令人兴奋,但我们仍然在寻找更多的应用场景。

  我非常喜欢研究理论,我希望我所做的工作会对人们产生积极的影响。我还记得,多年之前,我们和一位数学教授讨论的时候,当他说道他想做的事情的时候,他的眼里充满了小星星,他说我之所以研究数学,是因为它帮助人们发现真相以及宇宙的美丽。

  所以,全力支持以及带着尊重看别人的观点非常棒,当我看到我的团队正在帮助人们的时候,也会非常有动力。

  这个世界上需要各种各样的人,我只是其中一个,并不是每个人都像我一样做事情,但是当我钻研理论或者实践的时候,如果我坚信这是一条帮助别人的道路,满足感就会非常强烈。

  我们也有忽略的东西,那就是早期无监督学习的重要性,在谷歌大脑的早期,我们在无监督学习上投入的精力远超有监督学习。

  当前我们所知道的大部分都是通过有监督的学习来实现,从绝对有问题的论点来看,人类获取信息的方式是通过查看图像、收听音频和感悟他在这个世界上的经历。所以无监督的学习非常重要,当然,这不是说有监督学习不重要,毕竟早在几年前,很多人认为这才是进步的方向。

  但是我们对“规模”的探索可能是正确的,毕竟规模能够为系统带来性能。我在斯坦福小组的名为 Adam 成员经过实验发现,我们训练的学习算法规模越大,效果越好。为此他还画了一个图,并说服了我:当模型的规模比在 GPU 上所做的大的多的时候,便能够得到一个非常好的结果。

  或许这是一种有争议的文化,当时有很多朋友都说我追求规模的举动非常糟糕。但是我发现,如果你想取得突破,你必须对你所做的事情有信心,在事情流行之前做一些事情,会让你更有影响力。

  4、数据集的规模和学习机制都很重要!

  其实数据集的规模和学习机制都很重要,当然这依赖于特定的问题,目前已经有几个数据表明,在基本错误率方面,我们正在接近或超过人类水平。如果我们看看最近使用你们的语言模型取得的突破,例如 GPT-2 和 Bert,就会发现这是架构和规模的结合。

  我们已经在管理 cold thing 方面在逐渐成熟,例如版本控制。但是我们在管理数据集方面并不成熟,例如软件上一些乱七八糟的数据问题。

  高质量数据集也非常重要,举个例子,当我们与制造公司合作时,标签不一致的情况非常多。对于大型互联网公司,有很多数据,错几个标签没关系,但是对于小公司,并没有大量的数据,假如只有 100 个数据,却有 10 个错误标签,那么错误率就是 10%,这对训练的影响会非常大。

  5、初学者如何进入深度学习领域?

  一个人是如何进入深度学习领域的呢?虽然大多数都是自学但是仍得益于专业化的设计。什么是序列模型?什么是注意力模型?是不是非得微积分才能理解这些概念,其实如果只在电脑上操作两个矩阵相乘只需要高中知识就够了。

  当然了,深入学习还需要线性代数的支撑,需要了解非常基本的知识,了解一些编程。但是有人已经做了机器学习的调用,所以进行深度学习非常容易。

  初学者在学习人工智能的时候,应该多实践,了解算法之间的不同之处,一开始不要费心去收集数据。

  在学习的过程中要进行自我测试,花时间修改架构,尝试新东西,高效的构建神经网络,但规模也不要太大,神经网络的规模要在你可支出的范围之内即可。你可以在前六个月建立一个完整项目,眼光不要只放在数据这一个小的方面。

  必须着手构建实用的机器学习的系统思维框架,打个比方,我们在学习编程的时候哦,必须必须学习一些语法,Python 也好,C++也好。但同样重要的是,也许编码中更重要的部分是理解如何将这些代码融合在一起。什么时候应该在函数列中放置一些东西?你什么时候不放置?什么样的框架能让程序员更加高效?

  我记得当我在卡内基梅隆大学读本科时,我的一个朋友会先试着用代码来调试他们的代码。

  他每一行都要注意语法错误。语法错误是可怕的,应该学习如何调试。另外,机器学习程序中调试的方式与二进制搜索方式非常不同。

  非常擅长调试机器学习算法的人,会让某些东西工作起来的速度很容易就快了 10 倍,也许是几百倍,他们调试的过程非常高效。

  与学习数学类似,深度学习的一个挑战是,有太多的的概念。如果你忽略了概念,那么你就可能弄不清后面要做的事情的前提条件。因此,在深度学习的专业化学习中,要尽量打破概念,最大限度提高可理解性。这样的话,当深入学习时,就会有足够的信心。

  另外,我发现,如果我尝试教给学生最有用的技巧,并让他们即刻使用,就会缩短他们“强制”学习的时间。

  现在的世界变化太快了,也许几年的时间就会天翻地覆,但我认为我们还需要更多的进行强化学习。深度学习令人如此兴奋,但人工智能团队不应该只使用深度学习,我的团队就会使用一系列的工具。有时候我们使用 PC 电脑,试图在 PC 上找出解决问题的原因,有时候使用代理模型,有时候使用草稿,这里面或许会有一些对行业有巨大影响的内容。多样化的技能可以帮助我们发现更适用解决问题的工具。

  在学术方面我也有期望。假如我只做学术,并且有无限的预算,不用担心短期的影响的话,我会把所有的精力都花在研究无监督学习上,因为无监督学习是一个美丽的想法,它让人兴奋。

  举一个自监督学习的例子:我在网上抓取了一些无标签的图像数据,数据的种类各种各样,那么我会将每张图片旋转、翻转,然后训练一个有监督的神经网络预测图片原来的方位。因为旋转了图片,所以产生的有标签的数据就是无限多。

  研究人员已经发现,通过无标签数据和捏造标签数据集,然后训练一个大型的新网络,采用隐藏层表示并使用迁移学习能够将其转移到另一个强大的算法上面。

  无监督学习越来越重要,并且在现实世界里发挥着作用,尤其是在计算机视觉领域,此概念融合其他学科的概念会让人兴奋。

  我对稀疏编码也非常感兴趣,我看到过一个慢特征分析,其想法可以追溯到我们十年前的工作内容,但当时我们都被监督学习所分散精力,所以希望研究者可以围绕主题探索更多的工作,以便能够出圈。

  6、养成学习习惯是重要的学习技巧!

  对于初学者来说,大概是 16 周可以完成深度学习专门的课程,也有的人在不到一个月的时间完成学习、也就是说,这取决于个人情况,我们在 Course 上面提供了非常专业化的课程,非常容易获得,也很实惠。如果学生经济困难,那么就可以申请经济援助也是可以的。

  在学习深度学习和机器学习的时候,养成学习习惯是关键,因为这意味着规律性。对我自己来说,我养成了每周六和周日花点时间看书或学习的习惯,习惯会让人变得更容易。所以就像你刷牙的习惯一样,不会认为那刷牙的那两分钟所做的事情是烦人的。

  记住,学习者不需要有认知负担的习惯,但要做到这一点一开始会非常困难。确信自己能够养成不需要做决定的习惯,学会坚持不懈!

  读研究论文是一件非常好的事情,“不读论文”的能力可以来自一年里每周都读论文,当你读了一百篇论文之后,你会学到很多。

  关于学习的技巧,提倡手写笔记。对于我来说,当我深入研究某件事时,我会用手写下来。当然,视情况而定,不是每个人都适用,例如很多人在通勤途中的学习,书写就非常不方便。但是总的来说,手写笔记可以提高记忆力,能够让人们更多的回忆知识点,促进了人们的长期注意力的集中。然后在写笔记的过程中,注重总结,可以写的慢一点,但要对学习的内容深层次总结。

  在学习过程中,实际上课程作业是人们进入新领域并学习概念知识的一种非常有效的方式。博士生如果想投入研究,实际上最好的做法,是在开始几年的花时间奠定基础,虽然头几年的工作效率比较低,但是长远来看,确是非常棒。

  从小事做起,循序渐进,不要一上来就处理大项目,可以拿小项目练练手。当然,最关键的是先迈出第一步,然后再迈出一小步。

  7、关于博士学位,关于找工作

  研究者应该获得博士学位吗?机器学习中最令人着迷的事情就是即使你没有博士学位也能做一些有影响力的事情。当然了如果有人被麻省理工或者斯坦福等顶尖高校录取,那么也是一次极好的经历。另外,如果有人想成为一所顶尖大学的教授,那么就必须拥有一个博士学位。

  另外,我建议你得到一份工作的时候,要问谁是你的经理?你周围的同龄人都有谁?因为我们都是社会生物,我们往往变得更像我们周围的人。如果你为优秀的人工作,你会学得很快。如果一家公司不告诉你与谁一起工作,或者说是轮换制度,我觉着这可能是一个令人担忧的答案,因为这意味着你无法与优秀的人一起工作。

  8、如何建立一个成功的人工智能创业公司

  很多初创企业的失败都来自于产品制造,因为他们的产品没人想要。我本身倾向于结果以及客户驱动的商业模式。只有当客户决定给你的产品伸大拇指,还是小拇指的时候,才能决定你的成败。在短期可能会得到各种用户的青睐,最重要的还是长期,所以当你创办一家企业的时候,要问自己一个问题:客户会有什么想法?

  我们所有人都应该只做我们认为能创造社会公益、推动世界前进的事情。无论是在企业,还是在学术环境中,最有意义的方法一直是为人们服务。所以我个人并不想支持制造令人上瘾的数字产品,因为这些产品只要带着“有利可图”的属都能做到“上瘾”。

  当我还在百度领导人工智能小组时,我的工作分为两个部分。其一是建立一个 AI 引擎支持现有的商业模式。第二个工作是尝试启动公司新的业务线,即把公司的人工智能使用上。所以自动驾驶业务并入了我的小组。

  当时我就想建立人工智能基金,并从零开始系统地打造新的创业公司。我想这会是团队追求丰富企业空间的一种重要方式。这种机制对完成项目,推动世界向前发展有重要的影响。

  非常幸运的是,我建立了几个研究小组,也产生了一些积极的影响。接下来我会用更加系统的方式运营。

  工作室最开始是新的概念,现在可能有了几十个了,很多团队仍然试图想找出如何高成功率运行公司的方法。我的一些风投朋友也似乎越来越多的想创建一家公司,而不是投资一家公司,因为最迷人的事情始终是如何创建一家成功的公司。现在已经在给创业者提高成功率方面已经做得很好了,但是在全球范围内还处在早期的阶段。对大多数创业者来说,开一家公司真的是一件寂寞的事情,有太多的企业家不知道如何做出决定。例如在销售的时候,在投放广告的时候……

  企业家需要做出数百个决定,而在几个关键决策中犯错误会对公司的命运产生巨大的影响。因此,我认为工作室会给初学者提供支持,让创建公司不再是孤独的经历。此外,当面对一些关键的决策的时候,例如在雇用第一个工程副总裁的时候,雇佣标准是什么?如何雇佣?工作室至少在关键时刻能给这些人一些帮助。另外也希望帮助他们对关键决策的“时点”有意识。

  9、企业如何转型 AI?

  一家大公司如何将机器学习融入到他们的工作中呢?人工智能是一项通用技术,它将改变每个行业。其实,我们的 AI 社区已经在很大程度上进行了改变,大多数软件互联网并不是顶级的,其只要具备合理的机器学习能力,就有很大的改进空间。

  软件互联网领域之外行业,例如制造业,农业,医疗保健,物流,运输,有非常多的机会,但很少的人在使用人工智能。所以我认为人工智能的下一步是改变所有其他行业。

  因此,我们需要更多的团队为这类公司工作,帮助他们部署 AI。除了互联网软件行业,所有的行业都很有潜力,毕竟这是我花了很多时间在制造业、农业、医疗保健等方面才得出结论。举个例子,在制造业中,计算机视觉发挥了很大的作用:用深度学习训练一个算法,然后让其识别产品是否有缺陷,然后给出工厂如何改进的建议,以便提高产量和质量。

  事实证明,此过程遇到的实际问题可能与你猜想可能遇到的问题大不相同。在大多数研究中,首先数据集的规模几乎是不够的,另一方面还需要考虑工厂的实际情况,可能模型在训练集上效果很棒,但如果工厂改变了一些东西,例如灯的亮度,算法的准确率就不会很高。然而这些问题,学术界大多都没有讨论。

吴恩达专访:我的人工智能科研之路-风君雪科技博客

  我曾经在网上发表了一份《人工智能转型手册》,简单的介绍了每个公司在转型的时候应该避免的坑。而第一步实际上是从小事做起,但是很多公司的失败都是因为一开始“大而不实”。

  以谷歌大脑为例,当时很多人认为深度学习神经网络没啥用,我和我的团队从小事做起,建立了一个准确率高的语音识别系统,然后其他团队开始青睐深度学习。

  第二个例子是谷歌地图,我们使用计算机视觉从基本的街景图像中读取房屋编号,以谷歌地图更准确地定位房屋。也就是用深度学习来提高地图数据的质量。通过两次的成功,我们逐步建立了人工智能项目的发展势头,然后才开始了与谷歌广告团队进行对话、合作。虽然只前期都是小规模的项目,但让我们的团队获得信心。

  记得,我们当时只有一台 GPU,但是却从如何探索多人共享方面学到了很多东西,这也帮助我们团队思考如何将其扩展到更大的部署。

  建立和部署机器学习是非常困难的,在电脑中运行 notebook 文件和在具体实际情况中部署之间有着巨大的鸿沟。

  很多人低估了算法部署到生产所要花费的精力,一些算法在测试集上做的很好,但是用在实处却不起作用,例如把工厂附近的树木砍掉,测试集会发生变化,算法是否能发挥效力不得而知。

  在学术界,当测试集和训练集之间的概率分布是不同的时候,如何处理尚未得到好的解决办法。当然,迁移学习正在为这方面工作做努力,但是我们真的不擅长处理此类事情。

  如果你看看软件系统中的代码行数,机器学习模型可能只占整个软件系统的5% 甚至更少,那么如何完成接下来的工作,并使其更加系统和可靠呢?需要明确的是,良好的软件工程是基础,也是构建小型机器学习系统的基础。

  10、我们应该考虑什么样的 AI 道德?

  拿自动驾驶来说,最大的问题不是“电车难题”是,最大的问题是当一辆车横穿马路时,最大的问题是你应该做的是刹车而不是撞上它。

  另一个道德问题是财富不平等,人工智能和互联网正在引发权力集中,因为数据拥有可以高效的分析数据,会影响众多产业。

  互联网很多行业有“赢家通吃”的动力,同时这些动力影响着其他的行业。所以重点是如何确保财富得到公平分享呢?如何帮助失业的人?除了教育之外,我们可能还需要做更多的事情。然而偏见也是一个严重的问题。

  故意对遥远的未来可能出现的问题的事情大做文章,而不是把重点放在当前硬件方面的问题上,会掩盖我们今天已经存在的问题。

  11、我最自豪的事情!

  我也犯了很多错误,但是每次改正,我都会想为什么不早五年,甚至早十年想到这一点呢?有时候我读了一本好书,我希望我 10 年前就读过这本书,要是 10 年前就读了可能我的生活是如此的不同,尽管这是最近发生的。

  在我们发现的过程中,不断地发现那些事后看起来如此明显的东西,它总是比我想要弄清楚的时间要长得多。

  我最自豪的满足和幸福的就是我的女儿,但我没有花足够的时间来陪陪她。

  帮助别人也能使我得到满足,对我来说,生命的意义是希望别人实现他们的梦想,我希望试图通过使人类作为一个整体更加强大来推动世界的前进。所以,当我知道别人因为我变得好一些的时候,我也会非常自豪和幸福。