我们为没有编码经验的研究人员提供了一个带有图形用户界面的软件包,可以通过简单的下载和操作对小鼠的睡眠阶段进行评分。
方法文章
我们为没有编码经验的研究人员提供了一个带有图形用户界面的软件包,可以通过简单的下载和操作对小鼠的睡眠阶段进行评分。
啮齿动物的睡眠阶段评分是识别三个阶段的过程:非快速眼动睡眠 (NREM)、快速眼动睡眠 (REM) 和觉醒。睡眠阶段评分对于研究睡眠阶段特异性测量和效果至关重要。
啮齿动物的睡眠模式与人类不同,其特征是 NREM 和 REM 的发作时间较短,醒来时间隔时间较短,而人类专家的传统手动睡眠阶段评分很耗时。为了解决这个问题,以前的研究使用基于机器学习的方法来开发算法来自动对睡眠阶段进行分类,但具有高度泛化性的高性能模型通常不公开/免费,对于未经培训的睡眠研究人员来说也不友好。
因此,我们开发了一种基于机器学习的 LightGBM 算法,该算法使用大型数据集进行训练。为了使没有编码经验的睡眠研究人员可以使用该模型,基于该模型开发了一个名为 IntelliSleepScorer(v1.2 - 最新版本)的软件工具,它具有易于使用的图形用户界面。在本手稿中,我们提供了使用该软件为睡眠研究人员演示一种方便有效的小鼠自动睡眠阶段评分工具的分步说明。
啮齿动物的睡眠阶段评分是识别三个阶段的过程:非快速眼动睡眠 (NREM)、快速眼动睡眠 (REM) 和觉醒2。在啮齿动物中,NREM的特征是肌肉活动减少、呼吸缓慢而有规律、心率减慢和脑电波低频振荡。与人类类似,啮齿动物的 REM 表现为肌肉乏力、脑电图激活和快速眼球运动,尽管与人类相比,啮齿动物生动梦境的发生不太明显 2,3。啮齿动物的"觉醒"状态以高频、低振幅波的大脑活动不同步、肌张力增加以及主动行为(如梳理和探索)为标志4。这三个阶段可以通过检查脑电图 (EEG) 和肌电图 (EMG) 信号来识别5。
啮齿动物的自动睡眠阶段评分模型非常需要。首先,由人类专家手动对睡眠阶段进行评分既费力又费时。其次,啮齿动物的睡眠模式与人类不同,醒来时有更多碎片化的 NREM 和 REM 发作,大约 10 分钟,而人类为 60-120 分钟6。因此,在手动评分期间识别这些短暂的时间段是具有挑战性的。自 60 年代以来,人们多次尝试开发啮齿动物睡眠数据自动评分系统7(rodent sleep data)。尽管存在许多自动啮齿动物睡眠评分方法,但它们的表现各不相同8、9、10、11、12、13、14、15、16、17、18。重要的是,大多数具有高泛化性的高性能模型都不是公开可用的(有些需要开发人员的特殊要求),或者对于睡眠研究人员来说并非免费。
因此,为了填补当前的技术空白,我们开发了一个基于机器学习的模型,该模型使用来自 124 只小鼠的 519 次记录的 5776 小时脑电图和肌电信号的大型数据集,并使用 LightGBM 算法1。lightGBM 使用梯度提升方法来构建决策树19。在 Wang 等人,2023 年,LightGBM 模型(由 8000 多个决策树组成)实现了 95.2% 的总体准确率和 0.91 的 Cohen kappa,优于两个广泛使用的基线模型,例如逻辑回归模型(准确率 = 93.3%)和随机森林模型(准确率 = 94.3%,kappa = 0.89)。该模型的整体性能也显示出与人类专家相似的性能。最重要的是,该模型已被证明具有泛化性,并且不会过度拟合原始训练数据1:1) 它在另外两个公开可用的独立数据集上表现良好(准确率> 89%),来自 Miladinovic 及其同事11,具有不同的采样频率和时期长度;2) 模型的性能不受小鼠光/暗循环的影响;3) 改进的 LightGBM 模型在仅包含一个 EEG 和一个 EKG 电极的数据上表现良好,kappa ≥为 0.89;4) 使用野生型和突变型小鼠进行测试,模型的性能均准确。这表明该模型可以对具有不同遗传背景的小鼠的睡眠阶段进行评分。
为了让可能不具备编码专业知识的睡眠研究人员能够使用这个模型,我们开发了 IntelliSleepScorer,这是一种用户友好的软件工具,具有视觉直观的界面。该软件可以完全自动化小鼠的睡眠评分程序。它从欧洲数据格式 (EDF)/EDF+ 文件输入中生成信号、催眠图和 Shapley 加法解释 (SHAP) 值的交互式可视化。基于合作博弈论的 SHAP 价值方法增强了机器学习模型的可解释性20.该模型提供全局和纪元级别的 SHAP 值,揭示了不同的特征值如何影响模型的整体和每个纪元的评分决策。这种先进的程序显著减少了小鼠睡眠阶段评分所需的时间和精力,同时确保下游分析可以依赖高度准确的结果。在本手稿中,我们逐步介绍了 IntelliSleepScorer (v1.2) 的使用,并在 1.0 版的基础上进行了多项更新,包括独立于睡眠模式预测运行 SHAP 分析的选项、用于睡眠阶段评分的用户可调时期长度,以及 GUI 中集成的睡眠阶段手动校正功能。
本研究使用了从小鼠 体内 实验中收集的数据。该研究不涉及人体实验。所有动物实验均已获得 Broad Institute 的机构动物护理和使用委员会的批准。所有实验均按照相关指南和规定进行。ARRIVE 指南不适用于本研究,因为本研究的重点是开发机器学习模型,而不是比较不同的治疗组。
1. 数据准备
注意:数据兼容性:记录的数据可以具有高于 40 Hz 的任何采样率。无需对信号进行带通滤波,因为软件带通在第一步对 EEG 和 EMG 信号进行滤波。LightGBM 模型是使用小鼠数据开发和测试的。没有关于 LightGBM 模型在其他类型的实验室动物中性能的证据。记录电极需要放置在额叶和顶叶皮层,或者如果只记录一个 EEG 通道,则放置在任何一个位置。
2. 为 Windows、Mac 和 Linux 用户下载 IntelliSleepScorer
3. 工作流程和程序启动和操作
4. 浏览评分结果
5. 评分睡眠阶段催眠图的解释
注意:催眠图中有 4 行(图 2)。顶行是预测结果。底部 3 行分别是 2 个 EEG 和 1 个 EMG 通道的原始数据。在顶行,橙色表示 Wake 阶段,蓝色表示 NREM 阶段,红色表示每个 epoch 中的 REM 阶段。
6. 在 GUI 上手动校正预测的睡眠阶段(可选)
注意:如果未观察到异常或 REM 分期预测不需要极高的准确性,则无需手动验证。
睡眠阶段评分后,GUI 中生成了三个图(如果未运行 SHAP 值,则仅生成顶部图):顶部图显示 EEG 和 EMG 通道,并带有睡眠阶段预测的催眠图。中间图显示 epoch SHAP 值。底部图显示了 Global SHAP 值(图 1)。
睡眠阶段预测催眠图中有 4 种类型的数据(图 2)。顶行是预测结果。底部 3 行分别是 2 个 EEG 和 1 个 EMG 通道的原始数据。在顶行中,橙色表示"Wake"阶段,蓝色表示"NREM"阶段,红色表示每个 epoch 中的"REM"阶段。当前示例 epoch 位于 1305 上,并且处于"Wake"阶段,因为粉红色位置栏与橙色线条重叠。
在 图 3 中,用户校正的阶段在原始阶段的顶部用虚线标记。红色虚线表示睡眠阶段已从 "Wake" 更改为 "REM"。
在图 4 中,显示了示例文件 1 中 epoch 1305 的示例结果。Epoch SHAP 图的 Y 轴显示所选 epoch 中具有最高绝对 SHAP 值的前 10 个特征。x 轴显示 SHAP 值,该值表示与平均预测相比,每个特征对预测的贡献。正 SHAP 值表示对预测的正贡献,反之亦然。特征 "emg_abs_max" 的 Wake 具有非常正的 epoch 级 SHAP 值,表明所选 epoch 的 "emg_abs_max" 增加了所选 epoch 被评分为 "Wake" 的可能性(图 4)。这在生理学上是合理的,因为大的 EMG 振幅表示主动运动,从而表明"觉醒"阶段。
在全局 SHAP 图示例(图 5)中,p-swarm 图中的每个点代表一个数据样本。图的 y 轴显示了根据 500 个随机采样的 epoch 计算得出的具有最高绝对全局 SHAP 值的前 10 个特征。x 轴显示 SHAP 值,该值表示与平均预测相比,每个特征对预测的贡献。与纪元 SHAP 图不同,全局 SHAP 图有两个维度:每个点的 x 值和点颜色的强度。正 x 轴 SHAP 值表示对预测的正贡献,反之亦然。红色较深的样本具有较高的特征值。通过直观地检查每个特征的位置和 500 个点的颜色的相关性,可以解释 LightGBM 如何根据每个特征的值做出决策。在 "Wake" 全局 SHAP 图中,随着 "emg_abs_max" 的 SHAP 值从更负的增加到更积极的值,点的颜色会变得更暗。它表明被预测为 "Wake" 的可能性增加与 "emg_abs_max" 值的增加呈正相关。还值得注意的是,SHAP 值分布更广(绝对值越高)的特征对模型的预测贡献更大。例如,全局 NREM SHAP 图(图 5)具有"eeg2_gamma_delta_ratio"特征的广泛点。特征的高度负 SHAP 值降低了模型被评分为 "NREM" 阶段的可能性。

图 1:使用 1_LightBGM-2EEG 模型对示例 1 EDF/EDF+ 文件运行预测后的 GUI 页面概览。 睡眠阶段预测和 SHAP 计算均已评分。上图显示了 EEG 和 EMG 通道以及睡眠阶段预测的催眠图。中间的图显示了 epoch SHAP 值。底部图显示全局 SHAP 值。 请单击此处查看此图的较大版本。

图 2:来自示例 1 EDF/EDF+ 文件的睡眠阶段预测催眠图。图中有 4 个数据。顶行是预测结果。底部 3 行分别是 2 个 EEG 和 1 个 EMG 通道的原始数据。在顶行中,橙色表示"Wake"阶段,蓝色表示"NREM"阶段,红色表示每个 epoch 中的"REM"阶段。 请单击此处查看此图的较大版本。

图 3:来自示例 1 EDF/EDF+ 文件的睡眠阶段预测催眠图,带有用户修改的手动校正。 Epoch 1305 已从阶段 "Wake" 更改为阶段 "REM",作为 GUI 中睡眠阶段手动校正的演示。红色虚线表示用户修改的睡眠阶段"REM"。 请单击此处查看此图的较大版本。

图 4:Epoch 1305 处示例 1 EDF/EDF+ 文件的唤醒、NREM 和 REM Epoch SHAP 值。 Epoch SHAP 图的 y 轴显示所选 epoch 中具有最高绝对 SHAP 值的前 10 个特征。x 轴显示 SHAP 值,该值表示与平均预测相比,每个特征对预测的贡献。 请单击此处查看此图的较大版本。

图 5:示例 1 EDF/EDF+ 文件的唤醒、NREM 和 REM 全局 SHAP 值。 p-swarm 图中的每个点都表示一个数据样本。图的 y 轴显示了根据 500 个随机采样的 epoch 计算得出的具有最高绝对全局 SHAP 值的前 10 个特征。x 轴显示 SHAP 值,该值表示与平均预测相比,每个特征对预测的贡献。全局 SHAP 值的 x 轴有两个维度:每个点的 x 值和点颜色的强度。正 x 轴 SHAP 值表示对预测的正贡献,反之亦然。红色较深的样本具有较高的特征值。 请单击此处查看此图的较大版本。
本文介绍了如何使用 IntelliSleepScorer (v1.2) 图形用户界面自动对小鼠的睡眠阶段进行评分,以及如何利用 SHAP 值/绘图来更好地了解模型生成的睡眠阶段评分。
使用该软件时的一个重要考虑因素是数据兼容性。本研究中使用的内部数据仅限于放置在额叶和顶叶区域的电极。在 Miladinovic 及其同事11 的独立数据集中,尽管这些区域的电极坐标不同,但该软件保持了令人满意的性能。虽然该软件可能适用于其他大脑区域,但我们尚未进行测试来证实这一点。因此,我们不能断言电极放置没有限制。但是,如果用户有来自其他地区的录制文件,我们鼓励他们进行测试。
用于睡眠阶段分析的 EEG/EMG 记录会话的持续时间因研究的具体目标而异。通常,记录会话持续 12 小时,涵盖明相或暗相,或 24 小时,包括一天内的两个阶段。12 小时和 24 小时记录通常用于捕捉不同的睡眠-觉醒模式和昼夜节律。对模型的测试表明,对于 12 小时和 24 小时录制的会话,睡眠阶段评分都是可靠且准确的。录音的持续时间没有已知的上限。
软件协议中值得注意的两个步骤是数据预处理和手动验证。为了提高训练模型的泛化性,我们允许在输入数据中出现噪声和伪影,并实施了最低限度的质量控制措施。我们执行的质量控制旨在排除由于信号丢失而导致的不良录音。信号丢失通常是由连接问题引起的,例如电极松动或脱落。信号丢失可能会导致软件生成的睡眠分数出现错误。例如,由于 EMG 电极松动,醒来的小鼠的 EMG 通道中的一条平坦线可能与小鼠的静止/睡眠阶段具有相同的特征,这可能导致 LightGBM 模型预测"NREM"或"REM"。作为参考,我们使用以下标准自动排除具有大量信号损失的记录:1) 任何 EEG 信号的振幅在至少 50% 的记录持续时间内小于 1 μV,或 2) EMG 信号的振幅在至少 50% 的记录持续时间内小于 1 pV。用户需要根据他们的实验设置和记录系统实施自己的质量控制标准。由交流电引起的线路噪声通常位于 50 Hz 或 60 Hz。在软件中实施的带通滤波器 (1-40 Hz) 步骤中,这些线路噪声将被消除。因此,用户在将数据输入软件之前无需对线路噪声进行预处理。在模型开发过程中考虑了轻微的噪音或干扰因素,例如身体运动1。本研究中使用的方法确保模型的泛化性可以容忍这些不会显着影响最终睡眠分期结果的微小伪影。EDF 数据文件的格式、录制质量和组织顺序都是优化此预训练模型性能的关键组成部分。
对于手动验证,鉴于 LightGBM 模型在一些记录中表现不佳(REM F1 分数< 0.6),如果准确的 REM 阶段评分至关重要,我们建议用户验证模型生成的睡眠阶段。对于专注于觉醒或 NREM 阶段生理学的研究,LightGBM 模型仍然支持非常强大且全自动的分析管道。解释 SHAP 值可以成为与手动验证相结合的绝佳工具,以确认软件生成结果的准确性。SHAP 是一种使用博弈论来解释机器学习模型输出的方法。它使用经典的 Shapley 值及其相关扩展20 将最佳信用分配与局部解释联系起来。例如,在全局 NREM SHAP 值图(图 4)中,如果"eeg2_gamma_delta_ratio"特征的最右侧突然出现一个深红点,则可能表示该时期存在异常。这是因为隔离的 epoch 样本点偏离了整个数据集。解释 SHAP 图还可以为用户提供清晰且用户友好的睡眠阶段评分解释。例如,时期 SHAP 图提供有关哪些特征是睡眠阶段评分的首要决定因素的信息。 结果预测催眠图(图 2)还提供了有关预测结果的重要信息。在催眠图中评分的睡眠阶段在"觉醒"和"REM"阶段之间表现出频繁变化的情况下,这在生理上是异常的,建议对评分和相应的 SHAP 值进行全面评估,以确定结果的质量。借助 SHAP 和催眠图,研究人员可以在睡眠阶段评分期间快速识别任何预测误差。但是,虽然 SHAP 值解释了模型如何进行预测,但它们并不一定意味着预测或模型进行某些预测的方式是正确的。呈现 SHAP 值的目的是帮助用户了解睡眠阶段的评分过程,并使用户能够通过检查 LightGBM 模型的逻辑来快速识别任何错误。
该模型的当前版本 (v1.2) 有两个突出的特点。首先,在上一段之后,如果用户需要返回 CSV 文件进行修改,尤其是对于冗长的录音,手动验证/更正可能会非常乏味且不方便。因此,我们提供了直接集成到 GUI 中的手动校正功能,供用户更改任何 epoch 的评分睡眠阶段。用户单击特定 epoch 后,"Wake"、"REM"或"NREM"的评分睡眠阶段将显示在 GUI 栏顶部的下拉菜单中。如果用户希望将舞台从一个舞台更改为另一个舞台,他们只需从下拉菜单中选择另一个舞台,即可生成一个由用户手动更正的新评分文件。最重要的是,我们在 GUI 上提供了调整 epoch 长度的选项,而不是提供用于分析的标准固定 10 秒 epoch 长度,以满足不同睡眠研究人员的特定实验需求。现在的选项是 4 秒、10 秒和 20 秒 epoch,这些都是睡眠研究人员常用的。尽管该模型已经使用 10 秒 epoch 的内部数据进行了训练,但该模型在来自不同实验室的 4 秒 epoch 数据的独立测试中的性能与人类专家在所有睡眠阶段的表现相当1。用户在实施 20 秒 epoch 时必须小心,因为 1) 使用 20 s epoch 对小鼠睡眠/觉醒进行评分可能会错过非常短的事件,例如瞬态觉醒;2) 20 秒 epoch 更有可能包含每个 epoch8 中的混合阶段。
将此模型与用户的其他现有自动睡眠阶段评分方法进行比较将很有见地。除了 IntelliSleepScorer,还有一些其他开发的用于自动睡眠阶段评分的模型,具有不同程度的准确性、复杂性和功效 8,9,10,11,12,13,14,15,16,17,18 .本研究中使用的模型采用 LightGBM 算法来实现睡眠阶段评分的高精度,可与现有模型相媲美。在我们的评估中,IntelliSleepScorer 的总体准确率为 95.2%,这与 MC-SleepNet8 和 Sleep-Deep-Learner9 等类似模型报告的性能指标相当。然而,IntelliSleepScorer 的真正区别不仅在于它的准确性,还在于它的可访问性和易用性,适用于编码经验有限的未经培训的研究人员。
MC-SleepNet8 在 4200 只小鼠的大型数据集上使用深度神经网络进行训练,实现了 96.4% 的高评分准确率和 0.94 的 kappa 统计量,超过了大多数现有方法。但是,据我们所知,迄今为止还没有基于 MC-SleepNet 的软件是公开/免费提供的。
Sleep-Deep-Learner9 自动对小鼠进行评分,REM 睡眠 F1 评分为 0.86,NREM睡眠 F1 评分为 0.95,清醒度 F1 评分为 0.97。然而,作者在论文中指出,Sleep-Deep-Learner 不适合不精通睡眠-觉醒评分的人,因为它需要手动评分的 epoch 的子集。另一方面,IntelliSleepScorer 在睡眠阶段评分期间不需要任何进一步的手动操作,并且为任何研究人员提供了一个非常用户友好的 GUI。
Somnivore10 是一个多功能的多层系统,专为自动唤醒-睡眠阶段评分而设计,擅长从具有复杂多导睡眠图输入的有限训练集中学习。它以快速的计算效率运行,并展示了跨不同主题的稳健泛化,包括人类、啮齿动物(野生型和转基因)和鸽子。然而,Somnivore 并非没有成本。
SlumberNet11 和 AccuSleep12 分别可以在 Zenodo 和 GitHub 上轻松访问,评分准确率分别为 97% 和 96.8%。然而,两种模型的训练数据大小都相对较小,均为 9 或 10 只小鼠,并且不包括独立的测试验证。因此,它们在现实世界中的表现仍然未知。
SPINDLE13 是另一种基于 Web 的模型,使用较小的数据集进行训练,其中 4-6 只小鼠/大鼠利用卷积神经网络。在三个独立睡眠实验室的数据中进行了验证,SPINDLE 与来自不同实验室的人类专家评分实现了 93%-99% 的平均一致性,反映了人类的能力。
最后,在内部数据集上进行评估时,Somnotate14 的准确率为 0.97 ± 0.01,加权 F1 评分为 0.97 ± 0.01,其中包括基于至少三个手动注释的共识的 6 个 24 小时记录。在 Somnotate 的数据集上进行测试时,IntelliSleepScorer 的性能有所下降,准确率为 0.75 ± 0.04,加权 F1 分数为 0.73 ± 0.0514。这种性能降低可能归因于数据集之间实验设置或记录条件的差异。鉴于实际用例的多样性,我们鼓励用户评估 IntelliSleepScorer 在他们的数据集上的性能,尤其是当他们的实验设置或录制条件与我们的明显不同时。如果软件的性能没有达到预期,用户可以选择使用他们的数据微调预训练模型,因为我们已经将用于开发的模型和代码开源了。
除了上面讨论的现有模型的例子外,还有一些其他开发的自动睡眠分期系统,研究人员可以根据他们研究的具体和不同需求进行选择15,16,17,18。
在未来的工作中,我们的目标是开发/训练一种新模型,以优化睡眠阶段的自动评分时间。目前,GUI 在大约 10 分钟内在 Intel Core i7-8550U CPU @ 1.80 GHz 上处理以 1000 Hz 采样的 12 小时记录。但是,与默认的 10 秒 epoch 相比,使用 4 s epoch 对睡眠阶段进行评分时,处理时间增加了大约 2.5 倍。这种新模型可以满足一些希望更快地对小鼠进行自动睡眠阶段评分的用户的需求。我们也一直在倾听用户的反馈,任何新功能都可以根据要求添加。
总之,我们提供了一个免费、公开可用且用户友好的 GUI 软件 IntelliSleepScorer,用于为小鼠睡眠阶段评分创建一个方便的自动化管道。此外,我们更进一步,提供了 SHAP 值可视化来解释模型做出的评分决策。有经验的用户也可以使用他们的数据微调我们的预训练模型,因为用于提取用于训练/微调特征的模型文件和脚本都在 GitHub 存储库中公开提供。我们希望这种公开可用的模型可以缩小技术差距,并促进在睡眠研究中使用小鼠模型从数据收集到新发现的进展,同时减少劳动密集型工作。
作者声明没有利益冲突。
我们感谢 Kerena Yan 和 Jingwen 胡 手动为睡眠阶段评分,以及 Eunah 和 Soonwiik 的录音。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| Canonical Unbuntu 18.04 | Canonical | https://releases.ubuntu.com/18.04/ | 软件 IntelliSleep Scorer 的支持作系统:Windows、Mac 或 Linux |
| Intel Core i7-8550U CPU @ 1.80 GHz 1.99 GHz;内存:24 GB | Intel Corp | https://www.intel.com/content/www/us/en/products/details/processors/core-ultra.html | 软件的硬件要求:此处列出的两个 Inte Core 都已用于处理数据。对于两个硬件,处理以 1000 Hz 采样的 12 小时记录大约需要 10 分钟。任何类似或更高级的硬件都将产生相当或更好的性能。 |
| 英特尔酷睿 i7-10610U CPU @1.80 GHz 2.30 GHz;内存:16 GB | Intel Corp | https://www.intel.com/content/www/us/en/products/details/processors/core-ultra.html | 软件的硬件要求:此处列出的两个 Inte Core 都用于处理数据。对于两个硬件,处理以 1000 Hz 采样的 12 小时记录大约需要 10 分钟。任何类似或更高级的硬件都将产生相当或更好的性能。 |
| LightGBM | Microsoft | https://lightgbm.readthedocs.io/en/latest/index.html | 用于训练软件的基于机器学习的算法。 |
| MacBook Pro | Apple | https://www.apple.com/in/macbook-pro/ | IntelliSleep Scorer 软件支持的作系统:Windows、Mac 或 Linux |
| Windows | Microsoft | https://www.microsoft.com/en-in/windows/?r=1 | IntelliSleep Scorer 软件支持的作系统:Windows、Mac 或 Linux |
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可