自然非言語処理第８日目： 脳活動による非言語処理

![artificial-intelligence-2228610_1920.jpg](https://qiita-image-store.s3.amazonaws.com/0/78052/15eac57b-5760-0f5c-e0ac-488efdc049de.jpeg)


# 脳活動によるコミュニケーション
みなさんは脳活してますか？

最近流行ってますよね、脳活。
部活、就活、恋活、婚活、**アイカツ**、脳活。

**はい**

さて、脳活動でコミュニケーションできる人なんて普通いません。
なので、脳活動でコミュニケーションしている人たちの例をちょっと紹介します。その人たちとはタチアナさんとクリスタさんです。肖像権の都合からイメージ図をここには貼っておきます。写真を見たい方はfacebookのホームページ[2]を見てください。

![kurista.png](https://qiita-image-store.s3.amazonaws.com/0/78052/02c990a2-b3e3-7492-8076-69c8d86a2304.png)

タチアナさんとクリスタさんはカナダで生まれた双子なのですが、生まれつき頭がくっついていたそうです。しかも、頭蓋骨だけではなく、脳内でくっついています。たとえば、一方が見た光景を他方も共有して見えているそうです。まったく想像できませんが、これも脳活動によるコミュケーションが技術的にできるようになると体感できるのでしょうかね。

ただ、脳活動で人と人でコミュケーションはできなくとも、人と機械はコミュニケーションできるかもしれません。

そこで今回は脳活動の中でも特に取り扱いやすい脳波を題材とした実装を紹介します。脳波の特徴的な波形、事象関連電位P300の抽出を行って見ましょう。

#脳活動のメカニズム
脳活動を説明する前にまず脳内の神経細胞の活動を説明しましょう。

脳内にはたくさんの神経細胞があります。それらの神経細胞はナトリウムイオンなどのイオンを細胞内に蓄えています。このため、細胞は負の電位になっています。で、細胞外にはたくさんのイオンがあるので、このイオンを細胞内に取り込んだり、出したりする事で電位を上げ、電流を他の細胞に送ることができます。この電位を活動電位と言います。この時、電流とともにわずかな磁場も発生します。また、イオンを取り込むことに無酸素運動に使うエネルギー源(ATP)が使われます(ATP→ADP)。ただ、**なぜか理由はわかりません**（！？）が、突然血流が増え、エネルギー源を消費したと同時にその枯れたエネルギー源(ADP)を再利用しようとミトコンドリアが糖と酸素を使ってその枯れたエネルギー源を復活させます(ADP→ATP)。これにより、結果としてヘモグロビンの酸素が神経細胞の活動で減ることになります。

脳活動とは脳内の神経細胞が活動している様子を表します。つまり、先ほど述べた神経細胞の活動を測定することで脳活動を調べることができます。

## 脳波のメカニズム
脳波とは神経細胞の活動により生まれた活動電位のうち、頭皮に漏れ出た微弱な電位を時間に並べたデータのことを指します。脳波は個々の神経細胞が活動していることを測定していると言うよりかは脳全体の神経細胞の活動がどうなっているか大雑把に測ります。その後の信号処理で多少細かな情報を得られます。その結果がα波とかβ波とかそんなんです。ここではそのように信号処理して得られる結果である事象関連電位にクローズアップしましょう。

## 事象関連電位の1つ、P300の抽出方法とそのメカニズム
事象関連電位（ERP）は注意などの心理状態によって引き起こされる微弱な電位です。事象関連電位は種類がいくつかありますが、ここではその１つ、P300について説明します。P300は、例えば、図1のオドボール課題の時に観測されます。

<img width="523" alt="スクリーンショット 2017-12-08 23.43.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/78052/65b02a7a-d57c-51b1-797e-8bde6482bbf5.png">
図1 オドボール課題によるERP測定の模式図（[6]より引用）

オドボール課題とは、図１(a)のように、だいたい低い音が流れている中で、時々高い音が流れる環境が用意されているとして、被験者に高い音が流れた回数をカウントさせるという課題です。この課題の間、脳波を計測して起きます。その脳波をノイズ除去をし、刺激を与えるちょっと前から刺激を与えたあと300ms以上の固定の値で抜き出します。そのあと、抜き出した波形たちを高い音の方だけ加算平均すると、高い音の方だけ、刺激から300msあとに特徴的な電位のピークが現れます(図1(d))。この電位のピークをP300と呼ばれています。この現象は視覚でも触覚でも発生するらしく、２種類の刺激だけでなく、複数の種類の刺激でも可能だと言われています。

そして、P300がなぜ発生するのか私には調べた範囲ではわかりませんでした。科学的にはおそらくよくわかっていないのだと思われます。

#脳活動の特性

- 生体信号の一種であるため、生体信号と同じ問題を持つ。
- 脳活動を読み取ることは簡単だが、意図的に脳活動を引き起こすことは難しい。
   - 一方で、強い磁気を脳に当てると、脳活動を部分的かつ一時的に停止させることができる
- 神経科学の発展により多くの特性がわかってきているが、いまだにわからないことも多い。
- 侵襲型の研究をするためには人間の脳を使うわけにもいかないため、動物の脳をよく使う
- 脳活動を測定していると、意識と関係がみられる脳活動が発生することがある。これを**意識に相関した脳活動**という。
- 自分の意志で行動を決定する前から、その行動に引き起こす脳活動が発生することがある。つまり、**意志決定の予測が科学的に可能**である場合もある。**自由意志とは一体**。

#脳活動に関わる非言語処理

## ハードウェア
測定する機器は活動電位を測る電極や脳波計、活動電位による磁場を測る超伝導量子干渉計、血液中のヘモグロビンの酸素量を測るfMRIや糖分を測るPETがあります。また、大脳皮質の活動をはかるため、近赤外線を使ったNIRSという装置もあります。

##ソフトウェア
脳活動の分析でよく使われる技術は信号処理とデータサイエンス、CGです。しかも、テンソルをはじめとした線形代数とピクセルを3次元にしたボクセルがよく使われます。このため、処理が重たく、理論も難しいことが多いです。頭のいいお医者さんなら簡単かもしれませんが。
代表的なソフトウェアはMatlabです。やはりテンソル演算に強いからでしょうか。

#実装: EEGからのP300抽出
今回は、既存のデータセットを使ってEEGからのP300抽出して見ましょう。

## 材料
分析用PC（Win,Macなど） 1
Python 1

## 実装
まず、データセットが置いてあるサイトからデータをダウンロードします。
https://mmspg.epfl.ch/BCI_datasets
今回はこの中のsubject1.zip[4]を使います。
subject1.zipを展開するとわかりますが、中身はmatファイルというmatlabのデータファイル形式です。
Matlabなんて僕のような貧民には使えません。
が、実はPythonのScipyで読み込めるため、
これを利用して、Pythonでそのまま解析しましょう。

こちらがデータを読み込んで可視化しただけのソースコードです。

```python:extractP300.py
import scipy.io
import matplotlib.pyplot as plt
import numpy as np

SAMPLING_RATE=2048

#mat形式のファイルを読み込み
matdata = scipy.io.loadmat("./subject1/session1/eeg_200605191428_epochs.mat")

#最初の1秒間だけ描画
plt.plot(1.0/SAMPLING_RATE*np.linspace(0.0,1.0,num=SAMPLING_RATE),matdata["data"][0][0:SAMPLING_RATE])

plt.show()

```

## 実験結果
こちらがコードをそのまま実行した結果になります。
![figure_1.png](https://qiita-image-store.s3.amazonaws.com/0/78052/da6c8f7c-d84c-773e-6fdc-a0e9e13dcd0a.png)


## 感想
わぁ、なにか波形が出てる！
なんだろう！？
P300じゃないぞ？

**申し訳ありません
時間が足りず、P300の抽出まで行けませんでした
本当に申し訳ありません**

~~あの本文書いてたら時間がなくなったというか
というよりデータセットを分析するのにまさか論文一本読まないと難しいとか
まったく想像していなかったというかここまでできt~~

# 応用例
脳活動を通じて人と機械とでコミュニケーションする技術をBMI（Brain Machine Interface）とかBCI(Brain Computer Interface)と言います。BMIは実用化されれば夢のような技術ですが、なんだかんだでいまだに実用化しにくい技術です。

BMIの例として、P300の測定を工学的に応用した装置とした、
産総研のニューロコミュニケーター[5]があります。
仕組みは以下の図の通りです。

![pic_02.jpg](https://qiita-image-store.s3.amazonaws.com/0/78052/16830d6c-cd55-9618-5450-f9e527d22f6e.jpeg)
図 ニューロコミュニケーターの仕組み（[5]より引用）

体の動かせない障害者に利用されることが期待されているそうです。

~~でも、ニューロコミュニケーターって
今なら視線計測器で手軽に作れそうな気が~~

# まとめ
今回は脳活動をBMIの観点で説明しました。
脳活動にはよくわからないことばかりですが、人生だってそんなようなもんです（大雑把）。
コミュニケーションの中心となる器官である脳はこれまでたくさん出てきましたが、
これ以降もたくさん出てきます。
次回はコミュニケーションにおける感情とは一体なんなんだろうという話をする予定です。

[1]　カンデル神経科学
[2] https://m.facebook.com/Tatiana-and-Krista-Hogan-128407360513260/?locale2=ja_JP#!/Tatiana-and-Krista-Hogan-128407360513260/?locale2=ja_JP
[3] P300 Waves for Single Subjects, http://www.cs.colostate.edu/eeg/data/json/doc/tutorial/_build/html/p300_single_subject.html
[4] Hoffmann, Ulrich; Vesin, Jean-Marc; Ebrahimi, Touradj; Diserens, Karin "An efficient P300-based brain-computer interface for disabled subjects,"  Journal of Neuroscience Methods, vol. 167, num. 1, p. 115-125[5], 2008 
[5] http://www.aist.go.jp/aist_j/aistinfo/story/no4.html
[6] 入戸野 宏, 事象関連電位入門, http://cplnet.jp/erp.pdf