ニューラルネットワークとディープラーニング
現在ブームとなっているAIの中でも、ディープラーニングやニューラルネットワークなどはコアな技術とされています。とは言え「誰もがみんな使っている、という状況にはなっていない」と佐藤氏は現状を分析。「実運用を行っていくにはまだ多くの課題がある。それらの解決方法について紹介していきたい」と続けました。
簡単に言えば、ニューラルネットワークは関数の一種。即ち「データを入れればデータが出てくる」というものです。よく「シンギュラリティ(技術的特異点)の危険性」などと騒がれてはいますが、佐藤氏は「手元でニューラルネットワークを触っているが、それほどおもしろいことが起きている気はしない」と語ります。「賢い関数を学習データをもとにして作ることができる技術」ということだそうです。
ニューラルネットワークやディープラーニングの事例には、画像認識や音声認識、自然言語処理等が多く挙げられますが、その他のあらゆる分野に適用が可能だといいます。佐藤氏はゲームサーバーのログを例に挙げ、「ユーザーログからチートをしているユーザーを見つけることも可能なのでは」と話します。
では、ニューラルネットワークとはどのようなものなのでしょうか。佐藤氏はデモを交えながら解説を行いました。重要なのは、乱数で初期化されたものに対してひたすら学習データを与えることで、コンピュータ自身が自分で探し出し、試行錯誤するという点です。学習の過程で、誤りが少なくなる方向に最適化されていきます。
ニューラルネットワークの代表的な例としては、Google DeepMindのAlphaGoが挙げられます。ニューラルネットワークが人間に教わって囲碁を打つのではなく、自ら打ち方を考え、実際に囲碁を打って学習を重ねていきます。時には人間側が想像もしないような打ち手を披露するということも珍しくありません。
Googleサービスを支える機械学習
私たちが普段利用しているGoogleの各種サービスにも機械学習の技術が適用されています。例えばGoogle検索。検索結果のランクにはRankBrainという人工知能のアルゴリズムが使われています。最近では、Google翻訳に大幅な翻訳性能の改善が認められたことが話題となりました。ここにも機械学習の技術が使われており、誤訳は依然としてあるものの、流暢さは格段に上がってきています。さらにはGoogleのデータセンターで使われているエアコンをディープラーニングでコントロールするようにしたところ、コストを15%も削減することができたそうです。
次に佐藤氏は「WaveNet」という技術を使い、ピアノの音を生成するデモを披露しました。一聴しただけでは人間が弾いているとしか思えないレベルですが、人力では出せない音が混じっているとのことです。
誰もが使える機械学習サービス
Googleで利用可能な機械学習サービスは大きく2種類に分けることができます。1つは簡単で使いやすい、一般エンジニア向けの「機械学習API」。そしてもう1つがカスタマイズ可能な、機械学習エンジニア向けの「専用ライブラリ」です。
機械学習APIには、画像認識の学習済みモデルを提供して画像をAPIに送るだけで使える「Cloud Vision API」や入力音声を即座にテキスト化する「Web Speech API」などがあります。
機械学習APIはとても気軽に使えるサービスですが、適さない用途もあります。医療や車、工場製品といった、特定の専門的な分野や、画像や音声以外のさまざまなデータ分析です。これらはAPIでカバーし切れない部分なので、専用のニューラルネットワークの設計と学習が必要となります。