设计脑机接口的实践指南

2022 年 4 月 8 日 AI前线

 

作者 | Victor Delvigne
译者 | 王强
策划 | 刘燕
背景:BCI 是什么意思?

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

你会感到恐惧吗?没关系,这是很正常的。

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

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

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

情绪 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]。特征提取的图示。



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

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

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

from sklearn import tree
clf = tree.DecisionTreeClassifier() # definition of the model
clf.fit(X, y) # training of the model
...

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

...
from joblib import dump
dump(clf, 'classifier_file_name')
实时实现

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

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

尝试一下

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

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

参考文献

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

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

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

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

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

原文链接:

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


你也「在看」吗?👇

登录查看更多
0

相关内容

脑机接口的英文名称是brain-computer interface,简称BCI,也称作brain-machine interface或direct neural interface。脑机接口(BCI)提供了大脑与计算机或其他外部设备之间的直接通信连接。通过加强或替代人类的工作能力,它们提供了更大的自由度,并在康复、情感计算、机器人、游戏和神经科学等各个领域有潜在的应用。脑机接口是一个多学科交叉形成的研究领域,涉及信息学、神经学、材料学、生物学、医学、心理学、工程学等,是各学科基础理论交叉的集合体。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【AI与工业】2022最新发布《工业物联网AI框架》59页PDF
专知会员服务
142+阅读 · 2022年3月30日
《机器学习》简明导论,21页pdf
专知会员服务
71+阅读 · 2022年3月2日
 100页!IEEE标准协会《脑机接口神经技术标准路线图》
专知会员服务
32+阅读 · 2022年2月13日
一图掌握《可解释人工智能XAI》操作指南
专知会员服务
59+阅读 · 2021年5月3日
最新《图神经网络实用指南》2020论文,28页pdf
专知会员服务
221+阅读 · 2020年10月17日
最新《可解释机器学习:原理与实践》综述论文,33页pdf
专知会员服务
159+阅读 · 2020年10月10日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
写给产品经理的逆向设计
人人都是产品经理
0+阅读 · 2022年3月17日
用户指南,应该如何设计?
人人都是产品经理
0+阅读 · 2022年3月3日
应用架构指南全新发布
谷歌开发者
0+阅读 · 2022年2月12日
Kubernetes 安全指南
InfoQ
2+阅读 · 2021年12月24日
更好的产品指标:在不同阶段如何使用指标
人人都是产品经理
0+阅读 · 2021年10月31日
分享 | 脑机接口与增强智能的伦理倡议
中国科学院自动化研究所
2+阅读 · 2021年10月19日
2019最全目标检测指南
计算机视觉life
13+阅读 · 2019年10月22日
TensorFlow 2.0深度强化学习指南
云栖社区
18+阅读 · 2019年2月1日
国家自然科学基金
3+阅读 · 2013年12月31日
国家自然科学基金
5+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2010年12月31日
国家自然科学基金
4+阅读 · 2010年12月31日
国家自然科学基金
4+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月19日
Risk and optimal policies in bandit experiments
Arxiv
0+阅读 · 2022年4月18日
Arxiv
12+阅读 · 2020年6月20日
VIP会员
相关VIP内容
【AI与工业】2022最新发布《工业物联网AI框架》59页PDF
专知会员服务
142+阅读 · 2022年3月30日
《机器学习》简明导论,21页pdf
专知会员服务
71+阅读 · 2022年3月2日
 100页!IEEE标准协会《脑机接口神经技术标准路线图》
专知会员服务
32+阅读 · 2022年2月13日
一图掌握《可解释人工智能XAI》操作指南
专知会员服务
59+阅读 · 2021年5月3日
最新《图神经网络实用指南》2020论文,28页pdf
专知会员服务
221+阅读 · 2020年10月17日
最新《可解释机器学习:原理与实践》综述论文,33页pdf
专知会员服务
159+阅读 · 2020年10月10日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
相关资讯
写给产品经理的逆向设计
人人都是产品经理
0+阅读 · 2022年3月17日
用户指南,应该如何设计?
人人都是产品经理
0+阅读 · 2022年3月3日
应用架构指南全新发布
谷歌开发者
0+阅读 · 2022年2月12日
Kubernetes 安全指南
InfoQ
2+阅读 · 2021年12月24日
更好的产品指标:在不同阶段如何使用指标
人人都是产品经理
0+阅读 · 2021年10月31日
分享 | 脑机接口与增强智能的伦理倡议
中国科学院自动化研究所
2+阅读 · 2021年10月19日
2019最全目标检测指南
计算机视觉life
13+阅读 · 2019年10月22日
TensorFlow 2.0深度强化学习指南
云栖社区
18+阅读 · 2019年2月1日
相关基金
国家自然科学基金
3+阅读 · 2013年12月31日
国家自然科学基金
5+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2010年12月31日
国家自然科学基金
4+阅读 · 2010年12月31日
国家自然科学基金
4+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员