本文来源:AI4Neruo
我们睁着眼睛看一间厨房时,主观体验是一幅完整场景:水槽在台面上,柜子在旁边,地面延伸到墙角,桌上的杯子和盘子彼此有明确的位置关系。真正落到视网膜中央高分辨率区域的信息,却远没有这么完整。
眼睛一直在动。一次注视可能只看清水槽,下一次扫到柜门,再下一次落到窗边。每次注视得到的都只是场景的一小块,大脑最后却能够知道哪些东西经常一起出现、它们通常位于哪里,还能把几次注视的信息合并成同一个稳定场景。
过去几年,一个有趣的现象让这个问题更复杂了:用自然语言描述场景训练出的模型,往往和人类高级视觉皮层具有很高的表征相似性。语言确实包含丰富的场景关系,比如“水槽旁边通常有台面”“天空位于汽车上方”,可猕猴没有复杂语言系统,也同样拥有结构化的场景表征。视觉系统很可能还有一条更早、更直接的学习途径。
2026年,Osnabrück University的Sushrut Thorat、Adrien Doerig、Alexander Kroner、Carmen Amme和Tim C. Kietzmann在 Science Advances 发表研究 Predicting upcoming visual features during eye movements yields scene representations aligned with human visual cortex。他们提出一种很贴近自然观看过程的学习目标:每看完一处以后,预测下一次眼跳之后会看到什么。 模型不需要场景类别,不读取文字描述,也没有使用任何脑成像数据训练,只通过连续注视之间的规律学习场景结构。
研究者把这类模型称为 glimpse prediction network(GPN,局部视野预测网络)。训练以后,GPN逐渐掌握了“哪些东西经常一起出现”“不同物体通常位于什么相对位置”,还能够把此前多次注视留下的信息整合起来。更值得注意的是,这种内部表征与人类中、高级视觉皮层的fMRI表征高度一致,在多个比较中达到或超过一批成熟视觉模型和视觉—语言模型。
这项工作给场景视觉提供了一条很简洁的学习路径:大脑不一定需要先知道眼前这幅图叫“厨房”或者“街道”,只要长期经历“看这里以后,下一眼通常会看到什么”,世界本身的结构就会逐渐写进视觉表征。
只靠预测“下一眼”,模型就开始学会哪些东西属于同一个场景
研究者没有把一整张图片直接交给模型。他们从COCO自然场景中提取局部图像,并利用 DeepGaze III 模拟人类自由观看时的眼动轨迹。每个场景都会产生一串连续注视,每次只截取注视中心附近约3°视野范围的图像,也就是一个glimpse。每段序列从图像中央开始,共包含7次注视。
每个glimpse首先经过一个已经训练好的视觉backbone,转成高层视觉特征。随后GPN接收当前glimpse的特征,任务只有一个:预测下一次注视位置对应的高层视觉特征。
训练使用contrastive prediction。模型生成的预测要尽量接近真正的下一glimpse,同时远离同一场景里的其他glimpse以及其他场景里的glimpse。整个过程中没有“汽车”“草地”“孩子”这样的类别标签,也没有输入“这是一个停车场”之类的文字。
研究团队设计了四种GPN,分别测试两个因素:有没有recurrent memory,以及知不知道眼球下一次要往哪里跳。最简单的GPN-B两个都没有;GPN-R加入recurrent state;GPN-S得到saccade displacement;GPN-RS同时拥有记忆和眼跳信息。
这套任务看起来只是“猜下一块图像”,学出来的内容却已经超出了局部图像本身。
例如模型看到汽车尾部以后,如果下一次眼跳指向右上方,它预测出的特征更接近汽车前上方区域;从汽车附近向上移动,预测开始接近蓝天。在另一个场景里,最初只看到草地时,模型已经倾向于预测同一场景中的牛;等新的注视看到了孩子以后,后面的预测又开始纳入孩子相关内容。
模型慢慢学到的是场景中的 co-occurrence structure:
“看到草地以后,牛比鲸鱼更可能出现。”
“汽车周围出现道路和天空,比出现厨房水槽更合理。”
所有GPN产生的预测,都比其他场景中的图像更接近同一场景中的其他glimpse,说明即使没有类别和语言监督,它们已经通过下一眼预测掌握了场景内部的共现关系。
图1|GPN通过连续注视预测下一次看到的局部视觉特征 自然场景先被转换成人类式的注视序列,每次注视只提供一个局部glimpse。模型根据当前视觉特征预测下一glimpse的高层表示,并分别测试recurrent memory和saccade displacement的作用。训练过程不使用场景标签、文字描述或神经数据。
眼跳告诉模型“东西在哪里”,循环记忆则让几次注视真正拼成同一个场景
只知道“汽车和天空经常一起出现”还不够。一个场景还有空间结构。天空通常在汽车上方,路面位于汽车下方;水槽旁边可能有柜子,可这些东西并不会随机出现在任意位置。眼睛每一次saccade都天然携带了一个空间向量:刚才看这里,现在往左上方移动了多少。
加入这类信息以后,模型开始学会物体之间的 spatial arrangement。
研究者比较模型预测与真正下一glimpse、同一场景其他位置glimpse之间的相似度。如果模型只知道“这些东西经常一起出现”,它对同场景几个位置都可能给出相似预测;如果它理解了空间关系,真正位于眼跳目标位置的glimpse应该更加匹配。
结果很清楚。得到saccade信息的GPN-S和GPN-RS,对真正下一glimpse的预测明显优于对同场景其他位置的预测;没有眼跳信息的GPN-B和GPN-R则没有这种优势。眼跳信号由此承担了一种很具体的作用:告诉网络场景内容之间“谁在谁的哪一边”。
另一块信息来自recurrent memory。没有循环状态的网络,每一次看到新的glimpse以后,对前面发生过什么利用有限;加入LSTM以后,预测会随着注视次数增加持续改善,而且这种优势越到序列后面越明显。说明模型正在利用此前已经看过的局部内容,更新自己对当前场景的理解。
GPN-RS还出现了一项很有意思的能力。研究者故意打乱自然规律,把来自完全不同场景的视觉内容任意绑定到不同注视位置,再让眼睛“回看”之前的位置。模型仍然能够取回那个位置先前出现过的视觉内容。它记住的已经不只是“现实中汽车旁边通常有什么”,还在当前序列里临时建立了:
这个位置 ↔ 刚才这里出现过什么
in-context content-location binding。从计算角度看,它很接近一个随着眼动实时更新的场景工作空间:每看一处,就把内容和位置绑定进去,之后的预测继续利用这张逐渐成形的内部地图。
所以,连续眼动至少提供了三类天然监督信号:
共同出现+空间位移+时间连续性
只要不断预测下一眼,这三类规律就会被迫写进模型内部。
图2|眼跳和循环记忆分别提供空间结构与跨注视整合 所有GPN都可以从下一眼预测中学习场景部件的共现关系;只有得到saccade displacement的模型能进一步掌握空间排列。加入recurrent state以后,模型会随着注视序列推进持续改善预测,并把先前看到的内容与位置绑定在当前内部状态中。
这种“边看边预测”形成的内部状态,比许多成熟视觉模型更接近人类高级视觉皮层
模型学会这些规律以后,研究真正关心的问题才出现:
这种表示和人脑像不像?
研究者使用 Natural Scenes Dataset(NSD) 的7T fMRI数据。8名参与者曾观看大量自然场景,其中有515张图片被所有人重复观看。团队提取这些场景在不同视觉皮层区域产生的神经表征,再比较模型内部不同场景之间的表征关系是否与人脑一致。
这里比较的不是“某个神经元和某个人工单元是不是一一对应”,而是 representational geometry。
如果大脑认为场景A和B很相似、A和C差别很大,一个好的模型最好也形成类似的关系。研究者因此为脑区和模型分别构建 representational dissimilarity matrix(RDM),再观察模型能够解释多少脑区表征结构。
首先看的区域是 ventral visual cortex(VVC,腹侧视觉皮层),其中包括参与高级物体和场景加工的区域。
结果显示,所有GPN的内部表征都比最初输入的glimpse embedding更接近VVC。也就是说,真正带来提升的不是原来的视觉backbone本身,下一眼预测过程重新组织了这些局部视觉特征,使它们逐渐接近完整场景在人脑中的表征。
最重要的成分之一是recurrence。在不同backbone上加入循环结构,VVC alignment整体提高。随后研究者又构建了结构和训练数据都尽量匹配的对照网络:一个预测场景中有哪些object classes,另一个预测scene caption的semantic embedding。两种目标都很合理,尤其caption embedding此前已经被证明与高级视觉皮层具有很高相似性。
可在相同架构和数据条件下,预测下一glimpse的GPN-R依然明显更接近VVC。
研究团队还把它与DINO、iJEPA、MAE、CLIP、SigLIP2、EfficientNet、LeViT、HardCoReNAS以及多个ResNet和DINOv2模型比较。使用RN50-SimCLR backbone的GPN-R取得了所有模型中最高的VVC alignment,并且同样在中顶叶和顶叶区域表现突出。与当前最强替代模型相比,它能够解释对方绝大多数已经解释的脑表征方差。例如EfficientNet额外提供的独特解释量很少,而GPN-R已经覆盖了它所解释方差的大约 90%。
这里尤其值得注意的是,GPN并没有用脑数据训练。它没有“朝着fMRI拟合”进行优化,只是在自然场景上学习下一眼预测,最后自行形成了一套更接近人类视觉皮层的场景表示。
图3|下一眼预测形成的内部表征与人类中、高级视觉皮层高度一致 研究者比较515个自然场景在模型和NSD人脑fMRI中的表征几何。GPN内部状态比原始glimpse特征更接近VVC;加入recurrence通常进一步提高对齐。表现最好的GPN-R还超过了匹配架构的object/caption预测网络,以及多种自监督视觉、视觉—语言和监督视觉模型。
最像人脑的并不是模型最终“猜出的下一眼”,而是预测过程中不断更新的内部记忆状态
如果GPN真的在形成场景表示,还可以继续问:这种表征究竟藏在网络的哪里?
研究者把GPN-R内部一层层拆开。最初的glimpse embedding已经能够解释VVC的一部分结构,大约在10%左右。可第一个glimpse进入循环网络以后,LSTM output与VVC的alignment几乎立刻翻了一倍;随着第二眼、第三眼、第四眼陆续进入,LSTM内部状态和VVC越来越接近。
这种提升也不能用“把几次看到的东西简单平均一下”解释。研究团队专门构建了一个sequential averaging baseline,把此前glimpse embedding逐个平均,相当于把几眼的信息装进同一个袋子里。真正的LSTM状态明显优于这种平均,因此recurrent network做的不只是累加,它会根据已经看到的场景结构重新组织信息。
更有意思的是,最终prediction layer反而没有LSTM output那么像视觉皮层。
也就是说,最接近人脑的部分并不是网络最后输出的“下一眼答案”,而是为了做出这个预测而建立起来的内部状态。
这很像很多预测学习系统真正有价值的地方:任务要求模型预测未来,真正产生丰富表征的却是预测之前那套必须压缩过去、理解现在、准备未来的 hidden state。
在这里,这个内部状态需要同时容纳:
已经看到了什么
这些东西通常如何共同出现
当前场景里它们可能怎样组织
并利用这些信息预测下一眼。
所以,“预测未来”更像一种训练压力。为了把下一步猜准,网络被迫理解当前世界的结构,而人类视觉皮层的场景表征似乎也包含了类似的信息。
图4|与视觉皮层最接近的是循环网络内部状态,而不是最终预测输出 原始glimpse embedding只能解释一部分VVC表征;进入LSTM以后,alignment从第一眼开始明显提高,并随着更多glimpse累积继续增加。简单平均此前视觉特征无法达到同样效果,最终prediction layer的alignment也低于LSTM output,说明最接近皮层的表示形成于持续更新的recurrent state。
“下一眼预测”也为语言模型为什么会和视觉皮层对齐提供了另一种解释
这项研究还有一层很有意思的背景。过去的工作发现,大语言模型里的scene caption embedding与高级视觉皮层高度相似。这很容易让人产生一种解释:高级视觉区域也许在形成类似语言语义的表征。
这篇研究给出了另一种可能。语言中的语义关系很大程度上来自 distributional structure。词语经常在相似上下文中共同出现,于是“狗”“牵引绳”“公园”会在语言表征空间里形成某种关系。视觉世界同样存在分布规律:厨房里经常同时出现水槽和橱柜,汽车常伴随道路,天空通常位于地面物体上方。
而眼动恰好不断给视觉系统提供这种统计。
这一眼看到了什么→下一眼通常出现什么
长期下来,视觉系统完全可能在没有语言帮助的情况下学到一套丰富的场景共现结构。作者甚至提出,之前观察到的LLM—brain alignment,有一部分可能正来自这种共享的 co-occurrence structure:语言从词语序列中学到它,视觉系统则从连续观看世界的过程中学到它。
这样理解以后,语言模型与视觉皮层相似,并不要求视觉皮层偷偷“变成一个语言系统”。两者可能只是面对了同一个世界,而世界本身具有稳定结构。
一个很反直觉的结果:知道眼睛往哪里跳,模型预测更准了,却没有因此更像人脑
按照前面的逻辑,很容易预期saccade signal越完整,模型越像真实视觉系统。
实验没有给出这么整齐的结果。眼跳位移确实帮助GPN学习空间排列,也提高了next-glimpse prediction。可在与NSD脑活动比较时,加入saccade以后,VVC alignment经常下降。尤其在没有recurrence的模型里,GPN-S几乎在所有backbone上都比GPN-B更差;有recurrence以后,眼跳信号的影响也随着backbone改变,并没有稳定提升。
这提醒了一个很重要的问题:
任务做得更好,并不自动意味着模型更像大脑。
作者提出了几种可能。没有显式位置输入时,GPN为了预测下一眼,只能更多依赖“看到这个以后,同一场景里通常还会有什么”这种位置无关的关联,而NSD实验中的参与者始终从中央注视场景,这类表征也许恰好更贴近fMRI测到的scene representation。
加入saccade以后,模型能够形成更具体的object-location prediction。这种空间信息对下一眼预测有帮助,可NSD中的脑活动未必以同样形式保存,或者GPN使用的坐标方式与皮层空间编码并不完全一致。
这里还有一个更现实的限制:即使当前最好的GPN已经达到很强的brain alignment,它仍然只能解释跨参与者共享VVC方差的一部分,距离完整模型还有很大空间。
所以,这篇论文并没有得到一句“眼跳信号越多越好”的简单答案。它更像是在提醒计算神经科学:要解释大脑,不能只看AI任务分数。
场景理解可能来自一个非常朴素的学习原则:通过行动预测接下来会感受到什么
传统计算机视觉通常从一整幅图像开始。人类视觉却从来没有真正得到一张均匀高清的完整图片。我们不断移动眼睛,用中央凹一次读取很小的一块,再依靠记忆和眼动把这些信息拼起来。
从这个角度看,GPN采用的学习原则其实很朴素:
当前看到的内容+此前看过的内容→预测下一眼
如果还知道眼睛准备往哪里动:
视觉历史+眼跳位移→预测目标位置上的内容
为了长期完成这种任务,系统自然会掌握物体共现、空间关系和场景连续性。这些规律共同组成了一种比单个物体类别更丰富的scene representation。这种思路也和更广泛的 sensorimotor prediction 很接近。
一个智能体并不只被动接收世界。它会转头、伸手、移动身体、改变视线,每一次动作都会决定下一刻获得什么感觉。利用“行动之后会看到什么、听到什么、摸到什么”作为训练信号,可能是一条非常普遍的自监督学习路径。
这篇工作只实现了其中一个很小却很清楚的版本:
眼睛移动以后,我下一眼应该看到什么?
就是这个问题,已经足以让一个没有语言标签、没有脑数据监督的网络,长出与人类高级视觉皮层相当接近的场景表征。
这项研究仍然是一项计算建模工作,没有在真实观看过程中同步记录人类眼动和神经活动,再逐时刻检验GPN内部状态,因此“人脑是否真的通过下一眼预测学习场景”目前仍属于由模型结果支持的机制假设。训练使用的注视轨迹来自DeepGaze III生成的人类式scanpath,并非真实参与者在这些训练图片上的眼动;glimpse首先通过已经训练好的ResNet或DINOv2提取高层特征,GPN学习的起点因此已经包含大量视觉知识,作者也发现直接从有限COCO数据训练底层backbone并不能产生同样有效的表示。脑对齐主要依赖NSD的8名参与者和515个共同场景,模型解释的是fMRI尺度的群体表征几何,无法直接说明单神经元是否采用同样的预测机制。另一个重要问题是显式saccade信号虽然提高空间预测能力,却没有稳定提高脑对齐,说明当前模型中的空间坐标、NSD实验设计和真实皮层使用的眼动信息之间仍存在差异。即使表现最好的GPN达到当前很强的对齐水平,它对跨参与者共享脑方差的解释仍不到一半,完整的人类场景表征显然还包含本文模型没有覆盖的计算。
我们看世界时,很少意识到自己其实一直只看清一小块。眼睛跳到汽车,下一眼看道路,再抬头看到天空;视觉系统把这些短暂的局部输入接起来,最后留下一个稳定的“街道”场景。这样的能力不一定需要先给每个场景取名字,也不需要老师告诉大脑“汽车和道路属于同一类环境”。
世界本身就在不断提供训练信号。看见水槽以后,下一眼经常出现柜子;从汽车往上看,更容易遇到天空;刚刚在某个位置看到一件东西,回头时它大概率还在那里。只要不停地看、不停地预测,场景的结构就会一点点浮现出来。
这篇工作的意义也正在这里。它把“视觉理解”从静态图片分类重新拉回了真实观看过程:我们之所以能够理解一个完整场景,也许与大脑始终在预测下一眼会看到什么有关。



