到现在,我们专栏的人工智能核心技术模块就已经全部介绍完了,我们讲了推荐系统、搜索系统、广告系统、自然语言处理及文本挖掘、计算机视觉这五大模块。相信你对这些领域都有了一个最基本的认识。同时,我们还对一些前沿领域的学术会议进行了专项的讨论,和你分享了一些读论文的经验。
这个过程中,我收到了很多反馈,在人工智能领域,面对日新月异的新模型、新方法、新思路,很多人都感到非常难找到切入点来学习和提高。那么,今天我就来分享一下如何快速入门人工智能领域,帮你找到一些学习的捷径。
我们已经介绍了这么多知识模块,不知道你是否注意到,在每个人工智能的子领域里,真正的知识主干其实是非常有限的。我这里说的“主干”是指构成这个子领域的重要的假设、思路和方法。如果你能够掌握这些主干的内容,那么也就能够相对容易地了解其他枝节信息了。
之所以要了解主干内容,还有一个原因。从时间这个尺度上来看,有一些技术和思想在某个时期曾经有很大的影响力,但是随着时间的变化,它们会被后来更新的技术所取代。因此,只抓主干,也会比较容易看清楚不同类型的技术的时效性。
那么,我们怎么去了解什么是知识主干呢?
对于比较成熟的子领域,或者是传统领域,我们可以依靠教科书。一说起教科书,很多人的第一反应就是枯燥。确实,教科书对于很多知识点的描述过于细节,但是从大的知识块上来讲,教科书还是能够帮助初学者尽快把握重要的知识主干,是一个非常高效的途径。
对于一些比较新的、发展迅速的领域,知识的重要结构发生了很大的变化。在这些领域,要么我们还没有成形的教科书,要么就是即便有,教科书的内容也可能是过时的。所以,比较新的领域我们往往需要借助其他的信息途径。
在这里,我给你介绍两个途径。
第一,“文献综述”(Survey)论文。这一类论文的目的就是对一个较新的,而且是快速变化的领域做一些阶段性的总结。从某种意义上来说,我们其实可以把文献综述看成是另外一种“教科书”。既然某个领域变化快速,那么针对这个领域知识的文献综述就会有很强的时效性。所以,阅读文献综述时,我们需要关注发表的时期,以确保文献的新鲜度。
第二,顶级学术会议的“讲座”(Tutorial)。我们之前在如何学习会议内容的分享中提到,讲座往往包含了一些最新的热点问题,同时针对这些问题的研究也有了一整套阶段性的成果,这时候,在这个领域有突出贡献的研究者,就利用“讲座”的模式把这些内容给总结出来进行分享。换句话说,关注这些讲座,也就相当于了解了某个领域的文献综述。
值得说明的是,关注知识的主干内容这一方法其实是可以“循环使用的”。什么意思呢?
举个例子,例如我们要了解深度学习究竟有哪些最基本的内容。在这个层次上的主干内容就有前馈神经网络、卷积神经网络和递归神经网络。那么,接下来,我们就需要大概了解这三种不同的神经网络究竟是什么,解决什么样的问题。层层递进,对于某一个神经网络,比如卷积神经网络,我们要了解的主干知识有“卷积是什么意思”,“这种结构要达到什么目的”。
总结一下,不论是学什么内容,第一个思路就是先看看它的主干知识是什么,养成这样一个思考习惯,你的学习效率就会大大提升。
针对人工智能领域入门的另外一个“捷径”是关注你所喜欢领域的学者的研究动态。
在一些人工智能的子领域,经常出现这样一种局面,那就是少数学者的研究成果奠定了整个领域的重大发展。你有没有发现,这其实也就是另外一种意义上的主干内容。追踪和学习这些学者的研究成果有两个目的:一方面可以了解到最新的动态;另一方面可以让学习有的放矢,达到事半功倍的效果。
如果我们针对一个领域搜集到五个左右的学者,然后关注这些学者本人以及所在机构或者实验室的成果,那么一般情况下,你阅读了差不多10篇论文后,就基本能够把握住这个方向发展的大概内容。
需要注意的是,我们这里所说的知名学者,主要还是指在某一个领域有重要贡献,特别是贡献了核心思想的学者。对于这些学者,我们不能仅仅关注他们论文的数目,还是要看论文的影响力。对于绝大多数人工智能领域而言,我们可以很容易地在网上找到知名学者的名字和介绍。
补充一点,如何在一个完全陌生的领域寻找知名学者呢?寻找这类学者的一个简单的方法是先看这个领域引用度最高的前几篇论文,然后找到这些论文中经常出现的某个学者的名字,然后根据这个学者的名字稍微查询一下,看一看这个学者过去的一些论文发表经历,从而判断这个学者是不是在某个领域持续进行研究。
对于很多人工智能的初学者而言,各种眼花缭乱的模型往往让人会觉得不知所措。这个时候,与其一头扎入各式各样层出不穷的新模型里,还不如扎扎实实学懂吃透少数几个模型。这个思路也符合软件领域我们常说的“T型”人才模型,广度很重要,但是没有深度的广度,很多时候就没有价值。先有了深度,广度的拓展就会更容易。
比如,从工业界的应用角度来说,我们一般需要掌握的模型就那么几个。可以说,如果你掌握了线性模型、树模型和神经网络模型,就可以解决超过80%甚至更多的业务需求了。那么,我们要做的就是深入细致地学习这三种模型,而不是去了解几十种甚至上百种模型,但是每一种都只是了解了一点皮毛内容而已。
那么,对于这些核心内容,多深入才算是深入学习呢?
首先,也是最基本的,我们要“理解”这些模型的最基本的原理。其次,最好能够从数学的角度来理解这些模型的数学推导。再次,还要理解这些模型的“模型本身和优化算法的区别”,以及各种优化算法的好坏。最后,我们最好能够自己动手写一写这些模型的基本实现。另外,还有很多方面能够帮助我们进行深入学习,比如这些模型会有什么特点?在什么场景下比较适用?这些问题都是非常好的参考。
今天我为你梳理了快速入门人工智能领域的几个思路,希望你能在学习的过程中快速定位到有用的信息,提高自己的学习效率。但是,有一点我想推心置腹地跟你说,虽然我们今天分享的内容叫作如何快速入门,但是要想在这个领域真正获得成长,我们更需要有一颗平稳的心,要抱持着一种愿意踏踏实实学习基础的态度,这一点是非常必要的。换句话说,成长为一名有能力的数据科学家或者人工智能工程师,往往并没有太多的捷径可走。
一起来回顾下要点:第一,我们讲了抓住内容主干的思想;第二,我们简要地介绍了如何跟踪知名学者;第三,我们讨论了深入学习少量模型的好处。
最后,给你留一个思考题,你现在要学习一个新模型,是要深入了解模型的数学细节,还是仅仅知道一个大概信息就可以,你怎么做判断呢?
欢迎你给我留言,和我一起讨论。
评论