当前位置: 首页 > java >正文

基于连接感知的实时困倦分类图神经网络

疲劳驾驶是导致交通事故的主要原因之一。脑电图(EEG)是一种直接从大脑活动中检测睡意的方法,已广泛用于实时检测驾驶员的睡意。最近的研究表明,使用基于脑电图数据构建的大脑连接图来预测困倦状态的巨大潜力。然而,传统的脑连接网络与下游预测任务无关。本文提出了一种使用自注意机制的连接感知图神经网络(CAGNN),该网络可以通过端到端训练生成与任务相关的连接网络。

研究方法

研究方法基于实时监测驾驶员的脑电活动,以检测其是否处于疲劳状态。使用EEG作为检测手段,因为它能直接测量大脑活动,而且不会引起隐私问题,也不会受到面部遮挡和光照变化的影响。方法达到了72.6%的准确率,并且优于其他卷积神经网络(cnn)和基于困倦驾驶数据集的图生成方法。此外,引入了一个挤压和激励(SE)块来捕获重要特征,并证明SE注意评分可以揭示最重要的特征波段。比较了困倦状态和清醒状态下生成的连接图,发现困倦状态下的连接模式,包括枕部连接和区域间连接显著减少。

使用的模型分析

论文提出了一种名为Connectivity-Aware Graph Neural Network (CAGNN)的模型,该模型利用自注意力机制生成与任务相关的连接图,并通过端到端训练进行优化。

数据集和预处理

数据集来源:数据集收集于台湾国立交通大学的脑研究中心,收集自27名健康受试者(年龄范围:22至28岁)在驾驶模拟器中进行的62次记录,每次记录时间超过90分钟。

EEG记录:32通道EEG,包括一个接地电极和一个参考电极,采样率为500Hz。在任务过程中,随机诱导车道偏离事件使汽车向左或向右漂移。受试者被要求尽快做出反应,将车开回车道中央。在两个连续的试验之间,有一个随机的休息时间,从5到10秒不等,以防止参与者预期潜在的偏差。通过测量反应时间(RT)来评价驾驶员的表现。

  • 预处理步骤
    • 使用1Hz和50Hz的有限脉冲响应(FIR)滤波器进行带通滤波。
    • 使用EEGLAB的自动伪迹去除(AAR)插件去除伪迹,适合实时应用。
    • 移除反应时间小于100ms的试验,以排除偶然的非响应。
    • 下采样至128Hz,并提取刺激前5秒的样本。

符合条件的试验按以下程序选择:

1)两类样本均少于40个的试验被丢弃。

2)通过选择本地RT最短(警觉类)或最长(困倦类)的最具代表性的样本来平衡每个会话的样本[17]。

3)对于具有相同主题的多个会话,我们选择样本最多的会话。

从平衡数据集中的11个受试者中获得了1880个样本,从自然不平衡数据集中获得了2848个样本。获得了一个规模为1880个样本× 30个通道× 640个时间点的平衡数据集和一个规模为2848个样本× 30个通道× 640个时间点的不平衡数据集:
image.png

CAGNN模型结构

1.节点构建:每个EEG通道的数据被视为图中的一个节点。首先,将5秒的EEG样本分割成10个0.5秒的时间段,并通过快速傅里叶变换(FFT)将这些时间段转换到频域,保留与疲劳相关的特定频率带(delta, theta, alpha, beta)。
image.png

2.特征提取:使用FFT转换后的频率特征,仅保留正频率以消除冗余。

3.Squeeze-and-Excitation (SE) 块

  • Squeeze操作:通过全局池化操作聚合特征向量,减少通道和时间维度,生成一个特征表示。
  • Excitation操作:使用全连接层和激活函数(ReLU和sigmoid)来学习特征的加权表示,这些权重用于调节输入特征的重要性。SE块在不同频率特征(上表)和包括delta、theta、alpha和beta波段(下表)的频带上的注意得分:
    image.png

4.自注意力机制:利用SE块的输出来生成任务相关的连接图。自注意力机制通过学习输入特征向量之间的相关性来构建邻接矩阵,这个过程是端到端的,意味着它是在训练过程中自动优化的。

5.图神经网络(GNN)编码

  • 使用一个变体的扩散卷积循环神经网络(DCRNN),该网络使用扩散卷积门循环单元(DCGRU)来编码EEG数据的时空依赖性。
  • DCGRU单元:代替了传统的门控循环单元(GRU)中的矩阵乘法操作,通过扩散卷积来更新节点特征。

6.图卷积:在DCRNN中,使用ChebNet谱图卷积来执行扩散卷积,这允许模型在图结构中传播节点特征,捕捉节点的局部和全局依赖性。

7.分类器

  • 通过最大池化层沿着节点维度聚合特征,然后使用两个全连接层(32×16和16×2)来输出两类的概率。

使用二元交叉熵损失函数来训练网络,Adam优化器进行模型训练,初始学习率为1e−3,并采用余弦退火权重衰减策略,所有模型训练30个epoch。

实验结果详细总结

性能分析

由于受试者数量较少,研究者采用了留一法交叉验证来评估模型性能。在每个训练周期中,一个受试者的数据被用作测试集,其余数据用于训练。所有实验重复五次,每次使用不同的随机种子,以确保结果的稳定性和可靠性。将CAGNN模型的性能与最先进的CNN模型进行了比较,包括EEGNet和ShallowConvNet,以及最近开发的一个名为InterpretableCNN的模型:
image.png

模型比较

CAGNN与其他几种先进的卷积神经网络(CNN)模型进行了比较,包括EEGNet、ShallowConvNet和InterpretableCNN。

InterpretableCNN最初只用于离线分析,但为了适应实时应用,研究者对其进行了重新实现,以便在评估模式下处理单个样本而非样本集合:
image.png

评估指标
  • 准确率:CAGNN模型在平衡数据集上的平均准确率达到70.5%,比不包含SE块的模型高出约1%。
  • F1分数:CAGNN在F1分数上也表现优异,这表明模型在精确度和召回率之间取得了良好的平衡。
  • 精确度和召回率:这些指标用于进一步评估模型在二元分类任务中的表现,CAGNN在这些指标上同样优于比较模型。
注意力分数分析
  • SE块的注意力分数:研究者展示了SE块学习到的注意力分数,并发现theta频带的注意力分数最高:
    image.png

  • 特征频带重要性:基于SE注意力分数,研究者进一步训练了模型,仅使用theta频带特征,发现准确率提高了2%。

不同频带的性能
  • theta频带:使用theta频带特征的CAGNN模型达到了72.6%的准确率和70.7%的F1分数。
  • 其他频带:delta和alpha频带的特征也对模型性能有正面影响,而beta频带特征则表现不佳,这可能与beta特征在疲劳和警觉样本中共存有关。
不平衡数据集上的表现

CAGNN在不平衡数据集上的表现也进行了评估,尽管准确率略低于平衡数据集,但在F1分数、精确度和召回率等指标上仍然优于比较方法:
image.png

研究者比较了CAGNN生成的疲劳和警觉状态下的连接图,发现了枕部连接减少等特征。通过遮挡特定EEG片段并观察模型输出的变化,研究者能够识别模型预测中重要的EEG片段。

研究者分析了自注意力、GNN和GRU等模型组件对性能的影响,发现每个组件都对提高模型性能有贡献。SE块不仅提高了性能,还通过注意力分数揭示了信息特征,有助于特征选择。

结论
  • 模型优势:CAGNN模型在实时疲劳驾驶分类任务中表现出色,无论是在平衡还是不平衡数据集上。
  • 神经生理学解释:模型生成的连接图提供了有关疲劳状态下大脑连接变化的见解,例如枕部和顶叶连接的降低。
    image.png

新的连接感知图神经网络(CAGNN),它同时具有连接感知和任务感知,用于平衡和不平衡数据集的实时困倦分类。引入SE块来突出最重要的特征,并通过端到端训练的自注意机制与我们的GNN模型生成图。此外,这种方法不仅提高了我们的模型的性能,而且还提供了有意义的神经生理学解释在困倦状态下的大脑连接,该方法可应用于驾驶员困倦实时监测系统中。

http://www.xdnf.cn/news/3200.html

相关文章:

  • 【数学】角谷猜想
  • 服务器热备份,服务器热备份的方法有哪些?
  • 猿人学web端爬虫攻防大赛赛题第13题——入门级cookie
  • 完美解决react-native文件直传阿里云oss问题一
  • Android学习总结之自定义view设计模式理解
  • Redis热key大key详解
  • ESP32开发-通过ENC28J60模块实现以太网设备
  • 从实列中学习linux shell6: 写一个 shell 脚本 过滤 恶意ip 攻击
  • css 数字从0开始增加的动画效果
  • 【数学建模国奖速成系列】优秀论文绘图复现代码(二)
  • DeepSeek V1:初代模型的架构与性能
  • 艺术与科技的双向奔赴——高一鑫荣获加州联合表彰
  • Java ResourceBundle 资源绑定详解
  • 腾讯元宝桌面客户端:基于Tauri的开源技术解析
  • Python GIL 与 pybind11 GIL管理机制
  • 模拟flexible.js 前端开发中的大屏布局方案
  • Hadoop虚拟机中配置hosts
  • 评价类模型数据预处理(定量指标值的无量纲化处理)
  • 从零构建 MCP Server 与 Client:打造你的第一个 AI 工具集成应用
  • 如何禁止AutoCAD这类软件联网
  • Go语言的发展历史 -《Go语言实战指南》
  • Copilot:您的AI伴侣-微软50周年系列更新
  • 《Java高级编程:从原理到实战 - 进阶知识篇一》
  • 【阿里云大模型高级工程师ACP学习笔记】2.7 通过微调增强模型能力 (下篇)(⭐️⭐️⭐️ 重点章节!!!)
  • C#学习第20天:垃圾回收
  • C#规避内存泄漏的编码方法
  • ZStack Cloud 5.3.28正式发布
  • 【蓝桥杯省赛真题59】Scratch收集松果 蓝桥杯scratch图形化编程 中小学生蓝桥杯省赛真题讲解
  • 跨境电商生死劫:IP筛查三法则破解封号魔咒
  • 编译原理实验二:构建TINY语言的词法分析器