Sideswipe

情報工学、計算論的神経科学など、真面目なこと書くブログ。お仕事の話は Twitter: @kazoo04 にお願いします。

強化学習

これは 人工知能アドベントカレンダー の14日目の記事です。

人工知能アドベントカレンダーも半分以上終わりました。今回は筆者の体調が最近思わしくないため、短めでいきます(後日加筆修正があるとおもいます)。

強化学習(reinforcement learning)は、教師ありでも教師なし学習でもない第3の機械学習アルゴリズムです*1

強化学習とは

強化学習は、

  • エージェント
  • 環境
  • 行動
  • 報酬

が与えられた時に、報酬を最大化するように学習していく(これを方策という)方法です。

f:id:kazoo04:20151214011440p:plain
強化学習の模式図。エージェントは環境を観測して行動を選択する。行動すると環境から報酬が得られたり、罰が得られたり、なにも起きなかったりする。このフェーズを繰り返して、報酬が最大化されるような方策を得ることが目的になる。

昔テレビかなにかで見たイタズラで、「右足を上げるとテレビがつく」ようにして何も知らない人がテレビの前を通ったときにイタズラをしかけるというものがありました。
最初、被験者はテレビが付いたり消えたりするのを不思議そうに見ますが、じっと見てると(両足が地面についてるので)テレビは消えてしまいます。色々試行錯誤したのち、右足を上げて片足立ちすることでテレビが見られることに気づく、というわけです。これは簡単そうで意外と難しい問題で、その時に可能な行動は無数にあるのに、ごく少ない試行回数で「右足を上げておく」というベストな解に到達できるわけです。このときは、「環境」はそのまま実験環境を指し、「行動」は身体を動かすこと、「報酬」は「テレビがつく」ということにあたります。このときの最適な方策は、「右足を上げ続ける」です。「エージェント」はもちろん被験者自身のことです。

動物行動学や心理学などでは、ネズミやネコやサルやもちろんヒトを使って様々な実験がされるわけですが、「ある行動をする(レバーを引くなど)をすると、ご褒美(ジュースや餌やお金)がもらえたり、罰(電流が流れる、お金を取られる)が与えられたりする」タイプの実験が多く見受けられます*2。このような実験を動物に行うと、最初はどうすれば良いことが起きるかわからないので適当に行動し、ある報酬が貰えると「どうすればもらえるのか?」ということを試行錯誤して、最終的にルールに気づきます*3

f:id:kazoo04:20151214011609p:plain
強化学習の具体例。環境は様々な要因からなり、なにをすればどうなるのかはエージェント(ラット)はなにもわからない。何度か経験を繰り返していくと、効率よく報酬のジュースを得ることができるようになる。最適な方策は最初わからないので、とにかく適当に動くしか無い。この場合だと、「ランプが付いている状態でスピーカーから音が出たときにだけレバーを引くとジュースがもらえるが、それ以外のときにレバーを引くと床に電流が流れる」、とかかもしれない。可能な行動は無数にあり、環境も無数の可能性のもとに成り立っているが、動物はこのような不確定要素が多い環境でも素早く最適な方策を得ることができる。

このような学習は、哺乳類はもちろん、脊椎動物全般に見られ、イカやタコなどの無脊椎動物でも見られる*4ことから、進化の初期段階で得られた原始的かつ重要な学習方法だと考えられています。

学習方法

では、このような学習をどのようにコンピュータで実現すればよいでしょうか?強化学習には様々な手法がありますが、ほとんどのアルゴリズムは以下の様な流れになります。

  • 最初はなにをしたらいいかわからないので、とにかくランダムに動いてみる
  • 報酬が与えられたら、「どのような状態のとき」「何をしたか」について、「このときこうしたら良いことがあった」と記憶しておく*5
  • 次からはランダムさは残しつつ、先ほどの記憶を頼りに良くなりそうな行動もしてみる
  • 良くなりそうな行動をしてみて、予想通り報酬が受け取れたら、また「どのような状態のとき」「なにをしたか」を覚える(あるいは強化する)

このようにたくさん経験を積むことで「こういうときに、こうすれば、良いことが起きる」という環境と行動のペアが得られます。これを元に、報酬が最大化されるような方策を得るというのが基本的な考えです。

ここでは、特に有名かつ現在もよく用いられている代表的なふたつの手法、Q学習とActor-Criticを紹介します。

Q学習

Q学習はもっとも一般的に用いられているアルゴリズムで、考え方も簡単です。状態sと行動aと「状態sのときに行動aをしたときにどれくらい良さそうか」Q(s, a)の3つを考えます。

最初は、どのようなQ(s,a)も同じ値かランダムな値にしておきますが、ある条件のときに報酬が得られたらQ(s, a)を更新します。先ほどの図の例で言えば、「ブザーが鳴ったときにレバーを引いたらジュースがもらえた」とすると、Q(ブザーが鳴っている, レバーを引く)の値を大きくします。その後も、「ランダムに動くけど、Q値が高い状態と行動の組み合わせが可能なら、そっちを優先する」ような行動を続けると、Q値がどんどん更新されていき、最終的には良い方策が得られるというわけです。

Actor-Critic

Actor-Criticは他の様々なアルゴリズムとはちょっと性質が違って、行動を決めるActorと、今の状態がどれくらい良さそうか*6を決めるCriticという2つが組み合わさっています。

この方法が非常に優れている点は、行動が連続値を取る場合でも自然に計算が可能、という点です。どういうことかというと、Q学習はチェスのように「このコマをここに動かす」のような離散的で有限個しかない行動は簡単に扱えるのですが*7、身体の向きを◯度回転させる、のような行動の場合だと実数値になってしまうので無数の行動がとれることになってしまいます。

Q学習だと無限個の行動を管理しなければならず計算できない*8という欠点を、Actor-Criticでは正規乱数を使って、Actorは行動をランダムに選択することで回避します。Criticは正規乱数の平均や標準偏差を調整して、Actorがとる行動を変化させていきます。

おわりに

非常にざっくりとした説明で終わってしまいましたが、強化学習がなにか、という点についてはお分かりいただけたかと思います。こうしてみると生き物の行動はかなり強化学習で説明できる感じがしますよね。ロボットに強化学習の機能をもたせるだけでずいぶん知的に動いてくれる感じがします。もちろん実際はそんなに簡単な話ではないのですが…。

動物の脳では本当に強化学習をしているのでしょうか?また、しているとしたらどのようなアルゴリズムを採用しているのでしょうか?Q学習やActor-Criticが使われているのでしょうか?これらの点に関しては、また後日見ていきましょう。

*1:教師あり学習と教師なし学習の中間の方法、と言うこともあるが、これは半教師あり学習というアルゴリズムがあるので、あまり適切な表現とはいえない

*2:良いことが起きることで行動が強化されるのを「正の強化」、嫌なことがなくなるのを「負の強化」、悪いことが起きるのを「罰」と呼ぶ。実際にはもっと細かく「正の弱化」や「負の罰」などもあるが、ここではそこまで細かくは触れない。強化学習の文脈では、「報酬」しか存在せず、良いか悪いかは報酬の値の正負で決める。ただわかりやすく「罰」と呼ぶこともあり、厳密には決まっていない

*3:行動心理学的には、オペラント条件づけと呼ばれる

*4:ここでいう学習はオペラント条件付けであって、古典的条件付けではないことに注意

*5:負の報酬(良くないこと)が起きることもあるので、そのときも同様に「悪いことがあった」ことを記憶する

*6:具体的にはTD誤差を計算するのだが、疲れているのでここでは詳しく説明しない

*7:実際は離散的であってもチェスの場合はものすごく状態数が多いので結局扱いきれない。このようなときには別途回避策をとる

*8:たとえば行動の空間を圧縮したり離散化したりして扱いやすくしてからQ学習する方法もある。というかそれが一般的

教師あり学習

これは 人工知能アドベントカレンダー の13日目の記事です。

教師あり学習(supervised learning)は、「機械学習といえば教師あり学習」といってもいいくらいの機械学習を代表する一分野で、なにかを認識したり、予想したりするために必要な手法です。ここでは、いくつかの代表的な教師あり学習アルゴリズムを見ていきましょう。

教師あり学習とはなにか

既に度々説明していますが、教師あり学習はデータと正解のペアを与えて、それをもとに学習する方法です。
文字認識(数字認識)を例に取ってみましょう。以下の頭を見てください。

f:id:kazoo04:20151212000908p:plain

まず、プログラムに教えるためのデータが必要です。いろいろな形の数字の画像をたくさん用意します(図では3つずつしか用意していないが、普通は数百〜数万ほど集める)。そして、それぞれの画像に対して、その画像はどの数字に対応しているのかという正解データも用意します(教師データ、ラベル、教師信号等色々な呼び方がある)。

そしてこのデータとラベルのペアを教師あり学習のプログラム(教師あり学習器、あるいは単に学習器)に与えます。学習器の仕事は、このペアをよく観察して共通する特徴を見つけ出す、つまり「こういう特徴のある画像なら、この数字だ」というルールを見つけることです。

文字認識なら画像を与え、音声認識なら音声を、動画認識なら動画と、その正解を与えればどのようなものでも学習できます*1

汎化能力

汎化能力(generalization ability)はちょっとここで説明するには難しいのですが、以後も重要な概念になるので簡単に触れておきます。教師あり学習では与えられたデータを学習できても実際には使いものにならないことがあります。たとえば、人間がテスト勉強(ここでは数学を例にする)をするとき、教科書にある問題しか解くことができなくても、その場ではきちんとわかったつもりになれます。ところがテスト本番で、教科書にある問題より少し数字が変わった程度の問題に上手く対応できずにあまり点数がとれなかった、なんて話はよくありますよね。ここでの勉強は、「将来やってくるであろう問題」を解くためにやらなければならないので、逆に言えば教科書にある問題がまったくできなくても、テスト本番で問題が解ければ問題ないといえます。実際には、例題も解けないのに試験で上手く出来るとは思えないので両者は別物ではないのですが、教師あり学習でも同じことがいえます。

教師あり学習では、人間が用意した学習データはちゃんと認識できてるのに、いざ実際に使おうと思うと未知のデータにまったく対応できていない、ということが非常によくあります(過学習, overfitting)。これをクリアして、予め用意しておいたデータもちゃんと正解できるし、新たな未知のデータもきちんと正解できる学習器のことを「汎化能力が高い」といいます。教師あり学習の歴史は結局のところ、いかに過学習せずに汎化能力を高めるかという歴史にほかなりません。

代表的な手法

教師あり学習のアルゴリズムは非常に幅広く、また一見別物だが数学的には非常に似てる、とか、複数アルゴリズムを組み合わせたアルゴリズム、などもあるので、すっきりとした分類は難しいのですが、そのような細かい点はある程度注釈に書くことにして、よく挙げられる(あるいは使われている)アルゴリズムをいくつか紹介します。

ニューラルネットワーク

いきなり本命のニューラルネットワークです。ただニューラルネットワークは1950年代には既に登場していて*2、この頃はまだC言語LISPもないどころかようやくトランジスタが実用化されつつあるといった時代です。今ディープラーニングに牽引されて大ブームのニューラルネットワークですが、割と初期の頃から注目はされていたわけです。

しかも、他の手法も広義のニューラルネットワークとして扱えるものが多く、なんでもありな手法ではあります。

ニューラルネットワーク過去の記事にまとめたので、そちらを御覧ください

SVM

SVM(サポートベクターマシン, Support Vector Machine)は1963年に基本的なアイディアが、1992年に改良したものが発表され、特に改良後のカーネル法を使ったSVMという手法は当時とてつもない性能を誇り、今で言うDeepLearningブームのようになんでもSVMで学習すればOKという、教師あり学習のデファクトスタンダードな存在になりました。今でもSVMは非常によく使われていて、Deep Learningと組み合わせる手法も一般的です。SVMはその頃様々な問題が指摘されて下火になりかけていたニューラルネットワークにトドメを刺してDeep Learning誕生まで王者のように君臨していたレベルのアルゴリズムなので、ここでももう少しだけ詳しく触れておきましょう。

f:id:kazoo04:20151212010016p:plain

上のような問題を考えます。白と黒のデータがあって、それを分割する線を引きたいのです。いったん線が引ければ、新しいデータがきたときに、線のどちらがわにあるかどうか見るだけで、未知のデータが白なのか黒なのか当てることができます。これが目的です。実用的には白丸と黒丸ではなくて、それが数字データだったりするわけですが、ここでは簡単のために2次元平面上に黒丸か白丸があるというシンプルな問題を考えます。

でも、線の引き方には無数のパターンが考えられます(図右)。ここで、どう線を引くかで汎化能力が変わるので、過学習しないように、汎化能力が最も高くなるようなところに線を引きたいところです。

SVMでは、次のような考え方で線を引きます。白のデータと黒のデータの集まりから、お互い最も近いデータを見つけます(図では二重丸で示したデータ)。そしてそのデータから最も離れた場所に線を引くのです(青線)。

f:id:kazoo04:20151212010255p:plain

これをSVMではマージン最大化(maximum margin)と呼ぶのですが、このような基準でわけると大抵うまくいくことがわかっています。まあ直感的にも、複数のデータを分割するときは、その真ん中あたりで分割するのが合理的に思えますよね。

ただ、SVMはまっすぐな線しか引けないので、次のようなデータのときは困ってしまいます。

f:id:kazoo04:20151212010704p:plain

こういう学習データはどう頑張っても直線できれいに区切ることができません*3。ここまでが最初に提案されたSVMで、「まっすぐな線で区切れるような性質のデータならいいけど、そうじゃないと…」という微妙なしこりが残る手法でした。ところが1992年に革命的なアイディアでこれを乗り切ることに成功しました。ここでは難しい話を飛ばして、視覚的にわかりやすい説明をします。

f:id:kazoo04:20151212010941p:plain

上の図を見てください。「まっすぐな線でしか区切れないなら、データがある空間のほうを捻じ曲げよう」というメチャクチャな方法です。直線で区切れないデータでも、空間をうまく曲げると区切れるデータに変えることができます(図の赤線)。「そんなにうまい方法があるものか」と思ってしまいますが、カーネル関数を使うことで都合のいい空間を考えることが出来る上に、カーネルトリック(kernel trick)という方法も編み出され、カーネルトリックを使うと難しい計算を飛ばして、簡単に処理することができます*4

この謎の空間でSVMを使ってまっすぐな線をひいた後に、もとの空間に戻ってくると、あら不思議、直線を引いたはずなのに曲線になっています…というようなアルゴリズムです。よくわかりませんよね。実際にSVMの理論はとてもむずかしいのですが、とにかくすごい方法なのです*5

f:id:kazoo04:20151212011644p:plain

決定木

決定木(decision tree)はSVMと比べるとずいぶんわかりやすい手法です。ここでは実利を兼ね備えた例題として、「(食べ物の)ニラとスイセンを見分ける学習器を作る」ことを目標にしていることにしましょう*6

f:id:kazoo04:20151212013615p:plain
類を見ないほどに利便性の高い決定木の例

見て分かる通り、決定木はデータが与えられた時に、ある条件を満たしているかどうか?でどんどん分岐していって最終的な出力を行う方法です。
当然、これらの属性は予め人が決めておくわけですが、決定木は図のような木構造を自動的に決めてくれます。

最初に「ニラの匂いがするか」という質問が来ていますが、決定木は一番確実そうな*7ものから質問していきます。最後の方になると茎の太さというあんまり確実性がなさそうな質問になっていきます。

決定木のとても良いところは、他の手法と異なり、結果が人間が理解できる形で出力されることです。先ほどの図を見てもお分かりの通り、人間にとってとてもわかりやすい形式で学習器を出力してくれます。また、単に「はい/いいえ」で答えられるようなものと、「1cm以上かどうか」といったある閾値を設けて振り分けていく方法をどちらも混ぜて使えるのも、他の手法ではあまりない決定木のメリットです。

ここから派生したアルゴリズムとして、Random Forest や xgboost があり、これらは色々な決定木を大量につくって、多数決で最終的な答えを決めるものです。こちらはその性質上時間がかかるのはデメリットなのですが、扱いやすく精度も高いので色々なところで使われています(たとえばMicrosoftKinectが有名な例)。

Random Forest 系のアルゴリズムは、以前のブログで扱ったことがあるので、興味のある方は御覧ください。

kazoo04.hatenablog.com

線形分類器たち

線形分類器は、データを直線で区切るアルゴリズムすべてを指すので、実はSVMも線形分類器です*8。ただSVMは歴史的にも実用的にも機械学習に大きな影響を及ぼしたので、別途枠を設けました。

すでにSVMの項目で、「データを直線で区切れないデメリットがある」と言ってしまった線形分類器ですが、意外にも実用的にはかなり使えるアルゴリズムです。詳しい理由は省きますが、

  • 学習も認識も高速
  • オンライン学習しやすい*9
  • 意外と線形分離できるデータが多い*10
  • Kernelと組み合わせることで線形分類器でも非線形分離ができる(曲線で区切れる)ので実用上問題ない
  • アルゴリズムがシンプルで使いやすい
  • よく研究されていて、理論的なバックグラウンドが盤石

実は線形分類器についても過去のブログで取り扱っているので、興味のある方はそちらも御覧ください。

kazoo04.hatenablog.com

線形分類器はとくかく色々な種類があるのですべて紹介しきれませんが、古くはパーセプトロンSVM、最近でも活発に研究されていて、AROWやSCWといった方法が提案されています。実用例としては、GMailの優先トレイ(重要と思われるメールが目立つように表示される機能)は線形分類器のひとつである Passive Aggressive で実装されていたようです(今は改善されて違う方法かもしれません)。

分類と回帰

具体例として上げたのは「0〜9までのどの文字か?」「黒丸か白丸か」「ニラとスイセンのどちらか?」といったどれかに分類するものでしたが、実際には回帰といって、数値を出すこともできます。たとえば、顔写真から年齢を推定したいときは、「0歳か1歳か2歳か3歳か4歳か…」といった分類方法でもダメではないのですが、回帰を使うと「25.3歳」のように実数を出力してくれます。天気も「晴れか曇りか雨かを予想したい」場合は分類になりますが、「明日の気温が何度になるか予想したい」場合は回帰になります。

あるいは株価のデータを使って、「株価が上がる確率はいくらか」といった確率を扱う場合も回帰が利用できます。回帰をそのまま分類に使うこともできるので両者の違いはたまに曖昧なのですが*11、分類も回帰も応用範囲が広いのでよく利用されます。

まとめ

教師あり学習は非常に重要な役割を果たし、また画像認識、音声認識など最近良く話題になる分野なので、すこし雑多になってしまいましたが、いつもより細かく紹介してみました。人間の脳も、ある種の教師あり学習をしているという見方が有力ですが、これはまた後日詳しく見ていくことにしましょう。

*1:これはかなり不正確な表現で、どのようなデータでも人間が適切に設計された特徴ベクトルに変換できれば学習できる、ということ

*2:パーセプトロンが1958年、形式ニューロンはもっと前

*3:線形分離不可能、あるいは非線形分離なデータという

*4:これ以上詳しく説明しようとすると、また1ヶ月分のアドベントカレンダーが必要になるので、カーネルや再生核ヒルベルト空間の話はここではしないし、高次元空間への写像なども触れない

*5:最近はSVMやKernel法に関するやさしい解説がインターネットにも多くあるので、気になった人は見てみることをおすすめします。細かい証明を考えなければ、カーネルカーネルトリックの考え方はそれなりにわかりやすいかと思います

*6:ニラとスイセンは見た目が似ているため、間違って庭に生えている有毒なスイセンを食べてしまう事故がよくある

*7:具体的な決め方はアルゴリズムによるが、GINI係数を使うCARTなどが有名

*8:もっと言えば、線形分類器はニューラルネットワークで表現できるので、線形分類器もSVMニューラルネットワークのひとつだとも言える。ただ、あまり一般的な分類ではない。

*9:オンライン学習は、データをいっぺんに与える必要がなく、必要なときに適時追加していくような使い方ができるアルゴリズム

*10:これも詳しい理由は省くが、自然言語処理などは非常に高次元なデータを扱う事が多く、そのようなデータは線形分離可能なことが多い

*11:ロジスティック回帰などがその例

教師なし学習

これは 人工知能アドベントカレンダー の12日目の記事です。

前回は機械学習の大まかな解説をしました。今回はそのうちの教師なし学習(unsupervised learning)について詳しく見ていきましょう。

教師なし学習とはなにか

教師なし学習は、学習対象のデータはあるが、それが何かという正解(文脈によってはラベル、教師信号ともいう)は与えられていないので、どうにかしてなにかしらの構造や法則を見出すための手法です。

大抵の場合、クラスタリング系のアルゴリズムを扱うことが多いので、ここでもクラスタリングを中心にします。

クラスタリングとはなにか

クラスタリング(clustering)は機械学習に限らずによく使われる言葉なので親しみやすいかと思います。
簡単に言えば、与えられたデータに対して、似たような物をまとめる処理です*1

たとえば、以下の図を見てください。いくつかの図形が書いてありますね。このひとつひとつをデータだと思ってください。データには普通複数の属性(attribute)があります。ここでいえば、パッと見でも色と形の属性がありそうです。

f:id:kazoo04:20151211211020p:plain

この図形をクラスタリング、つまりグループわけしてくださいと言われたら、どのようにしますか?これには正解がありませんよね。なにしろ何を基準にしてグループ分けすればいいのかもわからないし、いくつのグループに分けるのかもわからないからです。以下のようにいろいろなわけかたが考えられます。

f:id:kazoo04:20151211211030p:plain

Aは色で3つに分けたもの、Bは形で3つにわけたものです。これがそこそこ妥当な感じがします。でも分け方はほかにもいろいろ考えられます。Cは「丸いかどうか(角があるかどうか)」で分けたものですし、Dは「図の下のほうに描かれているかどうか」で分けたものです。なんでもアリですね。でも分け方の基準がないのだから、仕方ありません。

このように、クラスタリングは正解がわからないデータに対して、どのような法則があるかを見やすくする*2ことが目的であって、どう解釈されるかはまた別の話になります。

言い換えると、クラスタリングのためにはなにかしらの前提を設ける必要があります。この場合だと、たとえば「どのグループも同じ数だけの図形が含まれるようにする」という条件を設けることによって、Bの分類方法が妥当だということになります。

代表的な方法

k-means

k-meansは非常に広い分野で用いられているアルゴリズムで、クラスタリングの代表格です。派生アルゴリズムもたくさんあります。

k-meansは、「どのクラスタも同じくらいの個数のデータが含まれる」ことを前提においている*3ため、この条件にそぐわないデータを分析しようとするとメチャクチャな結果になることもあるのですが、それでもよく用いられています。

以下のようなデータを考えます。XとY軸があって、点がいくつかあります。これをクラスタリングしてみましょう。

f:id:kazoo04:20151211215543p:plain

先に正解を言ってしまうと、これは左下と右下にそれぞれ100個ずつ点をある程度バラけさせて生成したものなので、

f:id:kazoo04:20151211215648p:plain

このようになります。妥当な感じに分割されました。これはよく出来たパターンですが、実際には次のようにうまく分割できないこともあります*4

f:id:kazoo04:20151211215733p:plain

また、そもそもk-meansはいくつのクラスタに分けるのかは予め人間が指定しなければいけないので、たとえば以下のランダムに生成したデータでも、クラスタ数を6と指定すれば無理矢理にでも6個に分割します*5

f:id:kazoo04:20151211215859p:plain

k-meansは一見簡単そうなのにうまく分類できないパターンがたくさんあることが欠点の一つです。この理由の一つは、k-meansは理論的に似たグループをまとめるときに、円で囲うようにしてまとめていくことが原因です。

f:id:kazoo04:20151211220556p:plain

上の図を見てください。左のケースでは、両方のクラスタをうまく円で囲むことができ、きちんとクラスタリングできています。真ん中のケースでは、中央にある青いデータは円で囲めるのですが、赤のデータもかこおうとすると青のクラスタを飲み込んでひとつのクラスタになってしまうのでうまくいきません。右のケースも同様で、青いデータはいいのですが赤いデータを囲おうとするとやはり青いデータと被るのでうまくいきません(この場合は、左右や上下に無理矢理分けてクラスタリングされることになる)。

こういったときには、カーネル(kernel)という方法を使ってk-meansする方法*6や、DBSCANなど囲み方が円でなくてもいい方法を使うことになりますが、どの手法も一長一短あり最強の手法はありません*7

おわりに

今回は簡単ではありますが、教師なし学習とはなにか、また教師なし学習の一手法であるk-meansによるクラスタリングについて触れました。次回は教師あり学習について見ていきましょう。

*1:もうすこしだけ詳しく言うと、同じグループ内のデータはお互いに似ていて、別のグループのデータはお互いに似ていないようにデータを分割すること

*2:見やすくするといっても、「人間がわかりやすい形にする」場合と「機械が処理しやすい形にする」場合がある

*3:この書き方はあまり正確ではない。詳しく言うなら、クラスタの形状が超球状になり、どのクラスタもその半径が同じくらいになる

*4:この例では、クラスタに含まれるデータの数が大きく異なるので失敗している

*5:クラスタ数も自動的に推定するアルゴリズムもある

*6:kernel法は様々なアルゴリズムに応用されている非常に強力な手法だが、理論が難しいのでここでは触れない

*7:たとえば人間が決めなければならない値(パラメータ)が更に増える、時間がかかる、メモリ消費量が多い、など

機械学習

これは 人工知能アドベントカレンダー の11日目の記事です。

機械学習とはなにか?

機械学習は、人工知能*1を実現するための一連の理論・手法です。

簡単にいえば、もともとは計算する機械(今で言えば電卓)として生まれたコンピュータに、人間のような自分で考えるプログラムを搭載できるかどうかという試みです。コンピュータは当初は微分積分などの計算に使われていましたが、その後は各種シミュレーションをしたり、音楽・音声を扱ったり、画像・動画を扱ったりと様々な情報処理に応用されてきました。その延長として、「SFにでてくるロボットのような、自分で考え、話すことのできる存在を作ってみたい」と考えるのは自然な流れです。

普通の(一般的には機械学習とされない)プログラムと、機械学習との境界は非常に曖昧*2ですが、アーサー・サミュエルが1959年に「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野(Field of study that gives computers the ability to learn without being explicitly programmed)」としているそうです*3

ある手法が機械学習かそうでないかはかなり微妙なところがあり、たとえば遺伝的アルゴリズムは一般的には機械学習ではないと私は思うのですが、機械学習として扱うこともあるようです。また、機械学習でも「一見違うが、実は数学的にはよく知られている手法とまったく同じ」ということが後からわかったりするので、計算手法というよりは、その手法を考えた人や使う人が機械学習だと思っているかどうかという主観が入っていることも頭の片隅に置いておくと話がスムーズかと思います。

画像認識

昔からよくある問題が文字認識で、たとえば葉書の郵便番号部分の文字を読み取って機械的に分類できるとかなりの効率化が見込めるうえ、分析対象は0〜9まで10個の文字を認識できさえすれば良いので古くから利用されてきました。定義から言えば、「0〜9までの数字をコンピュータに予め教えておけば、新しく送られてきた葉書の番号を見て、それが0〜9のどれかを過去のデータから判断する」ようなプログラムを作るわけです。

今ではハードウェアや Deep Learning などソフトウェアの進歩によって、文字だけでなく写真を見て何が写っているのかを判断したりすることができるようになりました。

時系列分析

時系列分析と聞くと大仰な感じがしますが、時々刻々と変わっていくようなデータに対して、今までの傾向から今後どのようにデータが変わるのか予想するようなことです。わかりやすい例は株価でしょうか。もし機械学習で株価の変動が予想できたら間違いなく儲かるわけで、この分野も古くから(もちろん今も)精力的に研究されている分野です。

レコメンダ

Amazonで買い物するときに「この商品を買った人はこの商品も買っています」とか「あなたへのおすすめ」とか、見たことがあると思います。これもレコメンドといって機械学習の一分野です。ごくごく原始的なレコメンドシステムは、あなたの購入履歴を数値*4に変換して、似てる数値を持ってる人を探し、その人が買った商品を推薦するといったことをします。これだけ聞くと統計と何が違うんだという感じがしますが、実際やってることはほとんど統計だったりします。強いて言えば、既に述べたとおりオススメした商品をユーザがほんとうに買ってくれるのかどうかは未知なので、今までの購入動向から何を買うかという未来の情報を自動的に推測する必要があり、このあたりが機械学習っぽいかなという感じです。

分類

そんな機械学習ですが、一口に機械学習といっても実際には様々な種類(分野)があります。代表的なものを挙げると

  • 教師あり学習(supervised learning)
  • 教師なし学習(unsupervised learning)
  • 強化学習(reinforcement learning)

の3つがあります*5*6

最初の2つの違いは簡単で、人間が答えを教えてあげないといけないのが教師あり学習、答えがわからない状態でなにか優位な情報を分析するのが教師なし学習です。
強化学習はすこし複雑で、何をどうするのが良いのかは機械も人間もわからないのですが、何か行動すると良いとか悪いとかの結果は返ってくるような状態で、最適な行動を模索するものです。

教師あり学習

教師あり学習が一般的に「機械学習」あるいは「人工知能」と呼ばれている(呼ばれやすい)分野にあたります。たとえば手書きの数字認識をしたかったら、0から9まで書かれた画像をたくさん用意して、「この画像は0」「この画像は1」…というようにたくさんプログラムに与えます。プログラムは画像が提示されるたびに「こういう特徴があるときは0なんだな」と学習していく、というわけです*7。人間がつきっきりで教えないといけないので*8、これが大変なのがデメリットです*9

教師なし学習

教師なし学習は、そもそも人間側もなにが正解なのかわからないデータをなんとか分析して新たな知見を得るようなものです。一般にデータマイニングと呼ばれる分野とかなり被っています。

たとえば、Twitterにはたくさんのユーザがおり、またそれぞれのユーザは年代や性別や職業などによっていくつかのタイプに分けられると考えられます。これらをツイートの内容からうまいこと5種類とか10種類とか100種類くらいのタイプに分けたい(教師あり学習ではこのようなタイプをクラスタと呼ぶ*10)とき、そもそも人間としてはどんな分類が適切なのか事前にはわからず、むしろそれが知りたいからデータを分析しようとしてるわけです。このようなときに教師なし学習を使って、「似てるユーザをN種類に分類する」といったことをします。教師なし学習の出力に正解はないので、出てきた結果は人間が見て解釈を与える必要があります(たとえばあるユーザの固まりを見て「うーん、これは見たところどうやらIT系の技術者がひとまとめになっているようだぞ」といったように考える必要がある)。

教師あり学習と教師なし学習の中間的な存在として、半教師あり学習(semi-supervised learning)があります*11

強化学習

強化学習は教師あり学習でも教師なし学習でもない方法です。
たとえばAとBの2つのボタンがあって、最初はそのボタンがなんなのかもわからないけれど、Aを押したら身体に電流が流れ、Bを押したら美味しい餌が出てきたら、「Aのボタンを押すのは嫌だ、Bのボタンを押すと良いことがあるぞ」と判断するわけです。

これは行動を起こすと即座にフィードバックが得られる例ですが、たとえばチェスをするときは色々コマを動かしてみてもその時々で勝ったか負けたかはわからず(盤面を見れば優勢か劣勢かはわかるが、チェスを始めた直後はそれもわからず、そのような洞察力は経験によって得られる)、ゲームが終わって初めて良いか悪いかがわかります。このようにいろいろな行動をするとある条件のときにようやく報酬が得られるような問題もあり、こういったことにも強化学習で対応できます。これはちょっと動物っぽい感じでいかにも人工知能という感じですね。

強化学習は将棋AIの分野でBonanzaというプログラムが取り入れて優勝したことから一部の分野ではかなり知られている手法です。

おわりに

今回は機械学習とはなんなのかについて簡単に触れました。次回以降はそれぞれの手法について詳しく見ていきましょう。

*1:このアドベントカレンダーを読んでいる人に改めて説明する必要はないと思うが、AGIではない旧来のAI、あるいは弱い人工知能をここでは指している

*2:特に、統計と機械学習の違いはよく論じられる。一般的には「統計は既存のデータを分析して知見を得る」ことを主眼に置き、機械学習は「既存のデータを分析して、未来(あるいは未知)のデータも分析できるようにする」ことを主眼におくという違いをもって説明されるが、結局のところ両者のかなりの部分は共通していることは間違いない

*3:Wikipediahttp://holehouse.org/mlclass/01_02_Introduction_regression_analysis_and_gr.html による

*4:正確にはベクトル

*5:半教師あり学習を含めることもあるが、ここでは教師あり学習の一分野という扱いにした。Wikipediaはトランスダクティブ学習とマルチタスク学習も挙げているが、これもここでは広義の教師ありとしている

*6:ニューラルネットワークは?」と思う方もいるとおもうので一応注釈を書くが、ニューラルネットワークはまた違った分類方法にあたり、教師あり学習にも教師なし学習にも利用される一手法なのでここでは出てこないことに注意

*7:実際はもっと複雑だが、後日あらためて解説する

*8:入力と正解の組を与えないといけない

*9:ここを改善するために半教師あり学習とか、Active Learning とか色々な派生した手法が存在する

*10:Twitterでもクラスタと呼ぶことがある

*11:準教師あり学習と呼ぶこともあるが稀

高次脳機能障害と分離脳

これは 人工知能アドベントカレンダー の10日目の記事です。

今回は少し心理学よりの話を中心にします。

はじめに

謎の仕組みで動いている非常に複雑な機械があったとき、まったく解析の手がかりがなくても、ある部品を取り去ると特定の機能だけ働かなくなることを発見したとします。すると、システム全体の仕組みや、その部品がどのような仕組みで動いているのかは依然としてわからないままですが、その部品が特定の機能を持っていることや、機械全体がある種のモジュール構造をもっている、ということはわかります。

脳も同じで、各部位がどのようなメカニズムによって動作しているのか、またその各部位が協調してどのように脳全体を成り立たせているのかについては、不明な点が多くあります。一方で、脳のある特定の部位が損なわれると、その場所に応じて特定の障害が現れることがわかり、脳機能局在論(theory of localization of brain function)が支持されることになります。

たとえば、すでに紹介したブローカやウェルニッケによる言語野の発見が代表例です*1*2

その後も、(主に戦争によって)脳のごく一部のみに損傷を受ける患者が非常に増えたことや、脳腫瘍や脳梗塞が起きても一命を取り留める患者の増加で、各部位の働きがわかるようになってきました。

さらにfMRIなどの測定技術の向上も手伝って、あることをしているときに脳のどの部分が活発になるかといったことがリアルタイムでわかるようになりました。本稿では、このような過去の事例によって得られた事例をいくつか紹介します。

高次脳機能障害

高次脳機能障害は、主に大脳の損傷によって、様々な精神機能の低下あるいは喪失が生じた状態です。高次脳機能障害は非常に複雑で言葉では言い表しにくい症状もあるのですが、たとえば以下のような障害が生じます。

  • 失語: 話したり聞いたりすることができない*3
  • 失行: 身体をうまく動かすことができないか、まったく動かすことができない
  • 失認: 特定の感覚のみ感じられない
  • 注意障害: 物事に集中したり、集中しなければならないものを切り替えることができない
  • 計画の障害: 物事を順序立てて計画したり、その計画にしたがって行動できない、失敗しても行動を変えられない(遂行機能障害)
  • 記憶障害: 物事を覚えておくことができない*4

高次脳機能障害は健常者には非常に理解しにくい症状で、普通無意識的に行われている機能が損なわれた状態です。

注意障害といっても、単に「集中力がない性格なのでは?」と思われがちですが、たとえば

  • 「『あー』と言い続けてください」というような課題ができず、すぐにやめてしまう(持続性注意障害)
  • 人と話しているとき、他の人が動いていると次々に注意が移ってしまって街中などでは会話できない(選択制注意障害)

というようなレベルであって、単に「本人が真面目にやっていないからだ」というような性格の話ではないことに注意してください。

失語

失語は、ウェルニッケ失語やブローカ失語で見てきたように、

  • 声帯や舌などの発声器官には問題がないのに話せない*5
  • 聴覚には問題がないのに相手が言ってることを理解できない
  • 発音は明瞭だが、文法がめちゃくちゃで何を言っているのかわからない
  • 文章が読めない
  • 文字が読めない*6
  • 文字が書けない
  • 復唱ができない

といった症状が見られます。
すでに見てきたように、言語中枢は脳の幅広い部分に存在しているため、損傷部位や患者によって症状は千差万別です。失語症は症状に応じて運動性失語、感覚性失語、超皮質性失語など様々な分類が知られています。

失認

失認は特に視覚失認が広く知られています。これは視覚入力には問題がないのに、大脳の視覚を処理する領野が障害されているために目で見ているものが理解できない状態です。失明とは異なり、「見えているのに、それ何かわからない」という通常の感覚ではかなり理解しづらい状態です。

たとえば、机の上にあるもの(懐中電灯やドライバーやコップや時計など)を指して「これはなんですか?」と質問しても、患者はわからないか、まったく関係のない回答*7をしてしまいます。一方で、それを手にとった瞬間に正解がわかることもあります。これは視覚野が障害されていても、体性感覚野は機能しているので、触覚から対象物を当てることができたと考えられます。また、わからなくてもかなり上手にその物体のスケッチをすることができます。だから見えてないわけではないのです。

f:id:kazoo04:20151209222554p:plain
RubensとBensonが実験に使ったイラスト。上に書いてあるのがお手本(鍵だけは右にあるのが手本)で、下が患者が模写したイラスト。模写自体は問題なくできていることがわかる。(Rubens, 1971)

患者は、たとえば豚については「犬か他の動物かもしれない」と惜しいところまでいっていますが、鳥のイラストは「切り株」と答えています。

この場合は、視覚も体性感覚も正常で、視覚と記憶をつなげる部分に問題が起きていると思われます*8*9

f:id:kazoo04:20151209223401p:plain
古畑が実験に使ったイラスト。上に書いてあるのがお手本で、下が患者が模写したイラスト。やはり模写自体は問題なくできていることがわかる。(Yoshihara, 1996)

こちらの例だと、患者は鍵に対しては模写の前は「女の人の顔」と答え、模写後は「ネクタイピン」と答えています。模写によって視覚以外の領野でも情報が処理され、すこし正解に近づいたのかもしれません。同様に、豚のイラストは「女の人の顔」→「牛」、カニのイラストは「お茶」→「カニ(正解)」、傘のイラストは無回答→「わからない」と回答したが、実験者が「家にあるものか?」と質問すると、「あります。こうもり(傘のこと)」と正答しています。

半側空間無視

半側空間無視(hemispatial neglect)も失認の一種で、視覚によるものが有名ですが聴覚や触覚にも影響があり、症状としては体の半分からの刺激が認識できなくなるというものです。

たとえば、右半球(右脳)の視覚野が損傷すると、左視野が見えなくなります。「見えなくなる」というと、視野が半分になって左側は真っ黒に見えると思われがちですが、実際には患者には「見えていない」事自体がわかりません(ある部分から先が真っ黒になって視界が途切れているような場合は、半側空間無視ではなく半盲と呼ぶ)。また、身体(頭)を基準にして片側半分が見えないわけではなく、注視した部分の半側が見えなくなります。
たとえば、ご飯を食べるときでも、それぞれの皿の右あるいは左半分しか食べずに食事を終えてしまいます。移動するときも壁や柱にぶつかってしまったり、傷害されてる側から話しかけれられても気づかなかったり、顔半分だけひげを剃り忘れたり(本人はきちんと剃ったと思っている)といった症状が現れます。模写課題でも、お手本にある図のそれぞれ半分しか描けません*10

分離脳

分離脳(split-brain)も非常に興味深い障害のひとつです。
大脳は2つの大脳半球(右脳と左脳)からなることは既にご存知だと思いますが、大脳半球は直接くっついているわけではなく分離しており、両者は脳梁という大量の神経線維でつながっています。ここで互いの処理内容を通信していると考えられていますが、脳梁離断術(corpus callosotomy)によってこの脳梁を部分的に切断することがあります*11

2つの大脳半球をお互い通信できなくしてしまうなんて、致命的な障害が生まれそうに思えますが、予想に反して一見なんの影響も出ていないように見えるという驚きの結果になります。

ガザニガとスペリーはこの分離脳患者を対象に様々な研究を行い、さまざまな興味深い現象を発見しました。

特によく用いられたのは、左右の視野に別々の絵を見せるというものです。分離脳患者の場合、右視野に提示された画像は左半球に、左視野に提示された画像は右半球に送られて処理されます。通常の人であれば脳梁によって左右のイメージが統合されるのですが、分離脳の場合はこれがなされません。左視野と右視野でそれぞれ別の絵を見せれば、左右の違いがわかるというわけです。

たとえば、左半球にハンマーのイラストを見せて、右半球にはノコギリのイラストを見せます。そして患者に「何が見えますか?」と聞くと、必ず「ハンマーが見えます」と答えるのです。これは言語野が左半球にあることが原因です。右半球に送られたノコギリのイラストは、視覚野で処理されたあと側頭葉に送られて「これはハンマーである」と判断されますが、言語野がある左半球にその情報を送ることができないので、言葉に出てこないのです*12

さらにおもしろい点は、「目を閉じて左手で絵を描いてください」と要求してペンを渡した時です。一見すると、意識に上っているのはノコギリではなくハンマーですから、ハンマーの絵を書くはずです。一方で、左手の制御は右半球で行われます。そのため、患者はなんとノコギリの絵を描くのです。しかも目を開けた患者は、自分がノコギリの絵を描いたことに驚きます。「何を描きましたか?」と聞くと正確に「ノコギリを描きました」と答えるものの、「なぜノコギリの絵を描いたのですか?」と質問しても、患者はただ「わからない」としか答えられないのです。

別の実験では、左半球には鶏の足のイラストを見せて、右半球には雪が積もっている小屋のイラストを見せます。
次に手元に様々なイラストが描かれたカードを置き、「左右の手でひとつずつ関係するものを選んでください」と頼みます。
すると、右手は鶏のイラストが描かれたカードを選び、左手はスコップのイラストが描かれたカードを選ぶのです。今までの話からすればここまでは納得できると思います。なぜなら、脳の右半球は雪が積もっているイラストを見ているので、左手を制御して雪かきのためのスコップを選ぼうとします。左半球は鶏の足のイラストを見ているので、右手を制御して鶏を選ぼうとするわけです(なお、ここでは本人は左半球に提示された「鶏の足」しか見えていません)。

面白いのはここからで、実験者が「別々のカードを選びましたが、なぜその2枚を選んだのですか?」と聞くと、「鶏の足は当然ニワトリのものだし、スコップは鶏の小屋掃除に使うからです」と答えるのです。もちろん真実は雪の場面を見たからスコップを取ったからですが、患者はそれがわからないので、分かる範囲の情報(「鶏の足のイラストを見た」、「鶏のカードをとった」、「スコップのカードをとった」)を使って即興でそれらしい理由を作るのです。しかもこれは、「わからないから適当な理由をでっちあげた」という意識は本人になく、本当にそう思っていることもわかっています。

我々は自分が受け取った情報をすべて把握したうえでそれを統合し、吟味して意思決定をしているように思っていますが、この実験が示唆するところは、意識に上らないが意思決定に深く関わっている情報が存在し、またそれを意識することはできない、という点です。

意識とはなんなのか、考えさせられる実験です。

*1:それ以前にも、フランツ・ヨーゼフ・ガル(Franz Joseph Gall, 1758-1828)による「骨相学」では脳の特定の能力が優れているとその部位が大きくなり、頭蓋骨の形状にあ現れるとした仮説がある。これは現代からすれば明らかに間違えているが、結果的には「脳は場所によって明確な役割分担がある」という結論はあっている

*2:さらに遡ると、最初に脳機能の局在について触れているのは、ヒポクラテス(Hippocrates, 紀元前460頃-紀元前370頃)が「頭の左に外傷があれば右半身に痙攣が起き、右に外傷があれば左半身に損傷が起きる」旨を報告している

*3:話せなくなる運動性失語・聞いても理解できなくなる感覚性失語がある

*4:新しく覚えることができない前向性健忘と、古い記憶を忘れてしまう逆行性健忘(いわゆる記憶喪失)がある

*5:声が出なくなる症状として失声症もあるが、これは心因性なので違う

*6:漢字だけ読めない、といったケースもある

*7:本当にまったく関係のない答えのときと、似ているものと間違える例(イヌに対してネコ)、上位カテゴリのものを答える例(イヌに対して動物)と答える3パターンある

*8:Rubens A, Benson D.F, Associative visual agnosia. Arch. Neurol., 24:305-316, 1971

*9:古畑博代, 視覚失認に関する認知神経心理学的検討. 広島県立保健福祉短大紀要. 2 (1) 21-29 1996

*10:とはいえ印象に残りやすいものは模写できるようだ。たとえば掛け時計の絵を書くときは、時計全体の丸いシルエット自体は描くことができ、半円になることはない。一方で数字は12〜6くらいまでしか描けない

*11:滅多にないが、てんかんの治療として稀に行われることがある

*12:ただ、分離脳の患者が誰でもこのタスクをこなせるわけではないらしい。一部の患者は左右どちらの半球でも見たものの認識が可能になることがあり、その場合にのみこのような実験が成立する

記憶

これは 人工知能アドベントカレンダー の9日目の記事です。

生理学よりの話は今回で最後です。記憶の概要について見ていきましょう。

記憶の分類

一口に記憶といっても、その種類は様々です。様々な分類方法がありますが、今回はもっとも一般的な物を紹介します。
まず概要を説明すると、もっとも大雑把な分類としては短期記憶と長期記憶があります。前者はある程度時間が経つと完全に忘れてしまう(忘却)もので、長期記憶は固定されて忘れることがないものです*1*2
さらに長期記憶は陳述記憶と非陳述記憶にわけられます。前者は言葉で説明できる記憶(「あなたの誕生日は?」「住所はどこですか?」「三角形の面積の求め方は?」など)で、後者はそうでない記憶です。言葉では言い表せない記憶というのは一見わかりにくいのですが、これは要するに「体で覚える」タイプのものです。自転車の乗り方や、泳ぎ方は非陳述記憶です。長期記憶はもっと細かく分けられますが、これは追々見ていきましょう。

短期記憶(ワーキングメモリ)

短期記憶(short-term memory, STM) はもっとも持続時間の短い記憶です。たとえば電話番号を覚えるとか、初対面の相手の顔と名前を覚えるとか、買い物の時にレジでいくら出せばいいかとかそういったもので、特に何もしなければ(覚えようとしなければ)数秒から数分程度で完全に忘れてしまいます。

昔は7個までしか覚えられないとされていた*3のですが、その後の研究で今は「4」とされています*4

なんで昔は7だと思われていたのかという点ですが、人は短期記憶を覚える(記銘する)とき、効率化のために情報をひとまとめにしており(これをチャンク化といい、ひとまとめになった情報ひとつひとつをチャンクという)、このせいで見かけの記憶容量が増えていたのです。

たとえば、 「3578639」という数字を覚えるのは少し大変ですが、「357-8639」とか「3578-639」と分けるとすこし覚えやすくなります。チャンク化は意識的にも無意識的にも行われており、これによって4つしか覚えられないという制限を少し緩和しています。

短期記憶がどのような仕組みによって実現されているかはまだわかっておらず、様々な仮説があるのですが、少なくとも大脳皮質、特に前頭葉が主要な役割を果たしているようです*5

長期記憶

長期記憶(long-term memory, LTM)は短期記憶とは真逆で、覚えるのに時間がかかるものの一度覚えれば永遠に忘れない記憶です。
たとえば、試験勉強の際にテスト開始ギリギリまで教科書を見ていろいろ記憶しようとするとある程度覚えられますが、数時間後には完全に忘れています。これは情報が短期記憶には記銘されたものの、長期記憶には記憶されなかったため、と説明されます。逆に、たとえばハサミの使い方、九九、母校の名前、自転車の漕ぎ方、などは一度覚えればその後何年も使わなくても再び思い出すことができます。これらは長期記憶に固定されたためだと説明されます。

既に述べたように、長期記憶は陳述記憶(宣言的記憶ともいう)と非陳述記憶(手続き記憶ともいう)にわけることができ、さらに陳述記憶は意味記憶エピソード記憶にわけられます。

陳述記憶 - 意味記憶

意味記憶は文字通り言葉の意味に関する記憶です。「山とはなんですか?」「犬には脚が何本ありますか?」「日本の首都はどこですか?」といったものは意味記憶になります。

陳述記憶 - エピソード記憶

エピソード記憶はその人の個人的な体験に関する記憶です。自分の名前、自宅の住所、今朝何を食べたか、お気に入りの店、などといった記憶があてはまります。
より砕けた言い方をすれば、映画やドラマで記憶喪失になった人が忘れている情報が陳述記憶です。あの人たちは走ったり車の運転をしたりでき、他人の言うことを理解することもできます。つまり非陳述記憶も意味記憶も保たれています。ただ自分が誰で今までどんなことをしていたのかというエピソード記憶だけが失われているわけです。

意味記憶エピソード記憶は単に「個人の経験によるものか」という違いしかないので、脳内でこの2つが明確に別れて処理されているのか(もしそうなら、なぜその必要があるのか?)*6についてはよくわかっていませんが、一般的には別物として扱います。

展望的記憶

展望的記憶(単に展望記憶とも)は、今まで触れていませんでしたが、未来に関する記憶です。まだ経験していないという点で他の記憶とは異なり、「あとで牛乳を買いに行く」「来週の火曜日に病院に行く」「来年までに机を買う」といった将来のことに対する記憶です。

非陳述記憶(手続き記憶)

既に何度か触れていますが、非陳述記憶は言葉では言い表せない記憶です。一般には体の動かし方が当てはまります。自転車の漕ぎ方や泳ぎ方は、言葉でコツを説明することはできるかもしれませんが、他の記憶と違ってそれを聞いたところでマスターできるような性質のものではありません。何度も身体を動かして記憶する必要がありますが、一度記憶したらずっと忘れません。

これらをテレビゲームをやるときに例えるなら、

  • ゲームのルールを覚えるのは意味記憶
  • 今の戦局を元にどう行動すればいいか考えてるときは短期記憶
  • ゲームを何度もやって上達するのは非陳述記憶
  • 昨日ゲームをやったがうまくいかず悔しかった、というのはエピソード記憶
  • 明日の午後7時になったら友達とゲームする約束がある、というのは展望的記憶

という分類になります。

生理学的な知見

f:id:kazoo04:20151208230308p:plain

それでは、これらの記憶はどのように実現されているのでしょうか。まず大雑把な対応関係としては

であり、かつ短期記憶を陳述記憶として固定するために海馬(hippocampus)が必ず必要です*7

非陳述記憶は別として、陳述記憶は大脳で処理された情報がまず海馬に保存され、その後必要だと判断された記憶(長期記憶に転送するべき情報)は海馬から大脳に転送されて長期記憶になると考えられています。細かい点では様々な説がありますが、このように情報は大脳から海馬にいったん保存されて、次に時間をかけて大脳に固定されていくというモデルが支持されています。

「記憶は最初はぼんやりとしか覚えていなくて、繰り返し覚えようとすることで次第に明確に刻まれる」と思われていますが、実際は脳の中を記憶が移動しているわけです。

海馬の構造

海馬体(Hippocampal Formation)は図のようにいくつかの部位から構成されます。海馬体のことを指して海馬ということもありますが、厳密には海馬(hippocampus, アンモン角ともいう)は海馬体の一部でしかありません。また、海馬はCA1, CA2, CA3の3つからなります。
さらに、嗅内野(entorhinal cortex)や海馬(uncus of hippocampus)も海馬体に含めますが、これらは大脳皮質の一部(海馬傍回)でもあるので図では点線でわけました。

f:id:kazoo04:20151208222800p:plain

大脳皮質からの入出力は、ほとんど嗅内野経由でやりとりされます。その他、視床側坐核扁桃体、乳頭体との連絡があることもわかっています。側坐核扁桃体、乳頭体は、報酬、快・不快、恐怖、快楽などを制御している部分と考えられており、これらの器官と海馬が密接に結合している(場所も近い)ということは、「入ってきた情報を記憶として留めておくかどうか?」の判断に感情が強い影響を与えるということを示唆しています。たとえば、とても怖い思いをしたときや腹が立ったときは、それが一瞬のことであっても何十年も記憶が残ります。一方で普段入ってくるたくさんの情報は長期記憶には保存されずに忘却します。この閾値を決めるのに感情が役立っていそうです。

海馬内部の構造や神経構造についてはかなりわかっているのですが、あまりにも長くなるのでここでは割愛します。

海馬による記憶の形成

新しい陳述記憶を形成するためには海馬が必要だと考えられており、これは様々な研究から強固に支持されています。

新しい情報が入ってくると、まず主な経路として視床→大脳皮質と情報が流れ、ここで様々な情報処理がなされます(何を見聞きしているか、どう体を動かせばいいか、将来どうするか、など)。このうち、覚えておいたほうが良いと判断された情報は、主に側頭葉から海馬に入力されます。海馬は他の部位と異なり、繰り返し練習しなくてもすぐに入ってきた情報を覚えることができるという特徴*8があり、陳述記憶として暫くの間保存されます。

海馬に保存された記憶のうち、さらに重要であると判断された情報は、少しずつ時間をかけて大脳皮質に転送されます(転写)。これには非常に時間がかかりますが、一度転写された記憶は永遠に記憶されます。
非常に複雑なこと、たとえばパソコンの操作や、数多くの漢字の読み方であっても、なんども繰り返しているといつの間にか完全に覚えておくことができます。これは海馬から大脳皮質に転写が終わったので、長期記憶として完全に固定されたためです。

コンピュータに例えると、海馬は容量が少ない上に定期的にリフレッシュしないと情報が失われてしまう一方非常に高速に読み書きできるキャッシュメモリで、大脳皮質は容量は(キャッシュメモリに比べると)無限と言っていいくらいあるものの、読み書きは非常に遅いメインメモリやハードディスクのようなものといえます。

このように、海馬は入ってきた情報に応じて素早く神経ネットワークを変化させて新しい情報を記憶することができるという、他の部位にはない特殊な能力を備えています。ただ、海馬は非常に脆弱な部位で、大きな、あるいは長期間のストレスを受けたり、アルツハイマー病や酸欠になると海馬から先に萎縮してしまいます。瞬時に記憶を固定できるという能力と引き換えにこのような脆さを背負う必要があったと考えられます。

場所細胞とグリッド細胞

最近ノーベル賞を受賞したことで有名になった海馬の神経細胞に、場所細胞とグリッド細胞があります。

場所細胞


Hippocampal place cells recorded in the Wilson lab ...

場所細胞(place cell)は、ある場所を通ったときにだけ発火する神経細胞で、特にCA1は非常に多くの場所細胞があることがわかっています*9

上の動画はラットの場所細胞が反応する様子を動画にしたもので、色が違う点はそれぞれ別の場所細胞が発火したことを表しています。これを見ると、ある場所にいるときだけ発火する専用の細胞があることがよくわかります*10

この場所細胞はありとあらゆる場所をそれぞれひとつずつ担当しているわけではなく、その時々に応じて受け持つ範囲を動的に変更できるようで、ある部屋のある位置で反応していた細胞は、別の部屋の別の部屋でも反応します。この変化は場所や課題*11の変化に応じて瞬時に行われ、海馬の柔軟性が遺憾なく発揮されているようです。

場所細胞がどれくらい場所に特異的に反応しているかというと、いくつかの神経細胞さえ測定できれば、実験用ラットが部屋のどこにいるのかを数センチの誤差で当てられるほどです*12*13

グリッド細胞

グリッド細胞(grid cell)は嗅内皮質で発見された、規則正しく網目のようにつながった神経細胞で、これは地図のような役割を果たします。ラットが少し場所を変えると、今まで反応していた神経細胞のとなりの神経細胞が反応し、また少し移動するとやはりすぐ隣の神経細胞がよく反応するようになります。

しかも、ラットが課題を行っている景色を回転させると、それにあわせてグリッド細胞の発火場所も回転することがわかっています。まさに、カーナビの画面のようなシステムがグリッド細胞で実現されているのです。

おわりに

海馬のことについてはまだまだたくさんのことがすでに判明していますが、ここではその概要でさえも到底書ききれないので、まだ後日時間のあるときに触れることにして、記憶と海馬について簡単に説明しました。

*1:長期記憶は忘れることがない、というのは不自然に思われるかもしれないが、「脳に完全に刻み込まれていて、思い出すきっかけがないだけ」と考える。たとえば、大昔に見た映画のストーリーや歌を思い出せといわれて出来なくても、実際にその映画や歌を見聞きしはじめると展開を次々と思い出すことができます。つまり、記憶としては存在するものの、なんらかの形で思い出せないだけで、忘却されてるわけではない、と考えるわけです

*2:情報を覚えることを記憶、記銘といい、思い出すことを想起とよぶ。特に自ら思い出そうとして想起することを再認、他の要因からの連想によって想起することを再生とよぶ。さらに、これらの情報を完全に忘れてしまうことを忘却とよぶ

*3:この7個というのをマジカルナンバーといい、Miller(1956)の実験が非常に有名

*4:Cowan, N. (2001). The magical number 4 in short-term memory: A reconsideration of mental storage capacity. Behavioral and Brain Sciences, 24, 87-185

*5:海馬が損傷しても短期記憶には影響が出ない一方で、前頭葉の損傷は重大な影響が出る

*6:「個人的な体験かどうか?」は重要ではなく、「時間と場所に依存しているか?」が重要だという説がある。これならば時間と場所について専門的に処理しているところがあると仮定すれば、両者が別の記憶だというのも納得がいく。また、「一度しか経験できないかどうか?」で考えることもある

*7:いったん海馬に入った記憶が長期記憶に固定されると海馬からはなくなるのか、ある程度残るのかはよくわかっていない

*8:教科書の内容を覚えたり、自転車の漕ぎ方はなんども繰り返し練習しないと記憶として定着しませんが、今どこを歩いているかとか、数時間前に駐車場のどこに車を止めたかとか、今何について話しているのかといったことは何度も経験しなくても(そもそも何度も経験できない)数時間か数日くらい覚えています。こういった情報は海馬に忘却されるまで残っています。

*9:R U Muller, J L Kubie, J B Ranck, Spatial firing patterns of hippocampal complex-spike cells in a fixed environment. J. Neurosci.: 1987, 7(7);1935-50

*10:バリバリと音がなっているのは細胞が発火したときをわかりやすくするため。「目で見ればわかる」と思うかもしれないが、視覚より聴覚のほうが時間分解能が高いので音も鳴らしている。たとえば、ある2つの点が同時に光ったか、すこしずれていたか?を判断するより、2つの音が同時に鳴ったかどうかのほうがより短い時間まで認識できる。視覚は空間分解能が高いが時間分解能は低く、聴覚はその逆の特性を持っているため、ヒトは知らず知らずのうちに両者を使い分けてなるべく多くの情報を得ようとしているようだ

*11:たとえば迷路のゴールにたどり着くと餌がもらえるなど

*12:E N Brown, L M Frank, D Tang, M C Quirk, M A Wilson, A statistical paradigm for neural spike train decoding applied to position prediction from ensemble firing patterns of rat hippocampal place cells. J. Neurosci.: 1998, 18(18);7411-25

*13:この方法ではカルマンフィルタを使って予測精度をあげているようだ

言語

これは 人工知能アドベントカレンダー の8日目の記事です。

大脳のうち、言語(話す、聞く、読む、書く)に関わりの強いところを言語野、言語中枢(language center)とよびます。特にブローカ野とウェルニッケ野が有名ですが、ヒトで特に発達した言語機能についてここでは見ていきましょう。

言語野の局在性

言語野はふつう左半球(左脳)にあります*1

つまり、言語野がないほう(普通は右半球)に障害を負っても、言語能力への影響は少ないといわれています。なぜ左右で分担せずに左半球にのみ偏って言語野があるのかはよくわかっていませんが、両方の半球が拮抗しないように片側を抑制しているという説があります。
右半球がなにもしていないかというとそういうわけでもなく、発話や読み書きに直接関わらない他の機能*2や、左半球の機能が低下したときにサポートするといった機能もあるようです*3

主要な言語野

大雑把に説明すると、ブローカ野は「話す」、ウェルニッケ野は「聞く」を担当していると考えられています。また、ブローカ野とウェルニッケ野は弓状束と呼ばれる神経の束で相互に連絡をとっています。

f:id:kazoo04:20151201203333p:plain

ブローカ野

ブローカ野(Brocs'a area)は前頭葉、ブロードマンの脳地図でいうと44野・45野のあたりにあるといわれています(ただし、それぞれの領野はさらに細かく分けることができるようである) *4

脳外科医のブローカの患者に、「タン、タン*5」としか発音できないがそれ以外の知能は普通という変わった症状を持った M. Leborgne*6 という人がおり、彼の死後に解剖すると、左半球の下前頭回を損傷していたことから、ここが話すのに必要な言語中枢(運動性言語中枢)だと予想しました*7。今日では、このような症状を運動性失語、またはブローカ失語と呼び、以下のような特徴が見られます*8

  • まったく話せない、あるいはたどたどしい話し方しかできなかったり、一言二言の短い文しか話せない
  • 相手の話を聞き、理解することは問題なくできる*9
  • 復唱(相手が言ったことをそのまま真似して返す)は障害されない
  • 話すだけでなく、文字を書くことによって意思を表明する能力も障害されることが多い


f:id:kazoo04:20151130224805j:plain
Leborgne, 通称「タン」氏の脳。左が前。ブローカ野周辺が黒く萎縮してしまっていることがわかる(脳梗塞が原因) (Public Domain)

ウェルニッケ野

ウェルニッケ野(Wernicke's area)は視覚野・聴覚野・体勢感覚野と接するような位置にあります。カール・ウェルニッケ(Carl Wernicke) によって報告されたのでこの名前がつきました。
ブロードマンの脳地図で表すと、おおよそ22野にあたります。

脳外科医であったウェルニッケの患者に、なめらかに話すことができるのに、言い間違いが多かったり、言語を聞いて理解する能力に障害があるという症例(ウェルニッケ失語*10、感覚性失語があったことから22野周辺が言語理解に関わっていると考えたのです。

具体的には以下のような症状が出ることが多いようです。

  • 非常に流暢に話す一方で、言い間違いが多かったり支離滅裂だったりして、相手には言いたいことがほとんど伝わらない
  • 話を聞いても相手が何を言っているのかよくわからない
  • 復唱(相手が言ったことをそのまま真似して返す)は不可能
  • 読み書きの障害があることもある
角回

角回(angular gyrus, 39野とほぼ同じ)はウェルニッケ野と一部重なる位置にあります*11

角回の機能はよくわかっていませんが、言語に関する様々な機能を実現するために重要な働きをしていると考えられています。たとえば、音楽家が楽譜を読んでいるときに左角回の活動が活発になっている*12とか、左角回が読み書き能力に関わっている*13とか、暗喩の理解に関わっている*14*15などです。

次に説明する縁上回や角回を損傷すると、ゲルストマン症候群(Gerstmann syndrome)になると考えられています。ゲルストマン症候群の主な症状は、文字が書けない(失書)、暗算ができない(失算)、左右がわからない(左右失認)、などです。

縁上回

縁上回(supramarginal gyrus, 44野とほぼ同じ)もウェルニッケ野の一部共通している部分があり、また角回とは隣接しています*16

縁上回も角回同様、具体的に何をどのように処理してどんな機能を果たしているのかはよくわかっていません。

ただ、視覚野と体性感覚野の間にあるだけあって、両者の情報を取りまとめるようなことをしているようです。たとえば、左右の認識や、他人の姿勢や動作の認識(ミラーニューロン)との関わりが指摘されています*17

ほかには時間の長さやタイミングを測るときは右縁上回が活発に活動していることから、時間の経過の把握に必要だという研究*18があります。

言語処理

昔はウェルニッケ野とブローカ野が弓状束を介して相互に情報をやりとりすることで様々な言語処理をしていると考えられていましたが、今ではより複雑なモデルが考えられています。

上記に述べた部位が言語中枢ではありますが、その他の領域、たとえば大脳基底核や小脳も言語処理には重要であるという研究もあり、かなり大規模なネットワークが形成されていると思われます。

f:id:kazoo04:20151201221219p:plain

より現代的な言語機能のモデル。さらに扁桃体大脳基底核なども言語機能に関わっていると考えられている*19

これらの知見を統合すると、たとえば聴覚野のようにある特定の部位がその処理に関わっているのではなく、身体感覚や運動機能、記憶や感情など脳のほとんどの部位が大なり小なり相互連絡をして言語機能を成立させているといえます。ヒトの言語機能が他の動物とくらべても突出して優れていることは、この脳の大規模ネットワークがあるからこそ実現できているのです。

まとめ

話したり聞いたり、あるいは書いたり読んだりするためには、視覚や聴覚情報という入力の点でも高次の情報抽出が必要で、出力の点でも声帯や舌、指などを非常に複雑に動かさなければ成り立ちません。また、当然「なにをどう表現するか?」という心的な要素も加わります。これには感情、将来の展望、過去の記憶、話し相手が何を考えているかなども考慮する必要があり、既に触れてきたように脳の殆どの部分がなんらかの形で言語機能に関与しています。

音声認識や画像認識をしたり、歩いたりするロボットはあっても、言語を用いてわれわれ人と円滑にコミュニケーションをとれるロボットはまだありません*20。「どう話すのが言語として自然か?(言語モデル)」の研究は結構進んでいるのですが、動物の場合はむしろそれより「何を表現したいか」という内心的な動機がまずあるはずです。このあたりがうまくわかっていない、理論がないあたり、言語機能をロボットに持たせるのはまだまだ時間がかかることでしょう。

*1:98%の人は左半球にあると言われている。人によっては右半球に言語野があることもある。また、右利きの人は左半球に、左利きの人は右半球に言語野があるといわれているが、実際は例外も多い

*2:ユーモアの理解、比喩の理解、自分がどこにいるのか、他人がどんなことをしているかといった認識など

*3:Saur D, Lange R, Baumgaertner A, et Al. Dynamics of language reorganization after stroke. Brain. 2006

*4:Katrin Amunts, Marianne Lenzen, Angela D Friederici, Axel Schleicher, Patricia Morosan, Nicola Palomero-Gallagher, Karl Zilles Broca's region: novel organizational principles and multiple receptor mapping. PLoS Biol.: 2010, 8(9);

*5:原文では "Tan"

*6:M.ルボルニュと発音するようだ。彼は病院では「タンさん」と呼ばれていたとある

*7:Broca, Paul. Remarks on the Seat of the Faculty of Articulated Language, Following an Observation of Aphemia (Loss of Speech). Bulletin de la Société Anatomique, Vol. 6, (1861), 330–357.

*8:ブローカ野は広いので、どこがどれくらい損傷を受けたかによって大きく異なる。また、後述のウェルニッケ失語と共通する点として、患者は脳梗塞などによって他の部位にも障害を持っていることが多く、言語野が侵されているからできないのか、単に身体の麻痺などによってうまくできないだけなのか判断が難しいこともある

*9:軽度の理解障害を併発することもある。特に「AしてからBし、次にCをする」ような段階を踏む命令が理解できないことがある

*10:ウェルニッケ脳症(Wernicke's encephalopathy)とは関係ない

*11:以前述べたように、"回(gyrus)"は大脳の皺のでっぱり部分(表面に盛り上がっている部分)を指す。角回はシルヴィウス溝(外側溝)が走る根本のあたりにある回を指す

*12:Mitsuru Kawamura, Akira Midorikawa, Machiko Kezuka, (2000) “Cerebral localization of the center for reading and writing music, NeuroReport” , Vol.11, No.14 , pp. 3299-3303

*13:"Spatial neglect, Balint-Homes' and Gerstmann's syndrome, and other spatial disorders". CNS Spectr 12 (7): 527–36.

*14:Ramachandran, V.S.; Hubbard, E.M (2003). "The Phenomenology of Synaesthesia" (PDF). Journal of Consciousness Studies 10 (8): 49–57.

*15:Sathian, K (2011). "Metaphorically feeling:Comprehending textual metaphros actives somatosensory cortex" . Brain and Language 120 : 416–421. doi : 10.1016/j.bandl.2011.12.016 .

*16:角回と縁上回をあわせて、下頭頂小葉(inferior parietal lobule)とよび、外側溝の端を囲むような場所にある

*17:Carlson, N. R. (2012). Physiology of Behavior 11th Edition. Pearson. pp. 83; 268; 273-275

*18:Hayashi, M. J., Ditye, T., Harada, T., Hashiguchi, M., Sadato, N., Carlson, S., Walsh, V., and Kanai, R. (2015). Time Adaptation Shows Duration Selectivity in the Human Parietal Cortex.: PLoS biology.

*19:Hitoshi T Uchiyama, Daisuke N Saito, Hiroki C Tanabe, Tokiko Harada, Ayumi Seki, Kousaku Ohno, Tatsuya Koeda, Norihiro Sadato Distinction between the literal and intended meanings of sentences: a functional magnetic resonance imaging study of metaphor and sarcasm. Cortex: 2012, 48(5);563-83

*20:現在、話しているように見えるロボットは、「音声認識結果に"天気"という単語が含まれていたら、『今日の天気は◯◯です』と答えよ」というようなルールの羅列によって達成されているが、明らかに動物の言語モデルとは大きく異なることがお分かりかと思う