“视觉是连续空间的模拟信号,每个像素点就是一个连续变量。”
这是很多计算机视觉教材和模型论文中默认的假设。听起来合理,似乎也和物理世界接轨。但只要稍加推敲,就会暴露出它并非科学结论,而是工程手段的一种近似表达。
我们必须首先区分几个层面:
一、在物理上,光照和颜色确实是连续信号
自然界的光波、亮度和色彩是连续的,这没错。但人类并非以连续方式感知这些物理量——我们的眼睛和大脑会自动将其量化、概念化。例如:
-
- 明度被压缩进有限的亮度感知等级;
- 色彩区分能力是有限的,大致在几千到几万种之间;
- 空间分辨率和时间刷新频率也受到神经系统本身的限制。
也就是说,虽然世界本身是连续的,人类感知和认知所依赖的输入体验早已是量化后的结果。
二、数字图像是离散化的产物
数字化图像以像素构成,通常每个通道8位,表示0到255之间的整数值。无论是JPEG、PNG还是RAW图像,底层存储都是有限精度的离散整数。模型所接收的图像本质上早已是数字化采样后的结果,并非模拟信号。
然而,在神经网络训练过程中,图像输入往往被归一化为0到1之间的浮点数。这一步并非出于感知上的真实需要,而是出于数值计算的方便性。深度学习系统依赖于梯度传播进行优化,而梯度下降算法要求输入数据分布平滑、可导、易归一化。因此,离散像素被“伪装”为连续变量,是为了解决优化问题,而非反映图像本质的必需。
三、这是一种“数学正确”的错觉
模型在训练中处理的是张量空间上的浮点向量,并依赖于连续空间的插值、卷积、归一化等操作。这使得像素在模型编码实现上被强行纳入连续数域,但这种连续性是工程层面的假设,并非信息层面的需求。
人类的视觉系统并不需要那么高的分辨率。绝大多数图像中的数值精度远远超出了人类的感知极限。8-bit 表示的256级灰度中,人眼实际可分辨的亮度等级可能不超过100级。而RGB色彩空间中的1670万种组合,也远远超过人类色彩分辨能力的上限。
这意味着:我们为模型输入提供的“连续性”,大部分是感知冗余。高精度浮点表示中的大部分“细节”信息,对人类无感,也并不必然提升模型表现。它们只是方便训练,“让梯度更好传播”的工具,本身并不承载有意义的知识。从信息论角度衡量,每一个像素点的连续表示空间远远超过其必要承载的信息量。这种表征冗余本质上可能是计算资源的结构性浪费。
四、重估视觉建模的基本假设
当我们把图像建模为“连续变量组成的张量”,其实是在把一个本可以紧凑表达的问题,拆成了浮点优化问题。它解决的是训练上的可微问题,而不是表达上的本质问题。
未来的视觉模型及其编码,可能应该从三个方向反思:
-
- 一是重新审视离散空间在图像表示中的有效性(如 VQ-VAE, DALL·E-style tokens);
- 二是设计与人类感知匹配的量化机制,基于视觉系统的辨识上限进行编码;
- 三是开发混合表征体系以节省资源,在连续优化和离散认知之间建立桥梁。
归根结底,“像素是连续变量”不是对世界的解释,而是对神经网络计算架构的妥协。它解决了梯度下降的问题,却掩盖了表征效率的问题。
我们应当意识到,这种假设在科学意义上是伪装的;在工程意义上是权宜的;而在未来的表征体系中,它可能具有进一步量化的优化空间。