前几天半夜,一个做销售的老同学给我发语音,说他被公司调去新成立的智能业务组,领导让他一周内搞懂人工智能是咋回事,他翻了两页资料就懵了,满屏的词看着都认识,连在一起完全不知道在说啥。他问我,像他这样零基础的人,到底该从哪儿下手。
说实话,这个问题我被问过太多次了。每次我都想说,别急着去啃那些厚得能当枕头的教材,也别一上来就报什么速成班。我见过太多人一开始雄心万丈,买了三本书、下了五个学习软件,结果两周后就全躺在收藏夹里吃灰。我自己当初也这样,买的第一本讲人工智能的书,到现在还停在第三十页。
先把这几个词弄明白,剩下的都好说
很多人一上来就被各种名词吓住了,其实初学者根本不需要懂太多。你只要先搞清楚三个最基础的概念,就能看懂大部分科普文章了。第一个是数据,你可以把它想成做菜的食材,人工智能这口锅再厉害,没有米也做不出饭。第二个是算法,这就是菜谱,告诉机器先放什么后放什么。第三个是算力,相当于灶台的火力大小,火不够旺,再好的菜谱也白搭。
这三个词的关系特别简单:你给机器一堆数据,它按照算法一步步处理,算力决定了它处理得快还是慢。就这么回事。我那个老同学听完说,你早这么讲我不就懂了吗。你看,很多概念本身不复杂,复杂的是被人用术语包装起来了。
提示:初学者最容易犯的错,是把“机器学习”和“人工智能”当成两个东西。其实机器学习只是人工智能里的一种方法,就像红烧肉只是中餐里的一道菜。你不用一开始就分清所有菜系,先知道红烧肉好吃就行了。
动手之前,先花两天做这件事
我建议你在正式学习之前,先花两天时间做一件看起来没什么技术含量的事:找五个你日常生活中接触到人工智能的场景,然后试着用刚才那三个词去拆解它。比如手机相册自动分类照片,数据就是你拍的照片,算法是识别画面内容的规则,算力就是你手机芯片的处理能力。再比如地图软件给你推荐路线,数据是实时路况,算法是算哪条路最快,算力在后台服务器上跑着。
这个练习看着简单,但我实测发现,能坚持做完五個场景的人不到一半。可但凡做完的,后面学起来都特别顺。因为你不是在背概念,你是在用概念解释你天天见的东西。这比看十篇科普文章都管用。
真正开始学的时候,按这个顺序来
准备工作做完,就可以进入正题了。我梳理了一个适合零基础的顺序,你照着走,大概两周能摸到门道。第一步,搞懂什么是“训练”和“推理”。训练就是让机器看大量例子总结规律,推理就是用总结好的规律去判断新情况。你教小孩认猫,给他看一百张猫的图片是训练,他以后看到没见过的猫也能认出来是推理。人工智能干的事一模一样。
第二步,弄明白“监督学习”和“无监督学习”的区别。监督学习就是你给机器的数据是带答案的,比如每张图片都标好了“这是猫”“这是狗”。无监督学习就是不给答案,让机器自己找规律。大部分入门教程都从监督学习讲起,因为好理解。
第三步,找一个小工具亲手跑一遍流程。现在很多在线平台不用写代码就能体验训练模型的过程,你上传几十张图片,选个分类任务,点开始训练,看它一步步把准确率提上去。这个过程大概半小时,但那种“我亲手训了一个模型”的感觉,比看三天书都提神。我当时第一次跑通的时候,准确率才百分之六十几,气得我当晚没睡好,后来调了调参数到了八十多,又高兴得跟什么似的。
常见问题
数学不好是不是就学不了人工智能?
我当初也担心这个。后来发现,入门阶段根本用不着高深数学,你只要不排斥数字、能理解“概率”大概是什么意思就够了。真正需要数学的地方,等你走到进阶阶段再说,到时候按需补完全来得及。一上来就抱着数学书啃,大概率啃两周就放弃了。
还有个朋友问我要不要先学编程。我的看法是,如果你只是想搞懂概念、能在工作中跟技术人员对上话,不学编程也行,理解原理更重要。但如果你想自己动手做点东西出来,那学一点基础的编程确实有帮助,不过那是第二步的事了,别让这个成为你入门的门槛。
说到这儿,我那个老同学昨天又给我发消息,说他把相册分类和地图导航拆解完之后,开会居然能接上话了,虽然还是半懂不懂,但至少不慌了。他问我下一步该干嘛,我让他先别急着买课,把训练和推理的区别用自己的话讲给同事听,讲明白了再说。这招其实挺损的,但管用。
其实学任何新东西都一样,卡住你的往往不是难度本身,而是不知道从哪下嘴的那股别扭劲。我到现在也没把人工智能的所有门道摸透,每次遇到新东西还是得从头捋一遍。不过那又怎样呢,反正又不考试。