我裂开了...人类脑海中的画面,被AI解码了??

36c5fc302ee97a2d394251e7de03f9f8.png

作者 | 白鹡鸰

导言

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

9d0169e3ec6b83e770506f7b91949918.png
▲图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。

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

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

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

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

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

5c6d725fbe54cbc6f1d787cd76989204.png
▲图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进一步约束,强化条件上的限制。

66ea7987fffa477332b4c06aae700333.png
▲图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上基于脑波生成的图像,在效果上相比过往研究显然有了显著进步。

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

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

46a3d8c00724a416b1ee6a630558e725.png
▲图6 MinD-vis翻车集锦

尾声

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

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

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

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

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

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

c534cca3edd36e4c5f92c142b918c74a.png卖萌屋作者:白鹡鸰

白鹡鸰(jí líng)是一种候鸟,浪形的飞翔轨迹使白鹡鸰在卖萌屋中时隐时现。已在上海交大栖息四年,进入了名为博士的换毛期。目前蹲在了驾驶决策的窝里一动不动,争取早日孵出几篇能对领域有贡献的论文~

知乎ID也是白鹡鸰,欢迎造访。

作品推荐:

  1. NLP太卷,我去研究蛋白质了~

  2. 谷歌40人发表59页长文:为何真实场景中ML模型表现不好?

  3. 学术&工业界大佬联合打造:ML产品落地流程指南

  4. 两个月,刷了八千篇Arxiv,我发现……

17818f9adb9043c835e9d6826f284421.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

 a5c639ebe0070692965ad95e0151e945.png

[1] David C Van Essen, Stephen M Smith, Deanna M Barch, Timothy EJ Behrens, Essa Yacoub, Kamil Ugurbil, Wu-Minn HCP Consortium, et al. The wu-minn human connectome project: an overview. Neuroimage, 80:62–79, 2013.

[2] He, Kaiming, et al. "Masked autoencoders are scalable vision learners." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.

[3] Tomoyasu Horikawa and Yukiyasu Kamitani. Generic decoding of seen and imagined objects using hierarchical visual features. Nature communications, 8(1):1–15, 2017.

[4] Nadine Chang, John A Pyles, Austin Marcus, Abhinav Gupta, Michael J Tarr, and Elissa M Aminoff. Bold5000, a public fmri dataset while viewing 5000 visual images. Scientific data, 6(1):1–18, 2019.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的老师

他的人品,学识是对我的一生都有很大的影响,下面的内容都是事实,因为我是他的学生(1992-1995),一生中我都是他的学生 From: http://211.67.168.43/infoshow.aspx?id118 我是这样做教师的——师德标兵李九成老师先进事迹报告大家好&#xff01…

python构建二叉树_python--使用递归的方式建立二叉树

树和图的数据结构,就很有意思啦。# coding utf-8 class BinaryTree: def __init__(self, root_obj): self.key root_obj self.left_child None self.right_child None def insert_left(self, new_node): node BinaryTree(new_node) if self.left_child is None…

GPT-4要来了?传言:先进到与人类无异

编 | Cris源 | 新智元千呼万唤始出来!GPT-4,真要来了?作为史上最受期待的AI模型,GPT-4真要来了?这几天,AI分析师罗梅罗的一篇专栏文章,一经推出便迅速「引爆」了整个AI科技圈。他表示&#xff0…

LeetCode 1406. 石子游戏 III(DP)

1. 题目 Alice 和 Bob 用几堆石子在做游戏。几堆石子排成一行,每堆石子都对应一个得分,由数组 stoneValue 给出。 Alice 和 Bob 轮流取石子,Alice 总是先开始。在每个玩家的回合中,该玩家可以拿走剩下石子中的的前 1、2 或 3 堆…

[引]VS2005 之 Visual Basic 程序的结构

1.文件级编程元素 2.命名空间级编程元素 3.模块级编程元素 4.过程级编程元素 5.Main 过程 Visual Basic 程序是依据标准的构造块建立起来的。 一个解决方案由一个或多个项目组成。 一个项目又包含一个或多个程序集。 每个程序集是依据一个或多个源文件编译而来的。 源文件提供类…

python怎么安装开发版_【干货】开发板上安装python的hiai库和opencv库

Matrix是已经支持phthon接口了,但是发现目前python的hiai库并没有自动安装,需要自己安装; 话不多说下面是安装步骤: 步骤1. 开发板联网,如果已联网则跳过该步骤; 接下来需要在开发板上配置arm的源&#xff…

让AI去分割人体的心肝脾胃肺,靠谱吗?

随着医学影像设备的快速发展和重视程度的增加,医学领域可供深度学习方法所利用的图像不断增多。随着CV领域中,深度学习的复兴,其在医学成像领域的应用大幅增加,图像分割算法基于深度学习的研究已经取得了显著的进展。我们特地请来…

程序员面试金典 - 面试题 17.05. 字母与数字(哈希map+思维转换)

1. 题目 给定一个放有字符和数字的数组,找到最长的子数组,且包含的字符和数字的个数相同。 返回该子数组,若存在多个最长子数组,返回左端点最小的。若不存在这样的数组,返回一个空数组。 示例 1: 输入: ["A&qu…

有效创建Oracle dblink的两种方式

有效创建Oracle dblink的两种方式 两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。 其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址…

sqlserver2008驱动_Python连接数据库两种方法,QSqlDatabase,pymmsql,驱动名

Qt中内置了好几个数据库的驱动程序,也就是说我们可以直接在PyQt中对这些数据库进行操作。这些内置的数据库包括: IBM DB2,驱动名为QDB2; Borland InterBase,驱动名为QIBASE; MySQL,驱动名为QMYS…

我们追求的泛化,竟是一条死路?

文 | 鹰钩鼻涕虫从我们刚刚接触统计学习方法开始,想必就一直在接受一个思想:相比符号算法,统计模型最重要的能力之一,即是它的泛化能力。或者,用这两年使用更加广泛的话术,则是统计模型具备想象力&#xff…

何处是我家

何处是我家 ——代腾飞 2007年9月9日 于成都 这里很繁华,那里也不差 只是我手中没有黄金白银拿 只能眼睁睁地看着她成为别人的家 我一生省吃俭用、摸爬滚打 只为追逐心中的那个家 我四处漂泊、浪迹天涯 只为寻找那个心中的家 无论何时,无论何地 我心都…

LeetCode 460. LFU缓存(哈希双链表)

1. 题目 设计并实现最不经常使用(LFU)缓存的数据结构。它应该支持以下操作:get 和 put。 get(key) - 如果键存在于缓存中,则获取键的值(总是正数),否则返回 -1。put(key, value) - 如果键不存…

python网站攻击脚本_Python scapy 实现一个简易 arp 攻击脚本

scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。 scapy的安装在Linux非常便利,但在Windows下比较复杂。 以下假定读者使用的是Ubuntu Linux 和 Python 3 环境。 …

导师课题组人少,一个人攻克一个方向是什么体验?

CSer发一篇顶会一作有多难?没写论文前,一直认为搞科研不着急,压根就没有把论文这件事放在心上。研一的时候进课题组,导师说要开拓新的方向,于是成了实验室第一个吃螃蟹的人,日常也没有人可以寻求指导。那时…

SQL Server定期自动备份

SQL Server定期自动备份企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划。并通过启动Sql server Agent来自动运行备份计划。具体步骤如下:1、打开企业管理器,在控制台根目录中依次点开Microsoft SQL Ser…

监督学习方法总结

文章目录1. 适用问题2. 模型2.1 概率模型、非概率模型2.2 判别方法、生成方法2.3 特征空间2.4 线性、非线性模型3. 学习策略4. 学习算法1. 适用问题 监督学习:学习一个模型,使它能对给定的输入预测相应的输出。包括分类、标注、回归。 分类问题&#x…

rabbitmq使用_Spring Boot中使用RabbitMQ

Message Broker与AMQP简介Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景:消息路由到一个或多个目的地消息转化为其他的表现方式执行消息的聚集、消息的分解,并将结果发送到他们的目的地,…

注意力无用?Apple新作:注意力替换成常数矩阵,效果差异不大

文|萧箫 发自 凹非寺源|量子位要说Transformer的核心亮点,当然是注意力机制了。但现在,一篇新研究却突然提出了带点火药味的观点:注意力机制对于预训练Transformer有多重要,这事儿得打个问号。研究人员来自…

windows服务编程 注册InstallUtil.exe

dos命令下输入; C:\Windows\Microsoft.Net\Framework\v2.0.to727>InstallUtil.exe E:\Test\WindowsServiec1.exe 删除: C:\Windows\Microsoft.Net\Framework\v2.0.to727>InstallUtil.exe/u E:\Test\WindowsServiec1.exe 转载于:https://www.cnblogs.com/lgzh3/archive/2…