ニュース
Google、機械学習技術で翻訳やスパムフィルター、画像補正の精度を向上
GCPでもAPI提供
2016年12月5日 17:52
グーグル株式会社は、提供しているクラウドサービスやアプリにおける機械学習の活用について、記者向けの説明会を開催した。
機械学習における演算処理の1つ1つは簡単な計算式だが、これを組み合わせて何千もの層を形成する。生物の神経ネットワークの構造と機能を模倣する観点で生まれた、このようなニューラルネットワークの学習アルゴリズムを用いて、機械学習の演算モデルが構築されている。
このモデルによって、大量の学習データをもとに演算を行い、さらに、例えば、画像などの認識で誤りがあった場合に、どの段階が誤検知の原因となったのかをフィードバックして演算モデルを修正する。こうした処理を大量に繰り返していくことで、モデルの精度を高め、人間の手によらない機械学習が実現されている。
例えば、猫の写真を機械学習する場合、まず写真の画素を認識し、各層ごとに単純な演算処理を繰り返すことで、黒い線が輪郭線であることや、目が2つ、鼻が1つといったことなど、「より抽象度の高いレベルの内容が徐々に判別可能になっていき、猫かどうか分からない写真でも、猫と分かるようになる」(グーグル製品開発本部長の徳生裕人氏)のだという。
こうした演算には膨大なコンピューティングリソースを必要とする。ニューラルネットワークによる機械学習の理論自体は、数十年前から存在していたが、「ここ数年の進歩で急速に実現できる分野が増えた」とのことだ。
例えば「Gmail」のスパムフィルターなどにおいて、Googleでは以前から機械学習を活用していた。しかし、「これまではスパムメールの文字列など、何に注目するかをあらかじめ決めており、人間が大きく介在していた」(徳生氏)という。
現在では、人間の手を介在せずに行う機械学習の手法により、この1~2年で99.9%のスパムメールをフィルタリングできるようになった。本来はスパムではないメールがスパムメールと誤検知する確率も0.05%以下を実現している。
また、Google音声認識でも、主に雑音環境下での誤認識が減少し、音声認識エラーが25%減少した。人間であれば騒音と区別して音声を聞き分けられるが、ニューラルネットワークの仕組みを使って音声認識率を向上させたとのことだ。
「Google翻訳」は、11月にこうしたニューラルネットワークによる機械学習の仕組みを導入し、大幅な翻訳精度の向上を果たした。Googleが翻訳に取り組むことについて、グーグルシニアエンジニアリングマネージャーの賀沢秀人氏は、「インターネット上のコンテンツの約半分は英語で書かれているが、英語を不自由なく読めるのは多く見積もっても20%。一方、日本語のコンテンツが少ないが、読める人はさらに少ない。“世界中の情報を誰でも使えるようにする”というGoogleのミッションを実現する上で、その障壁の1つである言葉の壁は、Google的にゆゆしき問題」と述べ、その解消を目指しているとし、その成果について「新機能ではなく、根幹に関わる翻訳がよくなったことは、これまで長く(Google翻訳の開発に)かかわった中でも、飛び抜けて大きな成果」とした。
現在、Google翻訳の対応言語は100言語を超えており、「オンラインで使われている言語の99%は対応できている状況」。1日あたりでは10億回以上利用されており、ユーザー数も月間で5億を超えているという。また、Google翻訳のスマートフォンアプリでは、会話モードや、タップして翻訳、オフライン対応といった機能も提供されている。
これまでのGoogle翻訳では、原文を単語ごとに区切って翻訳してから組み合わせる“フレーズベース”の翻訳機能が提供されていた。機械学習ベースの翻訳機能では、このように個別に切らずに文の全体を見て翻訳しているため、訳文がより自然で流ちょうになるのだという。
機械学習技術を用いた翻訳では、入力された個々の単語が数値化され、用意されている対応関係の大きなテーブルの中から、機械学習で翻訳におけるベクトルが決定される。いったんベクトル化されると、そこから先は画像と似た仕組みでテーブルを逆引きし、ベクトルに一番近いような単語を探索、直前のベクトルも参照しながら、どの訳語が適しているかを決定している。
こうした仕組みにより、英語からスペイン語、フランス語、中国語へ、もしくはその逆への翻訳精度は劇的に向上し、人間による翻訳に肉薄しているという。日本語は英語と言語構造的に遠いため翻訳の難易度は高く、スコアとしては中国語に近いものになるとのことだ。
ただ、翻訳のスコアは人間でも満点にはならない。この理由としては、文脈が分からなければ翻訳は難しいことが挙げられた。例えば、電話で最初に発される「Hello」が日本語で「もしもし」になることなどが、これにあたる。また、特殊な専門用語なども、分野に精通していない場合には、正しい訳語を選びだすことが難しくなる。Google翻訳は、現状は文単位で翻訳を行っており、「文章全体を見て翻訳を向上させる取り組みを進めている」とのことだ。
このほか「Googleフォト」では、例えば逆光の写真を補正する際には、「自動」をタップするだけで輝度などが自動調整される。こうした画像補正でも、さまざまな写真から、どのような補正をすべきかが機械学習によって判定されている。逆光の写真以外にも、傾きの補正や、海をきれいにする「ディープブルー」の機能などでも、写真のパターンごとに機械学習によって選ばれたフィルターが適用され、「どれを選んでもそれなりに補正される」(徳生氏)という。
先日リリースされた紙焼き写真をスキャンするアプリ「PhotoScan」は、1枚の写真を画面の指示に従ってさまざまな角度から撮影することで、機械学習で合成し、きれいな写真を作り上げるもの。単に紙焼き写真を撮影しただけでは、光沢が入ったりゆがんだりしてしまうものだが、このアプリにより、Googleフォトに写真を簡単に取り込める。
世界中には「2兆枚の現像された写真がある」とのことだが、PhotoScanアプリを利用すれば、Googleフォトに取り込んでオンラインで管理できる。徳生氏は、「ニューラルネットワークでできることは広がっているが、どのように意味のある形で製品に反映するかが大事」とした。
Googleが作り上げた機械学習モデルのアルゴリズムは、法人向けクラウドサービスであるGoogle Cloud Platform(GCP)でAPIとして提供されている。画像認識機能は「Google Vision API」、音声のテキスト化機能は「Google Speech API」の各APIで利用でき、これまでフレーズベースの翻訳機能しか提供されていなかった「Google Translate API」でも、機械学習を用いた翻訳機能のベータ提供が始まっている。また、自然言語解析機能を提供する「Google Natural API」もベータから一般提供に移行し、SLAを伴ったサービス利用が可能になった。
グーグルGCP日本事業統括部の塩入賢治氏によれば、「Googleでは、マシンラーニングを膨大なPCを使って、いかに経済的に低コストで実現するかを長年研究している」とのこと。機械学習に特化したASIC「TPU(Tensor Processor Unit)」の開発により、Vision APIでは、最大80%の値下げが11月に発表されている。
提供されている各種APIは、ユーザーがアルゴリズムをカスタマイズすることはできないが、Googleでは、ユーザー自身が機械学習アルゴリズムを生成する基盤として、ディープラーニング用のSDKである「TensorFlow」も提供している。TensorFlowでは、機械学習では一般的になりつつあるGPUオプションをアルファ版として一部顧客企業向けに提供しており、これを2017年初頭からベータ版として一般向けに提供するという。これにより、「サーバーとしても、マシンラーニング基盤としてもGPUを選べるようになる」とことだ。
このほか、Googleでは「作ってはみたけど何に使えばいいのか分からない」機械学習を用いた実験プロジェクトもウェブサイトで積極的に公開し、一部はAPIも提供している。
「Multistyle Pastiche Generator」は、絵の描き方のスタイルを画家ごとにフィルター化して動画に適用可能にするもの。Google Arts&Cultureの試験運用機能として提供されている「X Degrees of Separation」では、登録されている作品の視覚的特徴を分析し、歴史的なアートワーク間をほかのアートワークでつないで連鎖を表現するもの。どんな作品を選んでも、似た作品が数ステップでつなげられるという。
また、ウェブサイト「A.I. Exprement」では、スマートフォンで撮影した被写体を歌いながら認識する「Giorgio Cam」、手書きで描いたものを認識する「Quick, Draw!」といった機械学習技術を活用したアプリの情報や使用されている技術、開発者の情報とともに、コードが「github」を通じて公開されている。