深層学習を認知神経科学にどう使うか問題

別にどう使っても使わなくてもいいしそれは研究上重要な問題ではないのですが(いきなりタイトルの否定から入る)、一方で新しいもの好きとしてはこういう話を追うのは楽しいものです。研究者には新しい物好きが多いので、認知神経科学のための深層学習(あるいは一般に人工ニューラルネットワーク)の使い方について提案・批判をするレビューはたくさん出ています。

Neuroscience-Inspired Artificial Intelligence - ScienceDirect
Direct Fit to Nature: An Evolutionary Perspective on Biological and Artificial Neural Networks - ScienceDirect
[1903.01458] Deep Learning for Cognitive Neuroscience
Neural network models and deep learning - ScienceDirect
[2006.01001] Artificial neural networks for neuroscientists: A primer
[2005.02181] A neural network walks into a lab: towards using deep nets as models for human behavior
A critique of pure learning and what artificial neural networks can learn from animal brains | Nature Communications

他にも沢山あると思いますが、ここ最近に有名どころから出てきて、自分がパッと思い出せるものだけでもこれだけあります。今まさに研究で使っているわけではないのでもはや追っていられないな、という感じなのですが、こういう論文は

  • すぐ読める
  • 知らない話題なので興味がある
  • 未成熟なのでツッコミどころが沢山ある

と(一部語弊もありますが)ランチネタとしての好条件が勢揃いです。実際、定期的に話題に上がっていました。個人的には、深層学習を認知神経科学で使う研究はおおむね「翻訳機」、「柔軟なモデル」、「シミュレータ」のどれかとして使われていると整理しています。

新発見の裏に新技術があることは多々あります。武器の選択肢が多いことは、その役割について整理できていれば悪いことではないでしょう。

***

まず翻訳機。これは具体的には、別のデータで訓練した深層学習器を特徴量の抽出器として使うケースを想定しています。個人的には、一番上手くいっているのがこの使い方だと思います。古典的な抽出手法よりも豊富、階層的、そしてある程度は解釈可能な特徴量が抽出できます。翻訳の仕方もいろいろあって、脳活動の翻訳という使い方では、単純に中間層と脳活動との間に有意な線形の関係があるか見てみたり(これとか、 これ)、生成モデル(VAEやGAN)の中間層と脳活動との対応を取ってやって刺激再構成に使ってやったり()。

動画()や画像のラベリングに使って、それを説明変数に使うというのも(最終層も中間層の中の一番奥だと考えれば)、広義には(人間の代わりに翻訳してもらうという意味で)含まれると思います。

この系統の研究は適用するドメインや対応の取り方を変えた研究がめちゃくちゃ沢山あって、これからもどんどん出てくるのでは。

***

次に、柔軟なモデル。こちらは、深層学習器を自分のデータセットで訓練してやるケースを想定しています。普通に情報系の研究で使う場合はこのケースが大半ではないでしょうか。

fMRIだとある程度サンプル数のあるデータセットも出てきたので、最近よく見るようになりました。つい先日Kaggleでもコンペがありましたが、きっと上位の人たちは深層学習も試されたのでしょうか?(URL)特にこのコンペの主催者たちも含めて、一部のグループが積極的に取り組んでいるイメージです()。ただ、一般画像や音声などに比べると現状のデータセットではそこまで精度向上しないという報告も()。

予測精度の向上とは別のモチベーションもあります。深層学習はアーキテクチャを柔軟に変えられるので、それを活かして複数のモデルを適用して、脳の情報表現に関する仮説を検証するという使い方()。使いやすいライブラリが沢山あるので、気軽に異なるモデルを試せるのはいいところかなと思います。個人的には、この使い方は今後増えていきそうな気がしてます。

***

最後に、シミュレータ。

例えば何か適当なタスクを解かせて、その挙動や神経表現と、実際の脳との相同性を探るような使い方がされます。チャレンジしてみたっていう研究はかなり沢山出てるのですが、未開の領域感も大きい。そもそも人間並みに解ける深層学習を用意するのも大変だし、どのレベルで相同性を見ればいいのか自由度が大きすぎるし、それがどれだけ生物っぽいのかの議論も全然自明ではない(これとか、これ)。最初にあげたレビューの中にも、この辺の問題について議論している論文も結構あります。スパイキングニューラルネットワークからいわゆる今風の(DeepMind的な)深層学習論文まで、たくさんの人たちがチャレンジしてきた普遍的なテーマだと思いますし、やりたい研究者は多いと思うんですが、なんとなく需給ギャップ(?)が大きいテーマという印象です。

他にも、動物と違って気軽に実験できるシミュレータとして使うケースがあります。例えば、考えてみた学習原理をまた別の実験系で実証してみる的な使い方()。深層学習が人と似ているかどうかはさておき、深層学習でもやっぱり似たような現象が観測された(だから普遍的な学習原理だ)みたいな主張に使ってる感じです。

***

ここまであげたものはどれも方向的には「深層学習を認知神経科学の研究に活かす」という方向です。逆に「認知神経科学を深層学習の研究に活かす」みたいな研究も認知神経科学者側的にはやりたがっている人は多い印象ですが、これも需給ギャップが大きいテーマという印象。もちろんCNNが人にインスパイアされてるだとか、LSTMもAttentionもIntrinsic motivationも人にインスパイアされたものだ、、、みたいなことは言えると思うんですけど、わりとなんでも言えちゃうんじゃないかとか、ちょっと口軽く言えない感じはあります。


まとめが多くて追っていられないと書きつつ、またつまらぬまとめを書いてしまったので、こんなところで。他の整理の仕方だと、Marr的に「計算理論・表現とアルゴリズム・インプリメンテーション」とレベル分けした時にどのレベルの仮説を検証しようとしてるか、みたいな感じで整理することも出来るのかも。個人的にはそちらはあまり直感的じゃないので、こんな感じに整理してみました。