AI深度学习是什么?一个外卖例子讲透底层原理

AI深度学习是什么?一个外卖例子讲透底层原理
AI深度学习是什么:外卖例子讲透底层原理

简单说:AI深度学习是什么,一句话版本——让机器自己学规则的多层筛选器。拿外卖预测时长当例子走一遍,每一层网络在筛什么、怎么越筛越准,看完你就能讲给别人听。

每次有人问我"ai 深度学习是什么",我发现背定义没用,对方听完更懵了。后来我换了个讲法,从"预测你点的外卖多久送到"讲起,饭桌上讲过四五回,效果回回不错。这个例子不是我的原创,是当年带我的工程师点拨我的路子,我又加了几年自己的理解进去。今天把它完整写出来,你花十分钟看完,以后饭局上被问到,也能讲得明明白白。

从外卖说起:ai 深度学习是什么,先看要解决的问题

问题的原貌是这样的:给你一串信息——下单时间、餐品种类、店家出餐速度、骑手位置、天气、路况——请你预测这份外卖多少分钟送到。传统做法是人写规则,深度学习的做法是让机器从历史订单里自己把规则学出来。这就是它跟老式程序最根本的分野。老式程序什么样?工程师坐下来写:雨天加十分钟,午高峰加八分钟,出餐慢的店加十五分钟。这么写有三个死穴。一,规则写不全,骑手今天顺路捎了两单这种事,规则覆盖不到。二,规则相互打架,雨天加十分钟、午高峰加八分钟,那下雨的午高峰加十八分钟吗?不一定,可能骑手在雨天反而更集中地被派单,实际只多了十二分钟。三,城市不同规律不同,北京好使的规则搬到成都不灵。深度学习的思路是彻底换路:不写规则了,把过去几百万单的真实数据喂给一个多层结构,送达时长是多少它自己学。数据里的规律,比工程师拍脑袋写的规则细得多、也准得多。

神经网络的一层,就是一个筛选器

一层神经网络干的事可以粗略理解为一次加权打分:把输入的信息各乘一个权重再相加,过一道"要不要重视"的门槛。单层很笨,妙处在于层层叠加——前一层的结果作为后一层的输入,一层比一层看出更综合的东西。深度学习的"深",指的就是层数多。落到外卖例子上具体看。最底层接收的是原始信息:几点、什么餐、骑手在几公里外。第一层先做些粗糙的判断,比如"这个数是时段相关吗""那个数是距离相关吗"。注意,第一层还看不懂"午高峰"这种概念,它只会算数。第二层开始组合:时段加上历史订单密度,凑出一个"现在忙不忙"的分数;距离除以骑手平均速度,凑出"路上要多久"的估计。第三层再组合:出餐速度加上忙闲程度,得到"这份单实际多久能动起来"。你看出来了吧,越往上走,抽象程度越高,从"几点了"这种原始信号,一步步变成"这份单有多难送"这种接近决策的判断。人类分析师脑子里干的就是这个活,深度学习把这个过程变成了可以自动调节权重的数学结构。

讲到"权重怎么定",是整个原理最漂亮的部分。一开始所有权重都是随机数,预测出来的送达时长一塌糊涂。然后拿真实答案对答案:这一单实际三十五分钟送到,模型猜了五十,差十五分钟。训练做的就是把这个误差往回传,从输出层一层层倒推回去,每层问一句"我的权重调整多少能让误差小一点"。调一点,再来一遍。几十万单数据反复过、反复调,误差越来越小,权重就越来越合理。这套往回改错的操作有个学名,叫反向传播。我第一次真正搞懂它,是在自己拿外卖平台公开的历史数据集折腾了一晚上之后——抽象的东西,上手一遍全通了。想自己动手跑第一个模型的,从一个能跑起来的小项目开始里有现成路径。

为什么非得"深":浅的不行吗

行,但浅的网络表达不了复杂规律。理论上有结论:有些函数浅层网络要天文数字的节点才能逼近,深层网络几十层就够了。深度的本质是复用——底层学到的简单特征,被上层反复组合利用,像积木越搭越大。外卖场景里就有现成的例子。"距离"这个特征,浅层网络只能拿它做一次加权,可它跟送达时长的关系根本不是直线:三公里内骑一公里慢一分钟,超过五公里可能要等骑手换电瓶。深层结构里,距离先在底层被切成几段不同处理,再在中层跟路况组合,到高层已经是"这段路此刻的实际难度"了。一次加工和层层加工,表达力差着量级。这也解释了为什么深度学习要吃大量数据——层多、参数多,数据不够它就记不住规律只会背答案,背答案就是过拟合。深度学习和大数据的关系,一张图讲明白那篇比我说得细。想看这个领域的经典教材打地基,深度学习圣经的英文原版官网就能免费读到,行业里真刀真枪的参数规模,看一眼Statista的AI算力统计就知道涨得多凶,深度是真的"深"。

把例子讲给别人听:我的四步话术

四步:一说问题(预测外卖多久到),二说老办法(人写规则,写不全),三说新办法(几百万订单喂进去,机器自己学),四点睛(一层层网络就是在做越来越综合的判断)。四步讲完不超过三分钟,听的人基本都能点头。我拿这套话术测过不同的人。对完全不碰技术的长辈,讲到第三步就收,加一句"手机里的语音识别、相册自动分类,背后都是这一套",他们就有画面了。对有点技术底子的朋友,加讲反向传播那段"对答案、往回调"的比喻,再补一句误差反向传播的名字,对方会心一笑。对较真追问"机器自己学规则,那它学到的东西人看得懂吗"的朋友,老实回答:多数时候看不懂,权重是几百万个数字,人读不了。这是深度学习跟传统方法最大的 trade-off——性能换可解释性,工业界为此专门发展了一套解释性工具。讲到这份上,你在饭桌上就是权威了。

老式规则 vs 深度学习(外卖预测场景)
维度人写规则深度学习
规则来源工程师经验历史数据里自己学
上线维护改一条调一次重训一次全更新
可解释性每条都明明白白基本是黑箱
数据需求几百单就够起步几十万单起步
我的偏爱简单场景仍用它复杂场景没得选

给这个例子画张手绘图,是我另一个心得。去年我给部门新人做分享,光靠嘴讲,二十分钟过去眼神已经涣散了。第二回我提前画了张流程图:左边一列写原始信息,中间三列方框代表三层网络,方框之间画箭头,每列顶上标注这一层"看出了什么",右边一列写预测结果。就一张纸的事,新人说"哦原来每层是有分工的"。图我留着压在工位玻璃板下面,谁再问我深度学习是什么,图一推过去,省我半小时。你要讲给别人,也建议画一遍,比任何动画都直接。

常见问题

AI深度学习跟机器学习是什么关系?

深度学习是机器学习的一个分支,机器学习又是AI的一个分支,套娃结构。用外卖话说:让机器自己学规则是机器学习,用多层网络学是深度学习。层次关系可以看一个套娃结构的图解。

深度学习一定要用神经网络吗?

名字里就是网络,实践中也基本绑定。但解决预测问题不非得用它,表格数据上树模型常常打平甚至更好,别手里拿个锤子看啥都是钉子。

为什么不直接用外卖平台那种真实案例学着写代码?

可以,公开数据集加入门教程足够动手了。我第一遍就是拿配送数据集跑通的,难的不是代码是理解每步在干嘛,先懂原理再敲键盘,顺序别反。

听懂了这个例子算入门了吗?

算认知入门,离动手还差一层。下一步建议跑一个玩具项目,比如手写数字识别,两小时出结果,那种"它真的在学"的体感,例子给不了。

ai 深度学习是什么,一个外卖例子讲到底就是这句话:让机器从海量样本里,一层一层自己学会判断。下次再被问到,希望你也讲得眉飞色舞。要是这篇解开了你憋很久的疑惑,转给那个总说"AI就是玄学"的朋友,一顿外卖的时间,够他改观了。