脑电图(EEG)和心电图(ECG)不仅能够反映生理活动状况,还能用来预测大脑年龄、识别特定心理活动。随着其中复杂特征的重要性日渐突出,MATLAB 作为强大的信号处理工具正被越来越多的研究者青睐。
撰文 武大可
编辑 魏潇
美国睡眠医学会(American Academy of Sleep Medicine)今年 5 月发表在《睡眠》(Sleep)的一项研究采集了被试者睡眠中的脑电信号(EEG),并训练深度神经网络(DNN)实现了大脑年龄(BAI)预测。研究者发现,预测脑年龄与实际年龄之间差值的绝对值(IBAI)与抑郁、癫痫和中风等多种疾病风险有关。
基于 EEG 的信号算法不仅能够对大脑年龄进行分析,还能够对心理活动进行识别。2020 年俄罗斯斯科尔科沃科技学院(SkolTech)的一项研究总结这一领域的技术,对多种应用于 EEG 分析的算法进行了比较。发现目前还没有一个算法能够独自完成全面、准确的 EEG 特征分析和情绪分类:卷积神经网络(CNN)能够对心理工作负荷作出最为准确的判断,但对情绪进行分类的能力相比黎曼几何分类器(RGC)等算法稍差,研究者指出,面向脑机交互(BCI)的最佳分析方式应由更复杂的人工智能方法主导,并结合其他对时序信号进行处理和分析的技术。
而在可穿戴设备等日常应用领域,EEG 的采集具有一定难度,心电图(ECG)可望成为有效替代方法。
信号处理与机器学习结合,助力情绪分类研究与应用
今年 5 月 11 日发表在《应用科学》(Applied Sciences)上的一项研究就结合小波分析和神经网络分类实现了基于 ECG 的高效情绪识别。研究者还与纺织品制造商合作,将成果作为可穿戴设备部署在了 T 恤中。
继承了信号处理和神经网络组件,能够采集 ECG 并识别情绪的 T 恤
人工智能与传统信号处理算法的结合是这项研发成功的重要因素之一。而为信号处理、模型开发和训练以及最终部署提供重要助力的,是团队所使用的多种 MATLAB 工具:
1)团队使用信号处理工具箱 Signal Processing Toolbox 中的小波散射函数对 ECG 信号进行了卷积、调制和滤波,提取出了从时域或频域无法直接获得的复杂特征。
2)团队使用分类学习器 Classification Learner App 中的主成分分析(PCA)选项选择了有效特征的线性组合,对数据进行降维,使后续分析更简易、快速。并使用 Classification Learner App 中的多种分类模型对尝试了数据分类,包括线性判别分析(LDA)、决策树(DT)、最邻近节点(KNN)等。
团队最终选取了表现最佳的 Ensemble 和 KNN 分类,对经过预处理的小波信号进行分类,达到了超过 80% 的准确率。
10-NN 和 Ensemble 对 ECG 的分析准确率
信号处理分析是 MATLAB 的传统优势领域。小波散射是重要的信号处理方式。通过小波散射将信号转为时间平移不变的表示形式,可以帮助分类器进行更好的分类。MATLAB 的 waveletScattering 函数提供了便捷的小波散射功能,通过简单的代码就能完成快速的处理和可视化:
小波时间散射和作图
对于 EEG、ECG 研究者和众多类似课题的研究者而言,信号处理等技术所以来的复杂数学、计算机知识往往会成为研究道路上的阻碍。相比“造轮子”,MATLAB 包含的工具简化了应用难度。寥寥几行代码就能实现基本功能,所有的函数和涉及的参数也都能通过 MATLAB 的文档和 help 函数详细了解、迅速上手。
从数据收集到模型部署,MATLAB 高效贯穿全 AI 工作流
人工智能不仅是时代潮流,也是情绪识别等科学技术领域未来将要依靠的算法。MATLAB 除了强大易用的信号处理能力以外,作为深度学习的工具也具备独特的优势。
模型的搭建和训练是人工智能工作流(workflow)中核心的一环,MATLAB 对神经网络的基本模型进行了完善的封装,提供了快速简便的搭建和训练流程。
MATLAB 本就基于矩阵运算,这与神经网络的底层数学不谋而合,生来就站在了效率的最前排。而这些运算功能又通过工具箱得到显著扩展,强大且易用。更重要的是,相比 TensorFlow 等专注神经网络本身研究开发的平台不同,MATLAB 自身就包括了人工智能项目开发整个工作流所需要的大多数功能:预处理、标注、搭建和训练模型,以及最终的转化部署运用。
作为信号领域研发的不二之选,MATLAB 是时序数据的预处理的最佳工具之一,而这一优势也给了基于 MATLAB 的标注工作更高的效率。Signal Labeler 工具不但能以图形化的界面帮助操作者更快地完成数据标注,还能够结合信号算法,对具有已知特征的数据自动进行标注。这大大提高了为监督学习准备数据集的效率。
Signal Labeler
在完成了训练后,模型需要被转化成目标设备能够运行的程序,才可制成可用的人工智能终端设备。MATLAB 的 Code Replacement 具有强大的代码替换功能,可以针对特定环境或设备替换生成的代码。帮助研发者走完模型实际应用的最后一步。
高效可靠的情绪识别需要信号处理与人工智能结合来完成, MATLAB 在这两方面以及两者交叉处的易用性已经帮助研究者揭开了一个个谜团。而在未来,MATLAB 完整的工作流也将进一步推动基础研究和转化,最终实现对人类情绪的高效可靠分析,并让便携、准确的人工智能情绪监测设备走进临床应用和日常生活。