« 大脳-基底核-上丘のcomputational model | 最新のページに戻る | Saxon Shore見てきた! »

■ Classification / Identification / Reconstruction

遅ればせながら、fMRIによるmind reading paperであるGallantのところのKay et.al. 2008と神谷さんのところのMiyawaki et.al. 2008を読んできました。

そうこうしているあいだにGallantのほうはcosyneやVSSでbayasian decoderを発表してるし(見に行けなかった)、神谷さんの方もこのあいだの視覚研究会で先に進んでいる様子を拝見しました。ここでは、大規模電気生理記録への応用をイメージしながら、conceptual frameworkを中心にまとめておきます。キーワードは[Classification / Identification / Reconstruction]、それから[Encoding - Decoding / Generative - discriminative]で。

単純化してまとめます。まずEncoding / Decoding modelの違い:

  • 学習データは S_j (刺激パターン) - R_j (応答パターン)の対。
  • Encoding modelでは S_j -> f() -> R_j の変換をするf()を学習する。
    (f()は刺激に対する応答特性だから、tuning curveを作っているということ。)
  • Decoding modelでは S_j <- g() <- R_j の変換をするg()を学習する。
  • g()はf()の逆変換なのだから、もしf()またはg()がお互いから計算できるならばencoding model - decoding modelには差はない。しかしそう簡単にはいかない。
    • 行列表現で考えれば、 R = F*S; S = G*R となり、G = inv(F)となる。しかし、BOLDのような多次元データでは正確な逆行列を得ることはできない。
    • 確率表現で考えれば、Fはp(R|S)で、Gはp(S|R)なので、ベイズの公式から、G = F * P(S) / ∫ (F * P(S)) となる。この計算には同時確率P(S,R)が必要。これはBOLDのような多次元データでは難しい。(NaNが続出しまくるので内挿する必要がある。)

こうしたうえで、三つの論文でやってることをまとめるとこうなります、

  • [Kamitani and Tong 2005]は[Decoding modelによるClassification]
    • 学習段階:0,22.5,...180degのorientation刺激によってdecoding modelを作る。
    • テスト段階:応答パターンRjから推定した刺激S_hat_jが45degと135degのどっちに属するか決定する。
  • [Kay et.al. 2008]は[Encoding modelによるIdentification]
    • 学習段階:1760枚の自然画像 (20deg diameter, 500 pixel, gray scale)でencoding modelを作る。Encoding modelはV1 simple cellを模したgabor waveletに基づくモデル。
    • テスト段階: 応答パターンRjが、刺激セット{S_1,…, S_120}から予想される応答パターン {R_hat_1,…, R_hat_120} のうちどれに近いかを決定する。
  • [Miyawaki et.al. 2008]は[Decoding modelによるReconstruction]
    • 学習段階:440枚のチェッカーボード画像 (10*10 pixel, binary, flickering)でdecoding modelを作る。Decoding modelは1*1, 1*2, 2*1, 2*2のパッチをlocal image basisとしたモデル。
    • テスト段階: 応答パターンRjから推定した刺激S_hat_jそのものを計算する。

これに補足的コメントを付けます。

[Kamitani and Tong 2005]では、角度ごとのdecoderがあって、novelなimageのorientationが45degか135degであるかは、R_iに対する45degのdecoderの出力と135degのdecoderの出力とを比べて判別する。でもいったんこのdecoderができれば、45deg or 135degという判別問題だけでなく、0-180degのdecoderの出力の重み付けで連続的に角度を推定するという回帰問題も解くことも可能なはずです(どのくらいの精度が出るかは別として)。これはすでにorientationを「reconstructしている」ということができるでしょう。(Classification - Reconstructionの違いは判別問題と回帰問題の違いに帰着する。)

[Kay et.al. 2008]のencoding modelは刺激セットが既知であることが必須です。このencoding modelだけでは、脳の活動だけから刺激をreconstructすることはできません。Reconstructionのためには学習したencoder f()から逆変換 g() = f-1()を作ってやる必要があります。これは上記の通り、必ずしもうまくいくとは限りません。(VSS2009やcosyne2009で発表したものではreconstructionまでやっているそうですから、上記のベイズの公式を使ってf-1()を作っているのではないかと思います。)

[Kay et.al. 2008]でのindentificationの正答率は120枚のテスト刺激で92% (110/120; chance = 1/120)とstrikingな数字を出していますが、この数字の評価には注意が必要です。テスト刺激の刺激画像のあいだの類似性などに基づいて評価する必要があります。また、なにか他のモデルとの比較も必要です。ここではretinotopy-only modelというのを使っていて、モデルからorientation, spatial frequency, phaseを除いたモデルでの成績を出しています。retinotopy-only modelよりも今回のgabor wavelet modelのほうが成績がいいと書いてあるのだけれど、じつのところ、retinotopy-only modelでも成績は結構良い(‾60%)。つまり、風景の画像だったら上のほうが明るいとか、画像の明るさの位置情報だけあれば結構当たるということです。というわけで、正答率での評価はわかりやすいけどだまされやすい。

ちなみに[Kay et.al. 2008]の本文には統計的検定のp-valueがまったくない。これはベイジアン的立場からすればあり得るのかもしれないけど、92% (110/120)がどうsignificantなのかをどう評価したらよいのだろうと思います。たとえば上記のgabor wavelet model - retinotopy-only modelだったら、モデル選択の側面からAICやBICで、orientation, spatial frequency, phaseをモデルに入れる意義を評価できると思うのだけれど。(Supplementary infoとか読んでないので、そっちにはあるのかもしれないけど。)

[Miyawaki et.al. 2008]では、reconstructionができるということはとうぜんidentificationも可能なわけで(reconstructした刺激と一番近い刺激セットを選ぶ)、このdecoding modelのidentificationの正答率を評価していますが、刺激セットが100のときで90%以上となり、[Kay et.al. 2008]と比べても性能が高いことがわかります。これは後述のgenerative modelとdiscriminative modelとの関係に関わると思いますが。

しかし図を見たところ、reconstructionの成績をどう評価するかというところがわかりにくい。前述の通り、Classification問題は判別分析なので正答率で評価される一方で、Reconstruction問題は本質的には回帰分析なので残差で評価されます。正答率110/120を評価する必要があるのと同様に残差0.2がどのくらい小さいのかをどう評価したらいいんだろうかと思います。Single-trialでもreconstructできる、という図およびムービーのインパクトはべつにして。モデル間の比較としてはV1/V2/V3それぞれだけを使ってモデルの評価やlocal image basisの選択の評価のところで残差を使った評価が出てきてはいるのですが。

Encoding / Decoding / Reconstruction などのissueに関しては"I can see what you see." Kay KN, Gallant JL. Nat Neurosci. 2009 Mar;12(3):245にある図がわかりやすいです。

さて、んで、このencoding model - decoding modelのところを機械学習で言うところのgenerative model - discriminative modelとつなげて考えてみようというわけです。generative model - discriminative modelに関してはBishop本(PRML)を参照するべきでしょうけど、ここでは信学技報「ベイズ統計の流行の背後にあるもの」 伊庭幸人などを参考にまとめてみます。(この講演のまとめが「ベイズ統計の流行の背後にあるもの」にあり)。

Generative modelでは、データの生成過程をモデル化する。全データの同時確率P(S,R)が入手できるのでベイズの公式が使える。これによって順モデルから逆モデルを作る。教師無し学習では、こちらのほうがモデルからのズレに対してrobust。

Discriminative modelでは、目的に必要な条件確率P(S|R)のみをモデル化する。教師有り学習では、(一般的に言って)計算量が同じなら、こちらの方が成績がよい。

神経生理学者としては、multi-unitのcluster cuttingをイメージすると良いのではないかと思います。二つのunitをどう分けるかという問題があったときに、PCAとかで2次元のscattered plotにして、そこに判別直線を引いて分類するのがDiscriminative modelです。(SVMもこっちに入る。) いっぽうで、そのような2次元のscattered plotでふたつのgaussianのprocessからふたつのunitが生成されると考えて最尤法でその分布を推定した上で、新しいデータの判別には尤度比を使うというのがgenerative modelと言えばよいのでしょう。そうすると、generative modelのほうが手数が多くなることがわかります。Clusterが二つとわかっているときはDiscriminative modelでよいでしょうけど、clusterがひとつかもしれない場合はmixture of gaussianのmodelingをgenerative modelで行う必要があるのでしょう。

同様にして信号検出理論についても考えることが出来ます。信号検出理論は、ノイズと信号の分布を推定したうえで尤度比で決定を行うということから、generative modelなわけです。というか判別問題よりも生成モデルの推定自体が目的なのだからそりゃそうなわけですが。(生成モデルの推定という意味では、正規分布の過程を取っ払ったらどうなるだろうかとかいろいろ出来ることがあるように思います。)

神経生理学者としてはGenerative modelのようにいくのが正統派な気がします。生成モデルを作るということは脳の応答をcharacterizeするということなわけですから。ただ、このあいだの視覚研究会での神谷さんの質問の受け答えを見てわかったのですが、なるたけdata drivenかつmodel-freeでいくことを貫こうとすると、discriminative model的に行く意義があるのかもしれないと思うようになりました。それで、ほんとうはなんか両者の統合が出来たらいいんじゃないかと思うんです。つまり、まだじゅうぶん生成モデルを作れないような状況下では成績の良いdiscriminative modelを作るのが先で、data-drivenにdecoderを作ってやって、それの逆変換からgenerative modelを作るとか、なんらかつなげて考えればよいわけです。どのくらいそれが可能なのかはよくわからないのだけれど。

たぶん方法論的な制約の問題もあって、fMRIだからdiscriminative modelから始める意義があったということになるかもしれない。これまでの神経生理では個々のニューロンの順モデル(=tuning curve)を作るのは容易だったわけで。しかし、ニューロン記録が同時大規模なものになったときには順番を逆にして考えた方がよいかもしれない。どのように情報がencodeされているか(高次のinteractionの成分とか)は自明ではない。だから、どのような情報を持っているかをまずニューロン集団の活動からdecodeしてやる。そのうえでニューロン集団としての順モデルを作る、というような順番が必要なのかもしれません。

Decoding-encodingをつなげる、という意味で重要だなと思ったのが最近のレビューの"Looking for cognition in the structure within the noise" Trends in Cognitive Sciences 13(2), 2009, Pages 55-64です。これは海馬のplace cellの話に関するものですが、encodingとdecodingとspike patternのreconstruction (generative model)とを組み合わせることを提唱しています。図式的には以下の通りになります:

  • [行動データS_i]と[スパイク列R_i]から[encoding model (tuning curve)]が作れる:R_i = f(S_i)
  • [スパイク列R_i]から[encoding model f()]から[行動データのreconstruction S_hat_i]が作れる:S_hat_i = f-1(R_i) (スパイク列の場合、f()からf-1()が作れる)
  • [encoding model f()]と[行動データのreconstruction S_hat_i]から[スパイク列のprediction R_hat_i]が作れる:R_hat_i = f(S_hat_i)
  • [実際のスパイク列R_i]と[スパイク列のprediction R_hat_i]とを比較する

これでたしかに一周します。もっといろんなやり方があると思うのだけれど(何人かの人はすでに考えているだろうけど、わたしもmicrostimulationのことを考えている)、こういうのを組み合わせた実験デザインがこれからはより重要になると思います。これが川人先生の言う「操作脳科学」の具体例になるのだと思います。

関連する話はShuzoさんの「ノイズ」の中の脳機能およびしかさんの「神経科学における検証に再構成を使う」にあります。文脈的にうまくつなげられなかったけど。

あう...見直してみた。Generative modelうんぬんはちゃんとFrisonの一連の論文とか、Raoのpredictive brainとかそういうところと話をつなげるべきなのだけれど、その手前で息切れしました。ふたたびこのへんに触れるときにはそのへんまで行ってみたいのだけれど。そっちが本丸だと思う。


お勧めエントリ


月別過去ログ