科技一站

 找回密码
 立即注册
查看: 132|回复: 1

人工智能零基础入门指南(2020)

[复制链接]

4

主题

5

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2022-9-20 10:49:49 | 显示全部楼层 |阅读模式
1
根据圣经记载,当时人类联合起来兴建希望能通往天堂的高塔;为了阻止人类的计划,上帝让人类说不同的语言,使人类相互之间不能沟通,计划因此失败,人类自此各散东西。自从2012年深度学习快速发展,越来越多世界各国优秀的人才都聚集到这个领域,一起修建一座人工智能的"通天塔"。
2
人工智能的重要性无需多言,它已经不只是一个技术问题,而是国家核心竞争力的关键要素,我经常把人工智能和两弹一星相提并论,中国在人工智能领域落后就意味着被动挨打。经常有同学提学习人工智能的人太多了,从国家发展层面来讲,学习人工智能的人再多也不会多。本指南关注的是如何快速入门,所以这个主题不再多谈。
3
这篇入门指南总结了零基础人工智能入门中的常见问题和解决方法,希望尽可能缩短学习者的入门时间。人工智能在快速发展之中,入门方法也会随之发生变化,本指南也会保持更新,在本指南标题有年份作为版本号。
4
学习一门课程或技能都要首先明确需要具备的条件,本文题目是"零基础",准确说应该是"人工智能零基础",而不是"编程零基础",即应该掌握至少一门编程语言和基本的编程技巧,如果是面向对象的语言更好了,也就是掌握基本的对象,继承等概念,因为面向对象编程是现在的标配。人工智能的首选语言是Python,如果你是完全零基础,可以看我写的
学习Python的过程要尽可能快,我们是学习人工智能而不是成为Python工程师,因此只要掌握Python核心编程技术就可以了,不需要陷入太多细节,不需要在这个阶段学习socket、web等内容,爬虫也可以等用到再学,也不需要达到专业爬虫工程师的程度。Python编程技术可以随着人工智能的学习而逐步提高,而且人工智能工程师学习Python有特定的目标,例如Numpy要详细学习一下,我会再写一篇"人工智能工程师Python学习指南",否则一定还有同学踩坑,踩坑就意味着学习时间的延长。
5
学习人工智能有一定的英文水平会更好,因为要经常阅读英文论文和资料,中文资料也有优秀的,但是只看中文毕竟受到限制。英文不好并不是不能学习,也可以顺便提高一下英文水平,而且现在翻译软件越来越准确,都可以帮助英文不好的同学。
6
下面要重点说一下数学,这是很多初学者经常踩得大坑。学习人工智能经常听到对数学要求高的说法,因此不少同学在开始学习之前首先补数学,有些教材和课程的开头的基础知识也是数学,包括高等数学,线性代数,概率论,数理统计,可能还有信息论。有些学习认真的同学就会逐个知识点去抠,而且这些资料一般都写的很简单,这些内容都学会一年半载过去了,可是这是学人工智能吗?这是最误人的一种说法!其实你可以只了解最基本的数学概念后迅速开始人工智能的学习,而且对于很多学习者,你使用到的数学知识都很简单,我经常提初高中数学知识差不多了,这句话有点夸张,目的是引起学习者的足够重视。有些涉及数学较多的先跳过去,例如矩阵求导。还有些更深奥的,例如流形,如果你的目标和能力不是成为Kaiming.He,就先忽略吧。
7
万事开头难,入门和精通都是很难的,人工智能入门确实比较难。自学一年以上还无法入门的同学我见过很多。除了人工智能技术本身的难度之外,还有一个重要原因是因为人工智能和深度学习是一个开放且快速发展的领域,它不像学习Python有明确的语法,也不像考试有明确的大纲,人工智能像一个巨大的城堡,而且还在不断扩大。学习路径走错,几个月时间很容易就过去了。
8
学习人工智能必然面临一个深度学习框架选择问题。在2020年之前,我一般建议Tensorflow和Pytorch都掌握,但是后来Pytorch发展迅猛,如果是初学者,建议学习Pytorch肯定是一个正确的选择。从框架本身,Pytorch以其Pythonic代码风格著称,面向对象,简洁易用,我从Tensorflow转到Pytorch后马上就觉得爱不释手,不像Tensorflow加入了很多Google自己的设计,学习曲线有些陡。其实选择学习Tensorflow还是Pytorch不应该成为一个问题,作为人工智能工程师也不能受限于某种框架,因为你无法选择你以后得公司使用何种框架,也不能限制你要学习的github的代码使用何种框架,而且不同框架本质都是类似的。当然不建议学习一些小众的框架,例如MXNet,除非你有特殊的需求。
9
说到深度学习框架,有必要提一下国产开源框架,例如百度的PaddlePaddle和旷视的MegEngine,特别是2020年国产开源框架阵营又迅速扩大,这是值得高兴的事情,特别是在当前的国际形势下,随时存在国外框架不允许我们使用的情况,国产框架让我们不会被人"卡脖子"。这里也祝国产框架越做越好!学习国产框架的一个额外好处是可以得到免费算力,这对于算力不足的学习者非常有用。最后建议国产框架学习Pytorch简洁的Pythonic风格,不要增加不必要的差别,来显示与众不同。这方面我觉得MegEngine和Pytorch的相似度非常高,这样框架迁移基本无压力。
10
人工智能从诞生已经发展了近百年,包括不同的方法和派别。深度学习无疑已经是这一波人工智能浪潮中的王者,并且快速向CV、NLP等各个领域发展,取代或正在取代之前流行的方法,特别是传统机器学习的方法。深度学习是机器学习的方法之一,学习深度学习也要掌握机器学习的基本原理,但是如果你的目标是深度学习,例如CV或NLP工程师,那么深度学习已经在以上领域占据了统治地位,你没有必要在机器学习上花费太多的时间,学习每一种机器学习算法,这一点我会在下面选择合适的参考书再进一步说明。
11
选择学习资料对于快速顺利入门人工智能非常重要,网上已经有非常多的优秀和免费的入门资料,其中很多来自知名专家和一流大学。其实上面我的讲解已经可以作为选择合适教材的方法,这里要特别注意非常有名的教材不一定适合作为入门教材,典型的例子有"Deep Learning"(花书)等,这些教材的一个最大的问题是理论太多,缺乏实战,以这些教材作为入门不仅会严重延迟入门时间,而且很难找到工作。我个人反复推荐的入门资料是李沐的"动手学深度学习",最好是直接访问英文版官网(d2l.ai),因为官网的内容比纸质版书籍要丰富很多,而且已经解决了之前本书最大的问题:使用MXNet框架。现在官网已经有Pytorch和Tensorflow的实现。这本书最大的特点就是丰富的实战,每个知识点都有相应的代码,而且不仅包括深度学习通用内容,还包括CV、NLP和推荐系统的相关内容。如果只能选择一本入门参考书,那非"动手学深度学习"莫属。如果能把书中的内容都掌握,达到入门标准毫无问题。除此之外,吴恩达在coursera的"deep learning"专项课程,斯坦福大学的"CS231n",Pytorch官网上的入门课程都是入门非常好资料,而且都是免费的。
12
入门学习中的一个常见问题是别人的代码看着都会了,但自己动手写不出来,这种情况归根结底是不熟练,我经常给初学者推荐一种"笨办法":背!特别是一些常用的经典代码,例如ResNet的Pytorch官方实现,数据预处理,损失函数的实现等,多敲N遍,直至烂熟于心,正所谓"熟读唐诗三百首,不会做诗也会吟"。
13
人工智能和深度学习汇聚了世界上优秀的人才,每天都有新的论文和方法出来,让人目不暇接,我们在为人工智能快速发展欣喜的同时,也会给很多同学带来很大压力。以计算机视觉中的目标检测为例:你还正在学YOLOv3,YOLOv4出来了,YOLOv3刚看完,YOLOv5出来了,更不要提PP-YOLO、Tiny-YOLO等等,这才是只是计算机视觉之中目标检测的单目标检测算法之一,还有Anchor-Free分支又是一大堆模型,最新的方法NLP中的Transformer又开始应用在目标检测了。
14
如何应对这种压力,特别是对于正在入门的同学,正确的应对方法就是循序渐进的学习,特别是经典模型。人工智能领域的进展都是建立在之前工作的基础上,掌握了VGG的代码实现,改动一部分就可以学会ResNet,再改动一些就是SE-ResNet,ResNeXt等,学习的速度会越来越快,读一篇新的paper也会越来越快,因为其中一般不会超过三个创新点。不打好基础,每篇论文都是囫囵吞枣,就会陷入不断的焦虑之中。
15
关于学习人工智能是不是需要学习C/C++,回答是不需要,或者在入门阶段不需要,Python是进行人工智能学习和研究非常好的编程语言,Python的简单和强大越用会越喜爱。除非以后你需要专门做算法在特定条件下的部署和优化或者需要编写深度学习框架才需要使用C/C++。
16
下面谈一下学习CV是不是一定要学习和精通OpenCV,回答也是不需要。这篇入门指南反复强调的就是直奔深度学习的主题,尽可能缩短入门时间,减少不必要的学习内容。
17
最后祝大家都能够用尽可能短的时间顺利入门人工智能,实现自己的预期目标,也希望本文能够为中国人工智能人才培养贡献一份力量,祝中国人工智能越来越强大,也希望在有生之年看到人类建造成功人工智能这一"通天塔"。
18
参考资料
19
作者简介
中国科学院计算机网络信息中心硕士,百望云研究院人工智能专家,北京数字科普协会人工智能专委会副秘书长
微信号:aiking2018
回复

使用道具 举报

2

主题

5

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2025-2-26 21:27:01 | 显示全部楼层
边撸边过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|科技一站

GMT+8, 2025-4-9 05:48 , Processed in 0.096918 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表