设计脑机接口的实践指南

简介: 脑机接口(BCI)指的是将大脑与计算机连接起来的工具。过去十年间,业界对 BCI 的关注度迅速增长——一个典型例子就是,埃隆·马斯克名下主要研发脑机接口技术的初创企业 Neuralink 每次开新发布会都会引发舆论热议[1]。Neuralink 可以在大脑中植入人造物来完成多种任务,诸如用思维来控制动作或直接在大脑中播放音乐等。

背景:BCI 是什么意思?

脑机接口(BCI)指的是将大脑与计算机连接起来的工具。过去十年间,业界对 BCI 的关注度迅速增长——一个典型例子就是,埃隆·马斯克名下主要研发脑机接口技术的初创企业 Neuralink 每次开新发布会都会引发舆论热议[1]。Neuralink 可以在大脑中植入人造物来完成多种任务,诸如用思维来控制动作或直接在大脑中播放音乐等。

你会感到恐惧吗?没关系,这是很正常的。但在这篇文章中,我们将只关注一个简单的 BCI 实现,具体来说是用一个娱乐设备[2]记录脑电波活动,即脑电图(EEG)。这个实现不需要对人体做任何手术(也不会有疼痛或死亡风险)。虽然你(很遗憾)不能用它来收听你最喜欢的乐曲列表,但可以实时观看 BCI 佩戴者的情绪波动(只不过是以代码的形式)。

一个用例:用 EEG Unicorn 估测情绪

如前所述,在本教程中我们将从想法一路走到具体的实现,完成所有必要的步骤来设计一个处理具体任务的 BCI。作为示例,我们要做的 BCI 属于情绪估测领域。这个应用旨在估计参与者的情绪状态。

image.png

情绪 BCI 图解。

如图所示,这个管道的目的是将参与者的 EEG 信号作为输入,并返回相应的 V-A 情感坐标图。V-A 图是一种应用于生物心理学的情绪坐标,其中 Valence(横轴)代表愉快和不愉快(即积极和消极)的程度,而 Arousal(纵轴)代表兴奋和平静的水平。基于这种表示,任何情感状态均可表示为 VA 坐标平面上的一个点。

设计情绪识别 BCI 的关键步骤

具体而言,为设计和部署 BCI,我们必须遵循几个关键步骤。

范式定义和信号记录
首先我们要定义 BCI 的范式:我想对什么事物建模?或者想要估计哪些信息?我的应用程序的目的是什么?我是否想通过 BCI 来控制机械手/脚?我是要评估驾驶任务中驾驶员/成员的警觉性吗?是要预测疾病的发作几率?还是检测癫痫发作状态?科学界对一些可以插入 BCI 的研究项目存在巨大兴趣。

在本文的案例中,我们决定关注之前的一项研究工作,就是估计参与者观看一些视频时的情绪状态[3]。这篇论文还提出了一个可以促进特定情绪状态的视频列表(我们对此非常感兴趣!)。这些视频的列表和对应的情绪都可以在 youtube 上找到,并列在注[4]中。

因此我们设计了一个实验基准测试,包括在参与者观看宣传特定情绪的视频时记录他们的 EEG 信号。在我们的存储库中,脚本registration_pipeline.py给出了一段完成这一任务的代码,用户只需将他想要处理的视频放在专用目录中(或改变路径)即可。

概要分析
有了上述基准测试,我们就可以完成脑电波信号的记录工作了。这些信号最后将构成训练 ML 模型(甚至是 DL)所必要的数据集。

我们来做这个模型吧......等一下!在建成一个能够从 EEG 信号中估计情绪的管道之前,我们必须提取信息来帮助模型处理数据。如果你有大量信号和/或可用的计算资源,跳过这一步也是可以的。但为了保持简洁,我们考虑采用更自然简单的模型来简化复杂性。一种可能的提取信息的方法是基于脑电图信号的频率特性,也就是说“这个脑电图片段是在高频率还是低频率范围内振荡?”。过去,科学家们发现,一些脑电图信号是由几个频段组成的,每个频段在特定的任务或行为中都会增强/减弱[4]。
  • δ为深度睡眠,[0-4Hz]。
  • θ表示昏昏欲睡,[4-7Hz]。
  • α代表放松和闭目思考,[8-15Hz]。
  • β代表积极思考和与专注相关的状态[16-31Hz]。
  • γ代表感受到更多压力的状态[32-50Hz]。特征提取的图示。

image.png

按照这个过程,我们从每个 EEG 片段中提取了一个信息向量。这个过程的目的是提取信息,以便更好地处理生物医学信号。这个步骤可以使用脚本outline_analysis.py的第一部分来处理。

最后(如果你还跟得上的话),你应该知道剩下的步骤是创建一个模型,用它从上面预计算的特征向量中估计情绪状态(是快乐还是悲伤?)。这里为了让我们的方法简单易懂,我们考虑一个由决策树组成的简单模型。这种简单方法背后的想法是寻找动态阈值来区分信息向量,例如第 i 个电极的高α贡献对应于低 arousal,第 j 个电极的中等γ贡献对应于高 valence,等等。

给出特征向量 X 和它的标签 y,就可以创建一个名为 clf 的分类器(对应于决策树)。该分类器可以通过以下几行代码轻松训练。

image.png

在 outline_analysis.py 的第二部分给出了一个更完整的解释,包括整个模型描述和训练。训练完这个简单的决策树后,可以用 joblib 库来保存它。

image.png

实时实现
在训练和保存模型之后,剩下的步骤是将各个部分合并在一起。

两个联合脚本必须并行工作:第一个脚本旨在记录、处理和估计来自 EEG 的情绪状态pylsl_emotion.py;第二个脚本会在图形上显示相应的情绪和对应的笑脸,如play_emotion.py所述。

尝试一下
最后提一句:自己尝试一下吧!上述代码和自述文件都放到了Github上。你可以自己尝试,或者为不同的模型或 EEG 耳机改编代码。

以上就是全部内容了,感谢大家阅读!我并没有说我的代码是完美的,但如果你有意见、问题或想了解更多内容,请不要犹豫,立刻与我联系吧!😊

参考文献

[1] Rolfe Winkler:埃隆·马斯克创办了,旨在将人脑与计算机连接起来。华尔街日报,2017

[2] Unicorn Hybrid Black——脑机接口

[3] Katsigiannis, S 和 Ramzan, N:通过无线低成本货架设备收集到的 EEG 与 ECG 信号情感识别数据库。IEEE 生物医学和健康信息学

[4] Gabert-Quillen, Crystal A:情感视频片段打分。行为研究方法

[5] William O Tatum:Ellen R.Grass Lecture: extraordinary EEG。2014。

原文链接:https://towardsdatascience.com/hands-on-guide-to-design-brain-computer-interface-b99bcc198428

了解更多软件开发与相关领域知识,点击访问 InfoQ 官网:https://www.infoq.cn/,获取更多精彩内容!

目录
相关文章
技术人修炼之道阅读笔记(一)让自己更值钱的5个能力
技术人修炼之道阅读笔记(一)让自己更值钱的5个能力
|
4月前
|
前端开发 Android开发 开发者
移动应用开发的未来风云:跨平台框架携手原生系统,演绎震撼协同进化的史诗篇章!
【8月更文挑战第7天】《移动应用开发的未来:跨平台框架与原生系统协同进化》
37 0
|
架构师 算法 测试技术
嵌入式系统软件架构设计(长篇深度好文)
嵌入式系统软件架构设计(长篇深度好文)
5063 1
|
机器学习/深度学习 传感器 人工智能
AlphaGo背后这项核心技术,后来怎么样了?
近年来,深度学习(Deep Learning, DL)作为机器学习的一个重要研究领域,得到了长足的发展,为强化学习(Reinforcement Learning, RL)提供了强有力的支撑,使RL能够解决以前难以处理的问题,例如学习直接从像素玩视频游戏。
|
机器学习/深度学习 人工智能 大数据
3个问题,1套非技术人员的AI方法论 | 哈佛商业评论最新热文
这是一篇写给非技术人员的AI专栏。给那些有意在公司组织、管理中寻求高效的人,那些希望走向管理岗位的人。
1147 0
|
云计算
进入空气稀薄地带,《朗读者》再现阿里云10年技术自主研发
近日,阿里云创始人王坚在央视最新一期《朗读者》中诵读了乔恩·克拉考尔的《进入空气稀薄地带》。在节目中,他回忆说,“现在阿里云的成就是工程师拿命换来的,其实也是最早一批客户拿命在填,就像第一个用电的人一样”,从思想上的雏形到成熟,阿里云走过了5年多。
3506 0
《伟大的小细节:互联网产品设计中的微创新思维》——1.1 细节创新有没有门道?怎样借鉴创新?
本节书摘来自华章计算机《伟大的小细节:互联网产品设计中的微创新思维》一书中的第1章,第1.1节,作者:文哲著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1316 0
|
人工智能 安全 机器人
AI将带我们去何方?(中-论述篇)
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 现在人们生活中已经出现很多半AI的制成品,电视、空调、手机、各种车、飞机等各种需要使用电或油等能源来驱动的设...
1634 0
|
安全
《游戏设计师修炼之道:数据驱动的游戏设计》一1.2 漏洞管理的起源
本节书摘来华章计算机《漏 洞 管 理》一书中的第1章 ,第1.2节,(美)Park Foreman 著 吴世忠 郭涛 董国伟 张普含 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
957 0