不用公式也能看懂卷积:机器是如何从局部信息认识世界的?
第一次接触人工智能、图像识别或者信号处理的人,大概率都会遇到一个词:卷积。
这个词的问题在于,它听起来就很数学。
很多教材也习惯一上来给出公式,然后告诉你翻转、平移、相乘、累加。公式当然没有错,但对于一个刚接触这个概念的人来说,很容易出现一种情况:计算方法似乎学会了,却还是不知道卷积到底在干什么。
如果暂时把所有数学公式放到一边,我更愿意这样理解卷积:
卷积是一种观察信息的方法:拿着一个小小的“观察标准”,在一大堆数据上不断移动,每到一个地方,就判断一下——这里有没有我关心的东西?
理解了这一句话,声音处理、图像处理、边缘检测,甚至人工智能里的卷积神经网络,其实就慢慢串起来了。
一、机器面对的世界,其实只是一堆数字
我们看到一张照片,会自然地说:
“这里有个人。”
“这里有一辆汽车。”
“这是一个路口。”
但是计算机最开始看到的并不是“人”和“汽车”。
对计算机来说,一张照片最原始的形态就是大量数字。这些数字描述每一个像素的亮度、颜色以及位置。
声音也一样。
我们听到一句“你好”,大脑马上知道这是人的声音,甚至还能判断是谁在说话。但麦克风和计算机拿到的,首先只是声音强弱随着时间不断变化形成的一串数字。
所以机器面对的第一个困难是:
海量数字里面,什么才是真正值得关注的信息?
这是理解卷积最重要的起点。

因为卷积干的事情,恰恰就是:
从大量原始数字里面,把有意义的局部变化找出来。
二、理解卷积,可以想象一个“拿着模板巡逻的人”
假设现在有一面非常长的墙。
墙上有裂缝、污渍、螺丝、接缝,还有正常的墙面。
如果让一个人站在几十米外,一眼把整面墙全部检查清楚,其实很困难。
更现实的方法是什么?
拿一个小检查框,从墙的左边开始,一块一块地看。
看完这一块,往右挪一点。
再看下一块。
一直检查完整面墙。
这时候,我们还可以给检查人员一个任务:
你不用判断这是什么建筑,也不用理解整面墙,只需要帮我寻找“像裂缝的东西”。
于是他每移动一次,都只回答一个问题:
这一小块区域,像不像裂缝?
这就是卷积非常核心的思想。
一大片复杂信息,很难一次理解。
那就把问题缩小:
我每次只看一个局部。
而且每次看的时候,都使用同样的判断标准。
然后一路扫描过去。
这件事情本身,就是卷积思维。
三、卷积真正厉害的不是“移动”,而是“带着问题去看”
很多人会把卷积理解成“一个小窗口在图片上滑动”。
这个理解没有错,但还不够。
因为真正关键的问题不是“滑动”。
而是:
这个小窗口每移动到一个地方,到底在寻找什么?
可以把它理解成一个“问题”。
比如我们想检查一张图片:
“这里有没有明显的明暗交界?”
这是一个问题。
“这里有没有从左到右突然变亮?”
也是一个问题。
“这里有没有一条细长的竖线?”
还是一个问题。
于是,我们可以针对不同的问题,设计不同的观察模板。
模板并不是一张真正的图片,而是一套规则:
哪些位置重要?
哪些位置应该被加强?
哪些位置应该被忽略?
哪些方向的差异值得关注?
所以我更喜欢把所谓的卷积核理解成:
一副带着特定目的的眼镜。

戴上不同的眼镜,看同一张图片,看到的东西完全不同。
有的眼镜特别容易看到边缘。
有的容易看到细节。
有的会忽略小噪声,只保留大致轮廓。
有的对某种纹理特别敏感。
这就是卷积非常有意思的地方:
数据没有变,观察方式变了,看到的信息就变了。
四、为什么卷积可以找到图像边缘?
假设现在拍了一张照片。
左边是一扇黑色的门,右边是一面白色的墙。
人眼几乎瞬间就能看到:
这里有一条明显的边界。
但计算机怎么知道?
它并不知道“门”和“墙”。
它首先看到的只是:
左边一片像素比较暗,右边一片像素比较亮。
那么所谓的“边缘”,从数字角度来看,其实就是:
附近的数据突然发生了明显变化。
于是我们可以做一副专门寻找“左右差异”的眼镜。
让它从整张图片上扫过去。
扫到普通白墙的时候,左右都差不多,它会认为:
这里没什么特别。
扫到门和墙交界处的时候,左边很暗,右边突然很亮,它马上会产生一个很强的反应:
这里发生了明显变化。

于是边缘出现了。
这时候你会发现一件很有意思的事情:
所谓计算机视觉里的“边缘检测”,并不是机器像人一样先理解了“这是门”,然后把门的轮廓画出来。
顺序恰恰相反。
它可能首先发现:
这里发生了剧烈变化。
然后才慢慢从这些变化中组织出:
线条、轮廓、形状,最后才可能变成“门”。
这也是理解人工智能视觉非常重要的一点:
机器往往不是先看懂物体,再发现细节;而是先发现细节,再逐步拼出物体。
五、为什么处理声音也会用到同样的思想?
卷积并不是为人工智能或者图片发明的。
在经典信号处理中,它早就存在。
声音就是非常典型的例子。
假设你录下一段讲话。
正常情况下,声音强度是不断变化的。
但录音过程中可能突然混进一些细小杂音。
如果我们只盯着某一个瞬间,很难知道这个突然升高的数值究竟是正常声音,还是噪声。
怎么办?
不要只看这一个点。
看看它前后附近的一小段。
如果周围整体比较平稳,只有这个位置突然冒出一个异常值,我们就有理由怀疑:
这可能是一个噪声。
于是可以让每一个位置都参考附近的信息,再决定新的结果。
这实际上也是一种局部观察。
所以从这个角度看,声音里的滤波和图片里的卷积并不是两件完全不同的事情。
它们背后的思想非常接近:
不要孤立地看一个数字,而是结合它附近的数据,判断它意味着什么。
六、这可能才是卷积最本质的思想:上下文决定意义
一个像素本身,其实没有多少意义。
假设一个像素是白色。
它是什么?
不知道。
可能是一张白纸。
可能是云。
可能是人的眼白。
也可能只是汽车上的高光。
只有看看它周围是什么,才可能知道。
声音也是这样。
某一个瞬间的声音强度,本身几乎说明不了什么。
只有和前后的声音联系起来,才能形成音节、词语和语音。
所以卷积背后其实隐藏着一个非常朴素,却又非常重要的思想:
信息的意义,往往来自它和周围信息之间的关系。

卷积不是只问:
“这个点是多少?”
而是在问:
“这个点和它附近的点,组成了什么样的局部结构?”
从这个角度理解卷积,比单纯记住“滑动窗口”更重要。
因为人工智能真正感兴趣的,往往不是某个数字本身,而是数字之间形成的模式。
七、那人工智能为什么特别喜欢卷积?
问题到了这里就变得很自然了。
假设我们想让机器识别一只猫。
最笨的方法,是让计算机把整张照片的所有像素一次性全部记住。
问题马上来了。
一只猫站在照片左边和站在右边,还是不是猫?
当然是。
猫离镜头近一点和远一点呢?
还是猫。
背景从沙发换成草地呢?
还是猫。
如果只是死记整张图片,那么只要图片稍微变化,原来的记忆就很可能失效。
卷积换了一种思路:
我不先记整张图,我先学会寻找局部特征。
比如:
这里有没有某种边缘?
这里有没有某种弧线?
这里有没有类似毛发的纹理?
这里有没有类似眼睛的局部结构?
于是,无论猫出现在图片左上角还是右下角,这套“观察标准”都可以扫过去寻找它。
这就是卷积非常适合图像的原因之一:
它寻找的是“特征”,而不是死记特征必须出现在哪一个固定位置。
八、卷积神经网络最关键的一步:连“眼镜”也是机器自己学出来的
传统图像处理里,人类工程师会自己设计观察模板。
例如:
我想找边缘,于是设计一种规则。
我想让图片更锐利,再设计另一种规则。
这种方式很好用,但也有明显局限。
因为有些东西太复杂了。
比如:
“什么样的局部特征组合起来像一只猫?”
“什么样的特征意味着这是一个行人?”
“工业零件上的什么纹理代表裂纹?”
这些东西如果全部依赖工程师手工设计,难度非常高。
深度学习真正改变事情的地方就在这里:
连那副用来观察世界的“眼镜”,都不一定需要人来设计,机器可以通过大量数据自己慢慢学出来。

刚开始的时候,它并不知道应该观察什么。
但经过大量训练以后,有些观察方式逐渐对边缘敏感,有些对纹理敏感,有些对特定形状敏感。
更高的网络层再继续组合这些结果。
于是可能形成这样的过程:
明暗变化
→ 边缘
边缘组合
→ 线条和弧线
线条组合
→ 眼睛、耳朵、轮廓
局部结构继续组合
→ 脸
再继续组合
→ 猫
所以所谓“深度”,很大程度上就是:
一层一层把简单特征组织成越来越复杂的特征。
九、换一个生活中的例子:机场安检其实很像卷积思维
想象一下机场的行李 X 光检查。
屏幕上可能同时出现:
衣服、电脑、充电器、瓶子、钥匙、线缆和各种杂物。
安检人员不会真的花很长时间,把每一个物品完整识别出来以后,再判断有没有危险。
经验丰富的人往往会重点寻找某些特征:
特殊轮廓。
异常密度。
特定形状组合。
不合理的结构。
也就是说,他实际上是在复杂画面中,带着某种“特征模板”快速扫描。
发现某个区域很符合目标特征,就特别关注。
当然,人类视觉系统远远比简单卷积复杂,但这种思考方式很接近:
不是试图一次理解所有东西,而是不断寻找值得注意的局部模式。
这就是卷积思维非常强大的地方。
十、再换一个例子:我们人类读错别字,其实也在使用“局部关系”
比如一句话里有一个字写得不完全正确,人有时候仍然可以顺利读下去。
为什么?
因为我们并不是孤立地识别每一个笔画。
我们会结合:
字的局部结构、前后的字、整个词语,甚至一句话的上下文。
图片也是如此。
某一个像素几乎什么都代表不了。
一小片像素开始形成纹理。
更多局部纹理组合以后形成轮廓。
轮廓和结构再组合以后,才逐渐产生语义。
所以机器视觉真正要解决的问题,并不是:
“这个像素是什么?”
而是:
“这一小片东西组合在一起,像什么?”
卷积正好提供了一个非常自然的方法来完成这种局部观察。
十一、为什么卷积核通常不需要和整张图片一样大?
因为现实世界很多有用的信息,本来就是从局部产生的。
判断这里是不是一条边缘,不需要先看整张照片。
判断这里是不是某种纹理,也不需要理解整个场景。
判断这里有没有一个角点,只需要观察附近一小片区域。
这其实很符合人处理复杂问题的方式。
医生看 CT,不一定第一秒就理解全部信息,他可能先关注某个区域的异常。
工程师检查设备,也可能先看温度、振动或者某个部件。
我们解决复杂问题,经常使用一个共同策略:
把大问题切成小问题,再把小问题的结果组合起来。
卷积也是这样。
所以如果一定要给卷积一个更抽象的定义,我会说:
卷积是一种把复杂世界拆成无数个局部观察,再通过局部信息逐渐理解整体的方法。
十二、卷积还有一个非常重要的能力:同一套标准,可以检查不同位置
假设一条裂缝出现在墙壁左边。
你知道怎么识别它。
那它移动到墙壁右边以后,识别标准需要重新学习一次吗?
当然不需要。
“裂缝长什么样”并不会因为位置变化而完全改变。
图片也是一样。
一条竖直边缘出现在左边和右边,本质上仍然是一条竖直边缘。
猫的眼睛出现在照片上方还是下方,也仍然具有类似的局部结构。
所以卷积可以拿着同一套观察标准,在不同位置反复使用。
这是一个非常重要的工程优势。
既节省大量参数,又符合现实世界的规律。
换句话说:
卷积相信,特征是什么,比特征在哪里更重要。
当然,现代视觉系统也需要理解位置信息,只是卷积特别擅长首先提取这种可以跨位置复用的局部模式。
十三、为什么卷积之后,图片看起来可能“完全不像原图”?
因为卷积的目的往往不是重新画一张好看的照片。
而是:
把机器真正关心的信息突出出来。
例如一张普通街景照片,人看到的是:
道路、汽车、行人、树木、天空。
但如果经过一种专门寻找边缘的处理以后,图片可能只剩下一堆黑白线条。
普通人可能会觉得:
照片怎么变坏了?
但对计算机来说,情况可能恰恰相反。
原来大量颜色、光照等信息可能会干扰判断。
现在轮廓被突出以后,机器更容易分析形状。
所以信号处理中的一个核心思想就是:
好的处理结果,不一定更像原始数据,而可能是让有价值的信息更加突出。
这也是理解人工智能特征提取非常重要的一点。
机器并不一定需要“看到我们看到的世界”。
它需要的是:
把对任务真正有价值的信息提取出来。
十四、从这个角度看,卷积其实是在做“信息筛选”
原始信号里面往往什么都有。
有用信息。
背景信息。
噪声。
光照变化。
颜色。
纹理。
边缘。
各种细节全部混在一起。
卷积相当于不断问:
我关心这个吗?
如果关心,就让这个地方的响应更明显。
如果不关心,就让它弱下去。
于是经过很多不同的卷积处理以后,原本杂乱的信息开始被分类:
哪里有边缘?
哪里有纹理?
哪里有某种方向变化?
哪里可能存在某种形状?
所以卷积可以被理解成:
一种局部的信息筛选器。
这一点其实比“卷积就是加权求和”更容易抓住它真正的意义。
十五、人工智能里的卷积,最值得理解的其实不是算法,而是方法论
如果把卷积放得更远一些看,会发现它背后的思维方式其实很有意思。
面对一个非常复杂的问题,不一定需要一次性理解全部。
可以:
先观察局部。
寻找重复出现的模式。
使用相同标准检查不同位置。
把简单模式逐步组合起来。
最终形成对整体的理解。
这和人类认识世界的很多过程其实很接近。
我们认识一个陌生人,并不是首先把他整个人变成一个数学模型。
我们可能先看到:
发型、眼睛、脸型、动作、声音。
这些局部特征慢慢组合以后,大脑才形成:
“这是某个人。”
所以卷积真正有意思的地方,并不只是它在计算机里面怎么运算。
而是它提供了一种非常漂亮的思想:
复杂世界不是一定要整体理解,可以先找到局部规律,再从局部规律中构造整体认知。
十六、今天有了 Transformer,卷积是不是就不重要了?
近年来 Transformer 已经大量进入图像识别、视频理解等领域,所以有人可能会觉得:
CNN是不是已经过时了?
其实不能这么理解。
不同技术路线解决问题的方式不同。
卷积更天然地强调:
局部关系和空间附近的信息。
Transformer则特别擅长:
在更大范围内建立不同信息之间的关联。
现实中的很多现代网络也会把不同思想结合起来。
而从学习人工智能和信号处理的角度来说,理解卷积依然非常重要。
因为它背后的几个思想并没有过时:
局部信息很重要。
数据之间的关系比孤立的数据更重要。
特征可以被逐层提取。
复杂结构可以由简单结构组合产生。
这些思想已经远远超出了某一种具体网络结构。

十七、如果非要用一个比喻总结卷积
我不会说:
“卷积就是两个函数经过某种数学运算。”
虽然数学上没有问题,但对理解几乎没有帮助。
我更愿意这样说:
卷积就像一个经验丰富的巡检员,拿着一套判断标准,在一大片复杂信息中逐块查看。每到一个地方,他不需要马上理解整个世界,只需要判断:这里有没有我关心的特征?
第一次巡视,可以找边缘。
第二次可以找纹理。
再往后,可以寻找更复杂的结构。
最终,大量局部判断组合起来,机器开始具备理解整体的能力。
所以,如果要把卷积浓缩成三个词,我认为不是“翻转、相乘、求和”。
对于普通人,更应该是:
局部观察、特征寻找、逐层组合。
这三个词,可能才真正解释了:
为什么一个诞生于经典信号处理时代的思想,后来会成为计算机视觉和人工智能发展过程中如此重要的一块基石。
而卷积最值得我们记住的,也许不是某个公式,而是它背后的那种思维方式:
当世界复杂到无法一眼看懂时,就先学会观察局部;当单个数据没有意义时,就寻找它和周围数据之间的关系;当复杂目标难以直接描述时,就先寻找简单特征,再一步一步把它们组合起来。
这,可能才是理解卷积最直观、也最有价值的方式。
📎 CSDN官方博客:音视频牛哥-CSDN博客
更多推荐
所有评论(0)