Transformer_(機械学習モデル)
[Wikipedia|▼Menu]

Transformer(トランスフォーマー)は、2017年6月12日にGoogleの研究者等が発表した深層学習モデルであり、主に自然言語処理 (NLP)の分野で使用される[1]

自然言語などの時系列データを扱って翻訳やテキスト要約などのタスクを行うべく設計されているのは回帰型ニューラルネットワーク (RNN)と同様だが、Transformer の場合、時系列データを逐次処理する必要がないという特徴がある。たとえば、入力データが自然言語の文である場合、文頭から文末までの順に処理する必要がない。このため、Transformer では 回帰型ニューラルネットワークよりもはるかに多くの並列化が可能になり、トレーニング時間が短縮される[1]

その導入以来、Transformer モデルは自然言語処理の多くの問題に取り組む上で広く選択されており、 Long Short-term Memory(LSTM)などの古い回帰型ニューラルネットワークモデルに取って代わった。Transformer モデルはトレーニング中の並列化を容易にするため、より大きなデータセットでのトレーニングを可能にした。このことが、 BERT (Bidirectional Encoder Representations from Transformers)や GPT (Generative Pre-trained Transformers)などの事前トレーニング済みシステムの開発につながった。これらは、巨大な一般言語データセットでトレーニングされており、特定の言語タスクにファインチューニングできる[2][3]
背景

トランスフォーマー登場以前には、自然言語処理の分野で注意機構(アテンション)を回帰型ニューラルネットワークモデルに追加するモデルが広く採用されていた。
注意機構「アテンション (機械学習)」も参照

注意機構: attention mechanism)またはアテンション(: Attention)は系列信号の重み付き統合である。

アテンションの基本は次のモデル式で表される。

z = Σ w ( i ) v ( i ) {\displaystyle {\boldsymbol {z}}=\Sigma w(i){\boldsymbol {v}}(i)}

系列信号に対し、 i {\displaystyle i} 番目の信号 x i {\displaystyle {\boldsymbol {x_{i}}}} からベクトル値 v ( i ) {\displaystyle {\boldsymbol {v}}(i)} とスカラ重み w ( i ) {\displaystyle w(i)} を計算し、系列全長にわたって重み付け和したものがアテンションである。系列の特定時刻に大きな重みを置くことを動物における注意に例えてアテンションと名付けられた。アテンション z {\displaystyle {\boldsymbol {z}}} はベクトルの和で求められるため系列長に関わらず同じshapeを持ち、また v ( i ) {\displaystyle {\boldsymbol {v}}(i)} と w ( i ) {\displaystyle w(i)} は動的に算出される。ゆえにアテンションは可変長系列を入力に取れる。
RNNでの利用

ニューラルネットワークの分野ではLSTMGRUなどの回帰型ニューラルネットワークにアテンション機構を追加したモデルが高性能な自然言語処理システムで採用されてきた。

ゲート付き RNN はトークンを順次処理し、各トークンの後に表示されるデータの表現を含む状態ベクトルを維持する。 n {\displaystyle n} 番目のトークンを処理するとき、モデルは文の n − 1 {\textstyle n-1} 番目のトークンまでを表現する状態と、新しいトークンの情報とを組み合わせて新しい状態を作り出す。そしてこの新しい状態が文の n {\textstyle n} 番目のトークンまでを表現する。理論的には、あるトークンに関する情報を全ての時点でエンコードし続ける場合、シーケンスの任意の長さまで伝播できる。しかし実際には勾配消失問題を一因としてこの機構は不完全であり、長い文の終わりにおける状態からは、初期のトークンに関する情報の多くは不正確ないし抽出不可能である。

この問題は、アテンション機構の導入によって対処された。アテンション機構により、モデルは文の前の任意の時点の状態を直接見て、そこから引き出すことができる。アテンション層は以前のすべての状態にアクセスでき、現在のトークンとの関連性の学習値に従ってそれらを重み付けして、遠く離れた関連するトークンに関する明瞭な情報を提供する。アテンションの効用の明確な例は翻訳である。英語からフランス語への翻訳システムでは、フランス語出力の最初の単語は、英語入力の最初の単語に最も強く依存することが想定される。しかし、古典的なエンコーダー/デコーダー LSTM モデルでは、フランス語出力の最初の単語を生成するために、英語入力の最後の単語の状態ベクトルのみがモデルに与えられる。理論的には、このベクトルは英語の文全体に関する情報をエンコードして、モデルに必要なすべての知識を与えることができるが、実際には、この情報はしばしば欠落している。アテンション機構が導入されている場合、モデルは代わりに、フランス語の出力の始まりを生成するときに初期の英語トークンの状態に対応することを学習できるため、翻訳対象の概念をよりよく伝えることができる。
基本設計

Transformer 以前に発明されたモデルと同様に、Transformer はエンコーダ・デコーダ構造である。エンコーダは、入力を次々と繰り返し処理する一連のエンコード層で構成され、デコーダは、エンコーダの出力に対して同じことを行う一連のデコード層で構成される。

各エンコード層の機能は、入力のどの部分が互いに関連しているかに関する情報を含め、入力を処理してエンコーディングを生成することである。各エンコード層は一連のエンコーディングを次のエンコーダ層に入力として渡す。

各デコーダーレイヤーは行うことはこの逆であり、すべてのエンコーディングを取得して処理し、組み込まれたコンテキスト情報を使用して出力シーケンスを生成する[4]

これを実現するために、各エンコーダ層とデコーダ層はアテンション機構を利用する。アテンション機構は、各入力について、他のすべての入力との関連性で重み付けし、情報を引き出し、出力を生成する[5]。各デコーダ層には、エンコーディングからの情報を取得するより前に、前のデコーダ層からの情報を取得するためのアテンション機構がある。エンコーダ層とデコーダ層の両方に、出力をさらに処理するためのフィードフォワードニューラルネットワークがあり、残りの接続と層の正規化手順が含まれている。
アテンション単位

Transformer の基本的な構成要素は、Scaled dot-product attention unit と表現されるアテンション単位である。文が Transformer モデルに渡されると、アテンションの重みがすべてのトークン間で同時に計算される。アテンション単位は、コンテキスト内の全てのトークンの埋め込みを生成するが、そこにはトークン自体の情報だけでなく、他の関連トークンとの関連(についてアテンションの重みで重み付けされたもの)も含まれる。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:42 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef