AsaHP
AI・深層学習 > 前ページ | 概要 論文 コード | 次ページ

深層学習のAttention・Transformer 著名な論文と各分野の論文


Attentionに関する著名な論文と、様々な分野の論文についてまとめた。特に汎用性に注目している。

Transformerについては概要を参照。

以下「Attention」とあるのは、特に記載がない限りSoft Attentionである。

ニューラルチューリングマシン


NNでチューリングマシンを実装したものである。コピーやソートなどの単純なアルゴリズムを推論できる。AlphaGoで有名なDeepMind社が作成した。こちらの方が翻訳などより先に実装されたようである。Memoryの読み書きにおいてAttentionを使っている。Memoryは前述のkeyに相当する。ControllerはRNNやFFN(Feed Forward Network)を使っている。



Neural Turing Machines [2014]

上記の構造は認知科学的な背景を持っている。Memoryの一部を「注意」する事で認知的な挙動ができるという考え方である。別の論文では、Attentionを使わずにMemoryを扱う手法を検討している場合もある。

Google's Neural Machine Translation System


2016年のGoogle翻訳に実装されたモデルで、それ以前の機械翻訳から格段に進歩した。RNN(LSTM)とAttentionを併用し、GPUなど様々な技術を集約して実現している。ここでのAttentionはAdditive Attention [2014]と呼ばれるもので、Attentionの重みを簡単なFFNで計算する。この方法だとFFNで計算するデータ量が多いという問題がある。



Google's Neural Machine Translation System [2016]

BERT


GoogleがTransformerの規模を拡大して作成した、言語処理ツールである。複文(Q&Aなど)を学習させる事で、複文の解答だけでなく単語の種別判定などもできる。学習済みモデルが公開されており、利用者はそれを使ってAIを構築できる。学習済みのBERTに様々な小さいレイヤーを追加する事で、Q&Aや単語種別判定などを使い分ける事ができる。

Transformerより多くのAttentionを組み合わせる事で、queryやkeyの全体構造を高度に計算している。入力データのマスクなどを使い学習を工夫している。



BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding [2018]

言語処理


T5はGoogleが作成したモデルで、Transformerを多くのタスクに対応できるようにした。翻訳などの複数のタスクを、すべて質問と回答という形式で処理している。C4という巨大なデータセットを使っており、これはWebからクロールしたデータを元に作成したものである。



Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer [2019]



GPT-3はOpen AIが開発した、BERTをさらに大規模化した言語ツールである。巨大データセットと巨大ネットワークを使った事前学習が特徴である。これに簡単な追加学習を行う事で、翻訳・質問応答・ニュース生成などの処理ができる。BERTと同様に利用者は事前学習済みのモデルを利用できる。団体名にOpenと付いているが完全にオープンではなく、利用者は団体・企業に申請して利用する形である。Open AIのAPIや、Microsoft製品から利用できる。

とにかく大規模なのが特徴であり、最大のモデルになるとBERTと比べても数百倍の総学習時間がかかる。ただし大半は事前学習で、利用時の学習時間は少ないと思われる。



Language Models are Few-Shot Learners [2020]

画像キャプション


Attentionは画像キャプションでもよく用いられている。CNNによる画像特徴抽出と、AttentionやRNNによる言語処理を組み合わせる事で実現できる。



深層学習を用いた画像を説明する文生成手法の一考察 [2016]

画像Q&A


画像キャプションの延長として、画像に質問を加えて回答を得る処理がある。Reasoningとも呼ばれる。

次の例はAttentionを2つ作り、画像Q&Aと画像+文の一致評価を同時に行うものである。



Dual Attention Networks for Multimodal Reasoning and Matching [2016]



次の例はAttentionを使ってControlとMemoryを持つ複合的なシステムを作り、画像Q&Aを処理するものである。ControlとMemoryの構造はニューラルチューリングマシンに近い。



Compositional Attention Networks for Machine Reasoning [2018]



次の例はHard Attentionによる画像Q&Aである。微分不能の問題は、Hard Attentionの選択領域を特徴量の大きい所にして回避しているらしい。



Learning Visual Question Answering by Bootstrapping Hard Attention [2018]

グラフ構造


次の例はAttentionでグラフ構造を処理するものである。Attentionの一部にマスクを入れる事でグラフ構造を表現している。マスクは近傍ノードを残すように固定的に入れる。Additive AttentionとMulti-Head Attentionを使用している。下図の線の太さがAttentionの大きさである。



Graph Attention Networks [2017]



次の例は上記のモデルGATsをナレッジグラフに応用したものである。GATsではエッジの関係情報がないので、これをAttentionで組み込んでいる。



Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs [2019]

高分子・有機化学


次の例はDeepMind社が作成した、AlphaFold2と呼ばれるタンパク質折り畳み予測である。高速かつ高精度の予測ができるようになり最近話題になっている。

Transformerに分子進化の情報を組み込んだEvoformerという手法に特徴がある。以下の図はEvoformerの中核部分である。ペア表現から重要部分を取り出したグラフ構造に対し、三角形の部分で更新計算を行っている。三角形の乗算計算を2回、self-attentionを2回行ってる。



元論文と、その日本語解説記事を以下に示す。

Highly accurate protein structure prediction with AlphaFold [2021]

スッキリわかるAlphaFold2

他の日本語記事を以下に示す。

「AlphaFold2」の衝撃2 ITmedia

AlphaFold2により核膜孔複合体の立体構造が判明 AI-SCHOLAR



次の例は有機化学合成である。化学式を言語化してTransformerに入れている。



Molecular Transformer - A Model for Uncertainty-Calibrated Chemical Reaction Prediction [2018]

時系列


Attentionは時系列に対しても適用例がある。以下のページに幾つかの例が載っている。性能的には高いものの、使い勝手の悪さから一般的に使用されていない、と結論付けている。

Attention for time series forecasting and classification

上記のページにある例の一つを取り上げる。Transformerと畳み込みにより局所的な挙動を抽出できるようにしている。データ量が膨大になるという問題に対し、特定の規則で離散的にデータを拾う事で対応している。1データごとのベクトルとして、直前時間の値と、各種周期における値を使っている。結果をRNNを使ったDeepARやDeepStateと比べている。





Enhancing the Locality and Breaking the Memory Bottleneck of Transformer on Time Series Forecasting [2019]

確率モデル


次の例は条件付き確率場を使って、木構造の変換や自然言語処理を行うものである。条件付き確率場は無向グラフで表現できる確率モデルである。無向グラフの依存関係を持つ確率変数に対して、条件付き確率を最大化する。Attentionの分布に対して条件付き確率場を導入している。通常のSoft Attention以外の依存関係を使って処理をしている。

Soft Attentionにおける出力計算の数式を、変数を変えて再掲する。key $x$ と重み $w$ を使って出力 $o$ を計算する。 \[o_i = \sum_j w_{ij} x_j\] この $w$ を非負に限定して、以下の条件を付ける。 \[\sum_j w_{ij} = 1\] こうすると、出力計算の式は重みを確率とする期待値の式と見なせる。重みの位置を示す潜在変数を $z$ とする。Soft Attentionでの $z$ はkeyの通番 $j$ であり、1個の変数になる。これが下図((a))の構造である。

((b))以降はSoft Attention以外の依存関係を示す。((b))は $z$ が $x$ に対応するベクトルで、ランダムに 0 or 1 の値を持つ場合である。この場合の確率はベルヌーイ分布になる。((c))は $z$ のベクトルが線形の関係を持つ場合である。



STRUCTURED ATTENTION NETWORKS [2017]

Attentionの専門家による修正


次の例は、Attentionを専門家が修正する事で画像判別の性能を向上させる手法である。



エキスパートの知見を取り入れたマルチスケール・アテンション機構による疾患識別 [2020]

その他


次の例は、Capsule NetworksあるいはCapsNetsと呼ばれる手法に対するAttentionの実装例である。CapsNetsは小範囲の画像の特徴である「カプセル」を繋げて全体を表現するもので、CNNを代替する手法である。このカプセルを繋げる部分にAttentionを使っている。



Capsules with Inverted Dot-Product Attention Routing [2019]

目次


技術の概要

著名な論文と各分野の論文

サンプルコード・論文のコード

AI・深層学習