人工知能から見た知能発達のための教育手法
AI tells how to get better intelligence
2016.08.22
Updated by Ryo Shimizu on August 22, 2016, 14:26 pm JST
AI tells how to get better intelligence
2016.08.22
Updated by Ryo Shimizu on August 22, 2016, 14:26 pm JST
週末はマインクラフトを教育に応用しようとする人たちが集まる。MCEduというイベントに登壇してきました。
そのとき、私は知能発達という観点からマインクラフトが知能の発達についてどのような効果をもたらすか、そして知能とはどのようにして賢くなっていくのか、ということをテーマとしました。
知能発達の中で、教育というものがどのような影響を与えるか、ということもひとつのテーマでした。
幸い、私の仕事は人工知能の開発と教育です。そしてここでは私がそれまで人間の子供を対象としてやってきた様々な教育の現場の経験が活かせる分野でもあります。
人間と人工知能は全く違うと思われるかもしれませんが、とても似ています。それもそのはず、そもそも今の人工知能のうち、機械学習と呼ばれる分野(深層学習も機械学習のいち分野です)は、生物の神経細胞を参考に作られています。だから似ているのは必然的です。人形が人間の形に似ているのと同じくらい必然的なのです。
もちろん似ているが違う、という部分もたくさんあります。
人間の知能は、特に教材を用意しなくても勝手に育ちます。勝手に物体を認識して、勝手に成長して、勝手に言語を獲得します。
機械学習の分野では、3歳児くらいまでの発達過程を再現することが一番むずかしいと言われています。その頃の人間の意識というのは非常に希薄で、ぼんやりしているからです。
私はたまたま、人工知能に最初に興味を持ったのが五歳児の頃だったので、三歳児までの記憶をなんども思い出していました。
そして柔らかいイメージや固いイメージ、父親、母親のイメージというものがぼんやりした霧のような中からある日から忽然と姿を表していくさまをよく覚えています。
私は5歳児までは非常に無口な子供だったそうです。
いまの饒舌さからは考えられないのですが、それは私が子供の頃、母親が夜遅くまで働いているので、母の教えている生徒さんの家に預けられていたことと関係するかもしれません。
小さい子供というのは、面倒です。
同じくらいの小さいこどもがいる家に預けられることが多かったのですが、ほぼ例外なくいじめに遭います。
家の子供に意地悪をされることはしょっちゅうで、ご飯もろくに食べさせてもらえないこともありました。おやつなど、その概念も知りません。
そうこうしていくうちに私はだんだんと内向的になり、とうとう口を利くのをやめてしまいました。部屋の隅で丸くなって、一人ただじっと時間の過ぎていくのを待つようになったのです。
毎日、じっと他人の家で時間がすぎるのを待っていると、名前のわからないものや、奇妙なものをたくさん目にしました。
それが何か知りたくなっても、聞くことはできません。なんでも聞いてくる子供というのは煩わしく、理想的な子供ではないからです。
理想的な子供を演じる必要があった私は、名前も知らない道具を黙ってじっとみることしかできませんでした。木の枠に、棒が通してあって、そこに小さな車輪のようなものがたくさんついたものでした。
するとあるとき、その道具を家人が持って、それを「ソロバン」と呼びました。
そして器用に玉を弾き始めたのです。
それから家に帰ると・・といっても、毎日眠ってしまってから家に引き取られ、目を覚ました頃には預けられているので、家で起きて過ごす時間というのは週末のごくわずかな時間しかなかったのですが、家にもソロバンがあることに気づきました。
ソロバンで遊ぼうとすると父親が「子供の遊び道具じゃない」と取り上げてしまいました。
あるとき、親の目を盗んでソロバンの玉をパチパチと、預けられていた家で家人がやっていたのと同じようにいじっていると、母親に見つかって、彼女は大変驚きました。「ソロバン使えるの!?」
これは幼児の発達過程における学習と技能獲得過程のひとつです。
結局、私はソロバンを「使って」いたわけではありません。ただ、見たまま真似をしてパチパチと弾いてみただけです。その音が小気味良くて、やってみたくなっただけなのです。
幼児はたくさんのものを見ます。
そしてまずはランダムに行動します。
乳児の場合、行動の制約が極めて大きく、最初は泣くことしか出来ません。
泣くという動作は、ランダムな動作です。めちゃくちゃに声を出し、口を動かし、うめき、全身の筋肉を使って泣きます。
生まれたばかりの赤ん坊が泣く様子を観察すると、まるでこの世に産まれてきたことを嘆いているかのような形相をしています。悲しんでいるとも、怒っているともつかない、不思議な顔で泣き叫んでいるのです。
この頃の子供というのは、そもそも自分がどんな顔をしたらいいのか、どう筋肉を動かすべきなのか知りません。
母親の体内で10ヶ月もの間、なにも動かずに過ごしたのです。外界にでたばかりで、筋肉の動かし方が分かるわけがありません。
そのうえ、羊水に浸かって過ごしていたわけですから、それまで身体を内外から満たしていた羊水が突然なくなったらびっくりします。どうすればいいかわからず、とりあえずできることを全身でやろうとするわけです。
それが赤ん坊の泣き叫ぶ理由でしょう。
もちろん、あんまり泣かない子もいるといいます。
そういう子は、寝ている状態で産まれてきたか、そもそもあんまりびっくりしない子なのかもしれません。
外界に出た赤ん坊は、やはりとりあえずランダムに動きます。
ランダムに動いた結果、ある状態では快適になったり別の状態では不快になったりすることがわかります。
寝返りを打ったり、這いつくばったりすることで赤ん坊は外界と自分との接点を学習していくのです。
学習とは、要するにそういうことです。
これはある人工知能の学習過程です。
青とオレンジの線が、訓練時(学習時)の成績です。オレンジは正解率、青は損失(正解との自乗平均誤差。これをもとに学習する)です。
人工知能の学習は主に「損失」を元に行われます。損失がないと学習できません。損失は、「反省点」と呼び変えたほうがわかりやすいかもしれません。
見て分かるように、訓練時は綺麗に損失が下がり、正解率が上がっています。ほぼ自己採点では常に100点がとれるという状態です。
ところが緑と赤の線に着目してみましょう。これは本番時の学習曲線です。
緑は本番時の損失、赤は本番時の正解率です。本番時は、必ず訓練時に使っていないデータを使用します。
これによると、どれだけ学習を繰り返しても、赤は65点くらいで成長がとまってしまっています。
緑の線が途中から反転していることに注目してみてください。
これは、過学習という現象がおきていることを示唆します。
過学習(オーバーフィッティング)とは、同じ教材だけで訓練を続けた結果、訓練データ(教材)に過度に偏った傾向を学んでしまうことです。
教材が偏っていると過学習は簡単に置きます。たとえばこのデータの場合、普通の画像「カニ」とか「エビ」とかは50枚前後しかないのに、「飛行機」の画像データだけは800枚もあるという偏ったものでした。
こういう偏ったデータで学習すると、何を見ても飛行機に見えてしまう、というダメな人工知能が出来上がります。
そう考えると、過去問さえちゃんとやっておけばパスしてしまう入学試験というのもちょっと疑問があります。
自動車教習所のテストは、およそどんな学力の人でも通りますが、これもまた、正解を丸暗記すれば誰でも解けるようになっているからです。
目的は正解(交通法規)を丸暗記してもらうことなので、別にこれで問題ないのです。
しかし、入学試験がそれでは困ります。入学試験は知能を測るためのものでしょう。
知能(Intelligence)とは、オックスフォード英英時点によれば、「The ability to acquire and apply knowledge and skills(知識と技能を獲得し、適用できる能力)」です。
過去の問題と答えや解放を丸暗記しているだけの人は、知識として答えを導くことはできても、それを応用したり適用したりすることができません。つまりこれは知能とは言えないのです。
たとえばほぼすべての日本人が義務教育でピタゴラスの定理を習うはずです。
しかし、それを実生活に応用した人はそのうちの何パーセントでしょうか。
応用するチャンスがないわけではありません。
たとえば座標から二点間の距離を求めたいときとか、屋根の長さを知りたいときとか、あったら便利という場面は山程あるのです。
ところがいざというときに使えない。なぜ使えないかというと、知識を獲得(acquire)しているだけで、それを適用(apply)できるように教育されていないのです。
この問題は根深く、なにしろ教えている教師そのものが知識をapplyする場面をすぐに想像できないようなことばかり教えているのです。
これは学校指導要領が最初に作られた時代からほとんど変化しておらず、その当時と現在では社会人に必要なスキルが明らかに変わっているにもかかわらず、学校システム全体を変えなければならないため手がつけられないのです。
プログラミング教育に注目が集まる理由のひとつは、プログラミング教育が学校教育システムを根本的に変更する契機になるからということがひとつあるでしょう。もちろん現場は大混乱ですが。
さて、ところでなぜみんな、学校の勉強をしなければならないのでしょうか。
ひとつの目的としては、いい大学に入る、というものがあります。
ではなぜいい大学に入る必要があるのでしょうか。
その答えは、「いい会社に入るため」と普通は答えます。
僕の教え子の一人に、サッカーが上手いH君というのが居ます。
彼はサッカーがとても上手で、サッカー推薦だけで私立の名門大学に入学してきました。
それまでの人生でサッカーしかやったことがないので、大学の授業についていくのは大変、と笑っていましたが、同時に「オレってラッキー」とも思っていたそうです。
そして、そんなH君ですが、見事、東証一部上場企業に内定をもらいました。
彼にとって、受験勉強とはサッカーを頑張ることだったわけです。
企業の側としても、実のところ、学校の勉強がほとんど無意味なことは分かっています。
私は、面接するときに学歴はほとんど考慮しません。
MITだとかハーバードだとか、海外の有名大学を卒業していたら「へえ」と思いますが、その程度です。
重要なのは、こちらが要求するスキルを持った人材かどうかということと、それを適用可能かどうかということだけです。
そして、学校で学んだ知識を正しく適用できるような教え方をする学校は、一流大学だけです。
さきほど過学習を起こしてしまった人工知能ですが、こういう過学習を意図的に起こさせるような仕組みが、今の学校システムにはあります。
その結果、知識を丸暗記することができても、それを正しく適用できない、つまり知識だけあって知能の伴わない人が大量に生まれてしまうのです。
そうして教育された人が、また次の世代を教育するわけですから、これはいつまでたっても教育がよくなるわけはありません。
ただし、現在の学校教育システムでも、ひとつだけ救済策があります。
それは、知能ではなく知識を試す今のテストをまるごとパスして、一流大学に入学することです。一流大学が無理でも、そのほかの国立大学に入れば、一流大学で教えられるレベルの先生が教えてくれることも少なくありません。
一流大学に入ると何が違うか。
それは、教材が違うのです。
教授が教えてくれるやり方は、ひとそれぞれですが、それぞれ非常に価値の高い情報であり、単なる知識ではなく知能として、知識を活用する方法を学ぶことが出来ます。
なぜなら、東京大学の教員というのは、知識を覚えるだけでなく、適用すること、つまり知能が高くなければそもそもなることができないからです。
そしてまた、
ちなみに先ほど例にだした「ダメな人工知能」ですが、全く同じプログラム、全く同じ人工知能に正しい教材を与えるとこうなります。
これぞまさしく、知識を正しく獲得した状態です。正しく知識を獲得できれば、正しく適用できます。
しかし、正しい知識を獲得していない場合、適用するのは絶望的に難しくなります。
たとえば、ある架空の生物を考えてみましょう。
その生物は、縦の線しか見ることが出来ません。角度の自由度として、仮に30度くらい傾いた線も縦線として認識できることにしましょう。
たとえば縦の線しか認識できない生物に、球体を見せると、それは「二本の線」として認識されます。この生き物は、球体のエサを食べて生活すると仮定します。まわりをみまわして、二本の線を探し、そこにたどり着けばエサが獲得できます。
縦の線しか見ることが出来なくても、その生き物は生活に困りません。
ところが、あるとき、球体が2つあったとします。
2つの球体は、その生き物には四本の線に見えます。
すると、その生物は、四本の線のうち、どれか二本がエサのあるところだと考えます。図のAかCにたどり着けば、エサにありつけるわけですが、Bを目指してしまうと、エサにたどりつけません。
エサに辿りつけないということは、この生物は死んでしまいます。
ですから、縦の線しか認識できない生物は現実には存在しないわけです。
この、現実を把握するためには複数の視点を持たなければならないというのは人工知能では非常にハッキリしています。
これはUC Berkeleyで訓練された畳込みニューラル・ネットワークの第一層ですが、それぞれの小さな正方形(カーネルと呼ぶ)が縦方向に反応したり、斜め方向に反応したり、はたまた丸いものに反応したりするフィルターになっています。
これを訓練する前は完全な乱数で、訓練が足りない人工知能のニューラル・ネットワークは下図のようになります。
乱数からスタートするのでほとんどのカーネルがぼんやりしたもままです。ぼんやりしている、というのは、認識できてない、ということです。ぼんやりしたニューラル・ネットワークは、ないのと同じです。
学習を繰り返すことでだんだんとハッキリ、クッキリしたものになってきます。
このニューラル・ネットワークは画像を認識するためのニューラル・ネットワークなので、これは子供が図鑑を読んでいるのと一緒だと考えてください。
できるだけたくさんのものを見たほうが良いことがよく知られています。
人工知能の学習に「教師付き学習」と「教師なし」学習というものがあります。
ここでいう「教師」とは、いわば「正解」のことです。
犬の写真をみたら、「これは犬」と教えるようなデータを教師データと呼びます。
反対に、教師なし学習とは、犬の写真や猫の写真、とにかくあらゆる写真をひたすら見て、なんとなく「こんなかんじね」と把握する行為です。赤ん坊からずっと、人間は常に教師なし学習を繰り返しているのです。
一般に、「教師なし学習」をかけたあとのほうが、「教師あり学習」も効果が高いことが知られています。
だから子供の頃は積極的に博物館や展覧会、動物園やサファリパークに連れて行き、積極的に「教師なし学習」をさせるのが効果的です。
たくさんのものを見た子供の方が結果的に高い認知能力を手にし、高い認知能力がより高次元の思考を可能にするからです。
そして高次元の理解ができると、高次的に他のものへ適用可能になります。こうして、知識は知能へと昇華するのです。
例えば、画像を識別するニューラル・ネットワークは、256x256x3=約18万次元の情報を1000次元程度まで圧縮します。そうして出力される1000次元の情報を「特徴空間」と呼びます。
1000次元の特徴空間をさらにLSTMというより高次なニューラルネットワークに学習させると、人工知能は見せた写真を文章で説明できるようになります。
認知能力が低いニューラル・ネットワークではそれも上手く行きません。
認知能力が高いからこそ、正しい文章が生成できるようになるのです。
これは画像と文字の例ですが、他にもさまざまなことに適用可能です。
そしてこれは、人工知能に限らず、人間にも言えることだと思います。
知能にとって重要なのはまず認知能力です。
シン・ゴジラの監督を務めた樋口真嗣氏は、一度見た映画は一発でストーリーを書き出せるくらいまで記憶できるそうです。
ただ、3D映画だけは、なぜか記憶できないそうです。樋口監督によれば、「おそらく脳内で立体像を合成する処理に負荷がかかって、ストーリーを記憶する能力が落ちるのではないか」とのことです。
映画のストーリーをまるごと記憶するというのは、実はかなり難しいことです。
難解な映画は何度も何度も繰り返し見ないと、ストーリーが頭に入ってこないという経験をしたことのある人もいるのではないでしょうか。
樋口監督の場合、自分の仕事柄、何百、何千回と様々な映画を見た(教師なし学習)結果、映画を見る認知能力が高まったのだと考えられます。
また、自分が撮影した映画の場合、脚本の内容を知っているので、これは一種の教師あり学習です。その2つの組み合わせで、一度しか見ていない映画のストーリーを完全に記憶するという超人的な能力を獲得しているのでしょう。
人工知能を知ることは、人間を知ることに繋がるのです。
おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)
登録はこちら新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。