EEG2Rep自监督脑电大模型文献阅读
原文网址:
1.文章背景
1.面临的挑战
主要来自于EEG data自身的缺陷
1.低信噪比
2.不同被试之间,脑电信号强度存在的差异较大
3.数据没有明确的分割
2.解决的手段
1.先通过一层encoder来提取EEG的高维特征以减少噪声,再进行self-prediction(理由:abstract feature中很可能包含更少的噪声)
2.abstract features已经经过正则化,信号强度差异不再那么大了
3.采用掩码技术,利用创新的SSP掩码技术
我个人觉得,这个掩码技术是不是对于解决分割来说有点牵强,毕竟mask技术感觉比较强分,但是SSP这种创新过的比起MAE应该会好点,没有那么强分,不那么随机
2.相关工作
在EEG分析中,两种常用的自监督学习方法invariance-based method(基于不变性的方法)和self-prediction method(自预测方法),本文采用自预测方法
1.基于不变性的方法
基于不变性的方法的核心思想就是相似的输入就应该给予它们相近的embedding或者说经过相同的网络之后应该获得相近的representation,基于这种思想,该方法通常的做法是对同一输入使用各种各样的增强手段,以达到获得相似输入的目的,然后构造Loss Function去使得它们得到的representation的差距尽可能的小,以此来指导encoder的训练。
存在的问题
1.对于EEG,直接从CV领域粘过来的数据增强方法会破坏脑电信号的结构,破坏其中的语义信息
对于这个问题,我个人的理解是:
我们可以把某种特定的数据增强手段看作是一种系统函数,原始数据是我们系统的输入,经过这个系统后会给我们一个由输入进行某种变换之后得到的输出(现在我们假设这个系统函数做的事情是会把原始的信号进行采样,我觉得在CV领域其实是相当于马赛克化,用一点的值去代表一个小区域的值)
学过DSP的可能会知道,时域的采样,对应的频域就会周期延拓,如果采样频率取的不合适还会出现频域混叠。那我们以这种思想去拓展的话,假设有某种数据增强方法,在CV领域可能只是让图片变糊了,但是对于一个信号图片,它的频域信息将会完全改变,信号也就不是原来的信号了,那经过数据增强后的EEG与原始输入的EEG的相似性从何谈起,可能毫不相关,下面放张图感受下。我们可以看到在频域信号一下变成了一堆,那对于我们的脑电信号,本来也就0~40Hz比较重要,现在如果只是单纯变多了还可以直接滤掉,关键是不同于普通的通信系统,我们这里增强手段进行了什么操作我们是未知的,如果真的只是进行了采样,那我们也不清楚采样频率,如果采样频率过低,发生了频率混叠,那就丸辣!!

2.对于不同的EEG数据集,使用相同的数据增强手段可能会引入严重的偏差,不利于使用多样数据集进行预训练
论文中给的一个例子是:
对于睡眠阶段分类任务的数据集来说,低频的信号对于这个分类任务比较有用,而且人在睡眠时确实EEG多为低频信号。但是对于情绪识别数据集来说,高频信号则更有用,人在表现某种情绪时,也多出现为高频信号。不利于使用多样的数据集进行预训练,我个人的理解就是:如果基于某种增强手段会导致低频信号减弱,那么确实会有利于情绪识别任务的进行,但是对于睡眠阶段分类任务,脑电信号可能就不剩什么了。预训练的目的肯定还是要进行下游任务,那么对于下游任务是睡眠阶段分类任务的情况,结果肯定就不好,模型的泛化能力不太行。
2.自预测方法
基于自预测方法的核心思想是基于被破坏的输入去预测没被破坏前的输入,使预测值与原始值二者之间的差距尽可能的小,基于这种思想,该方法通常的做法是随机破坏原始输入数据,让被破坏的数据和未被破坏的数据经过相同(或相似)的encoder后得到各自的representation,通过最小化它们之间的差距来优化encoder。
存在的问题
1.获取到的特征的语义信息的含量不如基于不变性的方法获得的特征
个人理解:基于自预测方法毕竟是破坏了原始的输入的,mask之后,很多语义信息更是直接消失,语义信息的丰富度必然是不如基于不变性的方法的(所以本文取得的最优效果自己也说了只是在自预测方法领域)
3.模型架构解释
1.MAE模型架构

在MAE模型架构中,主要就是encoder模块与decoder模块,但是过程总的可以分为4小块
sample与encoder
第一步,我们先将完整的图片分成很多小小的patch,在这里也就是小方块
然后我们进行抽取(sample),我们只取出一部分patch,其它部分我们把它都mask掉,用灰色小方块表示masked,抽取的部分我们重新排列组合后就可以作为我们encoder的输入往下传
对于sample与encoder,它们所做的工作是从我们原始的输入数据中抽取有用的特征,希望可以提取到更高维的更有效的特征,以保证提取的特征足以完成下游的任务。其实这两步操作中隐含着一种意思就是:原始的输入中包含的信息可能比较重复、比较冗余,所以需要进行抽取,只要部分的信息,如果能再经过一个encoder,那么包含的信息就可能会更加精华,这时候如果再去经过decoder的话应该就会得到不错的输出结果。在进行下游任务时,我们往往只取出训练好的encoder来进行Fine-tune。
可能存在的问题
但是这里其实可能会存在问题,抽取的过程如果是随机的,那么能保证抽取到的信息相比于原始的输入是更有效的信息吗?说不定抽到了比例更大的冗余信息呢?(狗头)
这也是我认为作者在抽取方法上进行了创新的原因,也就是本文作者的创新点之一SSP掩码技术
combine与decoder
之后我们将得到的高维特征向量与我们之前原始数据中的mask部分相结合,作为decoder的输入,并根据特征向量以及mask部分的数据去试图还原出原始的输入
2.EEG领域为什么要借鉴MAE这种掩码方式?
提到掩码,我觉得很多人最先想到的肯定都是Bert模型,也就是在encoder的输入端输入的数据就直接是掩码过的,其实也就类似于MAE中decoder在做的事情。
那MAE中多做的sample和encoder是在干嘛呢?
其实就是认为原始输入中含有比较多的冗余信息,用来试图提高输入携带的有用信息
在EEG领域为什么不能直接用Bert呢?
因为相比于文本、甚至是图片这些输入的patch之间具有比较强相关,语义信息比较丰富的数据来说,EEG通常含有较多的噪声,信噪比较小,使用MAE这种方法,先提取出我们原始EEG中包含的更高维的语义信息有利于特征的提取。
更清楚的解释一下:
在Bert模型里,我们做的事情其实是知道:今天 天气 很 不 运动,只是不知道mask的部分(热 适合),我们要做的是考虑上下文的信息后去预测出热 适合,这就可以了,很简单

但是相比于Bert模型,在EEG的模型中那些没掩码的EEG数据中的信息我们其实也不是很清楚,有噪声甚至有我们尚且不知道的成分,所以在直接应用Bert的模型之前,最好的做法就是先确定一下没有掩码的部分包含了什么比较准确的信息?也就有了MAE中的sample和encoder,有了比较准确的未掩码部分的信息再送入Bert效果自然更好
3.类比MAE谈本文模型

本文模型主要由两个分支构成,其中红线以上的部分为target network,红线以下的部分为context network
target network
input embedding被分割成patches之后就直接经过了encoder生成了高维特征向量,这些由原始数据(未经掩码处理)产生的特征向量是用来指导下支路(context network)网络中encoder的训练的,具体来说,这些特征向量是用来创建损失函数的。
context network
这个网络可以说才是本文的重点,它的结构也与MAE结构几乎类似
第一步,进行抽取(sample),从原始的EEG patches(也就是 target network中的EEG patches)中抽取一部分的patch,其余部分掩码,在论文的模型中掩码的部分直接没画了。
需要注意的是,它这里进行了N次的抽样,也就是从P1~PN,每次抽样结果都不一样,这样做的目的是增多通过提取的patch生成的特征向量中所包含的语义信息。我推测这样能增强包含的语义信息应该是因为在经过N次随机抽取的过程中,如果是某些patch连接在一起就会有特定的一些语义信息的话,增加抽取的次数,它们连在一起的可能性会增加,也就增加了提取到更多语义信息的可能性。其实这也解释了为什么对于基于不变性的方法来说提取到的语义特征向量更好,信号连续必然语义信息更多。像这种mask我个人感觉还是强制分开EEG的,并不像按事件分成epoch那样,对应的epoch有对应的含义什么的,所以感觉可能还是基于不变性的方法要好一些。
第二步,把这些抽取的EEG Patches送入encoder以生成高维的,能很好提取ptach中的有用信息的特征向量
第三步,结合之前原始数据中被mask的部分,作为predictor(也就是MAE中的decoder)的输入,最后输出
当然,context network与target network的输出特征进行对比以缩小它们之间的差距为指导,来优化encoder
4.模型的应用方法
1.Liner Probing
冻结encoder(特征提取器),也就是encoder中的参数不变,在encoder的输出后直接加一个线性分类器,用来评估模型的特征提取效果。
2.Fine Tuning
之前的步骤都只是在用没有标签的数据进行自监督的预训练,在Fine Tuning中,则用带有标签的数据集进行有监督的训练,整个模型的参数都可以改变,一般以较小的学习率进行模型的微调。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)