深層学習。DeepMind(Google)のPerceiver(2021.06.23)は面白そう。ただ、もう難しいですね。

# DeepMind(Google)のPerceiver(2021.06.23)

Jaegle, A., Gimeno, F., Brock, A., Zisserman, A., Vinyals, O., & Carreira, J. (2021). Perceiver: General perception with iterative attention. arXiv preprint arXiv:2103.03206.

Perceiver: General Perception with Iterative Attention
https://arxiv.org/abs/2103.03206



# 論文の概要
以下、論文のが概要を引用。

>生体システムは、視覚、聴覚、触覚、固有感覚など、さまざまなモダリティからの高次元の入力を同時に処理することで世界を認識しています。一方、深層学習で使用される知覚モデルは、個々のモダリティ用に設計されており、既存のほぼすべての視覚モデルが利用している局所的なグリッド構造など、ドメイン固有の前提条件に依存していることが多い。これらの前提は、有用な帰納的バイアスを導入しますが、同時にモデルを個々のモダリティにロックします。本論文ではPerceiverを紹介します。これはTransformerの上に構築されたモデルで、入力間の関係についてアーキテクチャ上の仮定はほとんどありませんが、ConvNetsのように何十万もの入力に対応することができます。このモデルは、非対称な注目メカニズムを利用して、入力を反復的に抽出し、潜在的なボトルネックを小さくすることで、非常に大きな入力を扱うことができます。このアーキテクチャは、画像、点群、音声、ビデオ、ビデオ＋音声など、さまざまなモダリティの分類タスクにおいて、強力な特化型モデルと競合したり、凌駕したりすることを示しています。Perceiverは、ImageNetにおいて、50,000ピクセルを直接アテンドすることで、2次元の畳み込みを行わずに、ResNet-50やViTと同等の性能を得ています。また、AudioSetのすべてのモダリティでも競争力があります。

# 論文の図1
論文の図１引用
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/342207/01aad308-7087-9ae4-e1fe-80520bcf31af.png)

>図1. Perceiverは、注意力の原理に基づいたアーキテクチャであり、ドメイン固有の仮定をすることなく、画像、ビデオ、オーディオ、点群、マルチモーダルの組み合わせなどの高次元の入力に対応します。Perceiverは、クロスアテンションモジュールを使用して、高次元の入力バイト配列を固定次元の潜在的なボトルネック（入力インデックスの数Mは、潜在的なインデックスの数Nよりもはるかに大きい）に投影してから、潜在的な空間にあるTransformerスタイルの自己アテンションブロックの深いスタックを使用して処理します。Perceiverは、クロスアテンションブロックと潜在的自己アテンションブロックを交互に使用して、入力バイト配列を反復的に処理します。


# Perceiverのアーキテクチャ概要

論文の3.1. The Perceiver architectureを引用

>我々は、2つのコンポーネントからアーキテクチャを構築します。(i) バイト配列（例えばピクセル配列）と潜在的な配列をマッピングするクロスアテンションモジュールと、(ii) 潜在的な配列を潜在的な配列にマッピングするトランスフォーマータワーです。バイト配列のサイズは入力データによって決まり、一般的に大きくなります（例えば、解像度224のImageNet画像は50,176ピクセルです）。一方、潜在配列のサイズはハイパーパラメータであり、一般的にかなり小さくなります（例えば、ImageNetでは512個の潜在配列を使用しています）。このモデルでは、Cross-attentionモジュールとTransformerを交互に適用しています。これは、高次元のバイト配列を低次元の注意ボトルネックに投影してから、深いTransformerで処理し、その結果得られた表現を使用して入力を再度照会することに相当します。このモデルは、高度に非対称なクロスアテンション層を利用して、潜在的な位置をクラスタセンターとして、入力の完全なエンド・ツー・エンドのクラスタリングを行っていると見ることもできます。トランスフォーマータワーの各インスタンス間（およびクロスアテンションモジュールの最初のインスタンス以外のすべてのインスタンス間）で重みを共有することができるため、このモデルはリカレントニューラルネットワーク（RNN）として解釈することができますが、時間ではなく、同じ入力を使用して深さ方向に展開されています。パーシーバのすべての注意モジュールは非因果的で、マスクは使用していません。パーシーバのアーキテクチャを図1に示します。

# 順列不変と位置情報

論文の順列不変と位置情報の部分を引用。

>注意は順列不変の操作であり、この特性はPerceiverと関連モデルによって保存されています（Lee et al.2019）。純粋なアテンションモデルは、入力の順序に関わらず同じ出力を返し、入力の順序の痕跡を出力に残さない。この特性により、アテンションベースのアーキテクチャは、どの空間的関係や対称性を優先させるかについての仮定がないため、多くの種類のデータに適している。
対照的に、画像処理で一般的に使用されているConvNetsは、Residual Networks（ResNets）（He et al.2016）など、いくつかの方法で2Dの空間構造を焼き付けます。これには、空間の局所領域のみを見るフィルターを使用すること（これにより、遠くのピクセル間よりも近くのピクセル間の関係を捉えやすくなります）、両方の空間次元にわたって重みを共有すること（これにより、並進に不変な統計量を持つデータをモデル化するのに役立ちます）、小さなフィルターを繰り返し適用すること（これにより、スケールに不変な統計量を持つデータをモデル化するのに役立ちます）などがあります。しかし、順列不変ということは、パーシーバのアーキテクチャは、それ自体では入力データの空間的関係を利用できないということです。空間的な関係は感覚的な推論には不可欠であり（Kant, 1781）、この制限は明らかに不満足なものです。注意の文献では、位置情報は一般的に入力特徴に位置エンコーディングをタグ付けすることで注入されますが（Vaswani et al. 位置情報は、典型的には言語の文脈における配列位置をエンコードするために使用されますが、空間的、時間的、およびモダリティのアイデンティティをエンコードするためにも使用することができます。

# スケーラブルなフーリエ特徴

論文のスケーラブルなフーリエ特徴の部分を引用。

>ここでは、言語と視覚の両方で、最近再び注目されている戦略を使用します。フーリエ特徴の位置符号化（Stanley, 2007; Vaswani et al., 2017; Parmar et al., 2018; Tancik et al., 2020; Mildenhall et al. 我々はフーリエ特徴のパラメータ化を用いて、(i)入力データの位置構造を直接表現し（音声や画像の場合はそれぞれ1次元の時間的または2次元の空間的構造を、動画の場合は3次元の時空間的構造を保存する）、(ii)カットオフ周波数とは無関係に位置エンコーディングの周波数帯の数を制御し、(iii)目標解像度まですべての周波数を一様にサンプリングすることができる。

# まとめ
特にありませんが、
深層学習の学習して無理やり正解が出せる仕組みをかかえているので、研究活動はしんどいだろうなーーと思いますね。正しくても正しくなくても、正しそうな答えは出せる/出るので。。。

# 今後の予定
先行文献などを読みつつ、少しづつ理解する。

#　関連記事（本人）
[DeepMind(Google)のPerceiverの記事でわかりやすい思った記事N選　(まだ、N＝1）](https://qiita.com/enoughspacefor/items/866d579b743400ed3da6)

[深層学習。DeepMind(Google)のPerceiverのココが気になる。](https://qiita.com/enoughspacefor/items/da14dfa85f43c0063344)