你刷短视频时,平台能精准认出视频里是猫还是狗;你打开相册,输入“海滩”,它就能把几年前在三亚拍的照片全翻出来;你的手机能对着你的脸解锁,哪怕你戴了口罩,多试几次它也能认出来……

这些背后,都藏着一个名字听着挺唬人的技术——卷积神经网络(Convolutional Neural Network,简称CNN)。说它“唬人”,是因为“卷积”这词,一听就像高等数学,容易把人劝退。但说白了,它解决的是一个特别朴素的问题:怎么让机器真的“看见”东西。

今天咱们就分上下两篇,把这事从头到尾聊透。上篇,我们先说说这东西到底是什么,以及当初大家为什么非要搞出它来。

一、什么是卷积神经网络?——别怕,它就是个“会看图的流水线”
咱们先想一个问题:你怎么知道一张照片里是只猫?

你会看耳朵、眼睛、胡子、毛茸茸的轮廓……但这些“特征”在你脑子里,是经过了几十年进化,天生就会的。可机器不一样,它拿到一张图片,看到的只是一堆数字——每个像素点的红绿蓝(RGB)数值,密密麻麻,像一张巨大的数字矩阵。

如果让一个最基础的“全连接神经网络”来处理这张图,会发生什么?

假设图片是100×100像素,不算大吧?那就是一万个像素点。全连接网络的思路是:把这一万个点,每个都和下一层的所有神经元连起来。一层下来,就是一万乘以一万——一个亿的参数。这还只是一层,如果图片更大(比如今天动不动就上千万像素),那计算量直接爆炸。

更麻烦的是,这种“全连接”的方式完全忽略了图像最重要的一个特性:空间结构。它把图片摊平成一维的线,左边和右边的像素在它眼里没有任何位置关系。这就好比让你看一幅蒙娜丽莎,却把所有颜料搅和在一起,你还能认出来那是达芬奇画的吗?

卷积神经网络,就是专门来解决这两个问题的:

参数太多,算不动。忽略空间结构,看不清。

它的核心思路其实特别“反直觉”——不一次性看完整张图,而是用一个个“小窗口”在图上滑动,一点一点地看,然后把看到的东西一层层组合起来。

这个小窗口,就叫卷积核(也叫滤波器)。它像一把特制的“小尺子”,每滑到一个位置,就计算一下这个局部区域的特征,生成一个新的数字。等整个窗口滑完一遍,你就得到了一张新的“特征图”——它保留了原图的相对位置,但尺寸变小了,信息被提炼了。

这个过程,就是卷积。别被名字吓到,本质上它就是:用一个小的模式,去扫描大的图像,提取局部的特征。

而“神经网络”的部分,就是让这些卷积核的参数不是人手工设计的,而是让机器自己从数据里学出来。你想要识别眼睛?网络自己就会在某个卷积核里学到一组数值,专门对“眼睛”的形状敏感。你想要识别轮胎?另一个卷积核就会自动学会怎么抓住圆形的边缘。

所以,卷积神经网络说白了就是:一套由多个“卷积+降采样”层堆叠起来的流水线,每一层负责提取不同层级的特征——底层提取边缘、角落,中层提取纹理、形状,高层提取出眼睛、轮子、人脸这些具体部件。

二、为什么会诞生?——被“大而全”逼出来的新思路
卷积神经网络不是凭空冒出来的。它的诞生,其实是一个“被逼无奈”的故事。

时间回到上世纪八九十年代,人工智能还处在“符号主义”和“专家系统”的寒冬里,神经网络也还只是学术圈一小拨人在鼓捣。真正让卷积神经网络第一次走到聚光灯下的,是一个叫Yann LeCun(杨立昆)的法国学者。他当时面临一个实际的问题:美国邮政局想搞一个自动识别手写邮政编码的系统。

那时候的“传统方法”是人工设计特征——比如先提取数字的轮廓、交叉点、端点这些几何特征,再用这些特征去训练一个简单的分类器。但问题是,每个人的手写体千奇百怪,你设计出来的“特征”在A手里好用,换个人写立马翻车。

Yann LeCun想:能不能让网络自己从原始图像里学特征,而不是靠人设计?他试了全连接网络,立刻遇到前面说的两个问题:参数爆炸、忽略空间结构。于是他翻出了更早之前日本学者福岛邦彦提出的一个叫“神经认知机”的模型,这个模型已经有了“卷积”和“降采样”的雏形——用局部感受野来模拟视觉皮层的分层处理。

Yann LeCun把这个思想捡起来,用反向传播(Backpropagation)让它真正能训练,并在1998年提出了一个经典的网络结构——LeNet-5。这个只有7层的小网络,成功地在手写数字识别任务上达到了接近99%的准确率。

注意,那可是1998年,没有GPU,没有大规模数据,他硬是靠一个精巧的结构设计,解决了邮政系统自动分拣的核心难题。

卷积神经网络就是为了解决“如何让机器高效地从原始像素中自动提取有层次的空间特征”这个问题而诞生的。

它要打破的是两个僵局:

(1)计算效率的僵局:不让参数随着图像尺寸指数级增长;

(2)特征工程的僵局:不再需要专家手动设计边缘检测器、角点检测器,让网络自己从数据里学。

而它之所以能破局,靠的就是一个核心洞察:图像在局部是相关的,且这种相关性在图像的不同位置会重复出现。 你在左上角学到的“横线”特征,在右下角同样有用——这就是卷积核“权值共享”的思想,也是它比全连接网络高效的根本原因。

讲到这里,我们其实已经摸到了卷积神经网络的“骨架”:它为什么被造出来,以及它最底层的设计哲学——用局部连接、权值共享和层级抽象,来模拟生物视觉系统处理信息的方式。但光有骨架还不够。它究竟发展出了哪些“流派”?每一层到底在做什么?为什么后来的ResNet、YOLO这些名字听起来五花八门,却都离不开“卷积”这两个字?

这些问题,我们留到下篇来细说。下篇里,我们不光会聊聊卷积神经网络的几种经典“类型”,还会讲清楚它在今天的世界里到底能干什么——从修图到自动驾驶,从医疗影像到短视频推荐,它究竟是怎么“看懂”这个世界的。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐