自学人工智能,究竟是该挨着学习,打地基式,还是说根据需要所学,不断由一个点扩展到面?
我并不认为有完美的学习方式,也不认为任何极端的方式是合理的。但是如果说要是如何更有效率,我更喜欢实践带动理论的方式。
传统的教育理念告诉我们要"读万卷书",打好基础再实践。但在我文章《好学生学不会 THE UNTEACHABLE STUDENT》中提到:
"对大多数人来说,他们上一次真正学到东西已经是很久以前的事了。人们接受的训练就是去分析、研究和寻找问题。而且他们在这方面相当在行。他们能很快找出任何问题的负面影响。"
我们传统的学习习惯导致了我们更习优先关注理论的学习。但在实践中,更好的方式往往相反。工作这些年,观察到一个有趣的现象:最优秀的工程师往往是"需求驱动型"学习者。他们不会花大量时间系统地学习所有基础知识,而是从一个具体的项目或问题出发,随着需求不断深入学习。 举个例子,我曾经带过一个年轻工程师,他想做推荐系统。与其让他先去啃线性代数和概率论的教科书,我建议他直接从实现一个简单的协同过滤算法开始。当他遇到矩阵分解的问题时,他自然而然地就会去学习必要的数学知识。这种学习更有针对性,也更容易记住,因为每一个知识点都与实际问题直接相关。 但这里有个关键点:你必须要有一个"知识地图"。
就像玩开放世界游戏,你不需要一开始就把所有地图都探索完,但你需要知道地图的大致轮廓。对于AI来说,这个地图包括:基础数学(线性代数、概率统计、微积分)、机器学习基础(监督/无监督学习、模型评估)、深度学习(神经网络、优化方法)等等。 最重要的是要建立"知识的脚手架"。通过项目驱动的学习,你会逐渐发现哪些是你的知识盲区。比如你在调优神经网络时发现不理解反向传播,那么这就是你需要深入学习的点。这样的学习更有针对性,也更有效率。 还有一个重要的习惯,不要陷入完美主义的陷阱。
我经常看到有些学生觉得自己基础不够扎实,总想把所有基础知识都学完再开始实践。但在AI这个飞速发展的领域,等你把所有基础都学完,可能新的技术已经又出现了。关键是要找到一个平衡点,在实践中不断补充必要的理论知识。 学习AI不是为了成为数学家,而是为了解决实际问题。在这个过程中,让需求引导你的学习方向,但同时也要保持对知识框架的清晰认知。这样的学习才能既有深度,又有广度。
继续阅读
全部内容如果想从事人工智能方向,本科应该选择计算机还是数学?
分享一下我的观察。建议选择计算机专业,原因有这么几个: 首先是基础课程的完整性。计算机专业会学习编程、数据结构、操作系统、计算机网络等等基础课程。这些看似和机器学习关系不大,但当你真正在业界做 AI 应用的时候,这些基础知识反而成了最重要的部分。我见过太多数学专业转行的同学,在处理工程问题时非常吃力,因为缺乏这些基础知...
教育部部署加强中小学人工智能教育,会有哪些影响?
在硅谷从事机器学习相关的工作,也一直在思考AI教育的问题。我觉得这次教育部的部署非常及时且有意义,但关键是要想清楚AI教育的本质。 在《AI时代的学习范式重构》中我曾提到 "在AI时代,我们正经历一个根本性的范式转变:从Knowledge-Based Paradigm转向Problem-Identification P...
为什么说程序员学习只看视频不好,还要多看书?
这个问题让我想到了一个本质的观点:学习编程不是为了看会做什么,而是要真正理解和掌握。 从我在CMU的经历来看,最重要的不是获取知识的方式,而是如何让知识真正变成自己的。正如我在《如何做错题集》中说过的: "因为学习就两步:1.找到不会的,2.把不会的变成会的。绝大部分人把时间花在了做题上,而忘了其实做题是为了找到不会的...
