並列処理時代の演算の一意性


 足し算の答えが一意に決まるなんて昔話になるかも、というお話。


 確認した範囲では、MATLAB 7.8 (2009a, 64bit) に足し算をさせる(たとえばサイズが500,000x1の行列の各要素を全部足す)と、その答えは一意に決まらない。全く同一のデータについて同じPC・環境で繰り返し計算させて、ほぼ毎回違う答えが返ってくる。


 これについてMathWorks社(の少なくとも一社員)の見解が書かれているページを見つけた。


Comparing Single-threaded vs. Multithreaded Floating Point Calculations

Loren on the Art of MATLAB
December 4th, 2009


 彼女の見解を要約すると、

  • 浮動小数点数を用いた演算において、足し算は結合法則を満たさない( a+(b+c) ≠ (a+b)+c )。
  • 演算の順序は処理系任せである。
  • 特にマルチコアで並列演算をする場合、演算順序の任意性は高まる。

よって足し算の答えが非決定論的になるのはバグではなくて仕様ですと。(・・・とか言いながら最新バージョン(7.9, 2009b)はこういう挙動を示さない(足し算の答えが一意に決まる)ので、MathWorks社もやっぱりこれはまずいと思っていたのかもしれない。)


 個人的には、処理系が異なれば演算結果が違ってくる可能性はあるだろうな、とは思っていた。でも同じ処理系に同じ計算をやらせて、一秒前の答えと今の答えが異なるとは思っていなかった。そしてうっかり演算の一意性を見込んだ(怠惰な)コードを一部書いていたので、しばらく何が起きているのか判らなかった。


 彼女の言うことも、理解は出来る。効率を最優先させる場合には順序に任意性を持たせた方が良い場面というのはあるだろうから、もしかしたら将来的には「演算結果は一意に決まらないけれど高速」か「演算結果は一意に決まるけど低速」な演算のどちらかを選ぶという時代が来るのかもしれない。あるいはもう数値計算の結果は確率的に決まるというのが常識になり、足し算の答えが一意に決まるなんて21世紀初頭までの牧歌的な考え方と見なされるようになるのかも。

      • -

 データの統計的な性質によっては足し算結果の「確率分布」も結構変な形になるような気がするけど、その辺はどう扱われるようになるんだろうか。10回計算して平均を取るとかになったら結構シュールだ。

      • -

 並列演算装置の効率性と非決定論的な性質は不可分なのだ! たとえば脳み(以下略)

最初の言葉


 多くの言語圏で母親を表す言葉はなぜか共通して「ママ(mama, mamma)」かそれに類するもので、また赤ちゃんがしゃべる最初の言葉も多くの場合「ママ」だと言われている。Caltech出身の院生が紹介してくれた説によると、これらの不思議な(?)一致の原因は次のような経緯を考えるとうまく理解できるのではないかとのこと。つまり、

  1. 物理的・神経生理学的な制約上、ヒトの幼児が最初に出すのはそういう音である可能性が高い、かつ
  2. 言語獲得期における古代人類の大人たちは、甘えたがりの赤ちゃんが最初に伝達したいであろう情報は「お母さんが恋しい」に違いないと思ったので、赤ちゃんが出す最初の音を「母親」を表す言葉と(勝手に)解釈した。


そしてその親側の決め付けが一般に言葉の定義として広まったのではないか、とのこと。普遍的なのは言語音と概念の関連性ではなく、身体性と親の愛であると。


 この話に乗るとすると、同じ音を日本語では「食べ物(まんま)」と解釈するというのも結構味わい深い。つまり、多くの西洋人や中国人などの先祖たちは、あの愛しくも儚い小さな存在が最初に伝達したい内容は「愛をください」に決まっていると思い込んでいた。それに対し日本人の先祖たちは、もちろん奴らが最初に放つであろう魂の叫びは「飯くわせ」に決まっていると思い込んでいたと。


 どちらも古の親たちの赤ちゃんに対する愛を感じるけれど、日本式の方がやや実用的というか、よりフェールソフトであるとは言えるかもしれない(ちょっとぐらい愛がなくても死なないけど、食べないとわりとすぐ死ぬ)。母親と食べ物(母乳)はとても関連の高い事象なので、どちらと定義しても実質的には問題なしということかも。


 うちの子を見ていると、初期の発声に関してはそれが明確に意思伝達を意図したものであるかは怪しいと思う。でもこれに自分自身の心の動きを合わせて考えると、親側が勝手な解釈をしたという説には信憑性があるような気もする。もちろんあの「だーだだだー」というのは、大好きなお父さん(daddy)を呼ぼうとしているに決まっているのだ。

(外から見た)事業仕分け雑感


 日本では「事業仕分け」という名のもとで研究予算等の縮小・再編が行われているらしい。公開された議論を聞いていると、質問者・回答者の双方に準備不足の面があるようには感じるけれど、枠組みとしてはこういう議論の場が出来たことは良いことだと思う。


 ただ、ちょっと外から眺める気分で議事録や関連ブログを見ていて、2つほど怖いと思ったことがあった。あまりまとまらないけどメモ。


==

 まだかなりの人が科学研究(基礎研究)と技術研究(応用研究)を混同しているらしい。そしてどちらかというと技術研究を評価する視点で双方を捉えている。これは怖い。もし社会の役に立つかどうか(リターンが見込めるか)という統一基準で科学研究と技術研究が取捨選択されるなら、ほぼ間違いなく科学研究は全滅する。これは科学者はプレゼンが下手だとか技術者はプレゼンの天才集団だとかそういう話ではなくて、そもそも両者が目指す方向が違うことに由来する。科学の役割は直近の社会の役に立つことではない。仕分けで発言権がある人は、せめてこの2つが相当に異なる種類の営みであること、でもそれらは両輪として発展していくこと、を理解する人であってほしいと思う。


 ただ、その違いを理解した上で、民意として日本は科学を捨てる、という選択肢はありうると思う(技術も捨てろ、という人はさすがにかなりの少数派だと思う)。80年代と違って日本はもはや経済大国とも言えなくなりつつあるので、「基礎研究のただ乗りをしている」と非難されることも、もうないだろう。幸いにも人類にはアメリカがあるので(下記も参照)、科学を志す人はアメリカに来れば良い。比較優位的な意味でもその方が人類全体としての効率は良くなるかも(個人的には、寂しさ、あるいは悔しさを覚える選択肢ではあるけれど)。


==

 仕分けとは直接関係ないけれど、関連ブログを読んでいて気になった、もっと怖い(かもしれない)ことがある。


 文部科学省の資料によると、論文の絶対数およびその被引用回数、つまり大ざっぱに言って研究の量と質について、アメリカは他国を圧倒している。


http://www.mext.go.jp/b_menu/hakusho/html/hpaa200801/08060518/015/008.gif
平成20年版 科学技術白書 第1部 第2章 第2節 我が国の科学技術を巡る課題−文部科学省
(REVの物置 - id:REVさん経由)


 あるいは、圧倒しすぎている。


 今回の日本の騒動は財政難がその発端になっている(と理解している)。アメリカだって盤石な経済基盤を持っているわけではなく、どちらかというと今後いつ壊滅的な経済破綻が起きて政治経済的に立ち行かなくなるか判らない。これほど集中が進んでいる中でアメリカが転けると、われわれが今知っている形での現代科学の相当部分は、一旦そこで途絶えてしまう危険性がある。もちろん論文としてまとめられたものは残るだろうけど、論文には書かれていない知見やノウハウ、研究者コミュニティが存続することによってのみ維持される人的・物的リソースは山ほどある。それらの継承が一旦失われてしまうと、もう一度回復するには莫大な時間とリソースが必要になる。


 人類の歴史を振り返ると、一旦興った科学が断絶するということは何度も繰り返し起きてきた。現代科学だけが特権的な地位にあると考える方が不自然かもしれない。ただそれはあまり自分で見たいと思う風景ではない。そういうリスクを分散させるためには、やはり日本の科学の火は消さない方がいいかも。(ってどっちやねん!)

SfN2009雑感


 シカゴでのSociety for Neuroscienceに行ってきた。毎年世界中から3万人ぐらいが集まる神経科学のお祭りみたいな学会。学会そのものと、そこで触れた考えについての雑感。メモ。


===

 Clay Reidラボは相変わらずすごい。もうあの辺で出来ることは全部やってやろうという勢いを感じる。Reidさんとは興味に共通する部分もあって、いつか自分でもあの辺の仕事をやってみたいと思っていた。でも今年の勢いを見て、もうあの辺は彼らに任せて自分は全く別のアプローチを取った方が良いと思うようになった。彼らのこれまでの経験の蓄積、今後も継続して得られるであろう莫大な研究費、世界中から集められるポスドクの質と量、どの面で考えても他の追随は相当難しい段階に来ていると思う。何はともあれまずまとまったお金が必要な種類の研究で、ああいうラボがあるとちょっと側抑制がかかる気がする(必ずしも悪いことではないけど)。


 あのラボに参加希望してみる、という選択肢はある。(という話を元同僚としたら「それはなんか負けた気がして嫌だ」と言われた。彼は何と戦っているのだ)


===

 しかし考えてみると、自分が今やっている研究も(もし仮にそういう日が来たとして)若手研究者が独立した当初に得られそうな研究費をはるかに越えた額を使っている。ボスの元で今のままやっていく分にはお金を気にせずにいられるけど、独立した途端に何かを縮小しないと行けない。そういうことにもある程度は自覚的である必要があると思った。


===

 学部のときに日本でお世話になった助手(現在は准教授)の先生と偶然出会ってお茶をご一緒した。日本に帰る気が少しでもあるなら、とにかく偉い先生に積極的に話をしに行って、こういう奴がここにいるということを印象づける努力を必死でやれ、もちろん日本の神経科学学会にも毎年参加しろ、との助言を頂く。正直なところ仕事をさせてもらえるところがあれば日本でもアメリカでもヨーロッパでもどこでも良いと思っているのだけど、日本という選択肢を考えるならそういうことも必要なのか。来年は日本の学会にも行こうかと思う。


===

 新しい種類の研究を始めるため、初回だけguest surgeonに来てもらうことになった。シカゴで初めて顔合わせをしたら予想に反してとてもメロウな感じの人だった。当該手法の開発から関わった第一人者で世界中で手術をしまくっていると聞いて、何かちょっと怖い人のような先入観があったけど、そういうものでもないらしい。


 旅費と滞在費だけ出せば謝礼等は要らないとのこと。良い人すぎてちょっとわけが判らない。腕をなまらせないために数をこなしたいのか。あるいは我々の基礎研究がいつか臨床応用に還元される日が来ると信じているのか。とりあえず失礼のないように迎える側の準備には万全を期したい。


===

 自分の発表は、来てくれた人には概ね好評だったと思う。fMRIの発表をするのは初めてで、スピンとかについて聞かれたらどうしようと思っていたけど、そういう質問はなくてちょっと安心した(いや本当は何でも答えられないと行けないのだろうけど)。来てくれなかった元同僚に後で話をしたら「fMRIを使った仕事は全て等しく無価値だ」的なことを言われた。まあまあ。


===

 シカゴは思っていたよりも寒くなく、結構きれいで良い街だった。また行きたい。

構造モデルと意味モデルと事前情報を用いて視覚経験を「再構成」

 Gallantラボの自然画像デコーディング論文第2弾。前回のカードトリック論文(Kay et al. 2008)(fMRIで記録された脳活動を解析することで、任意の120枚の自然画像のうち被験者がどれを見ていたかを当てる。)をさらに推し進めて、もう少し視覚経験の「再構成」に近づけたもの。


Bayesian reconstruction of natural images from human brain activity.
Naselaris T, Prenger RJ, Kay KN, Oliver M, Gallant JL.
Neuron. 2009 Sep 24;63(6):902-15.


 今回の論文で採用された新しい試みは主に2つあって、一つはベイズ推定の枠組みを使って事前情報を「再構成」に組み入れたこと。もう一つは、視覚エンコーディングモデルとして初期視覚野を模した構造モデルだけでなく、より高次の視覚野を対象にした意味モデルも取り入れたこと。


 最近相次いで発表されている視覚経験の再構成を試みた論文(Thirion et al. 2006; Miyawaki et al. 2008)では、視覚野の信号Rから視覚経験Sを求める、つまりS=f(R)あるいは確率分布としてp(S|R)という形のモデルを作ろうとしていた。これに対し今回の論文ではベイズの定理:


p(S|R) ∝ p(R|S)p(S)


を用いることで、p(S|R)を直接求めるのではなくp(R|S)とp(S)を求める(あるいは仮定する)ことを通じて再構成(MAP推定)を試みている。p(R|S)は画像Sを見たときに信号Rが観測される確率分布で、いわゆる受容野モデルなどのSからRを予測するモデルが対応する。p(S)は再構成するべき画像に関する事前情報で、今回の場合は自然画像を対象としているので自然画像っぽいSなら確率が上がるような確率分布を当てはめてやればよいということになる。


 ただ残念な事に、今のところ人類は明示的なp(S)を持っていない、つまり任意の画像Sを入れたらSが自然画像である確率を返してくれるような関数を設計できていない。論文では次善の策として、600万枚の自然画像を用意して、その中に入っている画像は全部同様に自然画像っぽい画像としている(暗黙的自然画像分布)。その上で上式を最大化する画像を探してみたら、なんかそれらしい画像が選ばれましたと。やっていることを見たら単にカードトリックを前回の120枚から今回の6,000,000枚に拡張しただけに見えるかもしれないけれど、その心は一応ベイジアン的な意味で「再構成」なんですよ、という話。


 さらに、p(R|S)として従来の構造モデル(受容野モデル)だけでなく意味モデルも組み入れている。高次視覚野の細胞(やvoxel)は(それがどういう画像処理なのかは置いておいて)「顔」だとか「建物」だとかに反応することが知られている。見せる画像にそれらのラベルさえついていれば、個々のvoxelがどのラベルがついた画像にどれだけ反応するかという定量的なモデル(意味モデル)を作ることも出来るはず。実際見せる画像に全部(手動で)ラベルをつけた上でモデルを学習させてみたら、高次視覚野のvoxelは構造モデルより意味モデルの方でより上手く説明できたと。じゃあ初期視覚野のp(R|S)には構造モデル、高次視覚野のp(R|S)には意味モデルを当てはめて「再構成」をやってみたら、更に上手いこと行きましたと。


 枠組みとしてp(R|S)とp(S)を分けることで、非常に見通しがよくなっている。p(R|S)には神経科学の知見をたぶん何でも入れることができる。今後研究が進むであろう中次・高次視覚野のエンコーディングモデルも基本的にはすべてp(R|S)の形で記述されるはずなので、モデルが出来たそばからそのまま試せる。視覚だけじゃなくて聴覚や言語処理、もっと言えばWIREDのインタビューでGallantさんが言っているように、心の中のつぶやきなんかも枠組みとしては同様に対処できる(それがBOLDその他の信号として取り出せるかどうかは別として)。この場合は自然聴覚入力や自然言語に内在する性質がp(S)を決めることになる。


 個人的には、デコーディングそのものは(今のところ)科学だとは思わない。でもp(R|S)は神経科学で、p(S)は自然入力とは何かということに関する科学だと思う。その2つが重なったところのある種のデモンストレーションの場として、デコーディングというのは面白いと思う。また最近のデコーディング論文ではみんな脳内イメージとか夢をデコードすることに言及しているけれど、これが本当に実現されたらそれは新しい種類の科学の始まりだとも思う。脳内イメージを可視化することは非常に原始的な形ながらすでに一部成功している(Thirion et al. 2006)ので、これはあながち夢物語ではないかもしれない。

遺伝子治療で色覚異常を治す


Gene therapy for red–green colour blindness in adult primates
Katherine Mancuso, William W. Hauswirth, Qiuhong Li, Thomas B. Connor, James A. Kuchenbecker, Matthew C. Mauck, Jay Neitz & Maureen Neitz
Nature  Advance online publication 16 September 2009


 すごくインパクトのある論文だと思う。先天的に錐体視物質が一種類欠損していて色覚異常が見られるリスザルを、遺伝子導入で治療したという話。具体的にはウイルスベクターを用いて遺伝子を導入することで、欠損している錐体視物質を発現させようと試みた。それも成体になってから。そうすると遺伝子導入から20週を過ぎたあたりから通常の色覚を回復(獲得?)したかのようにふるまいだしたと。


 神経科学的な観点からいうと、この研究は視覚機能獲得における「臨界期」という考え方はこれまで考えられていたよりも適応範囲が狭いかもしれないということを示している。ノーベル賞を受賞したHubel & Wieselは、幼少期に一定期間片目を閉じているとその目から来る情報はその後使われなくなる(後で目を開けたとしてもその視力は失われている)ということを示した。これは幼少期のある時期(臨界期)までに脳への正常な入力がないと、その目から来る情報を処理する大脳皮質の神経細胞が生涯に渡り失われてしまうから。(この知見により、乳幼児に片目の眼帯をつけることは禁物とされている。)


 錐体が先天的に一種類足りないと、その情報を処理する脳内の神経細胞も失われる(あるいは初めから生成されない)と考えられる。これに上記の単眼遮蔽実験の結果を敷衍して考えると、成体になってから錐体の種類を増やしても色覚は回復しないだろうと類推される。でもその類推は(少なくともリスザルにおいては)間違いだったと。


 派生的な質問を数多く生む研究でもある。どういう種類の視覚機能には臨界期があり、どういうものにはないのか。それは入力の統計的な性質がそうするのか、それとももっと器質的な何かなのか。色覚が回復した(ように見える)のは、先天性異常のない場合の神経回路と同等の仕組みが出来たからなのか、全く別のやり方で機能補完がされたからなのか。色恒常性などのより高次の機能も獲得されるのか。また獲得されるとしたら、それは色覚の回復と同時に起きるのか、それとも更なる訓練が必要なのか。


 医療応用としても非常に重要な論文だと思う。日本人男性の5%、白人男性の8%が赤緑色覚異常と言われている(女性には少ない)。個人的につきあいのある人たちの中にも何人か赤緑色覚異常の人がいる。これが大人になってから、しかもウイルスベクターを使った遺伝子導入という比較的侵襲性の低い治療法で治るかもしれないと。素晴らしい。


===

 以下、妄想的な話をすると、まず気になるのは大人になってから新たな色覚が生まれるというのはどういう感覚なのかということ。多様な緑色がこれまでにないぐらい鮮明に区別できるような感じなのか、それとも全く新種のクオリアが生まれるのか。あるいは知覚は何も変わらないけれど、区別しろと言われたら何故か正解できてしまうという感じなのかもしれない。この辺はリスザルさんに話を聞くわけには行かないので、ヒトへの応用が始まるのを待ちたい。


 あとこういうことが簡単に出来るようなら、応用として磁場センサーとか電磁波センサーとなるたんぱく質を適当に設計して網膜に導入したら、それが「見える」ようになったりするだろうか。地磁気が見えると方向音痴の人には便利かもしれない。MRIスキャナには二度と入れなくなりそうだけど。


===

 ところで、National Geographicの日本語版にもこの論文を扱った記事があるのだけど、訳がちょっとまずい。


サルの色覚異常、遺伝子注入で治癒
ナショナルジオグラフィック 公式日本語サイト
2009/9/17

新たな研究により、サルの色覚異常が簡単な細胞注入で治ることが確認された。

タッチスクリーンのテストを一通り終えた後、研究チームは色覚異常のある2匹の網膜の裏側に赤に反応する錐体細胞を注入した。

 細胞注入ではなくてウイルスを使った遺伝子導入。この2つは全然違うと思うのだけど、分野によってはそういう言い方をすることもあるのだろうか。ブックマークでのコメントでもid:terazzoさんやid:felis_azuriさんが疑問をもたれている。

9月17日に「Nature」誌で発表された研究論文によると、それら2匹のリスザルは1週間以内に赤と緑を識別できるようになったという。

 1週間以内という記述は見つけられなかった。元論文には20週で改善が見られたと書いてある。


 オリジナルの英語版(↓)にはこれらの変な記述はないので、たぶん訳し間違いでは。かなり混乱を招く種類の間違いだと思うので、直した方がいいと思う。


Color-blindness Cured by Gene Injection in Monkeys
Christine Dell'Amore
National Geographic News
September 16, 2009