吴恩达深度学习课程笔记之访谈部分

摘要

本博客记录了吴恩达新开设的深度学习在线课程中名人访谈部分的一些内容和博主的一些心得体会。

前言

前一段时间,吴恩达从百度离职的消息闹的沸沸扬扬,大家都非常关注吴恩达离开百度后会从事什么新的工作,并给出了很多猜想。事情的结局至少让我很出乎意料:他继续从事了在线教育事业,开设了一门新的深度学习在线课程。

我登陆Coursera,查看了课程的详情,发现该课程可以免费体验7天,7天之后每月需要支付49美元的学费,如果学习能力足够强,可以7天内学完全部内容然后取消课程,这样可以不用支付任何费用。我本来想挑战一下7天上完,但是仔细一看,该系列课程共有5个课程,其中第四个和第五个课程还没有开始。因此如果想不花钱,必须等到5个课程全部开始后才能开始挑战。

我又想到了申请Coursera的财务援助,网上说还是很容易通过的。财务援助申请中首先需要写明教育背景、年收入、工作情况,这个不难,我就如实按照研究生的收入情况填写,另外一栏是“你每月能承受多少钱来付给课程”,我的目的既然是一分钱都不想花,只能填0了…,接下来需要分别用至少150个英文单词来描述你为什么申请财务援助以及这个课程对你达成事业目标有什么帮助,我真诚的填写了自己窘困的财务状况和课程可能对我的帮助(我发现高中毕业后,写两段150单词的英文短文还是挺难的,真的)。这时,再完成最后一组问题就可以大功告成了!最后一组问题是:“你是否愿意使用低利息的贷款来支付课程?”,我就是不想花钱,直接选择了“否”,“如果你选择了否,请告诉我们为什么?”,我擦!为什么?我就是不想花钱,怎么解释为什么?

就这样我倒在了最后一个问题上,默默的关掉了财务援助页面,思考还是等课程全了之后突击7天吧。(同时思考,为了省这点钱花这么大工夫值得吗?)

几天之后,突然发现网易云课堂把这个课程购买了,免费提供给国内的同学,虽然只包含视频,不包含作业,但是还是很不错的,给网易点个赞!对于和我一样想省钱的同学,可以先在网易看视频,然后等Coursera上课程内容完整了,利用7天免费时间下载作业等资料去做。

正文

观看了已经发布出来的视频之后,还是有很多收获的,如果时间允许,可以整理成博客发出来。这个深度学习系列课程的一个特点是,吴恩达请了一些深度学习领域的大牛,进行了访谈,访谈主题包含大牛如何踏入这一领域,大牛的一些经历,大牛对人工智能和深度学习的认识,大牛对从业者的建议等。 本文列举了目前已发布课程中采访的各个大牛,只记录了访谈中我感兴趣的部分,因此我记录内容的多少并不能反映采访内容的多少。想了解全部的访谈内容,建议去网易云课堂上观看完整视频。

Geoffrey Hinton

经历:
儿时一个大牛的一次谈话让Hinton对大脑如何存储信息非常感兴趣,这一想法左右了他的人生选择。大学时在剑桥学习生理学和物理学,之后开始转而学习哲学,又开始转而学习心理学,然后做了木匠,最后决定学习人工智能,去了爱丁堡大学(在人工智能发展早期,爱丁堡是欧洲最重要的人工智能研究基地)。那里他的导师做了一些神经网络的工作,同时正好放弃了神经网络,转向符号主义的人工智能(连接主义被抛弃的时期,大部分神经网络的研究人员都开始研究当时看起来更加有前途的符号推理)。虽然和导师的观点有不少冲突,Hinton还是坚持自己的想法,读完了博士。但是他在英国找不到工作,随后申请并得到了加州的奖学金,就前往了加州,那里对于神经网络的态度很开放,Hinton在那里发表了著名的反向传播的算法。事实上在那一时期很多人都先后发明过反向传播类似的方法,但是Hinton说服了Nature的审稿人,在Nature上发表了文章,引起了较大的轰动。

回头看最兴奋的技术发现:

  1. 最优美的是玻尔兹曼机/受限玻尔兹曼机(Boltzmann machine/restricted boltzmann machine)
  2. 深度信念网络(Deep Belief network)
  3. 变分方法(variational methods)

一些观点:

  1. 大脑可能使用的是另一套学习机制,不完全是反向传播
  2. 讨论了Capsules这个想法(没听懂)
  3. 人类是采用无监督学习方式学习的,无监督学习长远意义上是很重要的,但是现实是最近10年来有监督学习、有标签的鉴别性学习是最有效的。
  4. GAN是深度学习领域既重要又“真正新”的想法,可能会有重大突破

对想入门AI或者DL的同学的建议:

  1. 多读论文,但是不要读太多,特别是对于创造性的研究者;坚持自己的直觉,如果你的直觉很好,你最后会成功,如果你的直觉一般,那么你做啥都无所谓(这一条理由简直让人哭笑不得,如果你牛逼,请坚持,你会成功;如果你不牛逼,请坚持,反正你也掀不起什么风浪…)。
  2. 永远不要停止编程
  3. 如果你认为是一个非常好的点子,但是别人都认为这说不通的时候,你可能就真正发现了好东西,比如Hinton当时发现变分时,他把自己的变分工作给别人看时,有一对双胞胎评价:这哥们儿要不是喝多了,要不就是傻。

对于研究生的建议:找一个和你想法类似的导师,可以得到导师更多的时间和建议

关于读博士还是去公司:目前机器学习属于一种革命,传统的计算机科学是对机器编程不同,机器学习是向机器展示,让机器自己学习,目前的学校可能没有系统性的教授这类知识体系的经验,教职人员也是缺乏的;而企业里对员工的培训做的很不错,比如Google。

Pieter Abbeel

一些观点:

  1. 目前的深度增强学习(DeepRL)只能解决短时间的学习问题,比如5s内效果不错,那么整体效果就还不错,如何解决长时间的学习问题是个未来的方向。
  2. 如何在系统达到不错的性能之后,继续学习的更好是个难题。因为那时采集bad example非常困难,也就让系统提升更加困难, exploration很重要。
  3. 虽然Deep RL可以使用一套方法解决许多不同的问题,但是每次都是从头开始学习的,如果旧的学习能够帮助新的学习,那么就能好很多了。
  4. 解决实际问题时,应该都是先使用Supervised Learning模仿人的行为,在性能足够好之后,再引入RL,再考虑长期的reward。
  5. 虽然看RL从头学习非常有趣,可以看到机器从什么都不会到学到一些东西,但是这个过程实在是太久了。

Ian Goodfellow

一个经历:一次Goodfellow头很痛,医院的医生怀疑他可能脑出血,他在等待MRI结果时,当时大脑里考虑的是(如果自己挂了?)如何让别人继续自己的研究思路进行研究。虽然事后回想起来当时的研究思路很蠢,但是他因此找到了人生的方向。(对此我表示大写的服!)

一些观点:

  1. 目前,GAN可以应用在很多场合,比如semi-supervised learning、生成其他模型的训练数据、模拟科学实验,但是总体来说,其他生成模型也可以做这些事情。
  2. 现在GAN很不稳定,就像10年前的DL一样,那时使用deep boltzman machine,参数很不好调,但是现在我们使用ReLU,batch normalization,DL的训练就可靠的多了。如果可以像DL那样,稳定的训练GAN,GAN会有更大的应用。
  3. 如果不能找到稳定的训练GAN的方法,那么GAN只会成为机器学习历史上的一个生成模型,最终会被其他生成模型所替代。(在GAN大红大紫的背景下,Goodfellow还是非常冷静的)

对于从业者的建议:不一定要读博士,做有趣的事情,做好,把代码放在GitHub上,然后就会有人来找你了;在arXiv上发论文也是不错的选择。

对抗样本问题:关系到ML安全问题,就像之前的计算机安全问题(如果骗机器运行了错误的代码,就是应用级安全,如果在网络中冒充了其他人,就是网络级安全),很多时候在早期意识到安全问题是容易补救的,东西成型后再解决安全问题是比较困难的

Yoshua Bengio

一些观点:

  1. 无监督学习不只是没有标签的问题,还应该包括机器如何认识世界,发现世界的运转规律等等。
  2. 目前的深度学习成功大多数在感知层面(语音和图像),在更加高层次,比如抽象环节,还有很多工作可以做。
  3. ICLR 会议是好论文的集中地。

林元庆

一些观点:

  1. 百度组织了中国的国家深度学习实验室,这个实验室致力于构建一个深度学习平台,其中有算法框架、数据和计算资源,使得人们可以很容易的复现现有工作,进行新的研究工作。(如果这样一个平台建成了,而且访问也比较容易,那应该对研究会比较有帮助)

Andrej Karpathy

一些经历:

  1. 通过亲自标数据,研究了人类基线问题,了解人类的水平对于算法研究是非常重要的。
  2. 在博士生阶段在斯坦福开设了cs231n深度学习课程。(比较难以想象一个在读博士生开一门课是什么情况…)

插一句,我第一次听说Karpathy是看到他的一篇关于博士生的博客:A Survival Guide to a PhD 还在读博士的同学可以看一看。

一些观点:

  1. 深度学习不只是性能很好,另外一个出乎意料的事情是,transfer learning非常好,可以作为一个比较通用的特征提取器,在image net上的网络可以transfer到其他图像任务上,而且效果很好,这是之前不可想象的。
  2. 认为AI之后会分成两个路径,一是应用AI,解决某个特定问题,二是通用AI,研究智能问题。认为之前人们把人的能力拆分,分别研究各个能力,再整合这个思路是错误的;应该从整体的角度考虑(大概是这个意思,Karpathy表示他已经有想法了,但是不太方便在这里透露)。

建议:从0开始去实践,了解底层,不要太抽象,直接使用TensorFlow这种框架

Ruslan Salakhutdinov

经历:当时他在多伦多大学读了硕士,休学了一年,在金融领域工作,对于是否读博士还有些犹豫。一个偶然的机会,准备去上班的路上正好碰到了Hinton,Hinton对他说:“我有一个很棒的想法,来我办公室我给你展示一下”。然后他们边走边谈,Hinton给他讲了玻尔兹曼机,对比散度等算法,当时他并没有听懂Hinton说的是啥。然后,他就读了Hinton的博士……(这经历我只能说是太离奇了…正好能碰上Hinton,Hinton还愿意把自己的想法分享给你…)

一些观点:

  1. 在计算力不发达时,如果不用RBM,训练需要几个月的时间
  2. RBM的训练需要使用MCMC等技术,不如梯度下降那么简单、容易推广,如何使得RBM的训练更容易是发展RBM的重要问题
  3. 早期的研究都是从生成模型入手的,生成模型可以有效的作为预训练方法帮助有监督学习。目前由于数据和计算能力的提升,使得直接有监督学习效果很好。但是生成模型的研究还有很大空间,比如GAN,VAE,deep energy model等,目前的问题一是没有真正搞清楚这些东西,另外也没有想清楚能怎么用。
  4. 在公司里,有很多无标注数据,如何使用这些大量的无标注数据,比如半监督学习,是非常需要的。

PhD vs. 去公司问题:

  1. PhD:有更大的自由,可以做长远的研究,实现自己”疯狂“的想法。
  2. 去公司:研究也很有趣,可以影响非常多的用户,有很大的计算资源。

未来的趋势:

  1. DeepRL
  2. 推理和自然语言理解:dialog system, QA
  3. 少样本学习:one-shot learning, transfer learning