2000年頃に「CAIディジタル信号処理」コロナ社 という本を買い。当時はカネがあったので本は買う。図書館は利用したことはないワタクシであった。だって図書館に行く時間がなかったのだもん(笑)
その本の中でニューロンとかニューラル・ネットワークとかの初歩的な章があり例題もあったので試した。言語はBASICだったかも知れないがC言語で書き換え。
数字の0,1,2…9 を認識するという簡単な例だった。それを試して思ったのは、ああ、これで郵便番号のコンピュータ処理かい。
その応用を広げればA,B,…などのアルファベットも認識できるわなあ、原理的には。
で、2000年頃はワテの興味はそこで止まった。まさか、その延長上でAI将棋がプロ棋士に買ったり、囲碁ソフトが囲碁の世界チャンピオンに勝ったりするとは妄想もしなかったわん。
まー普通はオラのように凡庸なる善良な市民は目端が効かぬ。その本のニューラルネットワーク・・・・パーセプトロンとか言うとった気もするが、脳を模倣するにしてはチャチすぎて役立たん・・・・と思っていた。
事情が変わった。漫才でルイ16世とかいうのがワイングラス持って、・・・それも2000年代だったと思う。
そう、事情が変わった。
単純なパーセプトロンは進化したのである。単純に言うと入り口、中身ひとつ、出口という3つの構成だったものが、中身が数百、数万ぐらいに拡大したのである。
中間層とか、隠れ層とか言う。一気に規模が数桁も拡大したのである。この中間層が膨大になった構成を、深層という。深層学習をDeep Learningと訳しているが字句通りに深く学習しているのではない。ただ、膨大なパラメータを最適化するという作業を学習に例えることはできる。
英語はディープラーニングである、なんていうバカは流行の言葉に乗っかろうしているだけで何も理解してはいない。自分の妄想でDeep Learningを適当に解釈して宣伝に使っているだけの無能でる。そして、騙されるバカもいる。バカがバカを騙す構図の典型である(笑)
そういうわけだが、どのようにして膨大なパラメータを最適化するか。そこは昔から研究されているわけであって。
これも単純に言うと、入力にリンゴの画像データを与えて出力にリンゴです、って出るようにパラメータを決める。それが決まったとする。するとリンゴの画像を与えるとリンゴだ、という。
バナナに対しても同様に。いちごに対しても同様に・・・・
このように果物を100種類も学習させる。すると、学習した100種類の果物から一つを与えると確実に正解が出る。教科書的に言うと、教師あり学習というものだ。
では、そこに学習していない腐ったリンゴを与えるとどうなるか?
ここらを考え始めると機械学習とかAIとかが面白くなる,と思う。 我々は、人は、例えば、apple = リンゴだと習い、知る。そこに、applfと出てきたら・・・リンゴではない。タイポだ、間違いだ、誤字だと勘づく。そこをソフトではどうするか。
ここらを考えるとAIだ、機械学習だ・・・という話とも関係なく、人ってどのようにしてここらを判断しているのか? って興味が出てくる。
ソフトであれば、それはappleの可能性が70%です、って表示するかい。applfはappleと間違った可能性があります、と表示するかい。ここらだ。ここらがAIとか人工知能とかが興味深いところなのだ、ワタクシにとっては。
学習結果を総動員して、それは間違いの可能性が80%あります、と言うのも一つの策ではある。だが、人はそうしない。
そりゃ間違いだろ、と判断する。このレベルまでAIの実力を上げたい、と昼寝していて夢で考えた次第である。