大数据文摘授权转载自夕小瑶的卖萌屋

作者:白鹡鸰

有没有那么几个瞬间,你要么想把自己脑子里的东西掏出来给别人看,要么想撬开别人的脑子看看里面都装了什么?虽然错过了霍格沃茨的入学时间,但如果从现在开始学习扩散模型和神经学,可能很快你就能实现这个目标了。新加坡国立大学,香港中文大学,和Stanford联手,基于扩散模型实现了从脑电波还原图像的“人类视觉解码器”。效果奇佳,还开源了代码和数据,这还不来一起看看?


【资料图】

▲图1 基于脑电波还原的图像与真实图像对比

论文题目:

Seeing Beyond the Brain: Conditional Diffusion Model with Sparse Masked Modeling for Vision Decoding

论文链接:

http://arxiv.org/abs/2211.06956

代码链接:

https://github.com/zjc062/mind-vis

背景

故事要从神经科学的基本理论说起。作为一个唯物主义的麻瓜,我必须相信,我的思维活动都依托于脑神经细胞,其释放的电信号就是大脑内部通信计算的物理媒介。既然我能够流畅地思考,那么脑电波必然传递了某种“有意义”的信号,而一段数据如果能携带某种信息,它必须要有一定规律可言。因此,从理论上来说,我们可以通过分析进行思维活动时产生的生物电信号,去反推思考的具体内容。这个观点已然不新奇了,大量的研究已经证实了反推大脑思维的可行性,脑机接口蒸蒸日上的热度,则是一个风向标,指示了相关技术在实际生活应用中的潜力。

当然,高情商的说法是有潜力,换个朴实一点的说法,那就是目前还存在大量技术瓶颈,研究中障碍重重。就拿通过脑电波还原人脑海中的图像这个任务来说,虽然脑电波是有规律的,这种规律却非常复杂。不仅如此,“每个人的脑回路不一样”也是物理的,也就是说,对同样的刺激(stimuli) ,每个人大脑做出的反馈都会存在差异。这个问题好解决吗?对于ML人来说,太简单了,大数据驱动。然而,联系到实际问题,脑电数据的采集,特别是有标签(脑电产生者思考内容)的脑电数据的采集,却没有特别丰富的数据。缺乏有标签的数据,缺乏处理数据的方法,是目前这个任务上一直难以取的进展的主要原因。

方法

基于fMRI收集的脑电数据

人脑中有

左右的脑细胞,而它们的激活模式是非线性的(一般会用一组复杂的微分方程建模)。为了能观察如此复杂的神经网络的活动,目前广泛采用的是功能性磁共振成像(fMRI,functional magnetic resonance imaging)技术。这项技术不会对被试者造成物理上的伤害,包括外部创口(侵入式)和辐射问题。它的原理是利用磁共振技术,追踪大脑在思维活动时的血氧变化,依据于此成像。基于fMRI技术,研究者采集了大量的,特别是当人类在进行各种复杂的任务时的大脑活动数据。经过分析,研究者们发现人们在处理同样的任务时,大脑中被激活的区域基本相近 [1]。

作为1991年的Nature封面,fMRI得到了广泛研究,目前采集数据的技术已经相当成熟。但这一块的原理非常复杂,感兴趣的话可以搜索血氧依赖机理,blood-oxygen-level-dependent, BOLD。

▲图2 语言(讲故事)任务中大脑被激活区域

神经科学方面虽然有相当多fMRI的原始数据,但在实际使用时,会遇到这样一些问题:

fMRI扫描所得到的数据是以三维形式的体素 (voxel)记录的,每个数据点包括了三维坐标,电信号幅度等信息,维度很高。为了避免对体素直接进行运算,一般采用的方法是划兴趣区域 (Region of Interest, ROI),对电信号求时序上的均值,最终获得一列体素,这样的数据在纬度方面和通常处理的图像数据存在相当的差距;

邻近的体素往往电信号幅度相近,fMRI收集的信息中存在一定冗余;

因为人脑的复杂性,每个个体的数据都会存在一定的域偏移。

▲图3 fMRI数据的可视化,一列体素,可视化成了一维折线图

模型结构

论文将提出的模型命名为MinD-Vis (Sparse Masked Brain Modeling with Double-Conditioned Latent Diffusion Model for Human Vision Decoding), 也算是给对处理fMRI数据的提示了——掩码。由于fMRI数据中存在大量的冗余,即使将相当大一部分的数据进行了遮掩,最后也能重建得大差不离(见图3)。因此,计算时直接加上掩码也不会对模型效果产生太大影响。因为fMRI数据的格式和图像一样,论文采用了新出的Masked Image Modeling [2] 来生成embedding vector。

编码-解码部分不是很意外地用了ViT。需要注意的是,中间表达采用的稀疏编码,这是为了保证fMRI表征的细节不被破坏。

以上是Masked Brain Modeling(图4左)部分的工作,然后就是扩散模型部分,如何从经过如此复杂预处理的fMRI数据中,获取文本信息,并基于此生成图像了(图4右)。

为了能从抽象的表征中获得视觉信息,论文将解码任务化归成了conditional synthesis问题,因此可以使用扩散模型解决。扩散模型的网络包括一个预训练过的UNet模型。生成图像时的限定条件信息基于fMRI数据生成,通过cross-attention head加入UNet。

conditional synthesis是指限定某些特征后进行数据生成。例如,生成微笑的不同人脸。

对于一个conditional generative模型而言,生成图像要能在条件限定的特征上尽量稳定,与条件无关的特征上保持多样性。因为人与人的fMRI脑波数据中已经够为多样,在生成图像的时候,需要对UNet进一步约束,强化条件上的限制。

▲图4 MinD-Vis结构

由于模型的结构较为复杂,当前版本的论文中没有进行更为详细的描述,推荐极度好奇的读者直接看开源代码。由于涉及了像Masked Brain Modeling,Diffusion Model这类前沿方法,在没有一定基础的情况下,想彻底吃透方法会需要相当的时间和精力,大家可以量力而行。

效果

在大致了解了模型结构之后,还是来到各位最关心的部分,讲讲模型效果。

由于fMRI的数据主要面向神经科学方向的研究,满足论文任务的数据量不大,模型的训练、验证、测试数据总共来自三个不同的数据集,不同集合的数据域都有所偏移。Human Connectome Project [1] 提供136,000个fMRI数据片段,没有图像,只有fMRI,主要是用来预训练模型的解码部分。Generic Object Decoding Dataset (GOD) [3] 是主要面向fMRI-图像任务的,包含1250张来自200个类别的图像,其中50张被用于测试。Brain, Object, Landscape Dataset (BOLD5000) [4] 则选取了113组fMRI-图像数据对,作为测试。

由于BOLD5000是第一次用于论文提出的任务,论文没有在这个数据集上与过往工作进行效果对比。在GOD上基于脑波生成的图像,在效果上相比过往研究显然有了显著进步。

▲图5 GOD数据集上,MinD-vis与过往方法效果比较

论文中还有严谨的消融实验,展示了不同的模型部分对图像生成效果的影响。部分图片较为惊悚,此处不进行展示。感兴趣的读者可以参考图6失败集锦中右下角的图片自行评估承受能力。

▲图6 MinD-vis翻车集锦

尾声

终于又到了白鹡鸰的快乐废话环节。

关于生成图像翻车现象的猜想

这未必完全是模型的锅。根据多个生成模型的对比,可以假设被试者在看到图像时,其实脑内会有一些特定的特征被激活,但是因为被试者对图像的理解方式、关注点有所区别,激活的特征组也存在差异。之所以会有这种想法,是因为论文附件中的效果展示中,一般细节越复杂,角度越怪的图像,越容易生成失败,这很有可能就是因为图像难以用简单的特征组描述导致的。

这篇论文意义重大,影响深远,后续工作可能上Nature

这篇论文展示的图像生成效果非常好,展示了通过fMRI精确还原人们脑内图像信息的可行性。在拥有了更大量的数据之后,人类是如何记忆图像的更多细节的机理,可以通过生成图像与被试者所见图片之间的对比去推测,然后进一步完善、验证。这是神经科学和机器学习成功结合的典范,一个起步的信号。

除此之外,论文本身能快速拥抱前沿技术,对SOTA模型的熟练应用,以及开源代码的底气也令我相当敬佩。对于论文后续的相关工作,我也会持续跟进。

推荐内容