Open Innovation Platform

Google Brain チームを支える視覚化(Visualization)技術と機械学習【前編】

 難解な概念や、新しい理論を学ぶ必要のある機械学習の研究や応用に取り組むに当たって、視覚化(Visualization)は重要な役割を担ってきた。本稿では、Google Brain チームを支える視覚化技術を開発するマーティン ワッテンベルグ(Martin Wattenberg)氏とダニエル スミルコフ(Daniel Smilkov) 氏がカナダ・トロント大学で行った講演を紹介し、あわせて両氏と筆者が直にやり取りした質疑を踏まえて解説する。本講演では、研究者がニューラルネットワークの構造を理解する、エンジニアが複雑な機械学習システムをデバッグする、学生が新たに機械学習そのものを学習するといった場面において視覚化技術がどのように用いられているかを紹介するとともに、Google Brain チームで、どのようにそれらの技術がデザインされているかを解説する。

Martin Wattenberg氏

視覚化技術と人工知能や機械学習の関係を考えるにあたって、極めて単純な視覚化のデモを導入としていくつか紹介していきたいと思います。

まず、Google の検索エンジンにはオートコンプリートという技術が導入されていますが、これを利用して、2つのオートコンプリートの結果を比較するように作成されたのがこの「Web Seer」と呼ばれるものです。例えば、左側に「is artificial intelligence」と入力すれば多くの人が人工知能は実現可能か(possible)といった質問をしていることがわかり、機械学習と同義か(the same as machine learning)などの候補も表示されます。ここで右側に「is machine learning」と入力すれば、2つの検索ワードの重複が極めて少ないことなどが見てわかります。「私の娘は(is my daughter)」と「私の息子は(is my son)」を見れば「ゲイではないか(gay)」という大きな共通のキーワードがあることなどが視覚化される訳です。

HINT.FM: Web Seer(http://hint.fm/seer/

もうひとつの簡単なデモは、チェスの人工知能を視覚化したものです。それらの人工知能のシステムは基本的に賢いとは言えず、数多くのあり得る手を試すことによって、次の一手を決めています。かつて私は、それらの知性のようなものを理解するために視覚化を試みました。このチェス盤上では実際に遊ぶことができて、コンピュータが手を考えている間の思考パターンを(実際にはサブサンプリングして表示するものは減らしていますが)見ることができるようにしています。人間が1手打つたびに、コンピュータが検討している駒の動きが光の線で次々と現れて消えていきます。これによって、ある種の総当たり思考を目で見て理解することができると同時に、力の線のような、チェスの観点から意義のあるマップが得られます。このマップからは人間のプレイヤーにとっても有益な、重要な手について考える手助けにもなり得るわけです。

Thinking Machine 6(http://www.bewitched.com/chess/

これらの例から、視覚化技術は知能システムを理解する上で、システムの中で何が起こっているのか、さらには解決しようとしている問題がどのようなものなのかということを理解することに繋がるということがわかるでしょう。ここからは、Google Brain チームの Big Picture グループで実際に開発された、機械学習研究と応用をサポートする視覚化技術について、多くのデモを交えながら紹介していきたいと思います。視覚化がもたらす透明性は極めて重要なもので、システムの中で何が起こっているのかを理解したり、データを含めデバッグしたりといった作業をサポートします。また、視覚化は場合によっては実際にシステムがどのように動いているかについて示唆を得ることもあります。そして、教育という側面から、機械学習を世界に広めていくために視覚化が貢献できる部分についても紹介していきます。

Daniel Smilkov氏

それでは、高次のデータを解析して理解することを助けるためのツールとして我々が開発し、実際に TensorFlow と TensorBoard の一部として発表した「Embedding Projector」を紹介したいと思います。まず左列ではさまざまな高次のデータセットを選択することができます。この場合は3万5千点でそれぞれが256次元を持つベクトルのデータセットです。このシステムの主目的はこれらのデータセットを2次元または3次元の空間に投影することです。左下ではt-SNE、PCA、CUSTOM から投影の種類から選ぶことができ、中央列には実際の投影が表示されます。

Embedding projector – visualization of high-dimensional data(http://projector.tensorflow.org

例えばここで私が使っているデータセットでは、各点は可能なメールの返信を表していて、機械学習モデルで組み込まれた文章になります。この投影で示されることは、「ありがとう、それで良さそうだ、(Thanks, that sounds great,)」や「よかった、明日話そう(Great, let’s meet tomorrow,)」「添付ファイルを外して送ってください(Please send without attachment.)」という3つの文が最もあり得る返信として推薦されているということに他なりません。

ここで興味深いのは、標準で投影に使われているのは単なる線形の PCA モデルであるということです。このデータセットでは全ての点は3つのクラスタへ分けられますが、左側のクラスタ内の点にカーソルを合わせるとすぐにラベルが表示されます。すると、それらのメールの返信が全て感嘆符で終わっているということがわかります。右側のクラスタは全てピリオドで終わり、上のひと回り小さいクラスタは疑問符で終わっています。このような視覚化なくしては、機械学習モデルを訓練したときに文章の終わりに意味の大きな重みがあることを即座に知ることは難しかったでしょうし、このような重要な分析が、ツールを用いて即座に理解することができるのは大きな意義があると思います。

もうひとつ興味深い機能を、左下の CUSTOM 設定の左方向を「yeah」に、右方向を「yes」にすることで紹介したいと思います。これにより段落因子の分析をすることができます。すると、「yes」を含む約1000のメールがひとつのベクトルに、「yeah」を含む約200のメールがひとつのベクトルとして表される訳ですが、ここで「yeah」マイナス「yes」の次元は何になるでしょうか?答えは言葉の正式さの次元(formality dimension)です。左側には「笑笑、それはひどいな(Ha ha, LOL, that sucks)」といったスラングが、右側には「はい、私はそれを勧告したく存じます(Yes、 I would like to make that recommendation)」「どうぞ続く作業を進めてください(Please proceed with the following construction)」といった正式で丁寧な言葉がクラスタリングされています。

さらに、特定の点のセットを検索して、それらの次元が特定のサブクラスタを与えられた文脈でも成り立っているか調べられることは有意義な機能です。例えば、まず「添付ファイルをみてください(see attachments)」と検索すれば、それらを含むメールを選択することができます。実際にはこのシステムで最もよく使われる機能ひとつである、その周りの点を取得する機能によって「添付ファイルをみてください」のメールの周りの150点のサブクラスタを得ることができます。これによって、添付ファイルの文脈の中で、上で検討した正式さの次元(formality dimension)が成り立っているかを調べることができます。「ほら、それを確認しといて(Here you go. Please check it,)」と「必要に応じて添付をご確認ください(As per request, please see attached.)」を見れば、正式さの次元がこの添付ファイルを含むメールの文脈でも現れていることが明らかにわかります。

さらに、この「Embedding Projector」ではテキストだけでなく画像も取り扱うことができます。例えば MNIST のサブセット1万点をアップロードすれば、単純な PDA でもかなりの分離が行えることや、t-SNE のような複雑なアルゴリズムを走らせれば遥かに上手く分離できることがわかるでしょう。何よりも、クラスタの外に位置する異常な画像を直接確認することができ、下半分の丸みが少なくて2のように見える3が2の近くに分類されていることは妥当なことだということが視覚的に理解できます。画像を取り扱って分類したり推測したりしようとする方々には、ぜひこれらのツールを試してもらえたらと思っています。これは完全にオープンソースで、各点が行で区切られ、各点の中ではタブで仕切られた簡単な TSV 形式でデータをアップロードでき、スタンドアローン版で試すこともできます。ぜひ試してもらえたらと思います。

Profile

Martin Wattenberg and Daniel Smilkov

Google Brain

Fernanda Viégas とともに社会的・共創的な視覚化技術を発明することで知られている。彼らが Google などで開発したシステムは何百万人もの人々によって用いられている。
Wattenberg はカリフォルニア大学バークレー校で数学の博士号を、Smilkov はMIT Media Lab で修士号を取得。また、彼らの視覚化をベースにした数々のアートワークは世界中で紹介されている。

佐久間洋司 Written by

DG Lab アソシエイト
大阪大学大学院 基礎工学研究科 システム創成専攻 知能ロボット学研究室(石黒研究室) 研究生

次世代の人工知能研究・応用を学生自ら推進することを目標に、2015年12月に人工知能研究会 / AIR を設立。同年9月より大阪大学大学院 基礎工学研究科 システム創成専攻 知能ロボット学研究室で研究生として人の共感する能力を促進するための装置を開発している。トビタテ!留学JAPAN 日本代表プログラムの支援のもと、2016年8月よりカナダ・トロント大学へ留学中。約半年間の Panasonic Silicon Valley Laboratory でのインターンなどを経て、現在は DG Lab アソシエイトとして人工知能分野の調査を担当。

Follow