人が勝手に解釈しているだけ
「AIって何?」連載第三、四節で神経電網(ニューラル・ネットワーク)の中を数値が、どのように動くかを説明してきた。今回は、第ニ節「?」の右側に示した項目の神経電網が出来る事に、どうやって結び付けるかを説明しよう。
例として、0〜9までの文字としての数字を記憶する神経電網を取り上げる。分かり易くするために少し変更して説明するが、本丸の「?」の説明には何の問題もない。
余談だが最近、これを最初に私電脳に載せる電脳命令集として作ったのは、NHK 技術センターの技術職員と知って驚いた。1970年代の事だったらしいが、発表しても誰も関心を持たなかったと言う。
先ず、第三、四節で紹介した神経電網の最小単位を思い出してもらいたい。これを拡張して、第一層の入力層に100個の細胞、第二層の隠れ層(利用者には見えないの意)に50個、第三層の出力層(答えの層)に100個の神経細胞を割り当てる。
第二層の一つの細胞には、一層の細胞数と同じ数、すなわち100個の重みがある。第三層の一つの細胞には、ニ層の細胞数と同じ数、すなわち50個の重みがある。以下は模式図。
以下は、これを電脳で 模擬 実験 して、図式にしたものである。繋がりの線は一部のみ描いてある。神経電網は計算の負荷が激しい事が分る。
それでは、前節でも使った表計算無形具で、「?」の部分を説明する。これには、正解(教師信号)を見ると簡単に理解できる。但しここでは正解を表すのに、第三層の100個の升目(神経細胞)を以下図、右の表の様に、縦10個横10個の二次元として扱う。
電脳の画面は、2次元画像として様々な絵が表示されるが、電脳内部の記憶有形具では、絵の情報粒は xxxx 番地〜 xxxx 番地の値として、一次元で保有される。この事を釘と紐で説明しよう。上図左の様に、左右の端に釘を数本ずつ隙間を開けて縦に打ち、左上端から太い紐を横に張って、一文字書きの様にぐるっと巡らせる。
そこに□を黒で書く。そして、紐を外して一直線に伸ばすと(左下)、横線と縦棒の黒が現れる。この黒印は記憶具の特定の番地に置かれた□を意味する。非常に重要な事だが、この時、電脳には□の意味と言うか概念は無い。単に特定の番地が二進数値で満たされているだけである。
では、表計算無形具に正解(教師信号)の「1」を入れてみる。空白は「0」とする。
この正解は人には意味が有る。これらを人は数字の「2」と「5」と解釈する。これで「?」の左から右の「文字が認識できる」に繋がる。しかし、電脳の神経電網にとっては、単にある記憶番地の「1」でしかない。
この様に正解を「0、1、2、3、4、5、6、7、8、9」と用意して、正解と同じ表の入力に「0〜9」をそれぞれ与えて、前進処理と後進処理を数千〜数万回行なって、入力の値と出力の値が同じ(同じ記憶番地が同じ1または0)に成る様に学習(重みを変化)させる。その後、任意の数字を入力して前進処理、即ち答えを出させる。
例えば、6を入力すると「6」の神経電網が最も一致する番地が多くなる。以下は数字記憶を電脳無形具で 模擬 実験 した結果であ。
上図の右側では、6の神経電網が93%の正解率を示している。ところで、この93%は正しいのだろうか。今回、他が1%なので疑う余地は無いが、他の神経電網で93%と90%が成ったらどう判断しようか。実は人が判断してるのである。そして、前節で取り上げたように解答(教師信号)に合わせて、媒介変数(AlphaやEta、その他)を色々微調整するのである。AIは人が介在する危うい存在でもある。
以上が数字文字の記憶神経電網の「?」の部分であるが、実は今回の例は、分かり易くするために、バカ正直に神経電網を組んだ。模式図でも示したが、こんな大量に神経細胞や重みを組み込むと、超電脳ならまだしも、私電脳では、亀さんモードになって固まってしまう。色々工夫が必要である。次回は、この点や同じ神経電網なのに、別用途に使えることなど説明しようと思う。