BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース DeepMindがデータに依存しないディープラーニングモデルPerceiver IOをオープンソース化

DeepMindがデータに依存しないディープラーニングモデルPerceiver IOをオープンソース化

ブックマーク

原文(投稿日:2021/08/24)へのリンク

DeepMindPerceiver IOをオープンソース化した。さまざまな種類の入力と出力を処理できる汎用の深層学習モデルアーキテクチャだ。Perceiver IOは、Transformersの完全互換として機能する。ベースラインモデルと同等あるいはそれ以上のパフォーマンスを実現しつつも、ドメイン固有の前提はない。

モデルアーキテクチャについては、DeepMindのブログの投稿で説明されている。Perceiver IOは、入力を潜在表現空間にマッピングするためのAttentionを使って、Transformerアーキテクチャ上に構築されている。ただし、Transformerとは異なり、Perceiver IOでは、2次計算やメモリのコストをかけずに、より長い入力シーケンスを処理できる。モデルは、テキスト、画像、音声など、複数のデータタイプの同時入力を受け入れることができる。また、同じように潜在表現を任意の出力データタイプにデコードできる。一連の実験で、DeepMindの研究チームは、言語理解、画像分類、オプティカルフロー、ビデオゲームのプレイなど、さまざまなタスクでモデルのパフォーマンスを評価した。このモデルは、ほとんどのタスクで「最先端のモデルに匹敵する」パフォーマンスを出している。Sintelオプティカルフローベンチマークでは新しい最先端の結果を達成した。研究者は次のように述べている。

最新の[論文]とGithubから入手できるコードが、特殊なシステムを使ってカスタムソリューションを構築する時間と労力をかけずに、研究者や実担当者が問題に取り組む役に立つことを願っています。新しい種類のデータの探求から学びを得続けることで、この汎用アーキテクチャをさらに改善し、科学と機械学習全体で問題をより迅速かつ簡単に解決できるようになることを楽しみにしています。

ほとんどの深層学習モデルは、特定のタイプのデータ用に設計されたアーキテクチャをベースとしている。たとえば、コンピュータビジョン(CV)モデルは通常、畳み込みニューラルネットワーク(CNN)を使うが、自然言語処理(NLP)モデルは、Transformerなどのシーケンス学習アーキテクチャをベースとしている。マルチモーダルデータを処理するシステムには、Googleの組み合わせ視覚言語モデルなどがある。これらのシステムは、多くの場合、ドメイン固有のアーキテクチャでさまざまな入力データタイプを処理し、次に3番目のモジュールを使ってそれらを組み合わせるように設計されている。一部の研究者はCV問題でTransformerアーキテクチャを使っているが、これらは通常、CNNベースの前処理ステップを適用することから始まる。さらに、Transformerに必要な計算リソースとメモリリソースは、入力シーケンスの長さの2乗に比例して増加するため、高次元のデータ型では実用的ではない。

この複雑さの問題を解決するために、Perceiver IOアーキテクチャは、クロスアテンションを使って、高次元の入力配列を低次元の潜在空間に投影する。次に、この潜在空間は、標準のTransformerセルフアテンション構造を使って処理される。この潜在空間は入力よりもはるかに小さい次元であるため、それを処理するTransformerモジュールは、実際に大きな入力配列を直接処理していたTransformerを使って、より深く処理できるようになる。最後に、潜在表現は、目的の出力データと同じ数の要素を持つクエリ配列を適用することで出力に変換される。

研究チームは、異なるドメインのさまざまなタスクでPerceiver IOを評価した。NLPについては、チームはGLUEベンチマークを使った。同じ数のFLOPを必要とするBERTモデルと比較して、Perceiver IOのパフォーマンスはわずかに上であった。CVについては、研究者はImageNetベンチマークを使った。彼らは、位置特徴入力のいくつかのバリエーションを使ってPerceiver IOをテストした。そのうちのいくつかには2D空間情報が含まれていた。このデータで、モデルはResNet-50ベースラインと同等のパフォーマンスであった。学習した位置的特徴のみを使う場合、つまり、入力に2D画像構造の知識を与えない場合、モデルのパフォーマンスはわずかに落ちる。精度が72.7%であったが、ResNet-50ではそれが78.6%となる。ただし、著者は「これは、ImageNetにおいて、2Dアーキテクチャや特徴情報がないときの、モデルによる最良の結果」と述べている。その能力をさらに実証するために、チームはPerceiver IOを、AlphaStarビデオゲームをプレイするAIで使われるTransformerモジュールの完全互換として使ったところ、オリジナルと同じレベルのパフォーマンスを達成した。

この取り組みに関するTwitterでの議論で、DeepMindの研究者であるCarl Doersch氏は次のように述べた

私はそれがトレーニングセットを記憶することを半分期待していたことは認めます。そして、一般化させるたくさんのよいアイデアを考えていました。でも、そんな必要はありませんでした。そのまま使ってうまく機能したなんて、まだ少し信じきれていません。

Performer IOコードはGitHubから入手できる。

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

.NETエコシステムの紹介

David Pine 2019年11月7日 午後7時48分

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT