ホームページ >テクノロジー周辺機器 >AI >Transformer 機械学習モデルとは何ですか?

Transformer 機械学習モデルとは何ですか?

王林
王林転載
2023-04-08 18:31:061447ブラウズ

翻訳者 | Li Rui

査読者 | Sun Shujuan

近年、Transformer 機械学習モデルは、ディープラーニングおよびディープ ニューラル ネットワーク テクノロジーの進歩の主要なハイライトの 1 つとなっています。 。主に自然言語処理の高度なアプリケーションに使用されます。 Google は、検索エンジンの結果を強化するためにこれを使用しています。 OpenAI は、Transformer を使用して有名な GPT-2 モデルと GPT-3 モデルを作成しました。

Transformer 機械学習モデルとは何ですか?

2017 年のデビュー以来、Transformer アーキテクチャは進化を続け、言語タスクから他のドメインまで拡張し、さまざまなバリエーションに拡張してきました。これらは時系列予測に使用されてきました。これらは、DeepMind のタンパク質構造予測モデルである AlphaFold の背後にある重要なイノベーションです。 OpenAI のソース コード生成モデル Codex も Transformer に基づいています。トランスフォーマーは最近コンピュータ ビジョンの分野にも参入しており、多くの複雑なタスクにおいて畳み込みニューラル ネットワーク (CNN) に徐々に置き換えられています。

研究者たちは、Transformer を改良し、新しいアプリケーションで使用する方法をまだ模索しています。ここでは、トランスフォーマーの魅力とその仕組みについて簡単に説明します。

#1. ニューラル ネットワークを使用してシーケンス データを処理する

Transformer 機械学習モデルとは何ですか?

従来のフィードフォワード ニューラル ネットワークは、連続データを追跡し、各入力を出力にマッピングするように設計されていません。画像分類などのタスクにはうまく機能しますが、テキストなどのシーケンス データには失敗します。テキストを処理する機械学習モデルは、各単語を処理するだけでなく、単語がどのように順番に配置され、相互に関連しているかを考慮する必要があります。また、文中でその前後に現れる他の単語によって、単語の意味が変わることもあります。

Transformer が登場する前は、リカレント ニューラル ネットワーク (RNN) が自然言語処理のソリューションとして好まれていました。一連の単語が与えられると、リカレント ニューラル ネットワーク (RNN) が最初の単語を処理し、その結果を次の単語を処理する層にフィードバックします。これにより、各単語を個別に処理するのではなく、文全体を追跡できるようになります。

リカレント ニューラル ネットワーク (RNN) には欠点があるため、その有用性は制限されています。まず、処理が非常に遅いです。データを順次処理する必要があるため、トレーニングや推論に並列コンピューティング ハードウェアやグラフィックス プロセッシング ユニット (GPU) を利用できません。次に、長いテキストのシーケンスを処理できません。リカレント ニューラル ネットワーク (RNN) がテキストの抜粋の奥深くに進むにつれて、文の最初の数単語の効果は徐々に減少します。 「勾配消失」として知られるこの問題は、リンクされた 2 つの単語がテキスト内で遠く離れている場合に発生します。第三に、単語とその前の単語との関係のみを捉えます。実際、単語の意味はその前後にある単語によって決まります。

長短期記憶 (LSTM) ネットワークはリカレント ニューラル ネットワーク (RNN) の後継であり、勾配消失問題をある程度解決でき、より大きなテキスト シーケンスを処理できます。しかし、長短期記憶 (LSTM) はリカレント ニューラル ネットワーク (RNN) よりもトレーニングにさらに時間がかかり、依然として並列コンピューティングを最大限に活用できません。彼らは依然としてテキストシーケンスのシリアル処理に依存しています。

2017 年に発行された「Attendance is All That Is Required」という論文では、Transformer を紹介し、Transformer
が 2 つの重要な貢献をしたと述べています: まず、シーケンス全体の並列処理が可能になり、それによって速度が向上しました。シーケンシャルディープラーニングモデルの能力を前例のない速度まで高めます。第 2 に、非常に長いテキスト シーケンス内の単語間の関係を前方と後方の両方で追跡できる「注意メカニズム」を導入しています。

Transformer 機械学習モデルとは何ですか?

Transformer モデルがどのように機能するかを説明する前に、シーケンス ニューラル ネットワークが解決する問題の種類について説明する必要があります。

  • ベクトルからシーケンスへのモデルは、単一の入力 (画像など) を受け取り、一連のデータ (説明など) を生成します。
  • シーケンスからベクトルへのモデルは、製品レビューやソーシャル メディアの投稿などのシーケンス データを入力として受け取り、センチメント スコアなどの単一の値を出力します。
  • 「シーケンスツーシーケンス」モデルは、英語の文などのシーケンスを入力として受け取り、その文のフランス語訳などの別のシーケンスを出力します。

それらの違いにもかかわらず、これらすべてのタイプのモデルには、式を学習するという共通点があります。ニューラル ネットワークの仕事は、あるタイプのデータを別のタイプのデータに変換することです。トレーニング中、ニューラル ネットワークの隠れ層 (入力と出力の間の層) は、入力データ型の特性を最もよく表す方法でパラメータを調整し、それらを出力にマッピングします。オリジナルの Transformer は、機械翻訳用のシーケンスツーシーケンス (seq2seq) モデルとして設計されました (もちろん、シーケンスツーシーケンス モデルは翻訳タスクに限定されません)。これは、ソース言語からの入力文字列を、単語とその相互関係を表すベクトルに圧縮するエンコーダー モジュールで構成されます。デコーダ モジュールは、エンコードされたベクトルをターゲット言語のテキスト文字列に変換します。

2. マーク付けと埋め込み

Transformer 機械学習モデルとは何ですか?

入力テキストは処理され、統一された形式に変換される必要があります、その後、Transformer に入力できます。まず、テキストは「トークナイザー」に渡され、個別に処理できる文字の塊に分割されます。トークン化アルゴリズムはアプリケーションによって異なります。ほとんどの場合、各単語と句読点はおおよそ 1 つのトークンとしてカウントされます。一部のサフィックスとプレフィックスは、別個のトークンとしてカウントされます (たとえば、「ize」、「ly」、「pre」)。トークナイザーは、入力テキストのトークン ID を表す数値のリストを生成します。

その後、トークンは「単語埋め込み」に変換されます。単語の埋め込みは、多次元空間で単語の値を取得しようとするベクトルです。たとえば、「猫」と「犬」という単語は、どちらも動物やペットに関する文で使用されるため、いくつかの点で同様の値を持つ可能性があります。しかし、ネコ科とイヌ科を区別する別の側面では、「ネコ」は「オオカミ」よりも「ライオン」に近いです。同様に、「パリ」と「ロンドン」も同じ都市であるため、おそらく近いと思われます。ただし、国の次元が異なるため、「ロンドン」は「イギリス」に近く、「パリ」は「フランス」に近くなります。また、単語の埋め込みには通常、数百の次元があります。

単語の埋め込みは、Transformer とは別にトレーニングされた埋め込みモデルを通じて作成されます。言語タスク用の事前トレーニングされた埋め込みモデルがいくつかあります。

3. レイヤーに注目します

Transformer 機械学習モデルとは何ですか?

#文は単語埋め込みのリストに変換され、それが Transformer のエンコーダ モジュールに供給されます。 Recurrent Neural Network (RNN) モデルや Long Short-Term Memory (LSTM) モデルとは異なり、Transformer は一度に 1 つの入力を受け取りません。文全体の埋め込み値を受け取り、それらを並列処理できます。これにより、Transformers は以前のものよりも計算効率が向上し、順方向と逆方向の両方のシーケンスでテキスト シナリオを検査できるようになります。


文内の単語の順序を維持するために、Transformer は「位置エンコーディング」を適用します。これは基本的に、各埋め込みベクトルの値を変更してテキスト内の位置を表すことを意味します。

次に、入力は最初のエンコーダ ブロックに渡され、「アテンション レイヤー」を通じて処理されます。アテンション層は、文内の単語間の関係を捉えようとします。たとえば、「大きな黒猫は瓶を横に落とした後、道路を横切りました」という文を考えてみましょう。ここで、モデルは「それ」を「猫」に、「それ」を「ボトル」に関連付ける必要があります。したがって、「大きい」と「猫」、または「十字」と「猫」など、他の関連付けを確立する必要があります。それ以外の場合、アテンション層は個々の単語の値を表す単語埋め込みのリストを受け取り、個々の単語とその関係を表すベクトルのリストを生成します。アテンション レイヤーには複数の「アテンション ヘッド」が含まれており、それぞれが単語間のさまざまな種類の関係を捉えることができます。


注目層の出力はフィードフォワード ニューラル ネットワークに供給され、ベクトル表現に変換されて次の注目層に送信されます。 Transformers

には、より複雑な関係を徐々に捕捉するためのいくつかのアテンション ブロックとフィードフォワード レイヤーが含まれています。

デコーダ モジュールは、エンコーダのアテンション ベクトルを出力データ (入力テキストの翻訳バージョンなど) に変換するタスクを負います。トレーニング段階中、デコーダはエンコーダによって生成されたアテンション ベクトルと期待される結果 (翻訳された文字列など) にアクセスできます。

デコーダは、同じトークン化、単語埋め込み、およびアテンション メカニズムを使用して、期待される結果を処理し、アテンション ベクトルを作成します。次に、このアテンション ベクトルとアテンション レイヤーをエンコーダ モジュールに渡して、入力値と出力値の間の関係を確立します。翻訳アプリケーションでは、これはソース言語とターゲット言語の単語が相互にマッピングされる部分です。エンコーダ モジュールと同様に、デコーダ アテンション ベクトルはフィードフォワード層を通過します。次に、結果は非常に大きなベクトルのプール、つまりターゲット データのサイズにマッピングされます (翻訳の場合、これには数万の単語が含まれる可能性があります)。

4. Transformer のトレーニング

##トレーニング中に、Transformer は非常に大規模なコーパスを提供します。対になった例 (英語の文とそれに対応するフランス語の翻訳など)。エンコーダ モジュールは完全な入力文字列を受信して​​処理します。ただし、デコーダは出力文字列のマスクされたバージョンを (一度に 1 ワードずつ) 受信し、エンコードされたアテンション ベクトルと期待される結果の間のマッピングを確立しようとします。エンコーダーは次の単語の予測を試み、その出力と期待される結果との差異に基づいて修正を行います。このフィードバックにより、コンバーターはエンコーダーとデコーダーのパラメーターを変更し、入力言語と出力言語間の正しいマッピングを段階的に作成できるようになります。

Transformer が持つトレーニング データとパラメーターが多いほど、長いテキスト シーケンス全体で一貫性と一貫性を維持することがより効果的になります。

5. Transformer の変更点

# 上記の機械翻訳の例では、Transformer のエンコーダ モジュールは、次のような関係を学習します。英語の単語と文、デコーダーは英語とフランス語の間のマッピングを学習します。

ただし、すべての Transformer アプリケーションにエンコーダ モジュールとデコーダ モジュールが必要なわけではありません。たとえば、大規模言語モデルの GPT ファミリは、デコーダ モジュールのスタックを使用してテキストを生成します。 BERT は、Google 研究者によって開発された Transformer モデルの別の亜種ですが、エンコーダ モジュールのみを使用します。

これらのアーキテクチャの一部の利点は、自己教師あり学習または教師なし手法を通じてトレーニングできることです。たとえば、BERT のトレーニングのほとんどは、ラベルのないテキストの大規模なコーパスを取得し、その一部をマスクして、欠落している部分を予測しようとすることによって行われます。次に、予測が実際のデータにどの程度近いか、または遠いかに基づいてパラメータを調整します。このプロセスを継続的に繰り返すことにより、BERT はさまざまなシーンのさまざまな単語間の関係を捕捉します。この事前トレーニング フェーズの後、少数のラベル付きサンプルでトレーニングすることにより、質問応答、テキスト要約、感情分析などの下流タスクに合わせて BERT を微調整できます。教師なし事前トレーニングと自己教師あり事前トレーニングを使用すると、トレーニング データに注釈を付けるのに必要な労力を軽減できます。

トランスフォーマーと、トランスフォーマーがロックを解除する新しいアプリについては他にもたくさんありますが、この記事の範囲を超えています。研究者たちは、Transformer からさらに多くの支援を得る方法をまだ模索しています。

Transformer は、言語理解と一般的な人工知能に関する議論も引き起こしました。明らかなことは、Transformer は他のニューラル ネットワークと同様、データの規則性を巧妙かつ洗練された方法で捉えることができる統計モデルであるということです。彼らは人間のように言語を「理解」することはできませんが、彼らの発達は依然として刺激的であり、提供できるものがたくさんあります。

元のリンク: https://bdtechtalks.com/2022/05/02/what-is-the-transformer/

Transformer 機械学習モデルとは何ですか?

以上がTransformer 機械学習モデルとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。