您正在使用IE低版浏览器,为了您的雷峰网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能 正文
发私信给杨晓凡
发送

1

五年过去,Hinton的《神经网络和机器学习》还是最好的机器学习课程吗?

本文作者: 杨晓凡 编辑:郭奕欣 2017-04-18 15:21
导语:自《神经网络和机器学习》在2012年首次上线以来,关于深度学习的课程如同雨后春笋出现。那么五年过去,它还是最好的机器学习课程吗?

雷锋网AI科技评论按:Hinton的深度学习课程早在2012年上线,对于这门课程,有学者认为它太过艰深,不适合初学者上手;也有的学生觉得它受益良多,是值得一学的好课程。那么五年过去,这门名为《神经网络和机器学习》的课程是否依然是“最值得学习的深度课程”?关于这个问题,目前就职于 Voci Technologies的首席语音架构师、毕业于香港科技大学的 Arthur Chan 日前在他的博客上发表了看法,雷锋网做了不改动原意的翻译和编辑。

此外,为了让广大 AI 青年们不再为英语所累,快速进入学习状态,雷锋网经Hinton教授的亲自授权,推出了深度学习大牛 Geoffrey Hinton 的《Neutral Network for Machine Learning》中文系列视频课程。目前正在大量招募长期字幕组成员,详情可点击了解。

以下为雷锋网编译的文章内容:

对我而言, Hinton的深度学习课程,或者《神经网络和机器学习》(NNML)课程,应当是很早之前就要完成的。如你们所知,这套课程最初上线已经是2012年的事情了,而我当时还并不怎么看好深度学习。当然,2013年的时候我的想法开始有所变化,但是那时候课程已经下线存档了。直到两年以后,我打算尝试吴恩达在机器学习方面的课程的时候,才有机会把Hinton的课程看一遍。等到去年10月,这套课程重新上线的时候,我决定再听一遍,把所有的视频看第二遍,完成所有的作业,还要拿到能够通过的分数。当你与我一起体会这趟旅程的时候,你就会发现这个课程很有难度。所以有一些课程视频我得看四五遍,才能差不多明白Hinton说的是什么意思。有一些课后作业我要边散步边思考很久才能想清楚。最后,我完成了所有的20个课后作业,甚至还付钱拿到了证书方便炫耀。这是一段清爽的、引人深思的,还让人觉得满足的旅程。

所以这篇文章是我对Hinton的这一系列课程的评论,告诉大家为什么这套课程是最值得学的课程,而你又应该在什么时候学它。许多论坛上还有人提出了这个问题:“现在有那么多的深度学习课程,Hinton的课程是否过时了?它还是最适合初学者的课程吗?” 我会在文章的最后从几个角度引出对它的回答。

旧模式让人觉得很难

我对能够在Coursera的老模式下完成这套课程的人其实抱有敬仰。众所周知,许多评论都说Hinton的《神经网络和机器学习》比吴恩达的《机器学习》课程要难多了。我有一些博士朋友都没办法在课程的后一半里完全跟上Hinton的授课节奏。

这也不奇怪,当Kapathay在2013年评论这套课程时,他说很多从来没有从事过机器学习的人现在也慕名而来,但对于初次接触的人来说,要理解类似“基于能量的模型”这种很多人都跟不上的话题,简直引人入睡。那“深度信念网络”(DBN)呢,这些人直到今天还会把它和深度神经网络(DNN)搞混。直白地说,别看我学完了这套课程,可我到现在都还不能领会第15堂课的某些证明,因为深度信念网络的内容真的很难。

这种旧模式里面,每道测试题只允许尝试3次,这让截止时间变得很紧张,而且课程的内容你只能学一遍;有一次的课后作业还需要从细节开始导出反向传播矩阵。这些都让这套课程不太适合没有大块时间的个人(比如我),但是更适合第二年或者第三年的研究生,甚至是有很多时间的经验丰富的实践者。(可真的有这样的人吗?)

新的模式更加简单,但是仍然有挑战性

我去年10月的时候尝试了这套课程,这时候Coursera已经把大多数的课程都换成了新模式,一门课可以反复学好几次。这样让课程任务的难度降低了一点,更重要的是它更适合忙碌的人了。不过这还不意味着你可以对课程随随便便:大多数时候,你还是会需要给课程做评论、自己做数学推导、编写伪代码,等等。课后作业还是需要你提取反向传播矩阵。好处是,你还是可以体会得到学习这门课过程中的所有快乐(手动微笑);坏处是,如果少于每周10到15小时的投入,仍然不要指望可以完成这套课程。

课程的三大难点

挑战一:数学

跟吴恩达的课程或者cs231n的课程不一样,《神经网络和机器学习》对于没有高等数学基础的初学者来说并不算容易。其中的数学部分不算太难,多数时候都是用链式规则做求导,凭直觉写出黑塞矩阵,以及更重要的,向量求导——可是如果这些东西你以前都没有学过,那这门课真的会让你觉得云里雾里。在尝试这套课程之前,一定要先学过高等数学,并且知道一些基本的矩阵方程。

挑战二:基于能量的模型

另一个这套课程有难度的原因是,至少一半的课程内容是在我们称作“基于能量的模型”之上进行的。它的意思是指Hopfield网络(HopfieldNet)、玻尔兹曼机(BM)以及受限玻尔兹曼机(RBM)。即便及对有监督学习的学习方法中的数学部分比较熟悉,比如线性衰退、对数衰退甚至反向传播,RBM的数学公式部分还是会让你觉得头大。这也不奇怪,许多这种模型都来自于物理,比如伊辛模型(Ising model);深度学习的研究还会经常用到来自贝叶斯网络的想法。如果你对物理和贝叶斯网络两者都不熟悉的话,也应当会觉得很困惑。

对我来讲,我花了很多时间在谷歌上搜索、阅读相关的文献,这支持我解决了一些问题,但是这并不代表我就对这些课题真的了解了,因为它们可能真的会很深入,并且跟直觉相悖。

挑战三:循环神经网络(RNN)

如果你近期学习过RNN,应该要么是看了Socher的cs224d课程,要么是看了Mikolov的论文吧。当你在考虑增加和减少维度问题的时候,LSTM很容易就会成为你脑中唯一考虑的那个方法。其它的方法当然也是有的,比如回声状态网络(ESN)和无黑塞模型的方法,不过近期很少有人讨论它们了。再重复一下,它们的方程与你从反向传播和梯度下降中学到的标准方法有很大区别,不过对他们的学习能够拓展你的眼界,并且让你思考这种状态引用是否是正确的方法。

既然如此难,那么它的优点在什么地方呢?

假设你只用用机器学习、深度学习中的某些有趣的工具,我估计你只需要看吴恩达的课程、尝试一些范例,然后就会觉得自己是个专家了;现在也有很多人这样做。实际上,吴恩达的Coursera课程本来就是为了让你上手试一试机器学习,当然了,你还可以在学习这个课程后再补充很多别的机器学习工具。

即便我说了刚才那些话,你还是需要知道,只做那些事的话,你对机器学习、深度学习的理解还是比较浅薄的。你心里想的可能是:“哇,我有一大堆数据,那就扔到Algorithm X里面去看看吧”,或者“嘿,我们就是想要用XGBoost,对吧!它总是能给出最好的结果!”你理应明白,性能指标并不是一切。知道你的模型里面正在发生什么是很重要的。当你的理解不足的时候,你很容易做出高成本的、短视的、狭隘的决定。这种事情时不时在我同事和我自己身上发生,甚至在我的有些导师身上也时有发生。

别再犯这样的错误了!一定要思考得更深、试着弄懂其中的核心思想。如果你只是做了吴恩达的神经网络课程的课后作业,现在你肯定还在考虑这些内容要如何才能运用到其它的工作中。去听听Hinton的课,去反复体会一下在教授的论述中眩晕的感觉。然后你就能开始建立对深度学习的更深的理解了。

另一个比较技术方面的提醒:如果你想学习深度无监督学习,我觉得这个课程也应当是你学习的第一套课程。Hinton教授会教会你对许多种机器的关键点,让你也会有机会实际试试。对于Hopfiled网络和RBM,如果你了解基本的倍频程编程的话,可行性也是很高的。

五年过去了,这门课过时了吗?

现代的学习者,可以说他们很幸运,在学习一些像深度学习这样艰深的课题的时候,他们有会很多的选择。只需要看看我自己的前五大推荐,cs231n,cs224d,甚至Silver的课程都是非常适合作为第二个课程的。

但是我仍然推荐Hinton的“神经网络和机器学习”(NNML)课程,具体有四个原因如下:

1,它比其它课程更深度、更难。就像我刚才说过的,神经网络和机器学习很难,不完全难在数学上(Socher的和Silver的数学也不简单),而是难在概念上,比如基于能量的模型和不同的训练RNN的方式,都是典型的例子。

2. 许多机器学习、深度学习的概念都可以从多个角度解读。比如,偏置和多样性之间需要为了频率做权衡,但是这对于贝叶斯来说又是“频率论幻觉”。同样的情况也发生在反向传播、梯度递减这样的概念中。一旦你开始思考他们,就会发现他们都是非常艰深的概念。所以,上课学习的原因之一,并不是教会你这个概念就结束,而是让你能够从不同的角度来观察这件事。从这个角度讲,NNML这门课简直天造地设。我发现自己经常走在路上还会经常思考Hinton讲过的话。

3. Hinton的观点:Hinton教授在过去的30年中,几乎都在机器学习的失败的那一面。但是随着他一直坚持,你可以通过他的讲述中感受到他如何、又为什么要开始这样一种研究方向,没准最后你还会知道如果自己以后要研究什么东西,你应该如何做。

4. Hinton教授的授课方法很幽默。可以去第10节课看看他是如何看待80年代的时候物理学家为什么要在神经网络上花费精力的(备注:他在研究无神经网络之前是物理学家)

结论

说了这么多,Hinton教授的“神经网络和机器学习”(NNML)课程真的是必修课。我们每一个人,不论初学者还是专家,都能从教授的视角和课题的宽度中受益。

不过如果你完全是门外汉,我确实还是建议你先学习一下Ng的课程,或者学一学微积分,加一些线性代数、概率论和数理统计,这会让课程变得更容易接受(以及可能更有可行性)。在我看来,Kapathy的课程和Socher的课程都是Hinton课程之下的更简单的第二好的课程。

当你完成这门课以后,最好还是看看其它的基础课程。从我这篇“学习深度学习——我的前五大推荐”博文中,你会对下面要学的东西有不少想法。额外提到一件事情是Paphne Koller的“概率图形模型”,我觉得它同样具有挑战性,而且没准能够在比如深度信念网络这样非常深奥的课题中带给你一些洞见。

再给你一个建议:你可以上完一遍以后再上第二遍。这也是我打算在半年以后做的事情——正如前文所说,我还没能理解课程里的每一个细枝末节。但是我觉得等我第六次或者第七次学习这些材料的时候,应当就能完全领悟了。

via The Grand Janitor Blog - A Review on Hinton's Coursera "Neural Networks and Machine Learning"

AI科技评论招业界记者啦!

在这里,你可以密切关注海外会议的大牛演讲;可以采访国内巨头实验室的技术专家;对人工智能的动态了如指掌;更能深入剖析AI前沿的技术与未来!

如果你:

*对人工智能有一定的兴趣或了解

 * 求知欲强,具备强大的学习能力

 * 有AI业界报道或者媒体经验优先

简历投递:

lizongren@leiphone.com

相关文章:

Hinton 机器学习教程 Youtube 播放量高达 100 万,却没人看过中文版?

深度学习鼻祖Geoffrey Hinton帮你入门带你飞

雷峰网版权文章,未经授权禁止转载。详情见转载须知

五年过去,Hinton的《神经网络和机器学习》还是最好的机器学习课程吗?

分享:
相关文章

读论文为生

日常笑点滴,学术死脑筋
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说