Googleがここ数年で最大の検索アルゴリズム更新、ニューラルネットのBERTテクノロジー投入

米国時間10月25日、Google(グーグル)は検索エンジンのアルゴリズムをアップデートしたことを発表した。ここ数年で最大で、検索者の意図の推測精度を改善するためにニューラルネットワークを利用する。

Googleでは「検索10回のうち1回の精度をアップさせた」としている。このアップデートは当面米国における英語の検索が対象だが、ほかの地域、他の言語も近くサポートされる。検索時に表示されるスニペットについてはすでに世界でアップデート済みだ。

検索エンジンの世界では、アルゴリズムの改善というのは地味で目立たないものが多いが、検索の10%にも影響するというのは驚くべき数字だ。世界中のSEO専門家はここしばらく徹夜が続くだろう。

Googleではこのアップデートは長く会話的な検索の場合に特に威力を発揮すると考えている。実はGoogleはユーザーがなるべく会話的、説明的に検索テキストを入力することを望んでいる。そのほうが単なるキーワードの羅列より検索意図を理解しやすいからだ。

2019 10 25 0945 1 ニューラルネットを利用した新しいアルゴリズムは双方向エンコーダーによる変形生成、「Bidirectional Encoder Representations from Transformers」あるいは、セサミストリートの有名なキャラにかけて頭文字でBERT(バート)と呼ばれる。同社は昨年BERTによるモデル化の実装をオープンソース化して公開している。 変形生成(Transformers)というはもっと最近開発された機械学習テクノロジーで、データ要素間にシーケンシャルな関連がある場合に特に有効だという。自然言語による質問を解析する場合に効果があることは当然だ。

また今回のBERTアップデートはGoogleが最新のTPUチップを検索に活用した最初の例だ。

このアップデートにより、Google検索はユーザーが何を探しているかを理解し、もっともふさわしい結果をページないしスニペットとして表示してくれるようになるはずだ。アップデートはすでに公開が始まっている。

画像:Getty Images

原文へ

(翻訳:滑川海彦@Facebook

ビデオゲームのテクノロジーがニューラルネットの実用化に貢献した

【編集部注】著者のOphir Tanzは、GumGumのCEOである。GumGumはコンピュータービジョンの専門知識を持つ人工知能企業で、広告からプロスポーツに至る世界中のさまざまな分野にAI技術を応用しようとしている。カーネギーメロン大学で学士・修士の学位を修めたTanzは、現在ロサンゼルスに住む。

id SoftwareのJohn Carmackが、1993年にDoomをリリースしたとき、彼はその血なまぐさいファーストパーソン・シューティングゲーム(1人称視点でのシューティングゲーム。最初に3D環境を採用したものの1つであり、あっという間に人気作になった)が、その後の機械による情報処理を、如何に変えてしまうかには全く自覚がなかった。

その6年後にはNvidiaが、急成長するゲーム業界向けに、3Dグラフィックスの生成に特化した、初めてのグラフィックプロセッシングユニット(GPU)であるGeForce 256をリリースした。それから17年。GPUはその開発の元々の動機であったハイエンドゲームだけではなく、人工知能(AI)の大きな進歩のための原動力ともなっている。

より強力なGPUの誕生により、深層機械学習とニューラルネットワークは、私たちが関わる仕事や運転する車から、医者に行ったときに受ける診断までの、およそ全ての社会的様相を変えようとしている。

私たちがこれまでに書いた「数学抜きのニューラルネットガイド」の第1回(数学知識もいらないゼロからのニューラルネットワーク入門)と第2回(Why the Future of Deep Learning Depends on Good Data――深層学習の未来が良いデータに依存している理由)では、深層学習がどのように機能しているのか、そして何故AIの成功にはデータが重要なのかについて、それぞれ解説を行った。シリーズの第3回となる今回は、今日の深層学習ブームの先導に役立っている処理系の開発に焦点を当てる。まずは、GPUとCPUの仕組みの違いを理解することが役立つ。

GPUとCPU

今なら読者も既に「中央処理装置」あるいはCPUという用語には馴染みがあるだろう。これはコンピューターの中にある頭脳である。コードを読み込んで、数の計算からHDビデオの再生、そして様々なプログラムを、淀みなく一斉に実行してくれるものだ。あのしつこかった「インテル入ってる」マーケティングキャンペーンを覚えているだろうか?あれはCPUのことを宣伝していたのだ。

しかし、CPUがコンピューターの唯一の頭脳ではない。マシンの中には、特定のタスクに対してはCPUよりも優れた性能を発揮する機構が抱えられているのだ。そうしたものの中で、最も重要なものがグラフィックスプロセッシングユニット(GPU)だ。これらのチップは、いくつかの点ではCPUに似ているものの、その他の点では大きく異なる。

最新のCPUの多くは、その内部に2〜8個の「コア」(本質的にはミニCPU)を持っていて、それぞれが同時に異なる操作を処理することができる。これらのコアは、投入されたどのような命令でも処理することができ、お互いにシームレスに切り替えることができる。このため、ビデオを見ながらソフトウェアをダウンロードし、同時に、特に引っかかりも感じずに親友たちとSnapchatを楽しむこともできるのだ。

野球のボール、ボウリングのピン、斧、りんご、卵などを同時にジャグリングするサーカスのパフォーマーを想像してみて欲しい。非常に目まぐるしく、彼はリンゴをかじりながら、斧を置いて火の付いた松明を拾い上げる。これがCPUである。要するに一度に様々な仕事をこなすことのできる何でも屋だ。


これとは対照的に、最新のGPUは数千ものコアを持っているが、そのデザインは遥かにシンプルだ。それぞれのコアは特定の1つの仕事しかできないが、しかし集団としてその仕事を、正確に同時に、何度も繰り返し、非常に素早く行うことができるのだ。

GPUサーカスパフォーマーは、ボウリングピンしか扱うことができないが――その代わりに同時に1万本ものピンをジャグリングすることができる。一方CPUは、万能でなければならない上に、柔軟にマスチタスキングも行わなければならないために忙しく、そんなに大量のボウリングピンを一度に扱うことができない。

この性質は、たとえばゲーム環境の中で3Dグラフィックスを創りだすために数十億のポリゴンを生成するといった、膨大な繰り返し演算が必要な仕事を行なう場合に、GPUを圧倒的に優位なものとする。そして、膨大な量のデータに対して、何度も何度も同じ操作を繰り返さなければならないニューラルネットワークのトレーニングに対しても、GPUが理想的なものとなるのだ。

遊びの中のGPU

GPUは、毎秒数十億回の複雑な数学的計算を行うことで、その魔法を実現している。

ビデオゲーム環境は、小さな三角形で構成されている。それらは様々な方法で組み合わされて、スクリーンの上に表示される土地、空、山、宇宙船、怪物などを形作っている。それらの三角形は、それぞれ環境内での位置、他の三角形に対する角度、色、テクスチャなどを示す、異なる数字で構成されている。GPUはこれらの数値を取り込み、それを平たいディスプレイ上のピクセル(画面上の点)に変換する。画面がリフレッシュされるたびに、またはシーンが少しでも変化するたびに、GPUは新しいピクセルを生成するために計算を行わなければならない。これが、最終的にコール・オブ・デューティーやグランド・セフト・オートといったリッチな3Dゲーム環境を生み出している。

毎秒60フレームで動作するHDディスプレイの場合、GPUは一度に1億2000万ピクセルを生成する必要がある。このため非常に強力なCPUであっても、1つのフレームを描画するのに1〜2秒が必要となる。しかし、同時に実行される何千ものGPUコアに仕事を分割すれば、仕事はほぼ瞬時に終了する(こうしたプロセスは並列処理と呼ばれる)。

非常に雑なたとえだが、この違いはミケランジェロを雇って天井にフレスコ画を描かせることと、数千人の職人を雇ってそれぞれに天井の1平方インチのエリアを担当させることの違いのようなものだ。

2010年に、米国空軍が1760台のプレイステーション3をデイジーチェーンで接続して、スーパーコンピューターを作ることができたのも、このGPUの圧倒的な馬力のお陰だ。その当時、それは米国防総省の中で最も強力なコンピューターだったが、従来のスーパーコンピューターよりも90%以上安価であり、電力消費量も10分の1だった。

RAMの中の象

画像認識にGPUを使用するのは、逆方向の動作だ。数値を画像に変換する代わりに、画像を数値に変換するのだ。

たとえば数千のGPUで構成されたニューラルネットワークを構築したとしよう。それぞれGPUが数千のコアを持つそのネットワークは、本質的にスーパーコンピューターだ。今このスーパーコンピューターに、ゾウを識別する方法を教えたいと考えているとする。教師あり学習と呼ばれる方法を利用するならば、考えられるすべての角度から撮影された数十万の象の画像に「象」というラベルを貼って、ネットワークに供給するところから始めることになる。ネットワークは、各画像内のすべてのエッジ、テクスチャ、形状、そして色をマッピングして、そのラベルを有する画像と一致する数学的パターンを特定しようと試みる。

学習過程では、ネットワークが見るもの全てを象であると判断しないように、ゾウを含まない画像も投入することになる。これにより、ネットワークは徐々にモデルを調整し、全体的な精度を向上させることができる。ネットワークは各画像でこのプロセスを連続して行い、それぞれの新しいパス毎に象探索アルゴリズムを改良して行く。

そして出来上がったスーパーコンピューターに新しいイメージを入力すれば、そのイメージが象であるか否かが判断される。もしニューラルネットワークが間違った場合には、より多くのトレーニングで調整が行われることになる(バックプロパゲーションと呼ばれるプロセスである)。画像認識能力が向上しなくなったときが、訓練の終わるときだ。

ここで一番クールなのは以下の点だ:あなたはニューラルネットに対して、象というものは暗い灰色の肌、長い柔軟な鼻、丸みを帯びた背、そして太い脚を持っているものだ、ということを伝えたわけではない。伝えた事はただ「ここに『象』と呼ばれる大量のデータがあります。その共通の性質を把握しなさい」ということだけだ。実際には、ネットワーク自身が、象がどのように見えるかを、自分自身に教えたのだ。

大量計算兵器

GPUがニューラルネットワークの訓練に非常に優れている理由の1つは、行列乗算と呼ばれるものに優れているからだ。つまり、1つの数値テーブル(たとえば、画像のある部分のピクセル値)を別のテーブル(別の部分のピクセル値)と乗算するような演算に優れているということである。ニューラルネットワークは行列の乗算に大いに依存しているため、GPUを使用することで、場合によっては数カ月または数週間かかるトレーニング期間が、数日から数時間に短縮されることがある。

現代のGPUは多くのオンボードメモリを搭載するようになって来ているため、コンピューターのメインメモリとの間でデータを往復させることなく、計算処理を行うことが可能だ。これにより計算はさらに速くなる。またスケーラビリティも優れている。投入するGPUが多ければ多いほど、一度に処理できる計算量が増えるからだ。そしてそれらはプログラム可能なので、手書き文字認識や音声認識などの、さまざまなタスクを実行するようにプログラムすることができる。

ひ弱な人間たち

画像内の物体を認識する際に、GPU駆動のニューラルネットにはどれくらいの性能があるのだろうか?実はそれらは既に人間よりも優れているのだ。2015年には、GoogleとMicrosoftの両者が、毎年恒例のImageNetコンピュータービジョンチャレンジの中で、画像の中の物体の認識能力において、人間よりも正確な深層ニューラルネットを発表している。グラフィックスチップメーカーのNvidiaは、GPUを使ったニューラルネットのトレーニング速度が、わずか3年で50倍になったと主張している。

GPUがそれほどまでに急速に進歩した理由は――お金のためだ。昨年世界中で、ビデオゲームは1000億ドルの売上を果たした――これは映画、音楽、書籍を合わせたものよりも多い額である。ゲームの驚くべき収益性が、GPUやその他のテクノロジーへの研究開発への多大な投資を可能にしたのだ。昨年 Nvidiaは1つのGPUの開発に20億ドル以上を費やした。そのGPUは深層ニューラルネット専用に作られたものである。一方Googleやその他の企業は新しい「Tensorプロセッシングユニット」に取り組んでいる。これもニューラルネット専用に設計され、より多くのデータを効率的に扱うことができるものだ。

こうした投資は、ビデオゲームをはるかに超えた様々な領域で回収されることになる。Googleは、GPUを使ったニューラルネットを使用してAndroidでの音声認識を行い、Googleマップ上の外国語の道路標識の翻訳を行う。Facebookはそれらを使ってあなたの友人たちの顔を認識し、あなたのニュースフィードをカスタマイズする。ニューラルネットは、運転手のいない車の中でのインテリジェンスを提供し、木と一時停止標識の識別を行なう。またそれは、診断医がMRIの中の腫瘍と健常組織との違いを見分ける手伝いをして、癌の早期兆候の検出にも役立つ。そしてそれは原子力発電所の部品に入った亀裂を見つけることも可能だ。

そしてまた、スーパースマッシュブラザーズのプレイがかなり得意だ

いつか、GPUを使うディープニューラルネットによって可能になった発見が、あなたの命を救う日が来るかもしれない。それは皮肉にも、最初のファーストパーソン・シューティングゲームの副産物なのだ。

[原文へ]
(翻訳:Sako)

Microsoftの音声認識システムが人間と肩を並べ始めた

米国時間8月20日、MIcrosoftはその会話型音声認識システムが、これまでで最も低い5.1%のエラーレートに達したことを発表した。この記録は、Microsoft Artificial Intelligence and Researchの研究者グループが昨年達成した5.9%のエラー率を下回るもので、テキストを数回聞き返すことができるプロのトランスクライバーたちと同等の正確さだ。

両研究は、Switchboardコーパスの録音を認識することで行われた。これは1990年代初頭から、音声認識システムをテストするために研究者たちが使用してきた、約2400件の通話のコレクションだ。今回の新しい研究は、Microsoft AI and Researchの研究者グループによって、人間のトランスクライバーのグループと同程度の正確性を達成することを目標として行われた。人間のグループは自身が聞いているものを複数回聞き直すことができ、会話の文脈を知った上で、他のトランスクライバーたちと協力することも可能だった。

全体として、今回の研究では昨年のものに比べて、ニューラルネットベースの音響モデルと言語モデルを改善することにより、エラーレートを約12%下げることに成功した。特に、その音声認識ソフトに会話全体を利用させ、そのことによってトランスクリプションを文脈に適合させ、次にどのような言葉やフレーズが来るかを、人間がするように予測させるようにした。

Microsoftの音声認識システムは、Cortana、Presentation Translator、そしてMicrosoft Cognitive Servicesなどのサービスで使用されている。

[ 原文へ ]
(翻訳:Sako)

FEATURED IMAGE: BLOOMBERG/CONTRIBUTOR/GETTY IMAGES

「サウンドのためのGoogle」Deepgramが180万ドルを調達

shutterstock_186744380

Deepgramの共同創業者である20歳の神童Noah Shuttyと、ミシガン大学の研究室における彼のスーパーバイザーであるScott Stephensonは、間違いなくサウンドを信じている(faith in sound)だろう 。

2人は素粒子物理学の研究で有望な業績を残し、中国の地下壕の中でダークマターの生成について研究を行い、そして彼らが「サウンドのためのGoogle」と呼んでいるものを開発した。

Google検索エンジンが最も関連性の高い検索結果を見つけるために、異なるウェブサイト間のリンクを使用しているように、Deepgramのソフトウェアは、オーディオファイル中のフレーズ間の関係を使って、タイプファイルを特定し関連性の高い結果を生成する。

deepgram_infographic創業者たちによれば、このオーディオ検索テクノロジーは、自然言語処理に依存している他の技術とは相当に異なっているものだということである。「私たちは、モデルが通話の違いを区別できるように訓練しています」と、Stephensonはインタビューで述べている。「それをコンテキストの観点でやっているのです」。

このビジネスはShuttyのサイドプロジェクトとして始められた。彼の何千時間もの「ライフログ」‐ それは彼の人生のあらゆる側面を記録した彼の集めたオーディオとビデオである ‐ を整理するための手段を得ることが目的だ。

彼はオーディオファイルの中を検索する方法を欲していて、やがてニューラルネットベースの人工知能を開発した。

Metamorphic VenturesYCombinator の主導で調達された180万ドルの新しい資金を得た同社は、その検索ツールをエンタープライズ市場に持ち込もうとしている。

「私たちは雇用をして、エンタープライズ市場に売り込みをかけています」とStephenson。「企業は何百万時間もの録音された通話データを持っていますからね」。

同社は現在、1000ユーザーを抱えていて、そのクライアントソフトによって処理されるデータの量によって課金を行っている。

「私たちのロードマップでは、より先に進むことは確かですが、それが意味することは、自動化された人工知能の脳を作ることになるのです」とStephensonは語った。

同社が情報を話すことができる顧客が2、3社ある。そのうちの1つはオンラインのiPhone修理サービス業者であるiCrackedであり、もう1つは警察のためにボディカメラを提供しているメーカー(社名は非公開)である。

Deepgram.comで提供されるフリーミアムプラットフォームとAPIに加えて、同社はまた、その技術を使ったいくつかの一般利用者向けのアプリケーションを構築している:それぞれHoogleyPodenvyという名前だ 。

[ 原文へ ]
(翻訳:Sako)

科学者が人間を狩り殺すことを機械に教えている ‐ ただしDoomの中で

14810867549_86907a635d_o

とある研究の一端を見る機会があったときに、あなたはふと考える「これは興味深い技術的な問題だと思うけれど、AIに人間狩りと殺人を教えることは、人類の存続にとって危険な道を切り拓くのではないだろうか?」

これもその機会の1つだ。

カーネギーメロン大学では人類に対する裏切り者たちが、ニューラルネットワークアプローチを使い文字通りの殺人マシンとなるAIを作っている。まあおそらく私は正確には、フラッギングマシン(ゲームの中で敵を倒す機械)と呼ぶべきだろう、なぜならそれはDoomのデスマッチの中でのみ殺人を行っているからだ。さて、あなたはもちろん、それに何の問題が?その死は仮想的なものに過ぎない、と言うことができる。では何故それが問題になるのだろうか?コンピュータにとっては すべてが仮想的だ。それについて考えて欲しい。

あなたは疑問に思う:これはこれまでずっとゲームの中にいたボットとどう違うのか?コンピュータプレイヤーはずっと存在してきたじゃないか!

あなたは鋭い観察者であり状況の読み手だが、考えてみて欲しい:それらのボットはゲーム自身の中で走り回るプログラムで、全ての変数、座標、エッジ、銃の位置とスペック、そして回復キットの場所を知っている。任意のNPC(非プレイヤーキャラクター)と同様に、それらのロボットはあるゲーム内変数に、ある方法で反応するようにプログラムされている。

これに対してGuillaume LampleとDevendra Singh Chaplotによって作成されたAIは、ゲームを私たち人間がプレイするやり方でプレイする:スクリーンを見て、自分の状況と向きを認識し、マップ上での進路を決め、動くものを何でも攻撃する。それは本質的には、スペースインベーダーのようなより簡単なゲームを支配する方法を学ぶことと類似した手法を使い、スコアを最大化する入力を見つけ出すAIを、レベルアップしたものだ。

これがそのアクションシーンだ:

ニューラルネットは主にピクセルデータ ‐ つまり、あなたが実際に画面で見るものだ ‐ を使って訓練を受けている。しかし、作成者たちは、スクリーン上にあるものが敵かアイテムかの基本的な内部情報をゲームエンジンから送り込むという、ちょっとしたずるをしなければならなかった。

その強化戦略は以下の通り;アイテムを拾い、長く移動し、敵を倒せば加点されるが、ダメージを受けたり瀕死になると減点される。さらに発砲に対しても軽い減点が加えられるようになっている、そうしないとマシンは無差別に発泡して、敵がその照準の先に迷い込んで来るのを待つことが、最善のテクニックだと判断してしまうからだ。これで安心だ!

この設定下で彼らのシステムは、ゲーム中のコンピューターと人間プレイヤーの両者を上回るパフォーマンスを達成した。Doomにおけるゲーム内のコンピューターは全く高度なものではないため、彼らは易々と砲弾の餌食となった。

doom_ai

これは実際には2つのシステム(もしあなたがそう呼びたい場合には脳葉)に分割される。ナビゲーションサイドは移動とアイテムの収集を駆動し、そしておそらく環境映像を解釈する方法を学習している。そしてシューティングサイドは、敵がスクリーン上に現れると制御を握り、正しい方向に銃を向け銃爪を引く。

私たちは、スカイネットの誕生を目撃しているのだろうか?または、おそらく、程なくどこかのスタートアップ企業が、マルチプレイヤーゲームのための汎用戦闘AIを売り込んで来るのかも?どちらにしてもかなり怖ろしい話だ。

FPSをプレイするAIについて説明したLampleとChaplotの論文はArxivで無料で読むことができる

[ 原文へ ]
(翻訳:Sako)