{ブログの中のナビゲタ}第8章の中の「5.ディープラーニング」の項のはじめに書いたように、ディープラーニングは人間の脳をモデルにしたものです。そのことをもう少し深く理解するために、この章では人間の脳とAIのディープラーニングについての比較を行なっていきます。
まずこの人間の脳がどのように働くのかを理解する必要があります。ここでは眼に映るものを、どのようにして人間の脳が認識するかということを例にとって、考えていきましょう。
ただ、ここから先は多少専門的な説明となります。これらの説明はディープラーニングの仕組みを理解する上では必要ですが、あまり専門的な話には興味はないし、仕組みを理解しなくても、ディープラーニングとは何であるかが分かればそれでよいという方は、ここは飛ばしても構いません。ただし、ここを読むと、脳の働きの素晴らしさや、人間とAIの相違点などの一面も分かり、面白いですよ。
1. 人間はどのようにして事物を認識できるか
テレビや写真は別として、オフィスの中や自然界など人間が見ている対象は基本的に三次元、すなわち立体である。その様子が目に入ってくると、眼球のレンズを通ったのち、網膜上に光学的な二次元のアナログ図形として映し出される。しかも眼球のレンズは凸レンズであるからそこを通して結ばれる像は上下が逆さまである。もちろん、この二次元の図形が投影機のようにそのまま光学的なアナログ信号として脳に送られるわけではない。
事物の認識の動作はまず網膜上で始まる。目に入ってきた光によって、網膜の奥にある光受容細胞である視細胞が刺激を受ける。この視細胞で光から電気信号である神経信号へと変換される。その際その信号は網膜にある様々な神経細胞によって複雑な処理を受けながら、最終的に網膜につながった視神経を経て、脳中枢へ情報が伝えられる。すなわち、網膜に写った視覚的な映像(光情報)は神経信号といわれる電気信号に変換され、脳に送られるのである。その電気信号は脳の中に入ってさらにしかるべき処理がなされて、最終的に元の三次元の実物大の実世界を認識できるようになる。それができる仕組みは概ね次のようになる。
網膜は小さなマス目状になっているので、そこに映った像はこのマス目で小さな部分に細分される。テレビの画面にすごく目を近づけると、細かな点がいくつも見えるが、これは画像(ピクチャー)の小さな部分(セル)なのでピクセルと呼ばれる。普通のデジタルテレビの場合は、一つの画面がおよそ百万のピクセルから構成されているが、4Kテレビや8Kテレビになるともっと大きな数になる。テレビの画面がたくさんのピクセルを合わせて一つの画面となっているのとは逆に、網膜に映った像は網膜上でたくさんの視細胞でピクセルに分解されることになる。このピクセルの情報は網膜で処理をされながら、そこにつながっている視神経を伝わって脳に送られる。
脳内に送られた神経信号は、脳内ルートを進みながら何段階かの処理が行われ、最終的に眼で見た事物が何であるか認識される。最初の処理ユニットは入力ユニットと言われる。これに対して、出力ユニットでは全体像が把握され、例えば「ああ、紙の上にdeepという英文字が書かれている」などといったことが認識される。
入力ユニットと出力ユニットの間にはいくつかのユニットがある。その間にある中間ユニットでは、入力ユニットにあるたくさんの画像の断片が徐々に組み立てられていき、次々と先のユニットに送られていく。
例えばdeepという英文字が紙の上に書かれているのが網膜に映ると、網膜の中でいくつかの処理を受けたのち脳に送られ、そこの入力ユニットでたくさんの小さな縦線、横線、斜め線、曲線などの集まりとして認識される。それらが中間ユニットで組み合わされて英文字として認識され、最後に出力ユニットでdeepという単語と認識されることになると考えられている。これらユニットは層を構成しているので、それぞれ入力層、中間層、出力層などとも呼ばれる。
このように、はじめの層はたくさんの小さな領域の情報を処理し、その結果が次の層で寄せ集められ、そこで多少大きな領域の情報を処理する。このような作業を繰り返し、次々と先の層で情報を寄せ集めて、最終の層で全体に含まれる特徴を抽出していくのである。この多層構造は概念的なモデルではなく、実際に脳の中のどこで構成されているかも、最近の脳科学の研究によりかなりのことがわかってきている。
例えば、大脳皮質後頭葉にある視覚第一分野(あるいは一次視覚野)と言われるところでは、小さな縦線、横線などの単純な刺激に反応するニューロン(神経細胞)が発見されている。その次の第二分野(あるいは二次視覚野)では、これらの線分が組み合わされた折れ線などの多少複雑な形を判断するニューロンが発見されている。また、側頭葉にあるIT野と呼ばれるところでは、特定な形態に反応するニューロンが見つかっている。これらの単純な形が組み合わさり、複雑な形の特徴が抽出される脳の視覚情報処理プロセスが、腹側視覚路などの脳内の特定のルートに沿ってなされていることが解明されてきている。
2. 脳の神経回路網
{ブログの中のナビゲタ}次にディープラーニングが利用しているニューラルネットワークについて理解するために、そのモデル化の元になっている人間の脳の神経回路網の仕組み、すなわちニューロンの間でどのような情報の伝達がなされているのかを考えてみましょう。
人間の脳は主にニューロンによって構成されている。このニューロンは信号の形で、互いに情報をやり取りしている。ニューロンは単に信号をパルスで伝えるだけではなく、ネットワークを構成し、情報を組み合わせるなどの処理をしながらいろいろな機能を提供している。ネットワークを構成するので、神経回路網と呼ぶことができる。
この神経回路網は固定されたつながりではなく、状況に応じて互いにつながったり離れたりしながら、複雑な処理をおこなう。このつながったり、離れたりする機能はシナプスと呼ばれるスイッチのようなものがつかさどっている。このシナプスは微小な間隙を持つ化学物質で、送り側と受け側の伝達構造が形成されている。正確にはこのシナプスはonとoffのスイッチではなく、接続度合いの強さをコントロールしている。この強さが0ならばoffということになるが、onのほうはしっかりした接続、弱い接続などのレベルがある。この接続度合いの強さは「重みづけ(シナプスウエイト)」と呼ばれる。
ニューロンすなわち神経細胞はシナプスの働きにより、グループのようなものを構成していく。このグループは固定的なものではなく、その都度変化する。強弱も含めたonとoffを適宜組み合わせることにより、その時に一緒に働くニューロンのグループを構成するのである。このニューロンが構成するグループが、シナプスを経由して互いに情報をやりとりしながら、いろいろな働きをもたらしているのである。このグループのようなものは何らかの処理機能を持つので処理ユニットと呼ばれる。目に映る対象が変わるたびにこれらのユニットも変わる。
例えば、山で道に迷った時などは、実際の景色と地図を交互に見比べ、どうしたらよいかを考える。そのような場合、景色を見ているときは景色を認識するための処理ユニットが活動し、正面の比較的近いところに槍ヶ岳があって、左の遠くの方に穂高が見える等と認識する。次に、景色から眼を離して地図に眼をやると、地図を認識する別のユニットに瞬時に取って代わられ、地図上のこれらの山の三角点の位置関係と等高線の形などから、どうもここら辺にいるようだな、などと推測できるのである。
{ここは考えどころ}人間をまねるAIのことを理解するためには、まず人間のことを理解する必要がある、ということで、まずは人間の脳の働きについて検討してきました。それで目の前の画面をちょっと見るだけで、脳は非常に複雑な働きをしていることが分かりました。それだけ見ても、我々人間は大変な能力を与えられているように思えます。しかも画面が認識できた後には、思考、判断などといった、さらに複雑そうな行為をおこなう能力も備えているわけです。
一方、スマホに映し出される漫画、映像、他愛もないメッセージのやりとりなどに一日の大半の時間を過ごしているような若者を見かけますね。そんなとき、ついつい「ちょっと、お若いの、折角持っている能力をもう少し建設的なことに使わないともったいないですよ。あなた方は、素晴らしい能力を持っているのですから」と、いらぬ声をかけたくなってきませんか。
そうかと思えば、そのような能力をフルに使って、新種の犯罪を次々に考え出して実行し、社会を不安に落とし入れ戦慄させるような輩も後を絶ちません。その様な人達には「ちょっとあなた達、折角持っている素晴らしい能力を、他人を犠牲にして自己の利益のためにのみ使うのでは空しすぎるでしょ。少しは社会にとって有意義なことに使わないと、人間として生きている意味がないですよ」とますます老婆心がでてきそうです。
でも翻って、自分はどうか。確かにスマホべったりとか、反社会的な悪行等していないつもりであるが、それだけで十分でしょうか?十分に自分の持つ能力を活用しているか。そんなことを自問自答すると、考えてしまいますね。そこが、「考えどころ」です。
3. ニューラルネットワーク
{ブログの中のナビゲタ}人間の脳の神経回路網の仕組みを理解したところで、ここからディープラーニングで利用しているモデルの話に移りましょう。
ニューラルネットワークは脳機能に見られるいくつかの特性に類似した数理的モデルであるから、当然神経回路網を模して作られる。ニューラルネットワークは、神経回路網同様、いくつかの層で構成され、前の層の結果を次の層で寄せ集め、最後の層で最終的な特徴を抽出して結論をだす。これらの特徴の抽出を数学的に実現する。
本章の「1.人間はどのようにして事物を認識できるか」で、人間の網膜と脳の視覚野が行う情報処理のしくみが分かったので、それに沿ってニューラルネットワークについて、もう少し理解を深めよう。ディープラーニングは事物を画像によって認識をする機能に広く応用されているので、ここではその例を用いて説明するが、その活用分野はこれに限ったものではない。
AIが画像を認識するには、まずカメラとかスキャナーで画像を取り込むが、そこで行われるのが、網膜が行っている光の信号を電気信号に変えるという役割である。読み込まれた画像はたくさんのピクセルに分解され、一つ一つのピクセルの色と強さがデジタル信号に変換され、コンピュータに送られる。
コンピュータ内のニューラルネットワークのはじめの層では、いくつかのピクセル情報を寄せ集めて小さな領域の特徴をつかみ、その情報を関数の形で次の層に送る。次の層ではいくつかの小さな領域の特徴を寄せ集めて、計算処理によって多少大きな領域の特徴をつかむ。さらにその情報をまた関数の形で次の層に送る。このような作業を繰り返し、段々と情報を寄せ集めて、画像全体に含まれる特徴を抽出していく。
この関数で表現される特徴は、実際に見ているものがどの程度その特徴を有しているかによって、強弱を考慮して次の層に送られる。例えば「丸い」という特徴に、「完全に」とか「ほぼ」とか「どちらかというと」などという程度が付くと言った具合である。この強弱は重み付け(シナプスウエイトに相当する)と呼ばれる。特徴にこの重み付けをつけて関数の形にする。人間(あるいは生物)の場合はこの「強弱を考慮して次の層に送る」ことはシナプスが行うのは前項で述べた通りである。
このようにニューラルネットワークにおいても、神経回路網にあるシナプスの概念を使う。ただし、人間の脳においては、シナプスは物理的に存在するものであるのに対して、モデルであるニューラルネットワークにおいては、仮想的なものであり、人工シナプスとも言える。人工シナプスはコンピュータによる記憶と演算の組み合わせによって、その機能を構成していく、すなわちシミュレーションしていくわけである。
このようにニューラルネットワークとは、人工シナプスによる結合によって形成されるネットワークが、人工シナプスの結合強度を変化させていくことにより、目的を達成する能力を持つようにしていくモデルを指すのである。ここで、この人工シナプスの結合強度を変化させて、適切な強度にしていくのが「学習」である。この学習によって、どのようにして適切な強度にしていくは次の項で述べる。
なお、一般的なニューラルネットワークは人間の脳の動作を極めて簡易化したものであるが、この数理的モデルが実際に生物の神経系のシミュレーションといえるか否かについては議論がある。
4.ニューラルネットワークにおける学習
{ブログの中のナビゲタ}ニューラルネットワークの仕組みが分かったところで、最後にニューラルネットワークにおける学習(ラーニング)について考えていきましょう。
シナプスによる重み付けの機能は極めて巧妙で、AIの場合はこの機能、すなわち人工シナプスの結合強度の精度向上を学習で獲得する。すなわち、結合強度はいろいろな値がとれるので、暫定的な結合強度から導きだされる最後の層での結果が正しくなければ、結合強度を変えていく。このプロセスはたくさんの特徴と結合強度の組み合わせで進められる。たとえ一度最後の層での結果が正しくても、常に結果が正しい結果になるとは限らない。これを何度も繰り返しながら、次第に各特徴に対する結合強度を適切な値に決めていくのである。
例えば、ある植物を見たとき、葉っぱのギザギザの具合や、筋(葉脈)がまっすぐである等の特徴とその程度を、何重かの層をとおして把握していき、最終的に「これはサトイモの葉」「これはニンジンの葉」などと判断する。その判断結果が正しかったか、間違っていたかを教えてもらい、その可否によって結合強度の量を調整していくことにより、その判断結果が正しくなる確率を上げていくわけである。
「教師あり学習」の場合は、この「判断結果が正しかったか、間違っていたか」を教えてくれるのが教師である。ニューラルネットワークは教師信号(正解)の入力によって最適化されていくことになる。このように大量のデータを取り込みながら、それぞれの特徴をつかんで最終判断がいつも正しくなるように結合強度の量を調整していくのが学習である。
これらをまとめると次のようになる。ニューラルネットワークにおいて、前の層の結果を次の層で寄せ集める時にとりうる結合強度の組み合わせは無数にある。この中でより良い組み合わせを学習によって決めていく。この学習は、特定の集合上で定義された実数値関数または整数値関数について、その値が最小(もしくは最大)となる状態を解析する問題である最適化問題として定式化しているのである。
ちなみに、この最適化問題では多くの場合、最小二乗法とか最尤法といった近似計算や推定計算を使う。ここが「第7章 機械が学習するとは」の中の「2.御曽崎の疑問」の項にある、「ディープラーニングは原理的には単純な最小二乗法に過ぎない。つまり、知能の働きは、単純な近似計算の寄せ集めに過ぎない」と解説者が言っている根拠である。
{ブログの中のナビゲタ}さて、本章では「人間の脳とAIのディープラーニングの仕組み」ということで人間の脳とAIの比較をしてきましたが、次の第21章ではもう少し広く学習について、人間とAIの比較を行なって行きます。
コメントを残す