昨年の10月に「Google Home」「Clova WAVE」、11月に「Amazon Echo」といったスマートスピーカー(AIスピーカー)が発売されました。これらのスマートスピーカーにはAIアシスタントが搭載されており、ディープラーニングを用いた音声認識によって操作できます。
その他にも、Googleの音声検索や翻訳、昨年末にGmailに搭載された自動予測返信機能「Smart Reply」、Facecbookの顔認識技術「DeepFace」や文章認識技術「DeepText」など、身近にAI(人工知能)が活用された製品やシステムがぞくぞくと増えています。先日も、Googleから人工知能で光学顕微鏡の映像からリアルタイムでガンを検出する技術が発表されました。
テレビでも「AI」が取り上げられたり、ニュースなどでも「機械学習」「ディープラーニング(深層学習)」と言った言葉をよく耳にするようになりました。しかし、それぞれの言葉に対して漠然としたイメージしかない方もいるのではないでしょうか。私もその一人でしたが、人工知能について調べてみたところとても理解が深まり、またおもしろい事例などもありましたので紹介したいと思います。
AI(人工知能)とは
AI(人工知能)とは、「調べる」「計算する」「予測する」「判断する」などの人間の知能を、コンピューター上などで実現するための試みや、技術を指します。特定の技術を指すものではなく、概念や技術全般を指す言葉と捉えればよさそうです。
AI自体は最新的なものではなく、1950年頃から研究が続けられています。近年よく取り沙汰されるようになったのは「ビッグデータ」の登場と、安価で強力なGPUの普及により大量の処理が高速に行えるようになり、「機械学習」や「ディープラーニング」が飛躍的に進歩したためです。
機械学習とは
機械学習はAI研究の1つの分野で、コンピューター自身がデータを解析しトレーニングすることで、データの法則性やルールを見つけ分析の精度を上げたり、最適解を導くためのものです。
機械学習はいくつかの手法があります。代表的なものとして、「教師あり学習」「教師なし学習」「強化学習」の3つに簡単に触れておきましょう。
教師あり学習
たとえば、人は「犬」と「猫」を見た時に、顔や体の大きさ、柄などから瞬時に見分けることができます。この「見分ける」行為を人力でプログラミングするとなると、とてもとても大変です。そこで、AIに犬と猫のラベル(答え)をつけた大量の画像と、「目」「口」「大きさ」などの目の付けどころ(特徴量)を与えます。AIは与えられたものから犬と猫のそれぞれの特徴を学習し、法則(モデル)を作り、見分けることができるようになります。
このように、データ(問題)とラベル(答え)を与えることが教師の役割となって学習することから「教師あり学習」と呼ばれています。ただし、大量のラベル付きのデータを人が用意する必要があるため、手間がかかります。
活用例としては、欲しい結果が明確になっている「迷惑メールの判別」や「天気の予測」、「人の顔の識別」、「手書き文字の判別」などに用いられます。
教師なし学習
「教師なし学習」はデータ(問題)のみをAIに与え、特徴量はAI自身が導き出します。そのため、正解や不正解を導くのではなく、データを分類(クラスタリング)したり、膨大なデータから何かを発見させたりすることに長けています。また、データにラベル(答え)が必要ないため、データにラベル付けする手間がありません。
活用例としては、ショップサイトでユーザーの好みや思考(高級思考、流行好きなど)に合わせてオススメの商品を紹介する「レコメンド機能」などに使われます。
また、有名な話として「キャットペーパー」と呼ばれている2012年にGoogleが発表した論文があります。これはYouTubeの動画データをAIに1週間学習させ、「猫」を識別することに成功したというものです。前述した通り、画像の識別は本来「教師あり学習」が用いられていましたが、「教師なし学習」で実現したのです。
これは、AIに「猫」というものを一切教えず、コンピューターが自力で「猫」を理解したということです。この時までの機械学習はラベルつきの大量のデータに依存していたため、この発表は業界に大きなインパクトを与えました。
強化学習
強化学習は、結果を最大化させることを目的とします。「エージェント」に「環境」と「状態」を与え、エージェントは「行動」することで「報酬」を得ます。AIは「行動」の試行錯誤を繰り返し「得る報酬が最大となる行動」を学習します。ゲームで最高スコアを出す、株の売買で利益を最大化する、などが強化学習にあたります。
格闘ゲームに例えると「環境」=「格闘ゲーム」、「エージェント」=「プレイヤー」、「状態」=「キャラクターのステータス」、「行動」=「攻撃・防御・移動」、「報酬」=「ダメージ・勝利」といったものになります。
強化学習のAIで有名なものとして、2017年に世界トップ棋士に勝利したGoogleの「AlphaGo」があります。AlphaGoは囲碁対局サイトにある3000万手を学習し、さらにAI同士で3000万局ともいわれる大量の対局データを学習したそうです。(*)
また、ゲーム分野においてスクウェア・エニックスの「HITMAN: ABSOLUTION」ではキャラクターの動きを自然に見せるために使われたり、DeNAのスマホゲーム「ファイナルファンタジー レコードキーパー」ではテストプレイに、「逆転オセロニア」ではレベルデザインの調整に用いられるなど、さまざまな活用がされています。
※ 最新バージョンの「AlphaGo Zero」ではビックデータを必要とせず、自己対局によって強化される方式により、初心者の状態から40日後には世界トップ騎士に勝利した前バージョンの「AlphaGo Master」を「100戦中89勝11敗」と圧倒するレベルに成長したそうです。(現在AlphaGoは人間との対局から引退しています)
ディープラーニング(深層学習)
ディープラーニングは機械学習を実装するための1つの方法で、人間の脳内に存在する神経細胞(ニューロン)の働きから着想を得て作成されたシステム「ニューラルネットワーク」を多階層にした手法です。
「教師あり学習」の項目で、特徴量から法則(モデル)を作ると説明しましたが、作られた法則が不適切なものだった場合いつまでも正しい結果にたどり着くことができません。そこで、いきなり結果を出すのではなく、得られた結果を新たな特徴量としてさらに法則(モデル)を作り出します。これが前述したニューラルネットワークに当たります。そして、ニュートラルネットワークをいくつも重ねることで複雑なネットワークを構成し学習します。
ディープラーニングの考え方自体は数十年も前からありましたが、コンピューターの処理能力不足や、膨大な量のデータが必要になる点などで実用が難しいとされていました。その問題がGPU性能の向上やビッグデータなどにより解決され、実用となったディープラーニングは近年の人工知能の発展に大きく貢献しています。前項の「AlphaGo」や、冒頭で紹介した「DeepFace」「DeepText」などのAIは、すべてディープラーニングが用いられています。
またおもしろい事例として、「ラーメン二郎」のラーメンの画像から高精度で店名を当てる「ラーメン二郎bot」を作った方のインタビュー記事がありました。開発での試行錯誤が紹介されていたり、読み物としてもおもしろいものでしたので、よければご覧ください。
まとめ
今回の記事ではあまり深掘りせず、それぞれの概要の紹介に留めましたが、一般的なニュース等で扱われる内容であれば十分理解できるようになったかと思います。なんとなく知っているつもりのものでも、調べてみると多くの発見があり、機械学習を通じて人が学習することの重要性も再認識できました。
ICS MEDIAでは、AIに関する記事「【速報】人工知能Adobe Senseiを組み込んだ未来のPhotoshopとXDが凄すぎる」や「人工知能Adobe Senseiの画像処理が凄すぎてAdobe MAX 2017の会場は狂喜乱舞に」もありますので、ぜひこちらもご覧ください。
※ 十分に下調べをした上で記事にしていますが、私自身専門家ではないため間違っている解釈などありましたらTwitterなどでご指摘いただければと思います。