3.機械学習・ディープラーニング・ニューラルネットワーク(2)
====================================
(1) AIでできるようになること(予想含む)
すごいですよね。
これを、ヘレン・ケラー的に頭のなかで拡張していくと、AIがあれば、あれもできるし、これもできる…という「妄想」が膨らんでいきます。
定義を教える必要はない。
ただ、AIに経験を積ませればいいわけですから。
(2) あるなしクイズの発想
機械学習とディープラーニングについて、もう少し細かく見ていきましょう。
前述したとおり、ディープラーニングを用いた機械学習の場合、経験を積ませるという過程が必要です。
① データから反復的に学習し、
② そこに潜むパターンを発見し、
③ 学習した結果を新たなデータにあてはめることで、パターンにしたがって将来を予測していく
…というプロセスなのです。
ちょっと抽象的で、イメージしにくいという方もいらっしゃると思います。
でも、実は、私たち人間は、これに近いプロセスを、ゲーム、あるいは、クイズとして楽しんでいます。
ちょっとこちらを御覧ください。
ある…指揮、缶、球、図、書く
ない…演奏、瓶、丸、立体、描く
こちらは、いわゆる「あるなしクイズ」です。
誰しも一度は挑戦したことがあるのではないでしょうか。
上側の「ある」のほうに提示された項目と、下側の「ない」のほうに提示された項目とを、比較しながら、両者の違いを端的に言い当てるというクイズです。
(ちなみに、私は苦手です笑)
今回の問題。
おわかりいただけましたか?
答えは「直前に「ち」をつけても言葉として、意味が通じるか通じないか」です。
ちしき(知識)、ちかん(置換・痴漢)、ちきゅう(地球)、ちず(地図)、ちかく(近く・知覚・地殻)…「ある」のほうはいずれも言葉として成立しています。
わかってしまえばなんということはありませんね。
まさに「コロンブスの卵」。
正解を効いてしまった後であれば、たとえば、
「「しお」はどっちに入りますか?」
と問いかけられても、誰でも自身を持って、
「「ある」のほうです」
と答えることができます(「ちしお(血潮)は言葉として成立していますから」。
ある、なし、双方のグループに入る言葉(項目)を予めいくつかみせてもらうことによって、私たちはその違いに気づいていくわけです。
さらに項目=サンプルが増えれば、5項目ではわからなかった方も、気づいていただけたのではないかと思います。
これと同じようなプロセスを、AIは、きゅうりの判別の際に経験しているのです。
数百本・数千本の「よいきゅうり」と「悪いきゅうり」を、お手本として見せてあげえば(経験させてあげれば)、AIは、次の1本はどちらかはほぼほぼ間違いなく判別することができるようになります。
ですから、その後に、人間から、
「「このきゅうり」はどっちに入りますか?」
と問いかけられても、明確に、
「Aです」
と答えることができるわけです(もっとも、上記の例は、クイズですから、たまたま「端的に」表現することができますが、「よいきゅうり、悪いきゅうり」は暗黙知ですから「端的に」表現することはできませんね)。
いかがでしたでしょうか。
ちょっと抽象的だったディープラーニングを用いた機械学習…少し、イメージしていただけましたでしょうか。
「定義を教えるのではなく、経験をさせる…それが大切だ」
もう少し、一般化すると次のようになります。
① 機械学習ゆえ、人間はプログラムを作らず、AIが自ら学ぶ
② AIには、「甲」という情報が入ってきたときにの採点は「○」、「乙」という情報は入ってきた時の採点は「✕」だという例を示してあげる(与えてあげる)
③ 入力に対する答えとなる出力のセットの例を大量にAIに示してあげる(与えてあげる)と、AIは、データから反復的に学習し、そこに潜むパターンを発見し、学習した結果を新たなデータにあてはめるようになる
(3) 「教師あり学習」と「教師なし学習」
細かい話をすると、人間からAIへのデータの与え方にも2通りのパターンがあります。
人間が正解を与える「教師あり学習」と、正解を与えない「教師なし学習」です。
さきほどのきゅうりの話は、人間が正解を与えていますから、教師あり学習に該当します。
一方、教師なし学習についての代表例としては「強化学習」があります。これは、正解を与えるのではなく、評価だけするというものです。
たとえば、囲碁や将棋の場合、あるいは、野球やサッカー等といった競技で活躍するAIにはこの教育を施します。
「ここで、金を右上に動かしたら…結果として負けた」
「ここで、送りバントをしたら…結果的に勝った」
という情報の積み上げです。
一手一手が「正しかった」「間違っていた」と判断することは誰にもできません(往々にして、私たちは呑みながらそういう話をするのが好きですが笑)から、「結果として勝った」「結果として負けた」という「評価」だけを教えてあげるわけです。
教師あり学習は直接的ですが、教師なし学習は間接的です。やんわりとAIを教育していくわけです。
しかし、ちりも積もれば山となります。
データが大量に集まってくれば、AIはだんだんと判断ができるようになります。
「終盤で、この局面で、金を右上に動かすのは良い方法だ」
「7回裏ノーアウトランナー1塁、1点負けている時には、送りバントをすると、勝つ確率が高まる」
といったことをAI自身が学ぶことはできるわけですね。
棋士や競技の選手・監督、あるいは、経営者やビジネス・パーソンまで拡張してもいいと思いますが、実は、これって、私たちが何かを学ぶ時に用いている方法ですよね。
個人の経験には限りがありますから判断ミスも起こりえますが(人間の場合、それで喧嘩になったりするわけですが)、AIの場合は客観的に大量のデータの積み上げることで、判断力が高まっていくわけです。
(4) 書き換え作業のイメージ
教師あり学習であれ、教師なし学習であれ、いわゆるお手本データの入力は必要になります。
当然のことながら、お手本データは多いに越したことはありません。
お手本データで経験を積んでいれば、次に、別なデータを入力されても、その判別はお茶の子さいさいでできるようになるわけですね。
…と、いきたいところですが、実際のAIは、時々間違えます。
経験不足によるミスですね。
そこで、教師あり学習であれば、間違った場合には、人間が教えてあげるわけです。
「その写真はイヌだぞ」
と。
そうすると、コンピュータは反省し(笑)、
「ありゃ、まちがえたか」
と、プログラムを自分で修正します。
教師あり学習の場合、正解の結果に基づいて、コンピュータ自身が「モデルの書き換え」を行うわけですね。
繰り返しになりますが、人間のエンジニアが外部から操作して、書き換えるわけでないところがポイントです。
できるだけ高い確率で写真に写っているネコを判別できるように書き換えていくわけです。
これは、私達が、ヘッドホンで音楽を聞くとき、お好みの音が出るまで何度も何度も、イコライザー(周波数別の音量のレバーが並んだ機械)をいじるのと同じ行為に似ています。
書き換えが終わった後に、試しに、先程間違えた画像(あるいはそれに似た画像)を用いて、再度出題してみたら、どうなるでしょう。
おそらくは、今度は大丈夫でしょう。
「これはイヌです。ネコではありません」
…といった具合に、書き換えの成果が出るはずですね。