マガジンのカバー画像

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

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

記事一覧

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

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

トランスフォーマーの論文を読む⑨位置

前回は、埋め込みについて解説しました。今回は、位置エンコーディングにフォーカスしながら論文を読み進めていきます。 位置エンコーディングは、前回解説した埋め込みの直後に行われる処理です。 ここでいう位置とは、入力シーケンスの要素(トークン)間の順序情報を意味します。トランスフォーマーモデルでは位置エンコーディングを通じて明示的に位置情報というデータをモデルに提供する必要があります。 しかし、その理由は何でしょうか。 また、位置エンコーディングはどのようにして行われるのか

トランスフォーマーの論文を読む⑧埋込

前回に引き続き、論文を読み進めていきます。今回は、埋め込みにフォーカスします。 埋め込みに関しては、エンコーダ・ブロックやデコーダ・ブロックの外側の話になります。下図の上部の「線形層」、「ソフトマックス」と書かれている部分や、下部の「入力文章の埋め込み」、「出力文章の埋め込み」と書かれている部分です。 では、論文のセクション3.4「Embeddings and Softmax」(埋め込みとソフトマックス)を読んでいきましょう。

トランスフォーマーの論文を読む⑦前方

前回に引き続き、今回も論文を読みながらトランスフォーマーの仕組みを解説します。特に、位置ごとのフィードフォワード(Position-wise Feed-Forward Network)にフォーカスします。 下図にあるように、位置ごとのフィードフォワードはトランスフォーマーのエンコーダとデコーダの両方で使われています。 アテンションが文章からの文脈を取り入れているとすると、位置ごとのフィードフォワードは何をしているのでしょうか。そもそも「位置ごと」とはどう言う意味でしょうか

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

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

トランスフォーマーの論文を読む⑤注意

今回は「モデルの構造」からセクション3. 2の「アテンション」を読み進めます。アテンションはよく「注意」と訳されますが、あまりしっくりこない気がします。まだ「注目」の方がいいかなとも思いますが、この記事では英語のAttentionをカタカナ読みした「アテンション」で通します。 このセクションでは次の二つの図が登場します。 多頭アテンションも「マルチヘッド・アテンション」の方が響きが良いかもしれないですが、この記事では「多頭アテンション」としています。そもそも英語名「Mul

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

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

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

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

トランスフォーマーの論文を読む②結論

今回は、トランスフォーマーの論文である「Attention Is All You Need」の結論から読んでいきます。まだ、要約を読んでいない方は前回の記事を参考にしてください。 なお、論文のセクションを読む順番は、以前に紹介した論文の読み方に大体従っています。

トランスフォーマーの論文を読む①要約

以前に紹介した論文の読み方に従って、トランスフォーマーの論文である「Attention Is All You Need」を読んでみます。 Googleブレインの研究者だったAshish Vaswaniらによるよるこの論文は、BERT、GPTなどの多数の派生言語モデルを生み出すもとになっており、言語モデルに興味がある人ならその名前を知らない人はいないぐらいに有名です。 主な目的としては、アテンション機構と呼ばれる文章から文脈を読み取る仕組みを理解することです。そのため実験結

BERTとViT、言語とビジョンモデルの比較

BERTとViT(Vision Transformer、ビジョン・トランスフォーマー)はそれぞれ言語とビジョンのモデルだが同じトランスフォーマーのエンコーダをベースにしています。 この記事では、この二つのモデルを比較して共通点と違いを簡単に考察します。 埋め込みベクトルの作り方相違点 BERTとViTとの1番の違いは埋め込みベクトルを文章から作るBERTに対してViTは画像のパッチから作ります。 BERT BERTは次の前処理を行い入力文章の埋め込みベクトルを準備し

ビジョン・トランスフォーマーとは

画像分類はコンピュータビジョンにおいて重要なタスクの1つです。従来の画像分類のアプローチとして、畳み込みニューラルネットワーク(CNN)があり、定番の手法として定着していました。 2020年、Google Brainチームは、CNNを使用しない画像分類モデルであるビジョン・トランスフォーマー(Vision Transformer、ViT)を開発しました。 ViTは、分類のために画像パッチのシーケンスに直接トランスフォーマーのエンコーダーを適用します。 最近(2023年2月

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

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

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

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