Appleの新しいiPhoneの中では業界初の7nmチップが動いている

Appleは予想通り今日(米国時間9/11)、最新世代のiPhoneを発表した。そしてそれとともに、その新しいチップA12 Bionicを発表した。

A12 Bionicが独特なのは、7nmプロセスで作られていることだ。チップの仕様や性能を表す測度はメーカーによってまちまちだから、単純な比較はできないが、7nmが最先端の技術であることは確かだ。Appleは、業界初の7nmチップ、と主張している。それには、計69億6000万のトランジスタが載っている。

more iPhone Event 2018 coverage

Appleの全世界マーケティング担当SVP Phil Schillerはこう言う: “チームがやったことはまったく本当のブレークスルーだ。A12 Bionicは業界初の7nmチップだ”。

A12 BionicはAppleが設計したチップで、6コアのCPUと4コアのGPU,そして機械学習のワークロードを動かすためのApple独自のNeural Engineを積んでいる。高性能コアのパフォーマンスは前よりも15%早くなり消費電力は40%減った。また効率性コアでは最大50%の省エネを実現した。

GPUも、前より50%速くなった。モバイルのゲーマーたちよ、喜べ。

Neural Engineは今や8コアのシステムで、スピードが上がっただけでなく新たな機能が加わった。Schillerによるとチップは機械学習のワークロードの性質を見極め、それをGPU, CPUあるいはNeural Engineのどれにやらせるかを決める。

トータルでは、A12 BionicのNeural Engineは毎秒5兆の演算ができる。A11では6000億だった。ただしそれがどういう演算なのかAppleは詳細を言わないので、いまいち腑に落ちない。いずれにしても、相当速いチップであることは、確かなようだ。

more iPhone Event 2018 coverage

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

ドローン+AIで発電/送電施設等の異状を至近距離で検出するSterblue

ドローンの商用利用に関する政府の規制は、関連企業にとってとてもポジティブな方向に向かってるようだし、またドローンを利用するスタートアップにとっては、人工知能を利用して人間の努力なしで結果を得る機会がますます増えている。

Y Combinatorの最近のクラスを卒業したフランスのSterblueは、市販のふつうのドローンと、そのような自動化手法を使って、大きな屋外建造物の近接検査をする。

同社のソフトウェアはとくに、自動化されたシンプルな飛跡で大型の送電線やウィンドタービン(風力発電機のタービン)を検査し、それを人間がやるより短時間かつ少ないエラーで行なう。また、対象の至近距離まで接近できるので、細部の高精細画像が得られる。

混みあった都市環境と違ってSterblueが調べる対象物は、異状がそれほど多くない。またCADのデータが得られるので、飛行経路の設計も比較的易しい。そして、まわりに物が密集していないから、風などに対応してドローンの姿勢を直すための空間も十分にある。

ドローンのオペレーターは、ドローンをSterblueのクラウドプラットホームに接続し、そこに写真をアップロードしたり、構造物の3Dモデルを見たりできる。飛行の間、Sterblueのニューラルネットワークが、今後の精査が必要と思われる問題箇所を見つける。Sterblueによると、ドローンは送電線から3メートルの距離にまで接近できるので、同社のAIシステムは撮った写真から異状を容易に検出できる。汚損や傷などの最小検出サイズは、1ミリメートルととても小さい。

最初、ドローンは自社製を使っていたが、ユーザーを増やすにはDJIのような一般市販品をサポートすべし、と気づいた。同社のファウンダーたちはAirbusの元社員で、当面は電気などの公益企業を顧客にしていく予定だ。そして最初はヨーロッパ、次いでアフリカとアジアを市場としてねらっている。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

Teslaが自動運転車用のAIチップを内製している、計算性能はNvidiaの10倍

“これについては、最近の2〜3年間、ややステルスだった”、と今日(米国時間8/1)の決算報告でElon Muskは述べた。“でもそろそろ、猫を袋から出してよいころだろう”。

その猫とは: ‘Teslaコンピューター’だ。“Hardware 3”とも呼ばれるそれは、Tesla製のハードウェアで、Model S, X, そして3に搭載され、これらの車の自動運転能力を大きく前進させる。

Teslaはこれまで、NvidiaのDriveプラットホームに頼ってきた。なぜ、今、それを変えるのか?

Teslaによると、内製することによって同社独自のニーズにフォーカスでき、効率をアップできる。

“自分でやることの利点は、自分のニューラルネットワークについて、今後のことも含め、いちばんよく知ってるのは自分だ、ということ”、とHardware 3プロジェクトのディレクターPete Bannonは語る。そのBannonによると、ハードウェアのアップグレードは来年始まる。

Elonが言葉を足す: “重要なのは、ニューラルネットワークを、基本的なベアメタルのレベルで動かすことだ。そういう計算は、回路本体の中で行なう。エミュレーションモードなどでは、だめだ。それなら、GPUやCPUの仕事だ。大量の計算をするために、メモリーが必要になる”。

Elonが語るその最終結果は、相当ドラマチックだ。TeslaのコンピュータービジョンのソフトウェアはNvidiaのハードウェアではおよそ200fpsを扱えるが、専用チップなら2000fpsは行ける。しかも、“十分な冗長性とフェイルオーバーを伴ってね”。

また、AIアナリストのJames Wangによると、Teslaが自分の未来を自分自身でコントロールできるようになる:

[動機はAppleのSoC内製と同じで、競合が始まる前に競合に大きく勝っておくこと。]

内製することによって、重要なチップを完全に自分のニーズに合わせられる。なにかアップグレードが必要になっても、ハードウェア屋さんが対応するのを待たずに、自分ですぐに直せる。もちろんそれは、簡単にできる仕事ではないが、採算内で完成すればその経営効果は大きい。Elonは経費について、現在のそのほかのハードウェアと同じだ、と言っている。

既存のTeslaに載せる件については、Elon曰く、“コンピューターを容易に交換できるように作ってある。だから、単純に差し替えるだけだ。古いのを抜いて、新しいのを差し込む。コネクターの互換性は、完璧だ”。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

この夏のDIYプロジェクトはAIが落書きを作りだすカメラがいいかも(コードはオープンソースだ)

長い夏の夜は、昔の回路基板などを取り出してきて埃を払い、何かを作り始めるのに適している。でもあまりアイデアが閃かない人は、アーチスト兼エンジニアのDan Macnishが作った、AIと感熱プリンターとRaspberry piと少々のPythonとGoogleのQuick Drawのデータセットを使う落書きカメラはどうだろう。

“ニューラルネットワークにオブジェクトを認識させて遊んでいたとき、これでポラロイドを作ってみたい、と思いついた。その‘ポラロイドふうカメラ’は、撮った画像を自分で解釈して、実物に忠実な写真ではなく漫画をプリントアウトするんだ”、とMacnishはブログに書いている。そのプロジェクトの名は、Draw This(これを描け)だ。

そのためにMacnishは、Googleのオブジェクト認識ニューラルネットワークと、ゲームGoogle Quick, Draw!のために作ったデータセット(落書き集)を利用した。この二つのシステムをPythonのコードで結びつけたMacnishの作品は、現実の画像をAIが認識し、Quick, Draw!のデータセットの中のそれにもっとも合う落書きをプリントアウトする。

しかし、出力の落書きはデータセットに限定されるので、カメラが“見た”ものと、その写真に基づいて生成されるものとの間に、不一致も生ずる。

Macnishは曰く、“写真を撮って、漫画を出力する。それは、カメラが実際に見たものの最良の解釈だ。でもその結果は、いつも意外だ。健康食のサラダの写真が、大きなホットドッグになることもある”。

実際に試してみたい人のために、Macnishはこのプロジェクトをビルドするために必要なコードとインストラクションをGitHubにアップロードしている。

画像クレジット: Dan Macnish

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

Googleアシスタントが音声通話で予約を取ってくれる――マンハッタンのレストランでDuplexのデモに参加してきた

I/Oでのセンセーショナルな発表からひと月後、Googleはさらに改良されたDuplexを少数のジャーナリスト向けにデモした。場所はマンハッタンのイーストサイドの大型タイ料理店。Googleが新しいプロダクトのデモをするにはいかにも不似合いな場所だ。

テーブルは片付けられ、3脚ずつ3列、あわせて9人分の椅子が明るいディスプレイに面し、サイドのデスクが即席のコントロールセンターで、Google社員4人が配置されていた。ここでGoogleはI/Oのキーノートで発表され賛否の議論を沸騰させた新しいプロダクトDuplexをデモした。

I/Oカンファレンスが行われた陽光輝くマウンテビューのショアラインアンフィシアターとは180度雰囲気が違うニューヨークの高級タイ・レストランが舞台となったのには、しかし、十分に理由があった。GoogleはいよいよAIを駆使した音声ベースの予約アプリをデモした――レストラン、Thep Thaiのオーナーは「われわれは毎日100件からの予約を受けているのでこうしたアプリが登場するのは願ってもないことだ」と称賛した(Googleによればアメリのスモールビジネスの6割はオンライン予約システムを備えていないという)。【略】

秘密主義で名高いGoogleとしては、進行中のプロジェクトのベールを一部なりと外すのは珍しい。しかしDuplexにとって情報の透明性は成功のカギとなる要素だ。自動運転車と同様、この種のシステムは現実の世界で繰り返しテストされ、可能なかぎりバグを潰しておく必要がある。

I/OのキーノートでCEOのスンダル・ピチャイは「これからGoogleアシスタントが本当のヘアサロンに電話して予約を取るところをお聞かせする」と述べた。

(Googleアシスタント)ハイ、クライアントの女性のヘアカット、1名予約をお願いします。えー、5月3日はどうでしょう?

(ヘアサロン)オーケー、ちょっと待ってください。

(Googleアシスタント)アーハー…

〔下のビデオでは1:08あたりから通話が再生される〕

ここでカンファレンスの聴衆はジョークだと思って笑った。それから本物だと気づいて喝采した。実際、意味がわかっても信じるのは難しい。電話しているのはAIベースの純然たるロボットだ。それが「えー」と口ごもったり、「アーハー」と頷いたりできるとは。

実はこうした無意味な音声は言語学では非流暢性(speech disfluencies)として知られ、現実の発言で頻繁にみられる重要な要素と考えられている。Duplexの発言が驚くほど自然に聞こえるのはこうした非流暢性を巧みに利用している点が大きい。

またDuplexが相手の返事をはっきり理解できなかった場合にも非流暢性は役立つ。受付担当者が電話の声を聞き取れなかったり聞き違えたりすることは普通にある。たとえば「4人のグループの予約をしたい」と求める場合、「えー、席を4人分です」と表現を変えて言い直すことができる。ここで「えー」は自然さを増し会話を円滑に進めるために効果がある。

こうした細部がDuplexを正しく作動させる秘密となっている。これは私の体験からそうだと言える。実は今回のデモで私はタイ・レストランの受付係の役でGoogleアシスタントの電話を受けたからだ。I/Oでアンフィシアターの巨大スクリーンに写し出された会話も本物だった。さらに興味深いのは、この電話はぶっつけ本番だっただけでなく、電話をかけているのがGoogleアシスタントだとはヘアサロンも知らなかったことだ。Googleがヘアサロンに知らせたのは電話の後だったという。【略】

ただしGoogle Duplexテクノロジーが実用化されるためには、情報の透明性が必要だ。つまり自分が人工知能であること、会話は録音されていることをまず最初に開示しておく必要がある

Googleはプロダクトを紹介したブログにこう書いている。

会話が快適に進められるよう、〔Duplex〕テクノロジーは自然に聞こえねばならない。ユーザーにとっても店舗にとってもサービスの使用体験が快適であることが重要だ。透明性はこの点でもカギとなる。われわれは、ビジネス側がコンテキストを正しく理解できるよう、電話の意図、性質をできるかぎり明確にするよう努める。具体的な手法については今後数ヶ月かけて実験していく。

Duplexの透明性に関するメディアでの議論を受けて、Googleの担当者は「Duplexは情報開示機能を組み込んだデザインとする。これにより受け手がシステムの性質を正しく認識できるようになる。われわれがI/Oで紹介したのは初期段階のテクノロジーのデモであり、今後は各方面からのフィードバックを取り入れながらプロダクトに仕上げていく」と付け加えている。

現在のDuplexの通話はこのような形式でスタートする。

ハイ、私はGoogleアシスタントです。クライアントに代わって予約の電話をしています。これは自動通話で録音されています。

Duplex自身はAIだと名乗っていないが、Googleアシスタントに馴染みがあればおそらくそう気づくだろう。ただし録音されていることは告げている。Googleでは音声、テキスト双方を記録し、品質の検証と今後の改善に役立てるとしている。

タイ・レストランでのデモでGoogleアシスタントの電話を受けたとき、最初の部分を繰り返させようとしてみた。騒々しいレストランなどで電話を取ったとき最初の情報開示部分を聞き落とすことは大いにあり得る。しかしアシスタントはかまわず予約内容に進んだ。つまり受け手が情報開示部分を聞き落とした場合、今のところ繰り返させる方法はない。ともあれ、現在の段階ではそのようだ。録音からオプトアウトしたい場合は電話を切るしかない。しかし常連客を増やすためにはあまり勧められない方法だ。

この点について、Googleのエンジニアリング担当アシスタント・バイスプレジデント、Scott Huffmanによれば「われわれは『オーケー、では録音しません』と言わせるメカニズムはもっている。ただ、具体的にどのようにすればよいか検討中だ。電話を切ればよいのか? 録音を破棄すればよいのか?」と説明した。

私も含めてデモに参加したジャーナリストはシステムをまごつかせようと全力を挙げた。アシスタントが午後6時の予約を取ろうしたので私は店が開くのは午後11時だと答えた。マンハッタンにはとんでもない営業時間の店がいくらもある。アシスタントは諦めて礼儀正しく電話を切った。

ここでDuplexの「聖杯」となるのは「予約のチューリングテスト」に合格することだ。Duplexが混乱すると Googleが用意した人間の担当者が引き継ぎ、いってみれば、飛行機を安全に着陸させる。人間の補助要員はDuplexのテストに常に付随する。Googleによれば誤解が手に負えないレベルに拡大しないよう、当分の間、Dupelxは人間が後見するという。この方式でどの程度の規模まで実験を拡大できるのか注目だ。

もっとも今回のデモではわれわれは誰もDuplexの後ろから人間の要員を引き出すことはできなかった。それでも現在のシステムの限界をいくつか知ることができた。たとえば、「最後の4桁を繰り返してください」と言うとアシスタントは電話番号を全部繰り返した。これは間違いではないが、やはり人間の会話の微妙なニュアンスを理解できていない。一方、メールアドレスを尋ねると、システムは「クライアントから〔メールアドレスを明かす〕許可を得ていません」と答えた。

GoogleによればDuplexは現在5件中4件は全自動でタスクを完了できるという。80%の成功率ならたいしたものだと思うが、Googleではさらに改良を進めている。【略】

DuplexはMacbookにオフィスの電話をつないだ間に合わせのシステムから始まって長い道を歩んできた。これはWaveNetオーディオと深層ニューラルネットワークの上で音声からテキスト、テキストから音声という変換を繰り返す複雑なプロセスだ。最初のデモはリアルタイムでこそなかったが本物だった。Duplexはさらに興味深いプロダクトに成長している。

好むと好まざるととに関わらず、Duplexは近々現実のものとなる。これを避けるには電話を使わないことしかないかもしれない。

[原文へ]

(翻訳:滑川海彦@Facebook Google+

モバイルで写真やビデオの背景を変えて楽しめるGoogleのAIツールがYouTube Storiesに装備

Googleの研究者たちは、人びとが他人を騙(だま)して、今自分は月にいる、と思わせたり、今は昼ではなくて夜だと見せかけることが好きだ、と知っている。しかしそんな楽しいいたずらは、映画のスタジオへでも行って、グリーンのスクリーンの前で撮影しないと実現は難しい。そこで2018年の優秀なプログラマーたちは、自分たちにできることをした: ニューラルネットワークを利用してそれをやるのだ。

その、“ビデオセグメンテーション”(ビデオ切り出し)と呼ばれるツールは、モバイル上のYouTube Storiesで今日(米国時間3/1)から一部のユーザーに展開される。画面上にこのオプションがある方は、おめでとう、あなたはベータテスターだ。

この機能には、さまざまな工夫が盛り込まれているようだ。前景(被写体本体)と背景の境界を見つけなければならないが、それはiPhone Xの前面カメラ配列のような深さ(z軸方向)を感知するカメラと、大量の処理時間と、電池よりも長時間使える電源があれば、朝飯前だ。そう、デスクトップコンピューターを使えばよい。

でも、モバイルでしかもふつうのRGB画像(深さ情報がない)となると、そう簡単ではない。スチルの画像でも難しいのに、ビデオとなるとなおさらだ。コンピューターは、背景検出のための計算を、少なくとも毎秒30回やらなければならない。

そう、Googleの技術者たちも、それをチャレンジと捉えた。畳み込みニューラルネットワークをセットアップし、それを数千のラベル付き画像(その例が右図)で訓練した。

そのニューラルネットワークは、人の頭と肩のような、よくある特徴を検出できるように訓練され、一連の最適化によって、正確な検出のために必要なデータの量を減らしていった。また、前の計算の結果(頭の切り抜きなど)を次のための素材として使うという、一種のコンピューター騙しによって、計算負荷をさらに下げた。

その結果、高速でしかも比較的正確なセグメンテーションエンジンが得られ、ビデオに対しても使えるほどの速度を達成した。GoogleのPixel 2スマートフォンの上では40fps、そしてiPhone 7では100fpsを超えた(!)。

これは多くの人たちにとってビッグニュースだ。背景をなくしたり、入れ替えたりすることは、ツールボックスに常備したい楽しいツールだし、しかも、とても容易にそれができる。そして願わくば、短時間で電池を空にしませんように!。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

MITの新しいチップはニューラルネットワークを電池駆動のガジェットの上でも動かせる

MITの研究者たちが開発したチップは、ニューラルネットワークをスピードアップするとともに、その消費電力を最大で95%も引き下げる。その基本的なコンセプトはチップの設計を単純化して、チップ上の複数のコンピューター間のデータの行き来をなくすことだ。

MITの院生Avishek Biswasのチームが開発したこの新しい方法の利点は、ニューラルネットワークをスマートフォンや家電製品やそのほかの機会器具類の上で動かせるので、膨大な電力を消費するサーバーが要らないことだ。

それがなぜ重要なのか? つまりそうなると、このチップを使っている未来のスマートフォンは、高度な音声認識や顔認識などを、ニューラルネットワークやディープラーニングをローカルに動かして実行できる。原始的なルールベースのアルゴリズムを使わずにすむし、データをクラウドに送って処理の結果をもらうことも、する必要がない。

センサーがデータを集めている現場で、必要なデータ処理をすべて行うことを、‘エッジにおけるコンピューティング’、エッジコンピューティングと呼ぶが、それが一般企業のレベルで実用段階になりつつある。この新しいチップ設計の方法は、今成長中の機会がさらに商用化大衆化していくとき、業界に大きなインパクトを与えるだろう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

Googleが音声合成を機械学習で訓練する方法Tacotron 2を発表、システムの調教が楽になる

本物らしい良質な合成音声を作ることは今、ホットな研究開発テーマだが、一歩リードしているのはGoogleだろう。同社は今日、Tacotron 2なるものを発表して、さらにその差を広げたかもしれない。これは人工知能にテキストを読ませてリアルな音声を作り出すための、ニューラルネットワークの新しい訓練方法で、ユーザーには文法知識がなくてもよい。

この新しいテクニックは、Googleのこれまでの音声生成プロジェクトWaveNetと初代Tacotronの良いとこ取りをしている。

WaveNetは、ぼくの感想では“気味が悪いほど本物そっくりの”音声を作り出し、しかも一度に一つずつのオーディオサンプルを作るので、あまり実用向きではない。WaveNetは有能ではあるけど、最初に言語に関する大量のメタデータを必要とする。発音や、言語のさまざまな特徴などだ。

初代Tacotronは、イントネーション(抑揚)や強弱などを含む、より高いレベルの音声合成ができるが、実用的な最終製品を作るのには向いていない。

Tacotron 2は、この両者を利用している。ぼくはこの方面の技術には疎い方だけど、理解できる範囲で言えば、このシステムは、言葉のルールを明示的に教えなくても、テキストの原文とナレーションからそれらのルールを予測推定する。テキスト本体は、Tacotronがリズムや強調を得るために使う“メル尺度スペクトログラム(mel-scale spectrogram)”に変換され、語そのものはWaveNet的なシステムを使って生成される。

これでよく分かるはず!?

そうやって得られた音声は、ここにサンプルがあるが、今世の中にあるものの中では最良ではないだろうか。語りのリズムは自然だが、ちょっと快活すぎるかもしれない。わかりにくい発音のある語ではつまずくが、それらは主に、アメリカ英語に外から輸入された語、たとえば“decorum”をこのシステムは第一音節を強調するし、フランスのワイン用ぶどうの品種“Merlot”は書かれた綴りをそのまま発音するので笑わせる。研究者たちは、“極端なケースでは奇妙なノイズをランダムに生成することもある”、と書いている。

また、音声の口調…元気である、心配しているなど…をコントロールすることはまだできない。アクセントなどは、WaveNetでできたように、できる。

訓練システムの敷居を下げれば、もっと良質な訓練ができるだろう。Googleのこの新しい方式では言葉や話法に関する複雑なルールを、言語や音声スタイルが変わるたびに手作業で教えなくてもよい(ニューラルネットワークを実例で訓練するだけだ)。

研究者たちは結果をIEEEのカンファレンスInternational Conference on Acoustics, Speech and Signal Processingで発表する予定だが、そのためのペーパーはarXivで読める

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

AIが「考えた」どこか見覚えのあるセレブの顔

この地球上に足りないものがあるとすれば、それはセレブだろう。もしも十分な数のセレブが既にいるとすれば、こんなに続々と新しい人が登場するはずもない。今こそコンピューターの力を借りるときだ!と思いきや、実は既にそのような研究は進められている。セレブの顔を認識できる(なんと羨ましいことだろう!)AIが、ある研究で何十人ものセレブを「考え出す」というタスクを課せられた。その結果は……見てのお楽しみだ。

上図を見ればおわかりの通り、生成された画像は宣材写真として使えるレベルではない。左下の男性の写真は、背景の一部が左耳と重なりあっていて見栄えが良いとは言えない。上列真ん中の女性のイヤリングも未完成といった感じで、右下の男性の耳は残念なことになっている。その一方で、テイラー・スウィフト風の女性の出来はまぁまぁだ。また、この6人は実在しないにもかかわらず、画像からは何かしらのパーソナリティが感じられる。

次の6人を見てみよう。今回は髪が問題のようだ。左上の女性の髪は一部が飛び出しているし、上列真ん中の人の髪には何個か穴が開いている。右上の女性の前髪は、顔全体に影響を及ぼしているようだ。下列真ん中の男性は変なタイミングで写真を撮られたように見え、左下の男性にいたっては右半身が欠けている。

と、冗談はこのくらいにして、全体の出来はなかなかではないだろうか。近くで見ないと本物のセレブかどうか判別できないくらいの画像を機械が作り出せるというのも驚きだ。Nvidiaが行ったこの研究の論文は、来年のICLRに応募中で、こちらのリンクから実物を読むことができる。

彼らが利用した「General Adversarial Networks(GAN)」とは、同じデータ(今回の場合で言えばセレブの顔写真)を使ってトレーニングされた、ふたつのネットワークのことを指している。そのうちのひとつは、与えられた写真と似たものを生成するためのネットワークで、もうひとつは顔写真を認識するためのものだ。

前者(生成ネットワーク)が新しい写真を生成し、後者(認識ネットワーク)がその写真を評価してフィードバックを送り返す、というのが大まかなフローで、恐らく最初はひどい結果だっただろう。しかしトレーニングを繰り返すうちに、生成ネットワークが生み出す画像は、認識ネットワークが「まぁ、このくらいならティファニー・ティーセンに見えなくもないな」というレベルに達するようになる。

Nvidiaのシステムによって生成された写真の例

Nvidiaの研究で新たにわかったのが、トレーニング開始時は解像度が低いデータを使い、徐々にサイズを大きくしていったほうが、システムの機能が向上するということだ。これは直感的にも理解できる。最初に輪郭など大まかな顔の構造をつかまないと、ただの肉の塊や、口だけリアルなわけのわからない怪物もセレブと認識されてしまう。

また徐々にトレーニングデータの内容を変化させることで、トレーニングにかかる期間も短縮できる。解像度の高い画像を生成するのはなかなか難しい上、はじめは大した結果もでないので、大きなデータを与える必要もない。できるだけゴミを減らして簡単に画像を生成できるようにしないと、単に大量のゴミと残念な結果が生まれるだけなのだ。以前のシステムによって生成された下の画像を見れば、その意味がわかるだろう。

Nvidiaの研究者も「本物の写真と同じくらいのクオリティに達するまではまだまだ時間がかかるだろう」と認めている。その一方でNvidiaは、本記事に掲載した写真からもわかる通り、同システムが本物の人間とほぼ見分けがつかないレベルの画像を生成できる世界初のシステムになるかもしれないと期待を寄せている。

ただ一点だけお伝えしなければいけないのが、トレーニングに使う画像の種類を絞らないと、下図のようにギョッとするような動物や、悪夢のような光景が描かれた画像が生成されてしまうということ。

上の画像はクリックすればフルサイズで表示されるので、勇気がある人はお試しを……

原文へ

(翻訳:Atsushi Yukutake

GoogleがAndroid 8.1にNeural Networks APIを導入、今日からデベロッパーベータを提供

今日Googleは、Android Oreo(v8.1)のデベロッパー向けベータの配布を開始した。

今回の大きな目玉はNeural Networks APIで、これによりスマートフォン上でハードウェアアクセラレーション〔後述〕によるNNの推論を行い、訓練済みの機械学習モデルを高速に実行する。この種の計算をエッジに持ち込むことによって、ネットワークのレイテンシーと負荷が減り、機密データがデバイス上に留まることによって、エンドユーザーに多大な便宜をもたらす。

このNN APIにより、スマートフォン上で画像分類をしたり、ユーザーの行動パターンから次にやることを予見する、といったアプリが可能になる。Googleによると、このNeural Networks APIはTensorFlow LiteやCaffe2などのフレームワーク使いこなすための“基礎としての層”として設計した、という。

このAPIはデバイス上にAI専用チップがあればそれを利用できるが、なければふつうにCPUを使う。GoogleのスマートフォンPixel 2には専用チップPixel Visual Coreが載っており、Googleは前にも、8.1のプレビューが使えるようになったらそれが実際に動く、と言っていた(つまり今日だ)。

Neural Networks APIはユーザーのデバイスを酷使するが、Googleは8.1でAndroid Go用の最適化を導入し、デベロッパーがもっとベーシックなスマートフォン用にはその軽量バージョンのAndroidを使えるようにした。それは、今年の5月にI/Oカンファレンスで発表された簡易版Androidだ。

Goは、接続性の良くないところで使う低スペックのスマートフォン用だ。今回のアップデートではRAMが1GBに満たないデバイス向けのメモリの最適化が行われ、またそれらが8.1以降で動いている場合には、配布するアップデートを対象デバイスのシステムメモリに応じて選択できる。

そのほか、8.1デベロッパープレビューではAutofillがアップデートされて、パスワードマネージャーがこのフレームワークを使いやすくなった。また、そのほかのバグパッチやセキュリティパッチも、いろいろ行われているはずだ。

Android 8.1が消費者の手に渡るのは12月の予定だが、デベロッパーは今すでに、このベータにアクセスできる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

Nvidiaに負けたくないIntelがニューラルネットワーク専用プロセッサーNervanaを年内発売

今朝(米国時間10/17)WSJのD.LiveイベントでIntelが公式に、同社のニューラルネットワークプロセッサーNervanaを披露した。この機械学習のユースケースを想定したチップ系列は、開発時のコードネームがLake Crestだった。

このチップの基本技術は、Intelが昨年8月に3億5000万ドルで買収したNervana Systemsに負っている。このニューラルネットワークプロセッサー(Neural Network Processor, NNP)チップは標準的なキャッシュ階層を廃し、チップ上のメモリをソフトウェアが管理することによって、ディープラーニングのモデルの訓練を高速化する。

Intelはここ数か月、Nvidiaに完敗することを避けようと躍起になっていた。今成長著しいAI市場に向けて舵を切ることにより、このレガシーのチップメーカーは、これまでに築いた業界とのコネを利用して生き残ろうとしている。その点に関してIntelの目標は、2020年のAI部門の売上を現在の100倍にすることだ。

NervanaはNNPとしてスケーラビリティと数値計算の並列化を売りにしている。また、強力な双方向データ転送能力も、重要なセールスポイントだ。Intel独自の数値フォーマットFlexpointを使うことによって、スループットを上げているという。また回路のサイズを縮小したことによって並列処理を高速化し、同時に電力消費量を減らしている。

もちろんニューラルネットワークのパラメーターを大量のチップに分散して効率を上げることは、他者も当然ねらっている。Nervanaと並んで今後市場にどんなものが出てくるか、今から楽しみだ。

今日の発表には、ベンチマークがなかった。間に合わなかった。発売は年内だそうだが、大丈夫か。Facebookは技術情報をIntelと共有して、このチップの開発に協力してきた。

Intelは、Nervanaを軸とする総合的な製品ラインを目指しているようだ。次に出るAI向けXeonプロセッサーは、噂ではコードネームが“Knights Crest”だそうだ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

ビデオストリーミングの高画質化+中断のないスムーズ化にMITの研究者がニューラルネットワークを併用

MITのコンピューター科学と人工知能研究所(Computer Science and Artificial Intelligence Lab, CSAIL)は、途中でぶち切れない、スムーズなストリーミングビデオを志向している。そのためにMohammad Alizadeh教授のチームが開発した人工知能システム‘Pensieve’は、その都度正しいアルゴリズムを選ぶことによって、中断のない最良の再生を確保する。

その方法には既存の技術の改良も含まれ、たとえばその一つYouTubeの適応ビットレート(adaptive bitrate, ABR)は、モザイクなどで画質を落とすことによって、スムーズな再生を維持しようとする。MITのAIは、今デバイスがどんなネットワーク条件に遭遇しているかによってアルゴリズムを切り替え、えんえんとひとつだけの方法を使い続けた場合の弱点を抑える。

そのアルゴリズム切り替え法によると、ストリーミングビデオの中断は10〜30%少なくなり、画質は10〜25%向上した。ビデオを長時間見るときには、これぐらいの改善でも相当大きな効果を感じるだろう。

  1. pensieve-overview.jpg

  2. pensieve-outperforming-existing-approaches.png

  3. pensieve-neural-network-detailed-diagram.jpg

しかもCSAILのPensieveは、完全にアルゴリズムだけに頼るのではなくニューラルネットワークを使用し、ストリーミングの最終的な画質に応じてNNにごほうび(reward)を与えることによって、NNを鍛えていく。それにより、どんな場合にはどんなアルゴリズムとその変数セットを選ぶか、ということをNNが学習していく。たとえばビデオをバッファリングするときのアルゴリズムの選択にも、固定的なルールには従わないというのが、このシステムの大きな特長だ。

チームによると、システムの振る舞いをエンドユーザーが(好み等に応じて)カスタマイズすることもできる。たとえば再生時に、画質重視、スピード重視、データの現状保全重視、などから選ぶこともできる。

Pensieveはオープンソースのプロジェクトとして来週ロサンゼルスで行われるSIGCOMMで発表される。チームは、もっと大量のデータセットで訓練すれば画質もスピードも大幅に向上する、と期待している。また今後は、通常のビデオよりもビットレートがものすごく高いVRビデオも使って、Pensieveの性能を上げたい、と彼らは考えている。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

AI対AIやAI対人間を“戦わせる”ことでイノベーションを喚起するNIPSカンファレンスのコンテスト

ちょっとした競争心が、イノベーションのきっかけになることがある。そこでNeural Information Processing Systems(NIPS)カンファレンスは、競争するAIシステムを今年のテーマにした。そして、人が歩くときの筋肉の動きを模倣するシステム、雑学クイズ・チャンピオン、画像の微妙な操作など、さまざまなテーマで競い合うことになった。

NIPSの今年のこの新しい企画には23種の‘競争するAI’がテーマとして提案され、最終的に5つに絞られた。カンファレンスが行われるのは12月の初めだが、どれも、片手間で簡単に作れるようなシステムではないので、戦いは今からすでに始まっている。どのテーマもすでに、応募作は相当多い。

コンテストは一つ々々が独立していて、スポンサーが付いたり、賞金が出るものもある。

走ることの学習: これはたぶん、視覚的にいちばんおもしろいコンテストだろう。このシステムは人間が歩く動作をするときの、脳による筋肉と骨のコントロールを模倣する。生理学と物理学のシミュレーションだが、滑る床や階段、弱い筋肉、といった障害も設定されている。目標は歩き方を知っているAIを作るだけでなく、脳性麻痺の人に手術をした場合、歩き方にどんな影響が現れるか、といった問題意識もある。コンテストの詳細はスタンフォード大学のニュースリリースにあり、リーダーボードのGIF画像がなかなかおもしろい。AmazonがAWSのクレジット3万ドルぶんを賞金として提供している。

NNの敵対的攻撃と防御(Adversarial Attacks and Defenses): 私たちはすでに、画像を認識するニューラルネットワークをあちこちで見ている。それらは人間の顔や、猫、風景などを認識する。それらは、あらゆる種類の低レベルデータに対する独特のロジックで動くから、その判断を騙して、まったく違うものに認識させてしまうことも可能だ。もちろん、画像そのものを別のものに変えたりはしない。このコンテストは、NNを騙す悪役と、それに対する防御を作品として募集する。〔訳注: この項については、Google検索やWikipediaなどで、Generative Adversarial Net, GANを勉強すると、理解できると思います。〕

人と会話できるAI: このコンテストの目標は、できるかぎり人間のように振る舞えるAIを作ることだ。ボットと人間が対面して、両者に、最新のニュースやWikipediaの記事などを読ませ、それについてなるべく長く会話をする。応募作品に制限はないが、最優秀のボットが12月のNIPSに出場する。優勝賞金は1万ドルだ。チャットボットの進化に前から関心のあるFacebookが、“プラチナスポンサー”になり、本誌TechCrunch DisruptのStartup Battlefieldに出たMaluubaが、“シルバーパートナー”になる。それらの意味は、よく分からないけど。

人間対コンピューターのQ&A: このコンテストの応募者は、小型のWatsonを作る。そのWatsonは、Jeopardyで人間を負かしたときのバージョンぐらいの実力が必要だ。システムは一回に一つずつ、クイズのような質問を与えられ(例: ローマ帝国の第四代の皇帝は誰か?)、人間よりも早く、少ない語数で…もちろん正解を…答えたらポイントをもらう。NIPSで、人間とコンピューターの決戦を見ることになるだろう。“エキシビションマッチで人間チームと対戦するときのシステムの組み合わせは、出場者(システムの作者)が決めてよい”そうだ。

遺伝子突然変異の臨床的応用性のある分類法: 癌の悪性腫瘍を生じさせている遺伝子と、それらの腫瘍を破壊する遺伝子が分かったら、癌の拡大を防げるかもしれない。でもそれは、専門家たちによる、難しくて時間のかかる研究開発過程だ。しかし、もしも、何千もの遺伝子突然変異に関するそれら専門家たちの注記注釈にアクセスできたら、ニューラルネットワークを使った機械学習に出番があるかもしれない。すくなくとも、今後の研究対象を絞り込むぐらいは、できるのではないか。優勝賞金1万ドルは、Memorial Sloan Kettering Cancer Centerが提供する。すでに、685の応募作が寄せられている!

コンテストの結果が分かるのは12月だが、作品の応募だけでなく、議論に加わることは今からでもできる。参加は、自由だ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

ニューラルネットワークの内部動作を理解するための完全自動化システムをMITの研究所が開発

MITのComputer Science and Artificial Intelligence Lab(コンピューターサイエンスと人工知能研究所, CSAIL)が、ニューラルネットワークの内部を調べて、それらが実際にどうやって判断をしているのかを知るための、方法を考案した。その新しいプロセスは二年前にチームがプレゼンしたものの完全自動化バージョンで、以前は人間が調べて同じ目的を達成していた。

ニューラルネットワークの動作の理解に人間が介入しなくなったことは、研究の大きな進歩だ。これまでのディープラーニングのテクニックには、彼らの動作に関する不可解な部分が多かった。いったいどうやってシステムは、その判断結果に到達しているのか? そのネットワークは信号処理の複数の連続した層を使って、オブジェクトの分類やテキストの翻訳などの機能を実行するが、ネットワークの各層がどうやって判断しているのかを、われわれ人間が知るための方法がほとんどなかった。

CSAILのチームはのシステムは、ちょっと手を加えたニューラルネットを使い、その個々のノードが入力画像に反応するときの反応の強度を返させる。そして、最強の反応を生成した画像を分析する。この分析は最初、Mechanical Turkのワーカーたちが行い、画像中の具体的な視覚的コンセプトに基づいて分類をしたが、今ではその仕事が自動化され、分類はマシンが生成する。

すでにこの研究から、ニューラルネットの動作に関する興味深いインサイトが得られつつある。たとえば白黒の画像に塗り絵をするよう訓練されたネットワークは、そのノードの大きな部分に集中することによって、絵の中のテクスチャ(絵柄、模様、パターン)を同定する。またビデオの中にオブジェクトを見つけるよう訓練されたネットワークは、そのノードの多くがシーンの同定に動員され、一方、シーンを同定するよう訓練されたネットワークはその逆に、多くのノードにオブジェクトを見つけることに集中した。

私たちはそもそも、分類や認識を行う人間の思考を完全には理解していないし、ニューラルネットはその不完全な理解に基づく人間の思考の仮説的なモデルだ。だからCSAILの研究は今後、神経科学の疑問も解き明かすかもしれない。そのペーパーは今年のComputer Vision and Pattern Recognition(コンピュータービジョンとパターン認識)カンファレンスで発表されるが、人工知能の研究者たちの、大きな関心を喚(よ)ぶことだろう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

ニューラルネットワークに塗料の色の名前をつけさせたら、不可解だけど笑える結果ばかり!

今や、どんなものでも機械学習にやらせようとしている。しかも機械学習は、なんでもあっさりとやってのける。でも、そうでなかった仕事もある。それは、ニューラルネットワークを使って、塗料の色に気取った名前…“春の雨”、“港の霧”など…をつける、という試みだ。だって、そのニューラルネットワークが命名した“dorkwood”色や“stanky bean”色の塗料を使って、自分の家を塗装したい人なんか、いるわけないもんね?。〔訳注: どちらもワイセツな含意があるので日本語訳を控えます。〕

塗料の色の命名に機械学習を利用しようとして、今回失敗した研究者Janelle Shaneは、フルート奏者としてニューラルネットワークと“共演”することも、ときどきあるそうだ。

そのニューラルネットワークは、さまざまなRGBの値に対応する7700種の色の名前を教育訓練され、色と言葉とのあいだにある秘密の関係を会得した(はずだった)。

最初のうちは、まあまあだった。システムはどうやら幼稚な論理を編み出したようだが、色の名前として、実在する言葉を選んでいない:

上の3つめの例で”a”が抜けているのは、紫っぽい色調を表しているのだろうか? 三回登場する”Caae”は、共通する中間調の明度に対応しているのか? それはわれわれには分からないけど、ニューラルネットワークの中で立派な芸術的文法が生まれようとしているのかもしれない。

何度もデータを与えると、ニューラルネットワークはだんだんクリエイティブになり、独創的な色名を作り出すようになった。ホームセンターで売ってる塗料の、“greige”(生成り色)とか“royal purple”(王室紫)みたいな、平凡陳腐なやつは一つもない:

Dondarf? Burble Simp? Bank butt? Catbabel? … 独創的すぎる!

Bunflow? Rose Hork? Dope? …Turdly? … なんと思い切った名前!

StargoonやCaring Tan、Snowbonkなんかは、ぼくも本当に気に入ったけど、でも彼女のクリエティビティに、早産は禁物だったようだ。もっと気長に、教育訓練すべきだね。それまでは、Shaneの貴重な仕事をTumblrに再投稿してその回数を増やし、彼女への感謝のシルシにしよう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

数学知識もいらないゼロからのニューラルネットワーク入門

【編集部注】本記事はGumGumOphir Tanz(CEO)とCambron Carter(画像認識チームのトップ)によって共同執筆された。GumGumはコンピュータービジョンに特化したAI企業で、広告からプロスポーツまで世界中のさまざまな分野にAI技術を応用しようとしている。カーネギーメロン大学で学士・修士(いずれも理学)の学位を修めたTanzは、現在ロサンゼルス在住。一方、GumGumで幅広い分野に対応したコンピュータービジョン・機械学習ソリューションの設計に携わっているCarterは、ルイスビル大学で学士(物理学、電子工学)・修士(電子工学)の学位を修めた。

これまでに人工知能(AI)関連の記事を読んだことがある人であれば、ほぼ間違いなく”ニューラルネットワーク”という言葉を目にしたことがあるだろう。ニューラルネットワークとは、大まかな人間の脳の仕組みを模したモデルで、与えられたデータを基に新しい概念を学習することができる。

機械学習の一分野であるニューラルネットワークこそ、長く続いた”AI冬の時代”を終わらせ、新時代の幕開けを告げたテクノロジーなのだ。簡単に言えば、ニューラルネットワークは業界の根底を覆すような、現存するテクノロジーの中でもっともディスラプティブな存在だ。

そんなニューラルネットワークに関するこの記事の目的は、読者のみなさんがディープラーニングについて会話ができるようになるくらいの理解を促すことにある。そのため、数学的な詳しい部分にまでは入らず、なるべく比喩やアニメーションを用いながらニューラルネットワークについて説明していきたい。

力ずくの思考法

AIという概念が誕生してからまだ間もない頃、パワフルなコンピューターにできるだけ多くの情報とその情報の理解の仕方を組み込めば、そのコンピューターが”考え”られるようになるのでは、と思っている人たちがいた。IBMの有名なDeep Blueをはじめとする、チェス用のコンピューターはこのような考えを基に作られていた。IBMのプログラマーたちは、十分なパワーを持ったコンピューターに、あらゆる駒の動きや戦略を余すことなく入力することで、理論上はそのコンピューターが駒の動き全てを予測し、そこから最適な戦略を編み出して相手に勝つことができると考えたのだ。実際に彼らの考えは正しく、Deep Blueは1997年に当時の世界チャンピオンに勝利した*。

Deep Blueで採用されたようなモデルでは、「こうなったらこうして、ああなったらああする」といった感じで、予め膨大な時間をかけて定められたルールに基いてコンピューターが駒を動かしている。そのため、これは強力なスーパーコンピューティングとは言えても、人間のように柔軟性がある学習モデルとは言えない。というのも、コンピューター自体が”考えている”わけではないからだ。

機械に学び方を教える

そこで科学者たちは過去10年のあいだに、百科事典のような膨大なメモリに頼らず、人間の脳のようにシンプルでシステマチックにデータを分析するという、古くからあるコンセプトに再び目を向けることにした。ディープラーニングやニューラルネットワークとして知られるこのテクノロジーは、実は1940年代から存在している。しかし、当時は考えられなかったほどの量の画像や動画、音声検索、検索行動といったデータを入手でき、安価なプロセッサが普及した今になって、ようやくその本当の可能性が花開き始めたのだ。

機械と人間は似たようなもの!

人工ニューラルネットワーク(Artificial Neural Network=ANN)は、音声操作からプレイリストのキュレーション、作曲、画像認識まで、全てをコンピューターに学習させることのできるアルゴリズムだ。一般的なANNは何千という数の人工ニューロンから構成されていて、何百万通りにも繋がりあった人工ニューロンが複数のレイヤー(または層)を形成している。また多くの場合、あるレイヤーと別のレイヤーを接続するときには、入力側か出力側にしか接続できないようになっている(人間の脳内にあるニューロンはあらゆる方向に繋がり合うことができるため、両者にはかなりの差がある)。

出典: GumGum

今日の機械学習では、この多層型のANNが広く利用されており、そこに大量のラベル付きのデータを与えることで、AIがそのデータを人間のように(ときには人間よりも上手く)理解できるようになる。

現実世界で親が子どもにリンゴとオレンジの見分け方を教えるときのように、コンピューターも練習を積めばふたつを見分けられるようになるということだ。

例えば画像認識においては、畳み込みニューラルネットワーク(Convolutional Neural Network=CNN)というタイプのニューラルネットワークが使われている。数学の畳み込みと呼ばれるプロセスから名前がつけられたCNNは、一部が見づらくなっている物体や一定の角度からしか見えないような物体が含まれている画像も非線形解析することができる(他にも再帰型ニューラルネットワークや順伝播型ニューラルネットワークなど、さまざまなタイプのものが存在するが、これらのニューラルネットワークは私たちが以下の例で取り上げている画像認識には向いていない)。

トレーニングの流れ

それではニューラルネットワークはどのように学習するのだろうか?極めてシンプルかつ効果的な、教師あり学習という手法を見てみよう。この手法では、ニューラルネットワークに人間がラベル付けした大量のトレーニングデータが与えられるため、ニューラルネットワークは自分で答え合わせができるようになっている。

リンゴとオレンジというラベルが付いた画像で構成されたトレーニングデータを思い浮かべてみてほしい。画像がデータ、それぞれの画像に対応している”リンゴ”、”オレンジ”という名前がラベルだ。トレーニングデータを受け取ったニューラルネットワークは、それぞれの画像を細かな要素(エッジ、テクスチャ、形など)に分解し始める。そして画像がネットワーク中を伝播していく中で、それらの要素が組み合わさって抽象的な概念を構築していく。曲線や色に関する情報が合わさって、茎やオレンジ、緑・赤のリンゴという絵が浮かび上がってくるといった具合だ。

このプロセスが終わると、ネットワークは画像に何が写っているかについての予測を立てようとする。そもそもまだ何も学習していないので、最初はこの予測が全くの当てずっぽうのように見えるだろう。そして、入力された画像がリンゴなのに、ネットワークがオレンジと予測したとすれば、ネットワーク内のレイヤーに修正を加えなければならない。

バックプロパゲーション(または誤差逆伝播法)と呼ばれるプロセスを通じて修正が行われると、次に同じ画像が与えられたときに、ネットワークがその画像をリンゴだと判断できるようになる確率が上がる。この作業は予測がほぼ正確になり、改善の余地がなくなったと感じられるくらいまで繰り返される。現実世界で親が子どもにリンゴとオレンジの見分け方を教えるときのように、コンピューターも練習を積めばふたつを見分けられるようになるということだ。もしもこの時点で「あれ、これって機械が何かを学んでるんじゃないかな?」と感じた人がいれば、その人はAIの分野で働けるかもしれない。

レイヤーに次ぐレイヤー

一般的に、畳み込みニューラルネットワークには、入出力用のレイヤーを除いて以下の4つのレイヤーが必ず含まれている。

  • 畳み込み層
  • アクティベーション層
  • プーリング層
  • 全結合層

畳み込み層

最初の畳み込み層(複数の畳み込み層が重なっていることもある)では、何千個ものニューロンが第一のフィルターとして機能し、画像内の各ピクセルにスコアを付けながらパターンを見つけようとする。処理された画像の数が増えるにつれて、それぞれのニューロンが画像の特徴的な箇所をフィルタリングするようになり、精度が向上していく。

リンゴを例にとると、あるフィルターは赤い色を探している一方で、別のフィルターは曲がったエッジを探し、さらに別のフィルターが細い棒のような茎を探しているかもしれない。引っ越しやガレージセールのために、散らかった倉庫を片付けたことがある人(もしくは業者に片付け作業をお願いしたことがある人)であれば、モノをまとめて(本、おもちゃ、電子機器、アート、服などへ)分類していく作業についてよく知っていることだろう。畳み込みレイヤーも同じような作業を通じて、画像をピクセルの特徴ごとにバラバラにしていっているのだ。

ニューラルネットワークの利点のひとつは、非線形学習ができることだ。

ニューラルネットワークが有名になった要因のひとつで、これまでのAI手法(Deep Blueなど)とは異なる強力な特徴として挙げられるのが、前述のようなフィルターを人間がつくる必要がないということだ。つまりネットワーク自体が、データを解析しながら処理方法を改善していくのだ。

畳み込み層の役割は、特徴マップと呼ばれる、もともとの画像がフィルターごとに分解されたものを生成することだ。そして特徴マップには、各ニューロンが画像のどの部分で赤い色や茎、曲線といったリンゴを特徴付ける要素を(どんなに部分的であっても)発見したかという情報が含まれている。しかし、畳み込み層はかなり自由に特徴を検知するようになっているため、画像がネットワーク内を伝播していく中で見落としがないか確認するような仕組みが必要になってくる。

アクティベーション層

ニューラルネットワークの利点のひとつは、非線形学習ができることだ。これはどういうことかと言うと、あまりハッキリと表れていない特徴も見つけることができるということだ。つまり、リンゴの木の写真に写った直射日光を受けているリンゴや影に隠れたリンゴ、さらにはキッチンカウンターのボールの中に山積みになったリンゴもニューラルネットワークを使えば認識することができる。これは全て、明らかなものも見つけにくいものも含め、重要な特徴をハイライトするアクティベーション層のおかげなのだ。

先述の片付けの様子を思い浮かべてほしい。今度は分別を終えた山の中から、珍しい本や今となっては皮肉にさえ見えるような学生時代に着ていた懐かしいTシャツなど、やっぱり残しておきたいと感じたお気に入りのモノを抜き出すとしよう。これらの”もしかしたら”というモノを、後で見直せるようにそれぞれの山の上に置いておくというのが、アクティベーション層の役割だ。

プーリング層

画像全体に”畳み込み”を行った結果、かなりのボリュームの情報が生成されるので、すぐに計算が面倒になってしまう。そこでプーリング層を使うことで、膨大な量のデータをもっと処理しやすい形に変換することができる。やり方はさまざまだが、もっとも人気のある手法が”マックスプーリング”だ。マックスプーリングを行うと、畳み込みで生成された特徴マップの要約版のようなものが作られ、赤い色や茎っぽさ、エッジの曲がり具合といった特徴がもっともハッキリと表れている部分だけが残される。

再度片付けの例を引っ張りだし、片付けコンサルタントとして有名な近藤 麻理恵氏の哲学を応用すれば、それぞれの山のお気に入りのモノの中から本当に”ときめく”モノだけを選んで、残りは全て売るか捨てるというのがプーリング層の役割だ。そうすると、本当に大切なものだけがカテゴライズされたままで手元に残ることになる(ちなみに、ニューラルネットワークの中で起きるフィルタリングやコンパクト化の作業の理解を促すための、片付け作業を用いた説明はここで終わりだ)。

ニューラルネットワーク設計者は、残りのレイヤーも同様に畳み込み層・アクティベーション層・プーリング層と積み重ねていくことで、より次元の高い情報だけ残すことができる。リンゴの画像で言えば、最初はほとんど認識できなかったようなエッジや色や茎も、何層にも重なり合ったレイヤーを通過していくうちに、その姿がハッキリと浮かび上がってくる。そして最終的な結果が出る頃に、全結合層が登場する。

出典: GumGum

全結合層

そろそろ答え合わせの時間だ。全結合層では、コンパクト化された(もしくは”プール”された)特徴マップが、ニューラルネットワークが認識しようとしているモノを表す出力ノード(またはニューロン)に”全て結合”される。もしもネコ、イヌ、ギニアピッグ、スナネズミを見分けることがネットワークのゴールであれば、出力ノードは4つになる。私たちの例で言えば、出力ノードは”リンゴ”と”オレンジ”のふたつだ。

もしも、トレーニングをある程度経て既に予測精度が上がってきたネットワークにリンゴの画像が入力された場合、特徴マップのほとんどにはリンゴの特徴をハッキリと示す情報が含まれているはずだ。ここで最後の出力ノードが逆選挙のような形で、その役目を果たすことになる。

新しい画像がネットワーク内を伝播したときの認識精度が上がるように、それぞれのレイヤーのニューロンに修正が加えられる。

リンゴとオレンジの出力ノードの(”オンザジョブ”で学習した)仕事は、それぞれの果物の特徴を示す特徴マップに”投票”することだ。つまり、ある特徴マップに含まれるリンゴの特徴が多ければ多いほど、その特徴マップに対するリンゴノードの投票数は多くなる。そしてどちらのノードも、それぞれの特徴マップが含んでいる情報に関係なく、全ての特徴マップに対して投票しなければならない。そのため、トレーニングが進んだニューラルネットワーク内では、全ての特徴マップに対するオレンジノードからの投票数が少なくなる。というのも、特徴マップにはオレンジの特徴がほとんど含まれていないからだ。最終的に投票数の1番多いノード(この場合で言えばリンゴノード)が、このネットワークの”回答”となる。実際にはもっと複雑だが、大体このようなプロセスでニューラルネットワークは画像を処理している。

同じネットワークがリンゴとオレンジという別のモノを認識しようとしているため、最終的なアウトプットは、「リンゴ:75%」「オレンジ:25%」といった感じで確率で表示される。もしもトレーニングが不十分でネットワークの精度が低ければ、「リンゴ:20%」「オレンジ:80%」といった結果が表示される可能性もある。

出典: GumGum

答えが間違っていれば繰り返しあるのみ

初期の段階にあるネットワークでは、不正解が続出するのが普通だ。「リンゴ:20%」「オレンジ:80%」というのは完全な間違いだが、ここではラベル付きのデータを使った教師あり学習を採用しているため、ネットワークはバックプロパゲーションを使い、どこでどのように間違ったかというのを自動的に解析できるようになっている。

冒頭の約束通り数学無しで説明すると、バックプロパゲーションとは、あるレイヤーのノードがひとつ前のレイヤーのノードに対して、自分たちの回答と実際の答えがどのくらいかけ離れていたかを伝える仕組みを指している。後ろのレイヤーからのフィードバックを受け取ったレイヤーは、さらにもうひとつ前のレイヤーに情報を伝え、その後も伝言ゲームのように畳み込み層まで情報が伝わっていく。そして新しい画像がネットワーク内を伝播したときの認識精度が上がるように、それぞれのレイヤーのニューロンに修正が加えられることになる。

その後も、ネットワークがリンゴとオレンジを100%の確率(多くのエンジニアは85%を許容値としているが)で当てられるようになるまで、このプロセスが何度も繰り返される。そしてトレーニングが完了すれば、そのネットワークは晴れてプロとして、リンゴとオレンジを認識する仕事に就くことができる。

*GoogleのAI囲碁プログラムAlphaGoは、ニューラルネットワークを使って盤面を評価しながら最終的に人間の棋士を破ったが、Deep Blueは人間によって記述された指示を基に戦っていたという点で異なる。

原文へ

(翻訳:Atsushi Yukutake/ Twitter

Googleの敵対的AI(GANs)はAI開発における現実データへの依存を減らす

AIの開発で最大の難関が、人間による大量の入力が必要なことだ。最初に、AIに解かせるための適切なデータを見つけて入力しなければならないし、さらにそれ以前に、AIを有能にするための訓練で大量のデータ入力が必要だ。GoogleのAI研究者Ian Goodfellowは、Elon Muskらが率いるOpenAIに出向したあと、最近またGoogle Brainに戻った人物だが、彼によると、ニューラルネットワークに別のニューラルネットワークを組み合わせることによって、この二つの問題を解決できるかもしれない、という。

実はFacebookでも同様の研究論文を、AI研究のトップYann LeCunnとAIエンジンイアSoumith Chintalaが昨年の6月に書いている。その中で彼らは、生成能力のある敵対的ネットワーク(generative adversarial networks, GANs)を利用する自動〔==無監督〕学習、すなわち人間が介入する必要のない機械学習を説明している。これを最初に考えたのはGoodfellowだが、Wired誌によると、その有効性の証明にはモントリオール大学における研究者たちの(アルコールの力も借りた?)激論を要した。

このシステムでは、二つの互いに対立するニューラルネットワークが、対立する情報を相手に提供しあう。たとえば一方が犬のリアルな画像を合成しようとしていると、他方はおかしな点を指摘し、相手の失敗を批判する。このような試行と批判を繰り返すことによって、生成を担当する方のシステムが、意外なやり方で性能を上げ、能力をアップしていく。

GANsを利用すると、AI研究者たちは、画像生成システムなどが時間をかけて改良されていくために必要な、人間による入力信号の修正を減らせるだけでなく、医療のような厳しい分野でも、有益なAIや機械学習ツールを生成するために必要な実データの量を最小化できる。GoogleのDeepMindはイギリスの国民保健サービス(NHS)とパートナーし、個人の保健医療データを利用しようとして問題になっているが、GANs を使えば実データではなく人工的な患者データを利用してAIを訓練できるかもしれない。

GoodfellowがGoogleに戻ったことは、GANsをめぐる大手テクノロジー企業間の競争(や協力)が激しくなっていることを、示している。もちろんその競争は、将来におけるAI開発のスピードをアップすることにもつながる。またAIベースの保健医療サービス等の受益者たちも、プライバシー侵犯の心配から解放され、関係者全員のウィンウィンの構造が出来上がるだろう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

GoogleのDeepMindが社内的に使っていたニューラルネットワークライブラリSonnetをオープンソース化

GoogleのDeepMindが今日(米国時間4/7)、同社のオブジェクト指向のニューラルネットワークライブラリSonnetをオープンソースにする、と発表した。SonnetはTensorFlowに置き換わるものではなくて、同社内部の研究のためのベストプラクティスとよくマッチした高レベルのライブラリだ。

DeepMindが同社のブログ記事で述べているところによると、このライブラリはさまざまに異なるモデルへの切り替えが容易にできるように最適化されているので、実験を行うエンジニアが自分のプロジェクトの全体を手直しする必要がない。そうするためにチームはTensorFlowに変更を加え、複数のモデルを容易に階層として見なせるようにした。DeepMindはまた、さまざまな共有形式における透明性を加えた。

Sonnetをオープンソースにするのは、DeepMind自身の利益でもある。コミュニティがDeepMindの内部的ライブラリをよく知るようになれば、ペーパー等でのモデルの共有がやりやすくなる。また逆に、マシンインテリジェンスのコミュニティが自分たちの仕事にSonnetを採用することによって、ライブラリへの寄与貢献がよりやりやすくなる。

[TensorFlowと互換性があるので、コードのミックスができる。]
[Sonnetのオープンソース化でモデルのオープンソース化も容易になる。ペーパーの共有範囲も広がる〔Sonnet語がDM方言でなく標準語(共通語)になる〕。]

DeepMindはこのところ、オープンソースに熱心に取り組んでいる。たとえばオープンソースのAPIを開発して、研究をStarCraft IIの上でできるようにしている。12月にチームはDeepMind Labをリリースして、AI研究の一般化汎用化に貢献した。それは、OpenAIのUniverseにも似ている。オープンソースプロジェクトはDeepMindのWebサイト上で自分のホームページまでもらっている。

ライブラリはGithubで入手できる。ライブラリを内部的に変えるたびに、オープンソース版のアップデートを行うつもりだ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

Googleの機械学習専用カスタムチップはGPU/CPUマシンの15〜30倍速い…同社ベンチマークを発表

【抄訳】
Googleが同社の機械学習アルゴリズムを高速に実行するカスタムチップを独自に開発したことは、前から知られていた。その Tensor Processing Units(TPU)と呼ばれるチップが初めて公開されたのは、2016年の同社のI/Oデベロッパーカンファレンスだったが、詳しい情報は乏しくて、ただ、同社自身の機械学習フレームワークTensorFlowに向けて最適化されている、という話だけだった。そして今日(米国時間4/5)初めて、同社はこのプロジェクトの詳細ベンチマークを共有した。

チップの設計をやってる人なら、Googleのペーパーを読んで、TPUの動作に関するややこしいすばらしい詳細情報を理解できるだろう。でもここで主に取り上げたいのは、Google自身のベンチマークの結果だ(客観的な第三者の評価ではない)。それによるとTPUは、Googleの通常の機械学習のワークロードを、標準のGPU/CPU機(IntelのHaswellプロセッサーとNvidia K80 GPUs)より平均で15〜30倍速く実行できた。また、データセンターでは電力消費が重要だが、TPUのTeraOps/Wattは30〜80倍高い。将来は高速メモリの使用により、これよりもさらに高くなるという。

なお、これは実際に使われている機械学習モデルを使った場合の数字であり、モデルの作成は関わっていない。

Googleによると、一般的にこの種のチップはconvolutional neural networks畳み込みニューラルネットワーク、画像認識などによく使われる)向けに最適化されることが多いが、Googleのデータセンターのワークロードではこの種のネットワークは全体の約5%にすぎず、大多数はmulti-layer perceptrons(多層パーセプトロン)のアプリケーションだ、という。

【中略】

Googleには、TPUを自分のクラウドの外で可利用にする気はないようだが、しかし同社は、これを勉強した誰かが将来、彼らが作る後継機により、“バーの高さをさらに上げる”ことを期待する、と言っている。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

NvidiaのJetson TX2でカメラやセンサーなどネットの末端デバイスが高度なAIを持つ

Nvidiaの組み込みシステム用コンピューティングプラットホームJetsonに、次世代製品が登場した。組込みシステムといっても、開発対象は主に、交通監視カメラや製造用ロボット、スマートセンサーなどネットに接続されるデバイスで、今回の新製品Jetson TX2は前世代のTX1の倍の性能を持ち、また省電力モードでは本来の半分以下の電力消費で同じ処理能力を発揮する。

TX2はPascalベースのGPUと、Nvidia製64ビットクワッドコアARMチップ2基、RAM 8GB、高速フラッシュストレージ32GB、という構成である。ネットワーキングは802.11ac Wi-Fi、Bluetooth、1GB Ethernetを内蔵する。これらによりネットワークのリーチが長くなり、エッジデバイス(ネットワークの末端のデバイス)が分散ニューラルネットワークを動かして、オブジェクトや音声、まわりの環境などを正しく判定し、自動航行などを助けることができる。

Jetson TX2と並んで発表されたJetPack 3.0はJetson系列用AI SDKの新バージョンで、ディープニューラルネットワーク向けにはTensorRT 1.0, cuDNN 5.1をサポートし、コンピュータービジョンではVisionWorks 1.6、およびそのほかの最新のグラフィクスドライバーとAPIsをサポートする。

Ciscoは、同社のエンタープライズネットワークデバイスSparkに、TX2とJetsonを利用して顔や音声認識など、ローカルなAI機能を実装する、と言っている。それらの機能により、確かにセキュリティや認証が末端レベルで強化されるだろう。またTX2はAIを研究しようとする学生や研究者たちにとって、費用が非常に安上がりですむ。今日ローンチした新しいJetson開発キットは、アメリカとヨーロッパの予約価格が599ドルで、3月14日に発売される。

一方TX2モジュールは第二四半期に399ドルで発売される。既存のJetson組み込みコンピューティングプラットホームTX1とTK1は、値下げして提供を続ける。

このようにエッジデバイス(ネットワークの末端)が高度なAI機能を持つことにより、コネクテッドシティ(インターネットに接続された都市)はインテリジェントシティ(多様な電脳機能を持つ都市)へと成長する。電脳機能はもはや、中央のサーバーが独占するものではない。末端のさまざまな部位が何らかの知能を持つことによって、ネットワーク全体でものごとがスムーズに動くようになる。そしてネットワークの各ノードが知性主体ならば、インフラストラクチャの継続性とか、レイテンシーの懸念などを心配する必要もなくなる。Jetson TX2による世代更新など、エッジの機能・性能の向上により、未来がまた一歩近くなる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))