現代的な脳解析をどう勉強するか

ここ数年、脳画像業界ではデータ公開やコード共有が大きく進みました。これにはインフラの整備や数々の巨大予算がついたプロジェクト、など様々な要因が寄与していますが、データ共有が重要であるという意識の共有やデータサイエンスの大流行も大きな要因かと思います。

文字通り年々使えるデータの桁が増えている状況であるため、これまでが言語や画像・音声といったデータ収集が容易な分野に比べると非常に参入障壁が高い分野だったことを考えると、様々な人が参入してきて分野の発展が加速することが期待されます。実際、医療・工学系の人たちがオープンデータを用いて参入してきた感じの論文が増えてきているように思います。

続きを読む

「僕は自分が思っていたほどは頭がよくなかった」

僕は何か新しいことを勉強しようとする時、大体の場合において一度見た・聞いただけでは理解することができません。子供の頃からずっとそうで、スポーツとか習い事でもだいたい最初は周りに遅れをとります。ど田舎の、具体的には大学進学率が39.5%(全国最下位の沖縄県の平均らしいです)を下回るぐらいの地域の、公立小・中学校に通っていましたが、中学3年時の成績がほぼオール3(音楽だけ4)と文字通り平凡な子供でした。

そんなわけで、昔は物覚えの悪い自分に苛立ち、すぐに諦めたり離れたりしていたのですが、昔に比べると今はもう少し耐えられるようになったと思います。これが何でなのか、少し考えてみたのですが、1つにはその場ではうまくできなかったり、理解できないことでも、そのうちわかるだろうという楽観ができるようになったことがあります。一つの分野を長く続けていると、本当に重要なことは2度、3度形を変えて出てきます。その度により理解が深まっていく経験をたくさん経て、そのことが信じられるようになりました。恐らくこういう考えを子供の頃から身につけている人もいるのでしょうが、少なくとも僕の場合は研究を始めるまで、つまり20代中盤にしてようやく身にしみてわかってきました。あるいは、自分が苦手なこと(多い)と得意なこと(少ない)がなんとなくわかってきて、うまくいかないことに一喜一憂しなくなった影響もあるかもしれません。

こういうのは、人生経験から得られる成長を続けるためのノウハウ的なものだと思うのですが、そういう話題に関してとても好きな記事があります。以下の「僕は自分が思っていたほどは頭がよくなかった」です。

b.log456.com


このブログは、勉強ができずに将来に絶望している質問者に対し、かつてMITに入学した直後に同じような絶望を経験した回答者からのアドバイスの邦訳です。歴代のはてなブックマークでTop10に入るだけあり、短いながらもとても響く内容です。

以下、とくに好きな部分を抜粋。

...
微分方程式に半学期悩まされたあと、プライドを捨ててようやくRのところへ助けを求めに行きました。確か彼は私の教科書を一晩借りて復習して(彼は小学3年生からの全ての授業内容を憶えているわけではない)、その後、私の分からないところをひとつひとつ丁寧に解説して教えてくれました。その結果、学期末に私はB+をとり難を逃れることができました。ここでひとつ大切なことがあります。それは、彼が教えてくれたことのなかに、頭の回転が速くなければ理解できないことなどひとつもなかったということです。彼のことを知るにつけ分かったことは、彼の知性と実績のほとんどは、まさに勉強と鍛錬によってもたらされているということでした。
...

「頭がいい」ことが成績の良し悪しを決めるのだと言って自分自身を欺くのは簡単なことです。とても多くの場合で、これはあり得るなかで最も安易な説明です。なぜなら、これを認めれば努力をする必要もありませんし、自分の失敗をただちに正当化してくれるからです。君はいま気づかずにこの罠にはまろうとしています。

...
MITを卒業するのに失敗する人というのは、入学して、いままでに経験したなによりも難しい問題に遭遇し、助けを求める方法も問題と格闘する方法も知らないために燃え尽きてしまうのです。うまくやる学生はそういう困難にぶつかったとき、自分の力不足と馬鹿さ加減に滅入る気持ちと闘い、山のふもとで小さな歩みを始めます。彼らは、プライドに傷がつくことは、山頂からの景色を眺めるためであれば取るに足らないということを知っているのです。彼らは、自分が力不足であると分かっているので助けを求めます。彼らは知性の欠如ではなく、やる気の欠如が問題だと考えます。
...
君はとても若い。頭があんまりよくないのではなどと悩むには本当に若すぎる。年をうんととってボケ始めるまでは、「頭がよく」なるチャンスはあるのです。括弧付きで言ってみたのは、「頭がよい」というのは単に、「とても多くの時間と汗を費やしたので、難なくやっているようにみえるまでになった」ということを言い換えているに過ぎないからです。君は、自分は燃え尽きてしまった、あるいは、燃え尽きてしまうかどうかの岐路に立っているという風に感じています。でも実際には、燃え尽きることにするかしないかを決断する岐路に立っているのです。これが決断であるということを認めるのは怖いことです。なぜならそれは、君にはなにかをする責任があるということですから。でも、それは力が湧いてくる考え方でもあります。君にできるなにかがあるということですから。

さぁ、やってごらん。

改めて見ると、この回答それ自体は非常に素晴らしい考え方だと思うのですが、一歩間違うと生存バイアスバリバリの努力偏重・環境軽視な思想に寄りすぎて、現実から乖離しそうだなと思いました。頭の片隅に以下の漫画みたいな話もおいておくのが丁度いいバランスなんでしょうか。

tabi-labo.com

機械学習で77の回帰モデルを83のデータセットに適用して性能を比較

「モデルの種類多すぎてなに使えばいいのかわからない」問題は機械学習応用であるあるの問題だと思います。
よくある方針は
・どんなデータセットにも万能なモデルは存在しない
・線形、非線形、スパース、ニューラル、アンサンブル、、、などの異なる特徴を持つアルゴリズムをいくつか用意して、全部試してみる
・日々新しいアルゴリズムが出ているとは言っても同じ特徴を持つアルゴリズム内ではそこまで劇的には性能が変わらないので、それぞれ基本的なものを試しておく
みたいな感じだと思いますが、そうはいっても目安が欲しい。以下の論文ではそのようなニーズに応えるため、77の回帰モデルを83のデータセットに適用して、それらの各モデル性能を比較してくれています。

www.sciencedirect.com

続きを読む

統計学と機械学習の違い?なにを勉強すればいい?

人工知能機械学習統計学とデータサイエンスは何が違うのか」
みたいな疑問をよく聞きます。

統計のモデルと機械学習のモデル、どう使い分ければよいのか - Qiita

そういう疑問に答えようとする上のQiitaの記事は、個人的には相当にモヤモヤするものの、こういう書きぶりになってしまう気持ちはなんとなくわかります。

Googleで検索したら、この辺のモヤモヤ感についての言及も含めたもうすこし妥当な記事が出てきました。

「統計学と機械学習の違い」はどう論じたら良いのか - 六本木で働くデータサイエンティストのブログ

典型的な答えは?

例えば上の二つのエントリを見てみると、典型的な答えとして

・基本的には両者重なる部分が非常に多くそもそも異なるものでは無いが、
統計学は説明に重きを置く一方で、機械学習は予測に重きを置く、
統計学は単変量に影響に注目するため、線形モデルが一般的。一方で機械学習は多変量の複雑な絡み合いを活用するため非線形モデルも普通に用いる。
・結局どちらも重要だから勉強しましょう

というものが想定されていると思います。

でもそれだけでは終わらない

これぐらいで話が終わればいいんですが、以下のような疑問も出てきます。

・一般的な大学の教養課程の「統計学」の授業で勉強しているような古典統計、特にt検定に代表される有意性検定の知識はどうすればいいのか。

分野によっては、統計といったら上記の内容を指すこともあります。なのでそうした分野の人にとっては当然な疑問です。

しかしこの疑問への回答もまた口がモニョモニョする感じになります。

例えば、以下のTweetでは、機械学習の主要会議論文に掲載された50の論文を検証したところ、統計的な有意性を検定している論文が5%程度だったという内容が言われています*1


つまり、この辺の知識無しでも機械学習の最先端の研究が進められる可能性があります。実際、完全に個人的な印象ですが、NAISTの連携講座として所属していた研究室(全員機械学習を使っている)で古典統計や有意性検定についてしっかり勉強・理解していた人は少なかったと思います。

ここから更に強化学習の話とかが絡み始めるとちょっと収集がつかない感じになります。現代的な強化学習を理解する上で確率・統計的な知識は非常に重要です。
[1805.00909] Reinforcement Learning and Control as Probabilistic Inference: Tutorial and Review

教材の内容も変わってきている

いわゆる統計学の講義事情も変わってきているみたいで、例えば早稲田の心理では有意性検定の話をカットしてベイズだけで進めているみたいです。

あるいは以下の教科書は、有意性検定の話を含むだけでなく、ベイズやリサンプリング、交差検証による予測力の検証、再現性担保のために重要なこと、など現代的なトピックをカバーした21世紀的な統計学の教科書になっています。著者も信頼できる科学者で、しかも全文フリーで公開されているため、今自分が学部生だったらこの教科書の輪講をやってみたい気がします。
Statistical Thinking for the 21st Century

以下のページは今度は機械学習側のもので、PFNの岡野原さんや齋藤さんといったプロ中のプロが監修した教材です。機械学習を一から勉強しようと思ったときにこの教材からスタートしてみるというのは良いのではないかと思います。一方で、この中には有意性検定などのトピックは一切出てきません。
japan-medical-ai.github.io

本当の疑問

・・・と、タイトルの質問に関して真面目に答えようとすると、このように非常に面倒臭い感じになります。
上にあげた関連知識を全部勉強すればいい、一から大学院入り直して勉強すればいい、というのは一つの回答ですが、そういう答えを欲しているわけではないケースもたくさんあります。

そもそもよくよく聞いてみると、こうした疑問の背景にある真の疑問は
「最近よく聞くりこういった分野の技術を自分も使ってみたいのだが情報が多すぎてよくわからない。結局何をどこから勉強すればいいのか。」
というような疑問であることが多いように思います。

AlphaGoみたいなAIが作りたいのか、顔認識をしたいのか、経済や医療統計を分析したいのか、、、それぞれ必要とされる知識が大きく異なるので、こういう疑問がでてくるのは当然です。

これまで書いたように、用語の使い方も錯綜していて知識体系が絡み合っているため、知識が殆どない状況から自分一人で走り始めるのは非常に辛い気持ちになります。分野の進歩速度が早く多くの人が参入しているため、新しく出てきた有益な教材も多い一方、ノイズが多い情報もその倍以上出てているため、情報の取捨選択も容易ではありません。

なので、身もふたもない結論ですが、ある程度知識がある人に自分の興味を伝えて、アドバイスをもらいながら初めてみる、というのが一番良いのが現状かと思います。

*1:そもそもこれが良いか悪いかというのも微妙な問題で、自然科学側では古典的な仮説検定の問題を踏まえて、有意性の検定自体に否定的な人もいます。

ブログ1年経過して。アクセス数推移。

今月頭ぐらいからオックスフォードはクリスマス一色です。

中旬を過ぎたあたりからもう完全にホリデームードで、家族やパートナーがいる人達はその人達と一緒に過ごしています。自分のような独り身は仲間で集まってクリスマスパーティといった雰囲気。

ただ自分は最近原因不明の胃痛がひどく、お酒も食事も極力控えめにしているためあまり楽しめていません…。原因が不明なのは単に病院に行ってないだけなので、行った方がいいとは思うんですが。

ボス含め職場の同僚も休暇に入り、体調もそんな感じなので、家でおとなしくしている以外にやることもありません。なのでネットサーフィンをしたりブログを更新したりしているわけですが、気づいたらこのブログをもう一年間続けられていることに気づきました。

あまり定期的に更新できておらず、特に忙しい時期などは月数回しか更新できていませんが、一応毎月何かしらの記事は書き続けることはできたみたいで自分でも驚いています。実生活で日本語を喋る機会が減少したのは影響もかなりありそう。

f:id:tk_g:20181223043427p:plain
アクセス数推移

ブログを開始した今年の1月からのアクセス数推移(横軸が時間で、縦軸が来訪者数の移動平均)はこんな感じで、一応伸び続けているみたいです。僕はSNSは全く使っておらず、実生活でも宣伝したことがないので、恐らくほとんどの人は検索を通じてだと思います。

特にコンセプトやターゲットを決めて書いているわけでもないため、どんな人にこのブログを開いてもらっているのかは正直なところ気になります。実生活で「ブログを読んだ」と言われたことも殆ど無いので(具体的には2人ぐらい)、どこの誰が見ているのか本当に全く想像できません。なので感想や意見をもらえた時は凄く嬉しいです。

適当に書き散らしている記事が大半なので、検索で来てもらっている人には申し訳ない部分もありつつ、自分にとってはそういう書き散らしのメモが後で見返した時によい振り返りになっていたりします。どんな記事が面白いと思われるのかは全然わからないですし、狙って書けるとも思えないので、来年もこんな感じで気ままに続けていければいいなと思っています。

百を超える選択肢に直面した際の人間の戦略

Neural Processesの記事でも書きましたが、人が未知の環境に置かれた際、どうやって環境を効率的かつ正確に把握しているかは認知科学だけではなく人工知能の問題としても重要な問題です。この論文では、100以上の選択肢からどうやって人間が正解(最も価値が高い選択肢)に試行錯誤しながらたどり着くかを検証した論文です。
www.nature.com

実験では、鉱脈や温泉を掘り当てるゲームのようなものを、数十人を対象にオンラインで実施しています。実験の最初に11x11の閉じられたマス目が与えられ、各ターンそれらのマス目のどれか一つを選び、そのマス目のスコアをチェックしていきます。各ステージごとに数ターンから20ターン程度が与えられ、なるべくステージ内での合計スコアを高めるか、121マスの中で最も高いスコアのマス目を見つけることが目的です。合計121マスもあるため、20ターン程度の選択ではとても全部のスコアを調べることはできません。そのため、他に情報が無いとかなり難しい問題なのですが、「隣り合う選択肢の価値は似ている」という重要な前提があり、そのことも事前に参加者には知らせています。なので、その情報をうまく使えばランダムに探索するよりはずっと簡単な問題となります。

論文では、人間がそのような空間的な事前情報を活用しているかどうかを探っています。結果としては予想通り「使っている」という結論で、そのような前提を組み込んだ複数のモデルを検討した結果、Gaussian Process (GP)によるモデルが最もよく人間の行動を予測したとの結果。

以上が最も大きな結果で、「関数推定の際に人間が空間相関の情報を使っている」という結論はわりとすんなり受け入れられるというか、むしろこれまでやられていなかったんだという気分に。「人間の関数推定方法やそのバイアスを探る」という問題設定自体は自分も興味があるのですが…。

研究ではGPのカーネルを固定していますが、人間がどんなカーネルを使っているか、環境によってそこをどう適応させているか、といった点は興味があります。この辺はHarvardのGershman、PrincetonのDawらの最近の研究テーマでもあり、著者らもこのグループのはず。GPの予測力が比較対象の単純なモデルと比べても大して良くないですし、実際はもうすこし複雑、あるいはバイアスがかかったカーネルを使っているのだと思います。あとは、グラフ構造のようなより複雑な場合にどうしているか。人間が使っているグラフカーネルの構造なんかは、今回のような単純な問題に比べるとあまり想像がつかないので、探ってみると面白いかも。

追記:
今回の論文に続いて出た以下のレビューを読んでちょっと読み込みが足らなかったしていたことに気づきました。研究では、GPにより推定された不確実性を考慮し、賢く探索を行うUpper Confidence Bound(UCB)をモデルに採用することで、人間の行動を説明する能力が意味があると主張しています。つまり、空間相関だけでなく、不確実性に対する積極性を明らかにしたことも貢献の一つでした。ただそれでもなお、人間がUCBを使っていることがこれまで示されていなかったのが意外でしたが…。
The algorithmic architecture of exploration in the human brain - ScienceDirect