欢迎来到AI世界:认识你的新同学
欢迎来到AI世界:认识你的新同学
你有没有想过这样一个问题:电脑、手机里那些会"自己拿主意"的小东西,到底是怎么回事?比如 Siri 突然冒出一句话,扫地机器人自己绕开你家的拖鞋,游戏里的 NPC(非玩家角色,就是游戏里和你互动的"假人")看见你就跑过来打架——它们又看不见、也没有真的大脑,怎么会做这些事呢?
更让你好奇的大概是这一件事:去年某一天,你打开一个聊天软件,它居然用一种"很像人"的方式回答了你的问题,还帮你写作文、查资料,甚至画了一幅画。你当时一定愣了几秒:这不就是一台"会说话的机器"吗?
是的,今天我们要聊的,就是这位"会说话、会画画、会思考、会认人"的机器家族。它有一个共同的名字——人工智能(Artificial Intelligence,英文缩写 AI)。从今天开始,它不再遥远、不再高深,它就是你的新同学。
我们这一章只有一个任务:把这位新同学看个清清楚楚。我们会弄明白三件事——
- 到底什么是 AI?听起来很玄乎,但其实它就是"一类特殊的程序"。
- AI 和我们平时用的电脑程序,到底哪里不一样?
- 我们要怎么"和它相处",才能让它成为真正帮得上忙的好伙伴?
准备好了吗?翻开下一页,我们就出发。
---
"会想事情的电脑":到底什么是 AI
先从一个老朋友讲起:普通程序是什么样的
在认识 AI 之前,我们先和你已经熟悉的老朋友打个招呼——普通程序。
你平时用的计算器、手机里的计算 App、网页游戏、甚至是控制红绿灯的电脑——它们都是程序。程序是什么呢?简单讲,程序就是一份"作业清单"。
想象你的同桌叫小亮。小亮是一位非常守规矩的小朋友:老师让他做什么,他就做什么,从来不会"自作主张"。比如老师说:"小亮,请把黑板擦干净。"小亮就会立刻去找黑板擦、走到黑板前、从上到下擦一遍、然后把黑板擦放回原位。每一步动作,老师都已经事先告诉他了,他只是照着做。
普通程序就像小亮。程序员(也就是编写程序的人)会提前把所有可能发生的情况想清楚,把每一步处理办法写成代码,交给电脑去"照着做"。
举一个经典的例子——计算一个数的平均分:
```python scores = [88, 92, 76, 95, 81] total = 0 for score in scores: total = total + score average = total / len(scores) print("平均分是:", average) ```
这段代码的意思是:把一个同学的五次考试成绩加起来,除以 5,得出平均分。它清清楚楚地告诉电脑:
1. 设一个变量 `total`,从 0 开始; 2. 把列表里的每个分数依次加进 `total`; 3. 加完后,用 `total` 除以数量 `len(scores)`; 4. 把结果打印出来。
这台电脑在执行这段代码时,没有任何"自己的思考"。它只是老老实实地把人类的指令一步一步完成。
这就是普通程序的本质:指令驱动,行为预先设定,输出确定。同样的输入,永远得到同样的输出;程序员没写的功能,它永远不会自己变出来。
AI 是一类"会从经验里学"的程序
那么 AI 是什么?它和上面这位"小亮"有什么不一样?
如果用我们刚才的比喻,普通程序是小亮,AI 更像另外一种同学——叫小慧。小慧没有老师写好的"作业清单",但她有一种特殊的能力:看别人怎么做,自己琢磨规律,下次遇到类似的事情,就能试着做出来。
举个你一定经历过的真实场景。
你从出生到现在,从来没有人写过一段程序来教你认识"猫"。可是你两三岁的时候,就已经能稳稳地指着毛茸茸的、四条腿的、会喵喵叫的小动物说:"猫!" 这就是一件了不起的事:你并不是靠"清单"认猫的,而是看了很多猫、很多狗、很多兔子之后,大脑自己发现了"猫"和"非猫"的区别,并且把这种"区别"内化成了自己的判断力。
AI 做的事情,和这非常相似。
AI 本质上是一类程序——说到底,它还是由代码构成、在电脑上运行的东西。但它的特别之处在于,它的核心并不是"逐条照做的清单",而是一种能从大量数据中自动发现规律,然后用这套规律对新情况做出判断的能力。这种能力有一个专门的名字,叫机器学习(Machine Learning,英文缩写 ML)。
机器学习里的"学习",跟我们平时说的"学习数学"不太一样。我们说"小明在数学课学习",意思是他听老师讲课、做练习、记住公式,下次遇到新题就能解出来。而机器学习的"学习",指的是程序用数学方法,从一堆历史数据里找到一个可以预测未来的数学公式(或者叫做模型)。
我们用一个简单的例子说明。假设你想让电脑"学会区分苹果和橘子"。在普通程序里,你必须手工写很多规则:红色的是苹果、橙色有叶子的是橘子、表皮光滑……你写到手软,也很难覆盖所有情况。
但用机器学习,你只需要做两件事:
1. 准备很多很多"苹果"和"橘子"的图片(比如每种一千张),并且告诉电脑每一张图片对应的正确答案:这张是苹果,那张是橘子。 2. 让一种叫"图像分类模型"的程序,从这一千张 + 一千张 = 两千张图里自己找规律。它会发现:苹果往往更圆、颜色偏红、表面可能更亮;橘子偏椭圆、颜色偏橙、表面有小凸起。
之后,当你给它一张它从来没见过的图(测试数据),它就能根据学到的规律,告诉你"这张有 92% 的概率是苹果"。
这种"看了很多例子之后,自己琢磨出门道来"的本事,就是 AI 区别于普通程序的核心特征。
一个更长一点的正式定义
好了,我们可以给 AI 下一个更完整、更专业的定义了,请耐心看下来——这是你以后和大人、老师、同学讨论 AI 时可以用上的"标准说法":
> 人工智能(AI):由人类设计、能够感知环境、做出决策并执行动作以达成特定目标的计算系统。它与传统程序的关键差异在于:AI 的行为不是被完全预设的,而是通过算法(一种用数学语言写成的"步骤说明书")从数据中归纳规律,并在遇到新数据时依据这些规律做出判断——这一过程被称为"学习"。
这个定义里有几个关键词我们需要拆开来看:
- **感知环境**:AI 能"看到"图片、"听到"声音、"读到"文字,这些是输入。
- **做出决策**:AI 在处理完输入之后,会输出一个判断或答案,这是输出。
- **执行动作**:决策可以驱动机器人动起来、可以让音箱播放一首歌、可以让屏幕显示一段话。
- **计算系统**:不要忘记,AI 说到底还是运行在电脑/服务器/手机上的程序。
- **通过算法从数据中归纳规律**:这是它最厉害的地方——**自学**。
到这里,你心里也许会有一个新的疑问:AI 是怎么"自学"的?为什么机器能像人一样"看出"猫和狗的区别?这背后,藏着一个非常非常巧妙的数学工具——人工神经网络(Artificial Neural Network,简称 ANN)。
不过这一章我们先把"AI 是什么"这个大图景建立起来,神经网络的细节我们留到后面的章节慢慢拆。现在你只需要记住一件事:AI 是会"从数据里学习"的程序。这就是它的灵魂。
---
程序也会"思考"吗:AI 和普通程序的区别
刚才我们说 AI 是"会学习"的程序,普通程序是"按清单办事"的程序。但你可能仍然有一点点迷糊:会"学习"这件事,真的有那么重要吗?它和我们普通的程序,到底区别在哪里?
这一节,我们就来把这件事掰开、揉碎,看清楚。
四个关键差异:清单 vs 自学
我们用一张对比表来记忆。这张表不是你必须背下来的,但是遇到拿不准"这件事到底算不算 AI"的时候,回来看看它,心里就有底了。
| 比较维度 | 普通程序 | AI 程序 | |---------|---------|---------| | 工作方式 | 按程序员写好的指令,逐条执行 | 从数据中归纳规律,再据此判断 | | 输入变化 | 同样的输入永远得到同样的输出 | 即使输入稍有不同,也能灵活处理 | | 应对新情况 | 没写过的就不会(容易崩溃) | 大概率能猜出一个像样的答案 | | 是否需要"教" | 不需要,规则已经写死在代码里 | 需要:要用大量"例子"喂它,让它学习 |
我们一个一个来看。
差异 1:工作方式——清单 vs 自学
这一点上一节我们已经讲了。我们补充一个小细节:普通程序的"清单"通常是程序员一行一行写出来的,而 AI 程序的"清单"(也就是模型参数)是电脑从数据里自动算出来的。比如一个图像识别模型,里面可能有上亿个参数(小数),没有一个是人手工调的,全是电脑通过"看图—比对正确答案—微调参数—再看图—再微调"这个循环,自己学到的。
差异 2:输入变化——脆弱 vs 灵活
这个区别非常有意思。普通程序非常"脆弱":你输入的方式稍微变了一下,它就懵了。比如你写了一段代码,规定用户在登录框里"必须输入 8 位以上、包含大小写字母和数字的密码"。可是有一天,用户在前面加了一个空格,程序就报错说"密码不合法"——因为程序员没有预料到这种情况。
AI 程序就"皮实"得多。同样是判断"这是不是一个合法密码",AI 可以从大量历史数据里学到:原来空格开头也算合法、原来很多用户会用自己的生日加名字……于是面对千奇百怪的输入,它大多都能猜出一个像样的结果。
差异 3:应对新情况——死板 vs 灵活
普通程序是"死板"的:程序员没写的功能,它绝不会自己长出来。你不会指望计算器突然给你讲个笑话,对吧?
但 AI 程序有"举一反三"的能力。一个在大量英语教材上训练过的翻译 AI,即使遇到一个它训练数据里从来没有出现过的句子,也能"拼"出一个合理的翻译。这就是因为它学会了语言的结构和模式,而不是死记硬背每一句话。
差异 4:是否需要"教"——零 vs 大量
普通程序一旦写完,几乎不需要"教"。但 AI 程序,特别是今天最流行的深度学习(Deep Learning,一种用多层神经网络进行学习的方法)模型,必须用大量"例子"去"教"它。这个过程叫训练(Training)。
训练的过程,听起来有点像我们上学:
1. 看例子:老师(也就是开发 AI 的人)给 AI 看很多题和标准答案。比如看一张图片,告诉它"这是猫"。 2. 做练习:AI 用自己当前学到的规律,去试着判断图片是什么。 3. 对答案:AI 把自己的判断和标准答案对比,看看差距有多大。 4. 改正错误:AI 根据差距,把内部那些"规律参数"调整一下,让自己下次更可能猜对。 5. 重复:以上四步重复成千上万次,AI 就越来越聪明。
训练结束后,AI 就"毕业"了。这时它就可以面对真实世界的问题,给出有用的回答。
一张流程图,看清楚两种程序的不同
我们用一张流程图,把普通程序和 AI 程序在"输入—处理—输出"三个环节上的不同直观地展示出来。你可以把它想象成两条并行的"流水线"。
```mermaid flowchart TD A[用户的请求,例如一张图片、一句话] --> B[传统程序] A --> C[AI 程序] B --> B1[查阅程序员预先写好的规则] B1 --> B2[逐条匹配,找到对应分支] B2 --> B3[按规则输出结果] B3 --> D[最终输出] C --> C1[把请求转化成模型能理解的向量] C1 --> C2[神经网络根据从数据中学到的权重进行计算] C2 --> C3[给出一个概率分布或预测值] C3 --> D2[最终输出] D --> E[展示给用户] D2 --> E ```
注意看图中两条流水线——
- **左边那条**(传统程序)走的是"查清单"的路线:规则是死的,匹配到就执行,匹配不到就报错或者给一个固定的兜底答案。
- **右边那条**(AI 程序)走的是"计算 + 推测"的路线:它必须先把自己看到的东西(图片、声音、文字)**转化成数学上可以处理的形式**(这个形式叫做"**向量**",你可以理解为"一串有意义的数字"),然后用从海量数据中学到的一套"魔法计算公式"去算,最后给出答案。
这两条路线的关键差异就在中间那一段:左边是"按部就班",右边是"用学到的经验做猜测"。
一个会让你印象深刻的真实例子:国际象棋 AI
我们用一个历史上的真实故事,让你把上面这些差异记得牢牢的。
1997 年,IBM 公司开发了一台会下国际象棋的电脑,叫"深蓝"(Deep Blue)。它打败了当时的世界冠军卡斯帕罗夫,全世界都震惊了。
你也许会想:深蓝一定非常"聪明",它一定像个真正的棋手一样在"思考"。但是翻开深蓝的"身体内部",你会发现一件出乎意料的事——深蓝并没有"思考"。它做的事情,用我们刚才的话说,更像"普通程序"而不是"AI":
- 它内置了一份庞大的**开局棋谱库**,里面有几百万种棋局的"标准下法"。
- 当轮到它走棋时,它会在这一秒钟之内**穷举**(就是把每一种可能都算一遍)接下来几步甚至十几步的所有下法。
- 然后它用一个**评分函数**(一种打分规则)对每一种下法打分:这一手之后我方的子力会不会变多?对方会不会有危险?王是不是更安全?
- 最后,它挑一个得分最高的走法。
这看起来不"智能"吗?它打败了世界冠军呢!但是它和我们今天说的 AI 有一个根本区别:它的"聪明"是程序员穷举出来 + 死规则算出来的,不是从大量棋局里"自学"出来的。所以严格说,深蓝更接近一个超强的搜索 + 评分程序,而不是现代意义上的 AI。
那么什么是真正的"AI 下棋"呢?我们要等到 2017 年。
那一年,DeepMind 公司(一家专门研究 AI 的公司)开发了一个叫"AlphaGo"的程序,它打败了世界顶级围棋冠军柯洁。和深蓝不同,AlphaGo 不是靠暴力穷举,而是真的"学"出来的:
- 它先用**人类历史上的几百万盘棋谱**作为训练数据,自己琢磨围棋的"道"在哪里;
- 然后它**和自己下了几千万盘棋**(这个过程叫"自我对弈"),在不断输赢中调整自己的策略;
- 最后它学会了连人类都没想到的"神之一手"。
深蓝与 AlphaGo 的对比,是理解 AI 的一把钥匙。前者体现的是"计算 + 规则",后者体现的是"数据 + 学习"。今天我们常说的"AI",通常指后者。
一句话总结 AI 和普通程序的差别
到这里,我们可以用一句话把这一节的核心装进口袋:
> 普通程序是"按清单做事的员工",AI 是"边看边学边做的学徒"。
普通程序守规矩、确定性强,但是上限被程序员的想象力锁死了;AI 程序有点"玄乎",但是面对新情况时常常能给人惊喜——代价是它有时候会犯看起来很"蠢"的错。这一点我们以后在聊"AI 的局限"那一章会详细讲。
---
欢迎新同学:认识"AI 同学"
好了,原理聊得差不多了。是时候把这位"新同学"请出来,和你正式见个面。
为什么叫它"同学"?
你也许会问:AI 是程序、是软件、是工具,为什么偏偏要叫它"同学"呢?这个比喻不是随便挑的——它是认真的,背后至少有三条理由:
1. 它和你"一起在学"。 真正的 AI 不是出厂就十全十美的。它会犯错误,会被你教会一些东西之后变聪明。这一点和你在学校里的成长非常像。 2. 你们是平等的"对话者"。 在你和 AI 互动的时候,你可以提问、追问、纠正、表达不满。这种"对话式"的互动,是 AI 和以往所有工具最大的不同。 3. 它会"成长",但你也要"会教"。 AI 的强大不只取决于它自己,更取决于使用者会不会和它打交道。就像一位同学有潜力,但如果你不跟它好好说话、不给它清晰的指令,它可能发挥不出水平。
所以在这本书里,我们会把 AI 叫做"AI 同学"。希望这个称呼能让你们觉得 AI 不再是一个冰冷的、神秘的东西,而是一个可以结伴同行、共同成长的伙伴。
AI 同学的"班级档案"
我们一起来填一份"班级档案"——就像新学期开学,班主任让你熟悉班里新转来的同学一样。这份档案会给你一个系统的认识,后面章节我们也经常要回到这份档案上。
> 姓名:AI 同学 > 家庭住址:云端服务器(也就是大型数据中心里成千上万台电脑协同工作的地方) > 性格:冷静、耐心、不抱怨,但偶尔有点"粗心" > 擅长科目: > - 语文:能写文章、改作文、做翻译 > - 数学:能解方程、做应用题、解释解题思路 > - 英语:能做翻译、练口语、改作文 > - 美术:能画图、做海报、做插画 > - 音乐:能作曲、编曲、甚至模仿某种风格 > - 生活:能聊天、讲故事、给建议、做计划
你看,AI 同学是典型的"全能型选手"。但是请注意:这种"全能"是有水分的——我们后面会反复强调,AI 是看起来什么都会,实际上它并不"懂"它说的内容。这个区分非常重要。
AI 同学最重要的三种"感官"
你也许会好奇:AI 是没有眼睛、耳朵、嘴巴的程序,它怎么"看"、怎么"听"、怎么"说"呢?
答案是:它有三种"数字感官"。
第一种:看得见图像——计算机视觉(Computer Vision,CV)
摄像头把现实世界拍成一张图片,图片在电脑里是一串数字(例如一个 1920×1080 的彩色图片,就是 1920×1080×3 个数字)。AI 拿到这串数字后,可以做以下事情:
- **图像分类**:告诉你这张图是猫还是狗;
- **目标检测**:告诉你图中每一只猫、每一只狗分别在哪个位置;
- **人脸识别**:告诉你这张脸是谁;
- **图像生成**:根据你的一段文字描述,画出从未存在过的图片。
第二种:听得懂声音——语音技术(Speech Technology)
麦克风把声音录下来,电脑把它变成一条"波形"(一段连续的曲线)。AI 可以:
- **语音识别(Automatic Speech Recognition, ASR)**:把声音转成文字(你给 Siri 说的话就是这样被"听懂"的);
- **语音合成(Text-to-Speech, TTS)**:把文字变成声音,让电脑"开口说话";
- **声音分类**:判断这段声音是猫叫、是雷声、还是有人在哭。
第三种:读得懂文字——自然语言处理(Natural Language Processing,NLP)
文字对电脑来说只是一串字符。AI 可以:
- **理解问题**:知道你在