2017/04/20

『ディープラーニング』はAIに人間と同じ学習能力を与えたもうた?

世界最強棋士を破ったアルファ碁

2016年3月、Googleが開発したAI(人工知能)「アルファ碁」が、囲碁界の大方の予想をくつがえし、世界最強の棋士と呼ばれるイ・セドル九段を4勝1敗で退け、世界中を驚愕させた。この「アルファ碁」の強さの秘密はディープラーニングにあるといわれる。

「ディープラーニング」は近年、AIの話題では必ずといっていいほど登場する言葉だ。人工知能が一体なにをどうやって、どんなふうにディープに学んでいるというのだろう。

AIといっても実体はコンピュータだ。スマホも一種のコンピュータだから、あなたのスマホで考えてみるとわかりやすい。たとえばスマホの電話帳にあらかじめ登録した人であれば、着信時にその名前をディスプレイに表示してくれるだろう。これはつまり、スマホが情報をひとつ学習したというわけだ。なんのことはない。コンピュータにとっての「学習」とは、人間が情報をインプットしてあげるということなのだ。

個人の電話帳だったら自分ひとりで入力できるが、これが顔認識だの、音声認識だの、囲碁だの将棋だのとなると、あまりに複雑、かつデータが膨大すぎて人間による入力では追いつかなくなる。もっと効率よくコンピュータが自分で学習してくれるようにしたい。そうして考えられたのが人間の脳の仕組みからヒントを得たニューラルネットワークだ。

お手本は人間の脳。いま最高にホットなテクノロジー「ニューラルネットワーク」

人間の脳の働きをまねたニューラルネットワーク

脳の中には「ニューロン」という神経細胞が複雑に結びついてネットワークを形成し、情報を伝達したり保存したりしている。その数は千数百億個だというから、気が遠くなりそうな数だ。そのニューロンが、今この時もあなたの頭の中で、記憶や認知といった活動を支えている。

人間のニューロンの仕組みは複雑すぎて、まだ全貌は解明されていないものの、ニューラルネットワークは、上記のニューロンに似た仕組みをプログラムで再現したものと考えてもいいだろう。いわば「仮想脳」だ。ニューラルネットワークでは「パーセプトロン」と呼ばれる、まさにニューロンの働きを模した計算方法が取り入れられている。このパーセプトロンが下の図のように階層的ネットワークをつくることで、さまざまな複雑な問題を解くことができるようになったのだ。

なんだか頭がこんがらがってくるような話だが、とにかく、人間の脳の働きをまねしているうちに、ニューラルネットワークというすごいプログラムを見つけてしまったということが、まずこの前段の鍵となる。そして話は「学習」へと移る。

「教師あり学習」と「教師なし学習」

このニューラルネットワークは学習にとても向いているプログラムだ。このコンピュータが学習することを「機械学習」という。これはコンピュータという「機械」が、ただひたすら「機械的」に学習するからで、その学習方法は大きく2つある。「教師あり学習」と「教師なし学習」だ。

「教師あり学習」とは文字通り、人間が先生となってつきっきりでコンピュータに教えることだ。たとえば、猫とはどんな姿かを教えるときに、ニューラルネットワークに猫の画像を入力して「これが猫だ」と教え、犬の画像を入力して「これは猫ではない」と教える。これを繰り返すことでニューラルネットワークは、猫とはどういうものかを認識できるようになる。

ただ、猫といってもいろんな猫がいる。学習はサンプルデータ数が多ければ多いほど正確さが増すので、簡単なものならいざしらず、猫ひとつでも人間がつきっきりで教えるとなると膨大な手間と時間がかかってしまう。そこで考えられたのが、人間の助けなしでニューラルネットワークに独力で学習させる「教師なし学習」だ。意志など持たない、ただの機械にすぎないコンピュータにそんなことができるはずがないと思うかもしれない。だが、できたのだ。

Googleの大快挙!!

2012年、Googleがコンピュータに猫を「教師なし」で学習させ、独力で認識させることに成功したと発表し、世界中のコンピュータ研究者を驚かせた。YouTubeから集めた1,000万枚の静止画像を10億カ所(!)の接続からなる巨大なニューラルネットワークに見せた結果、コンピュータは人間と同じように「猫」という概念を独力でつくりあげることができたのだ。この学習には、なんと1,000台のコンピュータと3日という時間を要したという。

コンピュータが独力でつくりあげた「猫」の概念を示す画像(Googleの発表資料より引用)

一体どうやったら、そんなことができるのか? まず、ニューラルネットワークの階層がとても深い(Googleのこのときは9層)ことが挙げられる。それぞれの層で学習が繰り返されるので、それだけ「賢くなる」。「ネットワークの階層」については、たとえばこんなふうに考えてもいい。

いちばん上の層に100人からなる観察隊がいて、それぞれが謎の物体を調べている。その100人が個別に観察結果を後ろの分析隊に伝える。分析隊は100個の観察結果を付き合わせてわかったことを、また後ろの分析隊に送る。そうやって、しだいに分析は部分的なものから全体的なものへと高められていく。しかも、送られてきた報告が矛盾していたら、「なんか、間違ってない?」と送り返してやりなおしてもらう。そんなシステムを想像してもらうとよいだろう。

すでに活用が進むディープラーニング

ディープラーニングとは、このGoogleのコンピュータがおこなったような学習のことを言う。つまり、ニューラルネットワークを使った「教師なし学習」のことだ。「ディープ」とは、ニューラルネットワークが深い層になっていることを示す。

この革新的なディープラーニングによってAI研究が大きく前進し、AIの可能性が飛躍的に高められた。すでにいろいろな場面でディープラーニングは応用されていて、たとえばFacebookは画像認識を活用して、視覚障害者向け音声キャプションなどに生かしている。同じくFacebookは2016年、テキスト理解エンジン「DeepText」を発表。これは人間と同じ正確さとスピードで文章を理解するという。

今後は画像解析や音声認識だけでなく、ECサイトで消費者の好みやライフスタイルを1人ひとり分析して効率よく商品を紹介したり、病院で医師の診断をサポートしたり、金融商品の動向を予測したり、あるいは自動車の自動運転など、ありとあらゆるシーンで活用されていくだろう。いわば人類の未来を左右するAIの心臓部といえる。さて、ディープラーニングについて深く理解していただけただろうか。

文:太田 穣