これはhttp://mitochondrion.jp/に掲載している「医学日記」を 検索用に 1 記事 1 ファイルとして形成し直したものです。 簡単なプログラムで自動生成しているので、体裁の乱れなどが一部にあるかと思われます。 通して読むには、トップページからオリジナルページにアクセスしてください。
昨日の話の続きである。多層パーセプトロンモデルは、英語では MultiLayer Perceptron であり、MLP と略されることが多い。各々のパーセプトロンが別の複数のパーセプトロンから入力を受け、また別の複数のパーセプトロンに出力を提供する姿を「神経回路の構造に類似している」などと表現されることもある。このような「神経回路に似ている」計算モデルを「ニューラルネットワーク」と呼ぶこともあるが、適切な表現ではなかろう。本当の神経細胞内における興奮の伝導は、いわゆる全か無かの法則に従っていると信じられている。また入力部分については複数のシナプスから非線形で複雑な制御を受けている。いわゆるニューラルネットワークは、本当の神経細胞に比べると、非常に単純な態様で情報を処理しているのである。
それはさておき、多層パーセプトロンモデルでは、入力される値の相互関係は考慮されない。黒地に白い数字が書かれているい画像の例で考えよう。各ピクセルは、0 から 255 の範囲の数値によって「白さ」が表現されているものとし、0 を黒、255 を完全な白、とする。多層パーセプトロンモデルでは、あるピクセルの値と、隣のピクセルの値の相関は考慮されない。その上で、各ピクセルの値と書かれている数字との相関を学習する。たとえば「『3』と書かれている場合には、座標 (5, 20) のピクセルは白であることが多い」といった具合である。ノードの数が多い複雑な多層パーセプトロンモデルになると、この学習内容も複雑になり「『3』と書かれている場合には、座標 (5, 20) の値と座標 (3, 8) の値を足したものから座標 (9, 12) の値を 3 倍したものを引いたら小さな値であることが多い」といった具合になってくる。ともあれ、各座標の値を何倍かして足したり引いたりした結果をみて、書かれている数字との相関を「学習」するのである。問題なのは、この「座標」を多層パーセプトロンモデルでは位置として扱っておらず、単なる通し番号、識別のための記号としてしか取り扱っていない点である。たとえば、座標 (3, 5), (3, 6), (3, 7), (3, 8) がいずれも白であるならば、人間の感覚からすればこれは直線 (正確にいえば線分) のようにみえるであろう。しかし多層パーセプトロンモデルでは、これらが互いに隣接する点であるという情報を用いず、単に異なる 4 個の点が白い、というだけの情報として処理を行う。図形としての認識を行っていないのである。
その結果、何が起こるか。たとえば「6」と書かれた画像があったとしよう。この画像を 1 ピクセルだけ右に平行移動させたとする。人間の眼では、両者はほとんど同じ画像にみえるだろうし、いずれも「6」と判読できるに違いない。ところが多層パーセプトロンモデルの観点では、この平行移動により「これまで白かったピクセルが黒くなった」「これまで黒かったピクセルが白くなった」という変化が多数生じるため、「かなり違う画像になった」と認識することになる。
要約すると、多層パーセプションモデルは、画像のどのあたりが白くてどのあたりが黒いか、という情報だけを用いており、図形としての認識を欠いている。このため、単純な多層パーセプションモデルでは、画像に回転や平行移動などの変形が加わると全く別の画像と認識してしまい、両者の異同を判断することができない。