SleepFM:利用对比学习预训练的多模态“睡眠”基础模型

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在阅读过程中有些知识点存在盲区,可以回到如何优雅的谈论大模型重新阅读。另外斯坦福2024人工智能报告解读为通识性读物。若对于如果构建生成级别的AI架构则可以关注AI架构设计。技术宅麻烦死磕LLM背后的基础模型。

SleepFM

睡眠医学是一个关键领域,涉及监测和评估生理信号以便于诊断睡眠障碍和了解睡眠模式。多导睡眠图 (PSG)等技术可记录睡眠期间的大脑、心脏和呼吸活动,从而反映一个人的睡眠健康状况。这些数据对于对睡眠阶段分类和识别睡眠障碍至关重要。

PSG 通常包括脑电图 (EEG)、眼电图 (EOG)、肌电图 (EMG)、心电图 (ECG) 和呼吸通道。每种模式都提供了独特的视角:大脑活动信号 (BAS) 测量大脑功能,心电图监测心律,呼吸传感器量化呼吸模式,共同提供睡眠健康的全面评估。

手动分析涉及由训练有素的技术人员进行目视检查,费时费力,而且容易出错。这种传统方法面临着重大挑战,尤其是随着睡眠数据量的增加。因此迫切需要能高效和准确的多种睡眠数据的融合自动化分析技术。

目前睡眠数据分析方法主要依赖于监督深度学习模型。这些模型在自动化睡眠分期和睡眠呼吸障碍等方面的确斩获不少。然而大多数现有方法依赖于来自比较狭窄的语料,并没有利用PSG提供的全部数据。

此外,虽然对比学习在其他领域取得了成功,但它在整合 BAS、ECG 和呼吸信号进行睡眠分析方面的应用仍未得到充分探索。

来自斯坦福大学和丹麦技术大学的研究人员推出SleepFM,这是一种用于睡眠分析的开创性多模态基础模型。该模型利用了来自14,000多名参与者的庞大多模态睡眠记录数据集,这些数据在1999年至2020年间在斯坦福睡眠诊所收集的总计超过100,000小时的睡眠数据。SleepFM 利用对比学习方法来整合大脑活动、心电图和呼吸信号。这种集成使模型能够捕获全面的生理表征,从而显着提高睡眠分析的准确性。

对比学习

对比学习(Contrastive learning)代表了机器学习方法的范式(paradigm)转变,特别是在处理未标记数据集的场景。这种方法的核心是基于数据的相似性和不同性对数据进行二元分类。该框架有效地将相似的实例放置在潜在空间中,同时确保不同类别进行分离。它在具体的表现就是相似性的数据应该在学到的嵌入(Embedding)空间保持紧密对齐,而那些不同的数据则应该相离更远。

对比学习最重要的是数据增强,此步骤通过各种转换来生成一系列数据不同维度的表示方法。包括裁剪、翻转、旋转和其他扰动,有助于扩大数据集的多样性。关键还是要增强数据的异质性,从而将模型引入相同实例的多个视角。

举个例子,将苹果的各个维度的照片输入模型,告诉模型这都是苹果

架构详解

SleepFM采用三种一维卷积神经网络 (CNN) 从每种模态(BAS、ECG 和呼吸信号)生成嵌入。这些模型的架构基于为对 ECG 测量进行分类而开发的 1D CNN。

每个 CNN 都经过定制以处理其各自模式的特定特征:10 个用于 BAS 的通道,2个用于 ECG 的通道,7个用于呼吸通道。引入了一种Leave-One-Out的技术,在捕捉不同生理信号之间的协同关系明显优于标准的成对的对比学习。

在这次的项目中,研究人员探索了两种用于跨模态学习联合表示的对比学习CL的框架进行模型的预训练。一种为标准成对的 CL,另外一种为Leave-One-Out CL(上图)。

在这里有三种模态,也就是在同一时间有三个相匹配的输入。Leave-One-Out构建对比学习样本时,将其中的两个输入与余下的输入构成样本对,如此可以从一个片段构建出三个样本对。

关键的指导思想将来自不同模态的正匹配对在Embedding空间中拉近,同时拉开负匹配对。这里正匹配来自不同模态的经过时间对齐的30秒数据块。其余的所有都被视为负匹配对。

按照睡眠研究中使用的标准剪辑持续时间,将所有参与者的总睡眠持续时间细分为连续的 30 秒剪辑。然后将数据集重新采样为 256Hz,以标准化所有参与者的采样率。此外,专业的睡眠技术人员为睡眠阶段和 SDB的每个剪辑贴上了标签。

模型预训练涉及使用设置为0.001的初始学习率和0.9的动量来最小化随机梯度下降的对比损失。学习率每5个周期衰减10倍。可训练的温度参数初始化为0。训练最多跨越20个周期,并根据验证损失提前停止,采用 32 个批处理大小,并在每个周期验证检查点以确保稳健的正则化。

通过这种自监督方法完成预训练后,利用学习到的模态编码器为训练、验证和测试集生成Embedding。随后利用Embeding来进行分类器训练。

大白话就是这里其实重点在于多模态的对齐,然后使用这个基础模型再去进行睡眠阶段分类和 SDB事件检测的模型训练。下图为利用SleepFM去做下游任务的表现。

小编认为该模型的成功主要归功于它能够学习丰富的多模态生理数据表示,这对于准确的睡眠分析至关重要。

而且SleepFM在人口统计学属性分类方面也表现出色,在从30秒的生理数据片段中预测年龄和性别方面表现出很高的准确性。该模型在0-18岁、18-35岁、35-50岁和50+年龄组的AUROC分别为0.982、0.852、0.784和0.915。对于性别分类,AUROC为0.850,明显优于基线模型。

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

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

相关文章

逻辑这回事(三)----功耗优化

低功耗设计概述 低功耗设计动机 功耗的增加影响芯片Power grid(电源网格)的设计;功耗的增加导致芯片温度的上升,进而带来一系列影响。如Leakage Power增加;电路时序可能变差;IR Drop(IR压降)变大;功耗的增加导致芯片封装成本和散热成本的增加(packing cost、cooling cost)功耗…

Mysql 8.0.37 安装教程

图片有点长,慢慢来 安装教程 安装地址:MySQL :: MySQL Downloads 进入官网 下载社区版 此处有两个版本,我们下载的是8.0.37版本 第一个需要联网安装,我们现在第二个离线安装 server only:仅安装MySQL server clien…

Java18+前端html+后端springboot一套可在线预约、在线下单的家政预约上门服务系统源码 家政系统(用户端)介绍

Java18前端html后端springboot一套可在线预约、在线下单的家政预约上门服务系统源码 家政系统(用户端)介绍 家政服务用户端是一个为家庭用户提供便捷、高效家政服务的应用程序。 以下是家政服务用户端的详细功能描述: 一、注册与登录&#…

day46 完全背包理论基础 518. 零钱兑换 II 377. 组合总和 Ⅳ

完全背包理论基础 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。 01背包内嵌的循环是从…

BearPi-HM Nano开发笔记

小熊派 简单介绍 BearPi-HM Nano开发板是一块专门为鸿蒙OS设计的HarmonyOS开发板,板载高度集成的2.4GHz WLAN SoC芯片Hi3861,并板载NFC电路及标准的E53接口可拓展 E53接口 介绍 E53接口标准为“物联网俱乐部”联合国内多家开发板厂家制定的物联网案…

80个GitHub上c/c++学习项目推荐——拎几个出来写进简历

1.《30天自制C服务器》 ①语言:c ②来源:GitHub 目前star:4.8k ③项目地址:https://github.com/yuesong-feng/30dayMakeCppServer ④类型:免费 2.《btop》(命令行资源监视器) ①语言:c ②…

【六一儿童节】的科技奇幻旅程:解锁【机器学习】与【人工智能】的无限创意

目录 一、机器学习与人工智能简介 二、六一儿童节的特殊意义 三、项目概述:智能绘画助手 四、技术栈和工具 五、数据准备 六、模型训练 1. 数据预处理 2. 构建和训练模型 七、智能绘画助手的实现 1. 搭建Flask应用 2. 客户端界面 八、扩展功能与优化 1…

图像交换部分区域或帧

生成一个boundingbox,或区间 给定矩形框占图像的面积比例,和图像的宽W高H,生成矩形框。根据给定的矩形框,交换两张图像的部分区域。 这里为了方便展示,简化问题,给定一个图像数组mels,对第 i …

从零到一的程序猿-day2-yoloV4训练及免环境易语言调用

简介 本项目功能介绍:针对4位英文数字随机组合的验证码抽象图片进行分类识别,识别结果为验证码内容 训练 没有难度,手动标注,样本为150张,首先识别出图片中每个英数的位置,再由分类器进行标注识别&#x…

Github:ChatTTS从下载到使用

前言 本文使用工具: Anaconda :直接进行包管理,用来自定义生成python解释器,虚拟环境vscode:用来执行代码 注:我使用的Ubuntu,使用win,mac等,需要额外配置 简介 Chat…

【环境栏Composer】Composer常见问题(持续更新)

1、执行composer install提示当前目录中没有 composer.lock 文件时 No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Composer 在执行 install 命令时会…

Pytorch线性回归

使用pytorch来重现线性模型的过程,构造神经网络module,构造损失函数loss,构造随机梯度下降的优化器sgd。 一 revise 首先确定我们的模型,我们希望完成的目标就是得到较小的loss,所以我们就需要一个标量值的loss。 那…

YOLOv10(2):网络结构及其检测模型代码部分阅读

YOLOv10(1):初探,训练自己的数据-CSDN博客 目录 1. 写在前面 2. 局部模块 (1)SCDown (2)C2fCIB (3)PSA(partial self-attention) 3. 代码解读 &#x…

手把手教大家如何使用Kaggle平台的免费GPU资源跑深度学习模型

如果手头没有GPU资源是没法很好进行学习和实操各种深度学习模型的,所幸有一些平台提供了GPU资源供广大兴趣爱好者进行免费使用。 一、免费GPU资源的平台 1. Google Colab 地址:https://colab.research.google.com/ 简介:Google Colab&…

ssm_mysql_高校自习室预约系统(源码)

博主介绍:✌程序员徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

IDEA中,MybatisPlus整合Spring项目的基础用法

一、本文涉及的知识点【重点】 IDEA中使用MybatisPlus生成代码,并使用。 Spring整合了Mybatis框架后,开发变得方便了很多,然而,Mapper、Service和XML文件,在Spring开发中常常会重复地使用,每一次的创建、修…

权限修饰符和代码块

一.权限修饰符 1.权限修饰符:是用来控制一个成员能够被访问的范围的。 2.可以修饰成员变量,方法,构造方法,内部类。 3.例子: public class Student {priviate String name;prviate int age;} 二.权限修饰符的分类 有四种作用范围大小…

详解寄存器模型reg_model的auto_predict

什么是reg_model镜像值? DUT的配置寄存器的值是实际值,reg_model有镜像值、期望值的概念。 镜像值:存放我们认为此时DUT里寄存器的实际值。 期望值:存放我们期望DUT寄存器被赋予的值。 什么是auto predict? 那么怎么更新reg…

安卓ANR检测、分析、优化面面谈

前言 一个引发讨论的楔子,以下三种现象有什么区别: App停止运行App暂无响应App闪退 答案: 产生原因不同:停止运行是UNCheckExceptionError暂无响应是ANRDialog闪退是CheckExceptionError 本文讨论的主题是ANR的定义、分类、复现…

内核注入DLL,支持注入PPL

这是我的个人项目,目前功能: 内核注入DLL到进程,支持注入PPL进程,可绕过任意代码卫士保护,签名校验。内核调用应用层任意函数,支持常见的调用约定。 后续可能会增加: 代码注入 Rookit和Anti-…