深度学习:当神经网络有了"深度"
深度学习:当神经网络有了"深度"
如果机器学习是AI的地基,那么深度学习就是在地基之上矗立起来的摩天大楼。
在2012年AlexNet那一战之前,深度学习只是机器学习领域一个边缘的、不太受人待见的分支。
但在那之后,它崛起了,它变成了AI的代名词。
今天当媒体上谈论"AI取得了什么突破"的时候,那十有八九是在谈论深度学习。这一章,我们来理解深度学习到底是什么,以及它为什么能取得如此惊人的成功。
深度学习的基本单元是"人工神经元",它的灵感来自人类大脑中的生物神经元。
一个生物神经元通过树突接收来自其他神经元的信号,当信号积累超过某个阈值时,它就通过轴突向下游神经元发送一个电脉冲。
而人工神经元模仿的正是这个过程:
它接收一组输入数值,每个输入乘上一个权重(代表这个输入的重要性),然后全部加起来,再加一个偏置项,最后通过一个激活函数(这个函数决定了神经元的输出值)。如果总和够大,激活函数输出一个较高的值;如果总和很小,输出接近于零。总之,这个"激活函数"就像是神经元的"点火条件"。
一个神经元做不成什么事,但当成千上万个神经元按层组织起来,形成一个网络的时候,神奇的事情就发生了。
输入层接收原始数据——比如一张图片的像素值。这些数据流过一层或多层"隐藏层",每一层的每个神经元都从前一层的所有神经元接收加权输入,计算出自己的输出,再传递给下一层。最终到达输出层——如果是识别猫和狗,输出层可能只有两个神经元,一个代表猫的概率,一个代表狗的概率。这种由层层叠加的神经元组成的结构,就是"神经网络"。
"深度"这个字眼指的正是这些隐藏层的数量——浅层网络可能只有一两层隐藏层,而深度网络可能有几十层、几百层、甚至上千层。
这有一个不太好理解的问题:
为什么多加层就能让网络变得更强?
因为每一层都在提取不同级别的"特征表示"。
我们以图像识别为例。
第一层可能只学到了一些最原始的模式——边缘、色块、纹理方向。这种第一层学到的特征几乎是通用的,无论你是识别猫还是识别车,这些低级特征都用得上。
第二层在第一层的基础上,把边缘组合成更复杂的形状——角落、圆形、简单的几何结构。
到了中间层,网络开始识别出更具体的部件——如果是人脸识别,中间层的神经元可能对"眼睛形状""鼻子轮廓""嘴巴弧度"这些东西敏感。
到了最后几层,网络的表示已经高度抽象,一个神经元可能专门对"猫的脸"这个整体概念做出响应,另一个可能对"狗的脸"敏感。
这种层级化的特征学习,意味着网络不是被人类告知该关注什么特征(这并不准确),而是自己从数据中一层层地构建出了从简单到复杂、从具体到抽象的特征层次结构。
智能,至少在感知层面,很大程度上就是"好的表示"——把原始杂乱的信息转换成分层次的、可被用来做决策的抽象表示。
理解了深度学习的层级化特征学习,我们就可以来看它在不同数据类型上的三大经典架构了。
这三者之间的区别,根本上来自它们处理的数据结构不同。首先是CNN——卷积神经网络,它专为图像数据而生。
图像有什么特点?
它是二维的网格结构,而且图像中的信息具有"平移不变性"。一只猫在图片的左边还是右边,它都是同一只猫。
CNN通过一种叫"卷积"的数学操作,让一个小的"滤波器"在图片上滑动扫描,检测特定的局部模式(比如一条45度角的边缘),无论这个模式出现在图片的哪个位置,同一个滤波器都能检测到它。
CNN还通过"池化"操作逐步缩小特征图的尺寸,这样不仅降低了计算量,还让网络对小的位移和变形更加鲁棒。
CNN的发明是计算机视觉领域最重要的突破之一,它让机器第一次在图像识别上达到了接近人类的水平,并催生了自动驾驶、医疗影像诊断、安防监控等一系列应用。
第二种经典架构是RNN——循环神经网络,以及它的改进版本LSTM(长短期记忆网络)。
它们处理的是序列数据——文本、语音、时间序列。
序列数据的特点是,数据点之间有顺序依赖关系,当前的输出不仅取决于当前的输入,还取决于之前发生了什么。
RNN的设计让信息可以在网络中"循环"流动——一个时间步的输出会作为下一个时间步的部分输入。
但标准的RNN有一个严重的"健忘症"问题:当序列变得很长时,早期的信息会在反复循环中被逐渐稀释,最终消失殆尽。LSTM通过引入一种巧妙的门控机制这个问题。
遗忘门、输入门、输出门。
它们让网络可以有选择性地保持长期记忆,决定哪些信息应该保留、哪些应该忘记。LSTM在机器翻译、语音识别等任务上取得了巨大的成功,在Transformer诞生之前,它是序列建模的主流方案。
但Transformer的出现彻底改变了格局。
我们已经在第三章中简要介绍过Transformer,这里从架构比较的角度再补充一些。
RNN和LSTM的问题在于它们太有顺序了,你必须先处理完第一个词,才能处理第二个词,再处理第三个词。这种串行处理方式不仅速度慢,而且让长距离依赖的捕捉变得很困难。尽管LSTM有所改善,但当两个相关的词相隔几百个词时,还是力不从心。
Transformer的创新就在于它彻底抛弃了循环结构,转而依赖注意力机制,让序列中的每个位置都可以直接"关注"序列中的所有其他位置,而且这种关注是并行计算的。
在GPU上,这种并行性带来了数量级的训练速度提升。更重要的是,注意力机制天然适合捕捉任意距离的依赖关系,两个词不管隔得多远,在注意力机制下它们之间的距离就是一个常数。
这种在效率、可扩展性和长程依赖处理上的三重优势,让Transformer在大规模预训练时代成为了唯一的王者。
从GPT到Claude,从Gemini到DeepSeek,从文生图扩散模型到蛋白质结构预测的AlphaFold,Transformer的影响已经远远超出了自然语言处理的边界。
但训练一个深度神经网络,技术上最核心的挑战是"学习"本身。
网络如何根据自己的表现来调整参数?
答案是"反向传播"算法,它和梯度下降配合使用。
前向传播时,数据从输入层流到输出层,产生一个预测结果,然后计算预测和真实答案之间的误差。
反向传播时,这个误差从输出层往回传播,逐层计算误差相对于每个参数的梯度。梯度会告诉你,如果你把这个参数调大一点点,误差是会变大还是变小。
然后每个参数沿着梯度的反方向调整一点点,这就会使得下一次的预测误差变小。
你可以想象你站在一座山的山顶,你想走到最低的山谷,但你看不到整个地形,只能感觉到脚下的坡度。
梯度下降就是这么一回事罢了。
感觉一下你脚下的坡度往哪个方向最陡,然后往那个方向的反方向走一小步。走完之后再重新感受坡度,再走一小步。重复足够多次,你最终会到达一个山谷——虽然不是保证是全球最低的那个山谷,但通常已经足够低了。
这个过程在深度网络中的参数数量达到数亿甚至数万亿的时候,在数学上和管理上都变得极其复杂,而PyTorch和TensorFlow这类深度学习框架的存在,就是帮开发者自动完成这些复杂的梯度计算,让他们只需要"搭积木"一样地设计网络结构就可以了。
那现在就有另外一个问题值得我们来想一想了:
为什么越大的网络往往表现越好?
这背后有两个在理论上尚未完全理解但在实践中被反复验证的现象。
第一个是"缩放定律"。
OpenAI在2020年的研究发现,语言模型的性能与模型参数量、训练数据量和训练计算量之间呈现出一种可预测的幂律关系。
简单说就是,只要你有更多的数据、更大的模型、更多的算力,性能就会稳定提升,而且这种提升在一定范围内不会出现天花板。本质上就是大力出奇迹,但它确实有效,而且这种有效性让整个行业拉开了"大模型军备竞赛"的序幕。
第二个是"涌现"。
当模型规模越过某个阈值之后,它会突然表现出一些在较小规模下完全不具备的能力,比如逻辑推理、代码生成、多语言翻译、常识问答。仿若基因突变。
这些能力没有被明确地编程进去,也不是数据标注出来的,它们是"涌现"出来的。这是一种整体的属性超越了部分的简单加和。就像单个水分子没有"流动性"的概念,但足够多的水分子聚集在一起,流动性的属性就出现了。
涌现是深度学习中目前最令人着迷也最令人困惑的现象之一,它让我们意识到,我们对这些巨大网络内部究竟发生了什么,仅仅只是窥见了冰山一角。
深度学习的成就令人瞩目,但它的局限性也同样“熠熠生辉”。
首先深度学习需要海量的标注数据,但在很多专业领域(比如罕见病诊断),你压根凑不出足够的训练样本。
其次,它是一个"黑箱",即使是一个表现极好的模型,你也很难说清楚它为什么做出了某个具体判断,这在医疗、金融、司法等高风险领域是一个很严重的问题。
再一个是它的训练消耗的能源极其惊人。训练一个大型基础模型的碳排放相当于几辆汽车整个生命周期的碳排放。
而它的鲁棒性也值得担忧,一张加了肉眼看不见的微小噪音的熊猫照片,深度学习模型可能就把它识别成了长臂猿.....
这些问题都已经成为活跃的研究课题,现在的研究者们在从可解释AI、小样本学习、绿色AI、对抗性训练等方向去寻找解决方案。
也许深度学习的下一个十年,可能不像过去十年那样由"规模"单一维度驱动,而是需要在这些更加多元和深入的维度上取得突破。
互动讨论区
0 条记录No data in communication log.
从小白到入门的路线图
**在一本AI入门手册里,这一章可能是最特殊的一篇。** 前面十七章,我们从"什么是AI"讲到了全球产业格局,从机器学
AI时代的人才与职业
当人工智能从实验室里的论文走进每一个人的日常工作流,当一行自然语言就能生成可运行的程序,当一段语音描述就能产出一段堪比专
中国AI产业基础解读
在全球AI产业的棋盘上,中国毫无疑问是最值得深入观察的变量之一。 如果只看原创基础研究和技术突破的"首发"数量,中国与
全球AI产业格局:中美欧的角力
如果你在2022年底(也就是ChatGPT刚刚发布的那段时间)去参加任何一场科技行业的会议,你会发现所有人都在讨论同一个