人工知能(AI)とは何か
チェス、チェッカー、囲碁などの対戦型AIは、何を「思考」し、何を「学習」しているのだろうか。進化を続ける人工知能の基本から、「深層学習とは何か」「画像認識の原理とは」「評価関数の意味」「完全解析の思考法」など最新技術の核心を理解します。
“AI(人工知能)について何も知らない広く一般の人”にとって、AIとは、「考えることができるコンピューター」です。そして、コンピューター自身の「意志」で何らかの「判断」を下せるものを意味します。(ですよね?)
つまり、AIは汎用頭脳的なものを持っていると誤解している人が多いかもしれません。
それで、「AIが深層学習をして経験を獲得し、云々」という文を雑誌等で見たら、「AIがまったく人間的な意味で学ぶことができて、コンピューターが自律的に、そこから経験則を引き出して、それを今後に活かそうとコンピューター自身が決心した」くらいのことを、多くの人は考えるでしょう。
が、これはまったくの誤解です。
まず、コンピューターに意志はありません。さらに、深層学習は――言葉の印象から、想像をたくましくして「それは、深く正確な学習くらいの意味だろう」と勝手に思い込んでいる人は多いでしょうが――人間的な意味での「学習」ではありません(それは解析プログラムによる分析の一種です)。
・AIが「学ぶ」とはどんなことなのか
・AIが「考える」とはどんなことなのか
・AIが「判断を下す」とはどんなことなのか
こういったことが――まとめて言えば、AIの思考構造が――本書ではっきりとわかるでしょう。AIの「思考」のうちで、もっとも複雑なものが、対戦型AIの「思考」だからです。
誇張しすぎですか? いえいえ、そのようなことはないでしょう。
チェスの強いプログラムをつくる試みは20世紀後半の人工知能研究の牽引力となっていた。
伊藤毅志・松原仁、『特集「コンピュータ囲碁」にあたって』、人工知能学会誌、27巻5号(2012年9月)より引用
対話型AIの単純なプログラムは、簡単に作れます(ちなみに、日本語で対話するプログラムよりも、英語で対話するプログラムのほうが、作成ははるかに簡単で、数百行程度でかなりまともに機能するものが作れます)。そのあらましをざっと説明しておきましょう。
まず、コンピューター側の発言文をいろいろ用意しておきます。
そして、どの文をどんなときに使うかの規則を決めておきます。
また、人が入力した文字列中のどれを拾い上げて自分の発言中に使うかの規則を決めておきます
そのようにすることで、のような対話ができるのです。
人:「今日は運が悪い日だったな」
AI:「運が悪いって、どういうふうに?」
人:「買い物に行ったら、店が閉まっていた」
AI:「それが運が悪いってこと?」
AIの1つ目の発言は、用意されている文のうちから、あらかじめ決めてある規則に従って、
「##って、どういうふうに?」
を選出し、人が使った文字列"運が悪い"を##の部分と置き換えるだけ、2つ目も、規則に従って選出した「それが##ってこと?」の##の部分と置き換えるだけで、この会話ができるのです。
AIは(人間的な意味では)何も考えてはいません。あらかじめ定められている規則に従ったふるまい・計算をしているだけです。
まともに機能するプログラムを作りたいなら、膨大な規則群が必要です。が、複雑な規則は不要です。軽い対話のために必要な「思考」は単純ですから(省略の多い発言の入力に対して、何が省略されているかを正しく判断するための思考は、単純ではありませんが)。
これは対話型よりももっと単純です。システム設計者があらかじめ解析をして、利用者の入力内容を使ってどのような計算をするかを決めてプログラムができあがり、プログラム実行時に、利用者の入力に対してその計算結果をAIは表示するだけです。
AIが自己の判断で診断をしたり、あなたに何が向いているかをあれこれ考えたりするのではありません。