Archive for June, 2018

GmailはAIがメールの書き方を習得、文章を書き始めると次のフレーズを教えてくれる

Friday, June 8th, 2018

GoogleはGmailを大幅にアップグレードし、AIがメール文書を作成する機能をリリースした。これは「Smart Compose」と呼ばれ、メールを書き始めると、AIがそれに続くフレーズを生成する。書き始めるだけで文章が完結するので、メールを書く時間が大幅に短縮される。

出典: VentureClef

使い方はシンプル

Smart Composeは一般公開に先立ち、試験バージョンとしてリリースされた。使い方はシンプルで、Gmailのメール作成画面で、文字をタイプすると、AIがそれに続くフレーズを提示する (上の写真)。「How」とタイプすると、AIは「How are you doing?」という文章を生成する。AIが提示するフレーズ  (「are you doing?」の部分) は灰色で示され、タブを押すとこの文章が確定する。また、Smart Composeは受信したメールに返信するときも、AIがフレーズを生成する。


実際にメールを書いて見ると

実際に使ってみると想像していた以上に便利だ。冒頭の言葉をタイプすると、AIがそれを完結する。下の写真がその事例で、AIが生成した部分を赤字で示している。文章の殆どをAIが生成していることが分かる。あて名はAIがメールアドレスを見て生成する。また、AIは筆者の住所も把握しており、自動で挿入する。AIが個人情報を把握しており、少し気味悪いところもあるが、便利さとのトレードオフになる。

出典: VentureClef


挨拶文のバリエーション

メールの冒頭で挨拶分を書くときに、様々な表現があるが、AIは多彩な書式を学習している (下の写真、AIが生成した部分を赤字で示している)。「Hope」と入力すると、AIはそれに続き「all is well with you」と出力する (下の写真、一行目)。このフレーズではなく、別の表現を意図しているときは、タイプを続け、「Hope e」まで綴ると、AIは意図を察して、「everything is going well with you」と出力する (下の写真、二行目)。今度は、「Hope w」と綴ると、AIはこれに続き、「work is going well」と出力する (下の写真、三行目)。つまり、書きたい文章をタイプし始めると、AIがその文章を完結する。挨拶文のバリエーションは幅広いが、AIはこの多様性に対応できている。

出典: VentureClef


少し複雑なメール

AIは冒頭のあいさつや、最後の決まり文句だけでなく、中間部分のフレーズも生成する。文章を書き始めるとAIが意味を察して、それに続く単語を生成する。ただ、少し複雑なメールになると、AIが補完する部分が少なくなる (下の写真、AIが生成した部分を赤字で示している)。AIが文章の最後の部分だけを生成するケースが増える。Smart Composeの機能はまだ限定的で、補完できる範囲を広げることが、次の目標となる。

出典: VentureClef

言語生成モデル

興味深いのはSmart Composeを支えているAIで、アルゴリズムが学習を重ね、メールを生成する能力を習得する。このAIは言語生成モデル (Language Generation Model) と呼ばれ、入力された文字列から、次の文字を予測する。このため、一般的に、Sequence to Sequence (Seq2Seq) モデルに区分される。Gmailは言語生成モデルの中で、Recurrent Neural Network-Language Model (RNN-LM) とNeural Bag of Words (BoW) を使っている。

Recurrent Neural Network-Language Model

RNN-LMはRNNベース (時間に依存するニューラルネットワーク) の言語モデルで、言語生成の定番技法である。Googleは翻訳サービス「Google Neural Machine Translation」でRNN-LMを使っている。RNN-LMはEncoder (言葉を符合に凝縮) とDecoder (符号から言葉を生成) から成る。翻訳モデルでは、言葉をEncoderに入力すると、Decoderが別の言語に翻訳する (下の写真、中国語を英語に翻訳する事例)。

出典: Google

RNN-LMを使いたいが

GmailにRNN-LMを応用すると、アルゴリズムがメールの文章を生成する。この場合、Encoderに入力するのは、メール題名と受信メール(返信文を書くとき)で、Decoderは利用者がメールを書くにつれ、それに続くフレーズを生成する。しかし、RNN-LMは予測精度は高いものの、大規模な計算量が発生し、答えが出るまでに時間がかかる。メール生成ではタイプするごとに、次のフレーズを生成する必要があり (遅延時間は0.1秒以内)、RNN-LMを使うことができない。

RNN-LMとBoWの組み合わせ

このため、GmailはRNN-LMとBoWを組み合わせて使っている。BoWとは言語モデルの一つで、言葉の並びから、次に現れる単語を予測する。単語は位置情報を含んだベクトルとして表現される (Word Embeddingと呼ばれる)。Gmailはメール題名と受信メールをEncodeするとき、このWord Embeddingを使う。RNN-LMのDecodingの各ステップにWord Embeddingを入力し、Decoderがテキストを生成する。「How」とタイプすると、RNN-LMは「are you doing?」と文章を生成する (下の写真、実例は先頭の写真)。つまり、RNN-LMのEncoding部分に軽量なBoWを使い、遅延時間を短くすることに成功した。

出典: Google

計算環境

Gmailの言語モデルが決定すると、ネットワークのハイパーパラメータ最適化や教育 (文字通りTrainingと呼ばれる) のために、TPUv2 Podが使われた。TPUv2は第二世代のTPUで、Podとはこれを64枚搭載した構成。教育された言語モデルを実行 (Inferenceと呼ばれる) する際に、CPUが使われたが、処理時間がかかり遅延時間の制約を満たすことができなかった。そのため、言語モデルの実行もTPUが使われている。

ロードマップ

Microsoft Outlookでメールを作成したり、Wordで文章を書くときも、ウインドウにフレーズ候補が示される (日本語入力変換のケース)。これを上手く使うと、文章を効率的に書くことができる。しかし、これは文字変換機能に留まり、利用範囲は限定される。何よりも、変換の精度が悪くイライラすることも少なくない。これに対しSmart Composeは、タイプされた文字や単語に反応し、それに続くフレーズを生成し、インテリジェントであると感じる。Smart Composeは登場したばかりであるが、次は、利用者のライティングスタイルで文章を生成するアルゴリズムが開発されている。

Googleはイメージ検索機能「Google Lens」をAIで大幅強化、スマホカメラがモノの名前を教えてくれる

Friday, June 1st, 2018

Googleはイメージ検索機能「Google Lens」の最新版をリリースした。Google Lensはスマホカメラに写ったオブジェクトの名前を表示する。カメラ越しに花を見ると、Google Lensはその名前を教えてくれる (下の写真、左側)。お洒落なハンドバッグに視線を移すと、Google Lensはそれに似ている商品を示す (下の写真、右側)。カメラでイメージ検索をする技術は早くから登場しており、アイディアとしては目新しいものではない。しかし、Google Lensは高度なAIを実装し、イメージ検索機能と精度が大幅に強化され、使ってみると予想外に便利で、いまでは生活の必須アイテムとなった。

出典: VentureClef

スマホ向け拡張現実

Google Lensは2017年11月に登場し、2018年5月に機能が大幅に強化された。Google Lensの実態は拡張現実 (Augmented Reality) で、カメラが捉えたオブジェクトに情報を付加する構造となる。Google Lensはスマホ「Google Pixel 2」などに実装され、AIアシスタント「Google Assistant」と連携して稼働する。Google Lensを起動するには、Google Assistant画面でLensアイコンにタッチする。また、Google Lensはカメラアプリに組み込まれ、撮影画面からホームボタンを長押しして駆動することもできる。

名刺を住所録に登録

Google Lensはテキストを認識し、それを文字に変換し、それらの意味を理解する。名刺を読み込むと、そのまま住所録に登録できる (下の写真、左側)。名刺に記載されている電話番号を認識し、そのまま電話を発信できる。更に、住所を認識し、Google Mapsにリンクして、その場所までナビゲーションする。街中のポスターで気になるコンサートの案内があると、それをGoogle Lensで見ると、プログラムや連絡先を抽出する (下の写真、右側)。Google Lensは所謂OCR(光学文字認識)として機能するが、コンテンツの意味まで理解するので、その利用価値は高い。

出典: VentureClef


美術館の案内

Google Lensは絵画や彫刻など芸術作品を理解しその内容を解説する。美術館で音声ガイドを借りる代わりに、Google Lensが案内役を務める。Google Lens越しに絵画を見ると、作品の題名と概要を表示し、示されたリンクを辿ると作品の詳細を読むことができる。(下の写真、左側、この絵はセザンヌ作の「Chateau Noir」と表示)。撮影した写真を後日、Google Lensで見ると、同様な説明が表示される。(下の写真、右側、この彫像はロダン作の「Les Bourgeois de Calais」(カレーの市民)で、その概要が示される。) Google Lensの絵画に対する認識精度は極めて高く、美術鑑賞のスタイルが変わる。

出典: VentureClef


観光ガイド

Google Lensはランドマークを認識し観光ガイドとして利用できる。周囲のビルやモニュメントにカメラを向けると、Google Lensがそれらの名前を表示する。Google Lens越しにGoogle本社ビルを見ると「Googleplex (Googleキャンパス)」と表示され、リンク情報が提示される (下の写真、左側)。また、撮影した写真を後日、Google Lensで見ると、観光した場所の名前と概要を教えてくれる (下の写真、右側、スタンフォード大学内の「Memorial Church」とその概要を表示)。ただ、数多く存在するランドマークを認識するには高度な技術を要する。更に、見る角度や影の方向でイメージの判定が難しい。このため、Google Lensが認識できるランドマークの数は限られ、認識精度も完全ではなく、更なる技術改良が必要となる。

出典: VentureClef


植物図鑑

Google Lensを植物に向けるとその名前を教えてくれ、植物図鑑として使うことができる。カメラで白い花を見ると、Google Lensはこれは「Jasmine」(ジャスミン)と教えてくれる (下の写真、左側)。写真撮影した草花の種類をGoogle Lensで調べることができる。よく見かけるオレンジ色の花の写真をGoogle Lensで調べると、これは「California Poppy」(ハナビシソウ)であることが分かった。植物の判定は難しく高度なニューラルネットワークが必要であるが、Google Lensを花に向けると敏感に反応し正解率は悪くない。一方、樹木や木の葉にについてはアルゴリズムの教育ができていないのか、認識力が大きく落ちる。制限事項はあるものの、Google Lensで身の回りの植物の種類を知ることができ、コンピュータビジョンの進化を肌身で感じる。

出典: VentureClef


Smart Text Selection

Google Lensの機能が強化され、「Smart Text Selection」、「Style Match」、「Real-Time Results」が追加された。Smart Text Selectionは、Google Lensが認識したテキストの中から、特定部分を選択する機能。例えば、レストランメニューのなかから、気になる料理を選択すると、Google Lensはその内容を説明する。イタリア語で書かれていて読めない時は、Translateボタンにタッチすると翻訳してくれる (下の写真)。この料理はマグロのスライスにオレンジサラダが付いているのだと分かる。

出典: VentureClef


Style Match

Style Matchはファッションや家具などをアドバイスする機能。Google Lensでお洒落な洋服を見ると、その洋服と同じデザインの別の製品を表示する (下の写真、左側)。気に入ればそのまま購入できる。その他にGoogle Lensでシューズやバッグを見ると、同じ趣向の商品を表示する (下の写真、右側)。家の中では、Google Lensで家具を見ると、類似の商品を示す。Amazonなどショッピングサイトで同様な機能があるが、Google Lensはカメラで捉えたライブイメージが対象で、リアルタイムで画像解析を実行し、デザインが似ている商品を検索するので、高度な技術が必要となる。

出典: Vogue / VentureClef


Real-Time Results

このように、Google Lensの最大の特長は、リアルタイムでオブジェクトを把握できるようになったこと。カメラを通して周囲を見渡すと、Google Lensは写っているオブジェクトをリアルタイムで把握し、それに関連する情報を表示する (下の写真、画面上の白いドットはAIが解析している領域を示す)。Google Lensは連続してイメージ解析を実行する構造で、究極のコンピュータビジョンといえる。ただ、プロセッサへの負荷は高く、持っているスマホが熱くなり、20分程度でバッテリーがなくなる。

出典: VentureClef

システム概要

Google Lensは、エッジでAIによる画像解析を実行し、そのメタ情報をクラウドに送信し、バックエンドで検索プロセスを実行する構造となる。この際、スマホの限られた計算資源でニューラルネットワークを稼働させ画像解析を実行する。光の条件や撮影するアングルでイメージは大きく変わり、スマホでのオブジェクト認識は難しい。このプロセスでGoogleのAIプロセッサ「Pixel Visual Core」が使われる。一方、クラウド側のAI処理では「Cloud TPU」が使われる。Google Lensは、場所 (ランドマークなど)やモノ (植物、ファッション、家具、絵画など) のなかからオブジェクトをリアルタイムで特定する。

Googleの狙いは

Google Lensは拡張現実によるイメージ検索で、Googleのコア事業である検索サービスを強化した形となる。Googleは2010年に、イメージ検索スマホアプリ「Google Goggles」を投入し、このコンセプトを追求したが、幅広く普及することはなかった。Google Lensはこの後継モデルとなるが、高度なAIを実装し、検索精度が格段に向上した。Google Assistantは言葉による検索クエリーだけでなく、ビデオ画像による検索を実行することができ、検索の幅が大きく広がった。更に、Google Lensの機能強化とともに、このシステムはLGなど他社メーカーに公開され、イメージ検索クエリの件数が大きく増えることになる。