マガジンのカバー画像

トランスフォーマーを理解する

22
2017年に、Googleの研究者であるAshish Vaswaniらのチームが発表したトランスフォーマー (Transformer)のアーキテクチャは、近年におけるディープラー…
運営しているクリエイター

#自己アテンション

トランスフォーマーの論文を読む⑩自己

前回は、位置エンコーディングについて解説しました。今回は、自己アテンションにフォーカスしながら論文を読み進めていきます。 まず、アテンションを使う3つの理由について考察します。さらに、ネットワーク内でどのように情報が流れるかについて、アテンション、再帰、畳み込みに関する計算量を使って比較します。 また、アテンションを使うことで得られる解釈性についても触れます。 なお、今回はこの論文を読むシリーズの最終回です。

トランスフォーマーの論文を読む⑥多頭

前回に引き続き、今回も論文を読みながらアテンションの仕組みを解説します。特に、Multi-Head Attention(マルチヘッド・アテンション、多頭アテンション)にフォーカスします。 多頭アテンションは、前回解説した「スケールされた内積アテンション」を複数使うことで、トークン間の様々な関係性に基づいたアテンションの処理を行います。 この辺りまで読み進めると、クエリ、キー、バリューに関して、その意味がより明確になってきます。

トランスフォーマーの論文を読む④全体

今回から「モデルの構造」のセクションを読み解いていきます。これによって論文の図1を掘り下げながら理解していきます。 まずはトランスフォーマーの全体像をざっくり理解することを目指します。 そもそもオリジナルのトランスフォーマーは、機械翻訳モデルです。つまり、入力文章(例えば英文)を受け取って出力文章(例えばフランス語)を生成します。 よって、トランスフォーマーを鳥瞰してみると、以下のようになります。 ここでは、英語の文章「Hello world!」がフランス語の「Bon

トランスフォーマーの論文を読む③方針

今回は、トランスフォーマーの論文である「Attention Is All You Need」の論文を構成を掴みながら図や表などに目を通します。まだ、要約や結論を読んでいない方は前回の記事や前々回の記事を参考にしてください。 今回も、論文のセクションを読む順番は、以前に紹介した論文の読み方に大体従っています。特に、論文の構成を掴んでどのセクションに注力して読むのかを決定します。

トランスフォーマーの自己アテンションの理解⑧デコーダ・ブロックの詳細

本シリーズの記事リスト 第一弾 トークン数値化の歴史 第二弾 再帰による文脈伝搬 第三弾 レコメンダーと内積 第四弾 位置エンコーディング 第五弾 エンコーダ・デコーダ 第六弾 クエリとキーとバリュー 第七弾 エンコーダ・ブロックの詳細 第八弾 デコーダ・ブロックの詳細 この記事では、デコーダ・ブロックの詳細を解説をします。論文の図1の右側になります。 特に、デコーダ・ブロックの内部にあるマスクされたマルチヘッド・アテンション(Masked Multi-h

トランスフォーマーの自己アテンションの理解⑥クエリとキーとバリュー

本シリーズの記事リスト 第一弾 トークン数値化の歴史 第二弾 再帰による文脈伝搬 第三弾 レコメンダーと内積 第四弾 位置エンコーディング 第五弾 エンコーダ・デコーダ 第六弾 クエリとキーとバリュー 第七弾 エンコーダ・ブロックの詳細 第八弾 デコーダ・ブロックの詳細 この記事では、トランスフォーマーのアテンションの仕組みの中心となる概念、クエリ(Query)・キー(Key)・バリュー(Value)を見ていきます。ようやく自己アテンションの解説に手が届きま

トランスフォーマーの自己アテンションの理解④位置エンコーディング

本シリーズの記事リスト 第一弾 トークン数値化の歴史 第二弾 再帰による文脈伝搬 第三弾 レコメンダーと内積 第四弾 位置エンコーディング 第五弾 エンコーダ・デコーダ 第六弾 クエリとキーとバリュー 第七弾 エンコーダ・ブロックの詳細 第八弾 デコーダ・ブロックの詳細 この記事では、本題であるトランスフォーマーの自己アテンションの仕組みに触れ始めます。再帰の構造を使わずにトークンの位置関係を知る手法である位置エンコーディングを解説します。 では、さっそく

トランスフォーマーの自己アテンションの理解③レコメンダーと内積

本シリーズの記事リスト 第一弾 トークン数値化の歴史 第二弾 再帰による文脈伝搬 第三弾 レコメンダーと内積 第四弾 位置エンコーディング 第五弾 エンコーダ・デコーダ 第六弾 クエリとキーとバリュー 第七弾 エンコーダ・ブロックの詳細 第八弾 デコーダ・ブロックの詳細 この記事ではアテンションの計算で使われる内積(Dot Product)についてレコメンダーシステム(Recommender System)を例に解説します。ベクトルを使った内積の計算自体は簡