昨日ですかね。筋萎縮性側索硬化症で体が動かなくなった患者さんの脳波を、頭皮上に当てた電極で読み取ることで意思伝達をしている映像をテレビで見ました。
この分野はBrain Computer Interface(BCI)とかBrain Machine Interface(BMI)などと呼ばれている分野です。BCIとBMIのハッキリとした違いはよくわからないのですが、概ね意思伝達を行う計算機をBCIと言っており、もっと広くそれがロボットなども動作させるようになればBMIと言うのでしょう。ともかく脳と計算機、あるいは脳と機械を繋ぐシステムという意味で、読んで字のごとくですね。
BCIの仕組み
問題設定は非常に単純で、テレビを見たいと思ったときの脳の活動と、トイレに行きたいと思ったときの脳の活動は間違いなく違うでしょうから、これを計測して判別しようというのです。
脳活動はニューロンに生じる電位によって調べることができますが、細胞を調べなくとも頭皮上に僅かに電位が漏れ出てくるようです。さすがに脳に電極を刺しまくるのはリスクが高いので、多くの臨床研究は頭皮上での計測によって行われているみたいですね。
頭皮上の計測はあくまで脳の細胞活動の総和を見ているのであって、どこの細胞が活動しているかというところまでは言及できないものの、多数のセンサーの情報から、信号解析や機械学習の枠組みで上手く判別を行います。
自発的に何かを思い浮かべた時の脳波や、ある音を聞いた時の脳波などそれぞれに特徴があるらしく、それを信号解析や機械学習で抽出し患者の意図を予測するようです。
私がテレビで見た装置は、ディスプレイ上に生活で必要となる動作が8つ(9つだったかも)写っており、患者が今行いたい動作の絵と文字を見ているとそれを脳波から読み取って見事に当てていました。
ディスプレイ上では8つの動作がランダムに点灯しており、恐らく患者が行いたいと思っていた動作が点灯した際に選択的に視覚情報処理の機構が働き、脳波として違いが出現したのだと思われます。
使われている技術
脳波計は、脳活動を計測する装置の中ではかなり安価なようです。
安いものだとアマゾンで数万円から、医療用のものだと数百万円からあるみたいです(数万円の計測装置なんてホントに大丈夫なのか……)。
アクティブ電極
計測した信号の送信時にノイズが乗ると、脳波がもともと微弱な電位のため、元の波形が全くわからなくなるそうです。そこでアクティブ電極というものが採用されており、信号は電極ですぐさま増幅されるため、送信する時には計測信号に対してノイズの割合が小さくなるようになっているようです。BCIの研究を、この電極開発から行っている大学や企業もあるようです。
信号解析・処理
脳波を解析するという発想は昔からあったようで、その解析方法はある程度確立されているようです。しかしそれは医療用の診断を行うための解析であって、BCIのようにリアルタイムで患者の意図を認識するシステムでは更に技術を進歩させなければならないようです。
先の記事でブラインド信号源分離を理化学研究所のチホツキ氏が研究していたと述べましたが(以下の記事)、これは脳信号を解析するための研究の一貫のようです。
他にも短時間フーリエ変換やウェーブレット解析などの時間周波数解析も応用されているようです。
またBCIへの応用を目指しながら、テンソル解析を応用した信号解析技術も研究が進んでいるみたいです。
普通多次元の信号は、例えば時間変化するベクトルのように扱います。ベクトルを色々な線形演算で処理しようとすると線形代数が重要になってきますし(主成分分析とか)、ベクトルデータを時間毎に並べてデータセットとして1つの行列のようにして扱うこともあります(特異値分解とか)。テンソル解析では、ベクトルから行列へ、そして行列から(三階)テンソルへと一般化した形式の量をそのまま扱えます。
私自身テンソル解析には詳しくないのですが、応用の現場から数学の新たな手法を見つけ出そうとする試みには敬意を示したいです。(すぐに使えるもんじゃないけど、誰かがやらねば)
機械学習
入念に信号処理を行った場合には線形分離や重回帰モデルで上手くBCI構築できるようです。ただし、まだ念じる事柄の範囲はかなり狭いので何とかなっていますが、きっと念じる事柄が普通の生活レベルに近づくに連れて、もっと高度な識別器などが必要になってくるのではないかと思います。
金沢工業大学ではディープラーニングを使って車椅子を動かすBCIを構築していました。「1,2,3」のいずれかの数字を思い浮かべると、それに応じて自動で数字に対応した構内の場所へ車椅子が移動するというものです。
機械学習としては「1,2,3」を思い浮かべた際の脳の活動の違いを検知できるというのが成果でしょう。もしも「1,2,3,4,5,…」と沢山の数字に対して脳波から識別ができるのであれば、それだけでBCIができることは増えそうです。
(にしても、自動で構内を移動する車椅子ってそれだけで結構凄いような。予め経路が定められていたのか、自動運転技術のように壁などを認識していたのかでは全然違いますがね。)
BCIデモンストレーション
こちらは脳の表面に膜上の電極を直接貼って計測を行っているBCIです。
ロボットアームを念じて三次元的に動かしている様子が見られます。
Thought control of robotic arms using the BrainGate system
こちらは頭皮上で計測するタイプのBCIです。
demoでは念じる際の脳波の学習を行い、実際にドローンを飛ばしている様子が見られます。約11分地点くらいからドローンが飛びますので是非見てください。
まとめ
BCIはデータ解析技術を集めて達成されます。
それこそデータをセンサーにより正確に取得するというところからです。
そして集められたデータはブラインド信号源分離などによって解析され、機械学習の手法によってデバイスへの動作命令を出力します。
近年はディープラーニングという機械学習技術の強力な手法が生まれましたから、これが更にBCIような分野にも応用されていくのではないかと思われます。
まだまだ実用的なレベルではなく基礎研究から臨床研究に移ってきたくらいの状態だと思いますが、BCIで機械の補助を受けるにとどまらず、バーチャル世界のアバターを動かすようになったらいよいよマトリックスのような世界が来るのではないかと思ってしまいます(マトリックス見たこと無いけど)。
ともかく人工知能への脅威論もありますが、このような応用技術も含めて倫理的な規範を作るのも大事なのかなと思わされる技術でもあります。でも夢のような技術ですから、このような技術の開発のために更にデータ解析の基礎的な技術も刺激を受けてレベルアップしていくんではないかなとも思います。
今後はデータ解析の応用的な話も交えて、こんなこともできるんだ!というモチベーションの維持にもしていきたいなと思ってます。