公司动态
为什么DreamDiffusion要用CLIP对齐EEG与图像嵌入?脑波生图原理详解
为什么DreamDiffusion要用CLIP对齐EEG与图像嵌入脑波生图原理详解【免费下载链接】DreamDiffusionImplementation of “DreamDiffusion: Generating High-Quality Images from Brain EEG Signals”项目地址: https://gitcode.com/gh_mirrors/dr/DreamDiffusionDreamDiffusion是一个直接从脑电EEG信号生成高质量图像的开源框架无需把脑波翻译成文字。它的核心亮点之一就是用CLIP 对齐 EEG 与图像嵌入在 EEG-图像配对数据极少的前提下让脑波落进一个已经被充分训练过的语义空间。这篇文章带你快速看懂背后的原理。问题背景脑波生图为什么这么难EEG 信号天然存在三大挑战噪声大头皮采集的信号干扰多信息密度低信息有限一段脑波能承载的语义内容远不如一张图或一句话个体差异不同人的脑波模式差异明显。如果只靠EEG → 图像这一条监督链路去训练编码器在有限的 EEG-图像配对数据上EEG 表征很容易学不好。DreamDiffusion 的解法分两步走阶段A1时序掩码信号建模MAE 预训练先无监督地学会理解EEG 序列阶段B微调扩散模型时叠加 CLIP 对齐损失给 EEG 编码器一个额外的强监督信号。核心原理CLIP 扮演了语义锚点CLIP 是 OpenAI 用海量图像-文本对训练出的模型它的图像嵌入空间天然把图像、文本、语义统一在了一起。DreamDiffusion 正是利用这一点只要让 EEG 编码器的输出靠近 CLIP 的图像嵌入EEG 表征就自动继承了一个丰富、鲁棒的语义坐标系——即使 EEG 数据很少。训练时发生什么数据流一图流EEG 信号 ──► EEG编码器(MAE预训练) ──► 隐表征 ──► mapping映射网络 ──► 768维向量 │ 图像 ──► 冻结的 CLIP 图像编码器(ViT-L/14) ──► 图像嵌入 ◄──┘ 余弦相似度拉近关键步骤拆解组件作用是否可训练EEG 编码器把 440 通道脑波编码成隐表征✅ 是mapping映射网络把 1024 维隐表征投影到 768 维 CLIP 空间✅ 是CLIP 图像编码器把同一张图编码成 768 维图像嵌入❌ 冻结对齐损失非常直观最大化 EEG 映射向量与 CLIP 图像嵌入的余弦相似度再与扩散重建损失相加一起反向传播。损失是怎么算的实际实现中总损失 扩散损失 CLIP 对齐损失即学会画图和嵌入语义空间两个目标同时优化。冻结 CLIP 编码器保证了语义空间不漂移梯度只会更新 EEG 编码器和映射网络——这正是用 CLIP 对齐而不是重新训练 CLIP的巧思。为什么要多此一举对齐文本语义因为 CLIP 空间是图文共享的当 EEG 嵌入靠近图像嵌入时它也同时靠近了该图像的文本嵌入。这就带来两个额外收益零样本泛化生成结果受类别语义约束而不是死记硬背训练图抗噪与跨被试语义空间比原始像素空间平滑得多天然缓解 EEG 噪声和个体差异。这也是论文摘要里说的利用 CLIP 图像编码器提供额外监督让 EEG、文本、图像三类嵌入在有限配对数据下更好地对齐。代码在哪里看想看具体实现可以从这几个入口入手均在项目code/目录下code/dc_ldm/ldm_for_eeg.pyCLIP 损失函数与条件模型cond_stage_modelget_clip_loss就是余弦相似度损失code/sc_mbm/mae_for_eeg.pyEEG 编码器与mapping映射网络1024 → 768 维投影code/dc_ldm/modules/encoders/modules.py冻结的 CLIP 图像编码器FrozenImageEmbedder基于openai/clip-vit-large-patch14code/dc_ldm/models/diffusion/ddpm.py训练时把loss_clip叠加进总损失的位置code/config.pyclip_tune True开关控制是否启用 CLIP 对齐code/dataset.py数据加载时预处理好 CLIP 图像输入的部分。效果如何下面是在测试集上生成的结果第一列为 ground truth其余为模型从 EEG 生成的样本可以看到生成图像在语义上与真实图像高度相关小结一句话原理用冻结的 CLIP 图像嵌入当锚通过余弦相似度损失把 EEG 表征拉进图文共享语义空间用极少的配对数据解决脑波生图的监督不足问题⚖️巧妙之处只训练一个轻量mapping网络 EEG 编码器语义坐标系CLIP完全冻结不动训练稳定且可扩展启示当你面对小众模态 → 图像这类数据稀缺任务时借助 CLIP 这类预训练多模态空间做对齐是性价比极高的通用套路。想要动手复现仓库提供了一键式环境文件env.yaml和预训练检查点说明见README.md按文档配置数据路径后运行code/gen_eval_eeg.py即可用现成模型从 EEG 生成图像。【免费下载链接】DreamDiffusionImplementation of “DreamDiffusion: Generating High-Quality Images from Brain EEG Signals”项目地址: https://gitcode.com/gh_mirrors/dr/DreamDiffusion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考