150528个输入节点。这是把一张224×224的彩色照片喂给全连接网络时,第一层的参数规模。再连到1000个神经元,1.5亿参数瞬间堆满内存——还没开始学任何东西。
MNIST的28×28灰度数字让我们误以为问题解决了。真照片甩过来,才发现全连接网络是个贪婪的怪兽:它要求每个神经元同时关注所有像素,不管左上角和右下角有没有关系。
更蠢的是位置敏感。同一只猫耳朵,出现在画面左边和右边,网络得分别学两遍。
1959年的猫,改变了计算机视觉
David Hubel和Torsten Wiesel没想搞AI。他们只是好奇:视觉皮层到底在干什么。
电极插进麻醉猫的视觉皮层,屏幕投影各种形状。大部分时候,神经元安静得像在睡觉。直到一次意外——玻璃滑动,一道细光斜切过屏幕。
某个神经元突然疯狂放电。
不是整个皮层。是特定位置、特定角度的那条边缘,触发了特定神经元的响应。Hubel和Wiesel反复验证:不同神经元负责不同朝向的边缘,水平、垂直、斜向,各自为政。每个神经元只盯着自己的一小块"领地"(感受野),更高层的神经元再把这些局部信息拼凑成角、曲线、完整形状。
视觉皮层不是全连接的大锅饭,而是层层递进的本地侦探局。
这个发现拿了1981年诺贝尔生理学或医学奖。三十年后,它成了卷积神经网络(CNN)的架构蓝图。
卷积:用"滑动窗口"偷换概念
CNN的核心操作叫卷积,本质上是个过滤器(filter)在图像上滑来滑去。同一套权重参数扫遍整张图,问同一个问题:"这儿有边缘吗?"
输出是一张特征图(feature map),标记出哪里响应强烈。换个过滤器问不同问题——"斜向纹理?""颜色突变?"——再输出一张特征图。
关键突破在这里:参数共享。检测左边缘的过滤器,滑到右边还是同一套参数。猫耳朵不管出现在哪,都被同一个机制捕获。
池化层(pooling)再往下压分辨率,保留大致位置信息但扔掉精确坐标。网络逐渐从像素级细节"抽身",转向更抽象的模式识别。
LeNet-5(1998年)是第一个跑通的CNN,Yann LeCun用它识别手写支票数字。但真正爆发要等到2012年——AlexNet在ImageNet竞赛把错误率砍半,GPU训练+ReLU激活+Dropout正则,三件套凑齐。
从通用到专用:网络结构的进化逻辑
全连接网络是通才思维:我什么都要学,每个连接独立调参。CNN是专才分工:早期层专盯边缘纹理,中期层专盯部件形状,后期层专盯整体语义。
这种层级专门化(hierarchical specialization)恰好复刻了Hubel和Wiesel在猫脑子里看到的结构。
ResNet(2015年)把层数堆到152层,靠残差连接解决梯度消失。DenseNet让每层直接连到后面所有层,信息流动更顺畅。EfficientNet用复合缩放统一调整深度、宽度、分辨率,用更少的参数量刷榜。
但核心思想没变:局部连接、权重共享、层级抽象。
Transformer架构在2020年后席卷视觉领域(Vision Transformer),把图像切成patch当序列处理。很多人以为CNN要退场了。实际情况是:ConvNeXt、Swin Transformer这些新设计,反而把卷积的归纳偏置(inductive bias)重新捡回来,和注意力机制杂交。
生物学给的启发,至今没被完全替代。
现在打开手机的相册搜索,输入"海边",AI能挑出你没打标签的照片。自动驾驶的障碍物检测,医学影像的肿瘤筛查,工厂流水线的瑕疵识别——底层跑的都是这套1960年代从猫脑子里抄来的架构。
Hubel和Wiesel当年要是知道,他们用来固定猫头骨的螺丝,间接拧进了万亿参数的模型里,会怎么想?
热门跟贴