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

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

翻訳者 | 李睿

校正:孫淑娟

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

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

研究者たちは、トランスフォーマーを改良し、新しい用途に使用する方法をまだ模索しています。トランスフォーマーがなぜ面白いのか、そしてどのように機能するのかを簡単に説明します。

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

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

Transformer が登場する前は、リカレント ニューラル ネットワーク (RNN) が自然言語処理の定番ソリューションでした。単語のシーケンスが提供されると、リカレント ニューラル ネットワーク (RNN) は最初の単語を処理し、その結果を次の単語を処理するレイヤーにフィードバックします。これにより、各単語を個別に処理するのではなく、文全体を追跡できるようになります。

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

Long Short-Term Memory (LSTM) ネットワークは、Recurrent Neural Network (RNN) の後継であり、勾配消失問題をある程度解決でき、より大きなテキスト シーケンスを処理できます。しかし、LSTM は RNN よりもさらに遅いトレーニングであり、並列コンピューティングを十分に活用することはできません。これらは依然としてテキストシーケンスのシリアル処理に依存しています。

2017年の論文「Attention is All You Need」では、Transformerを紹介し、Transformerが
2 つの重要な貢献がありました。まず、シーケンス全体を並列処理できるようになり、シーケンシャル ディープラーニング モデルの速度と容量が前例のないレベルにまで拡張されました。 2 番目に、非常に長いテキストシーケンス内の単語間の関係を順方向と逆方向の両方で追跡する「注意メカニズム」を導入します。

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

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

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

2. タグ付けと埋め込み

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

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

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

3. 注意層

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

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

次に、入力は最初のエンコーダー ブロックに渡され、「注意レイヤー」を通じて処理されます。注意層は文中の単語間の関係性を捉えようとします。たとえば、「大きな黒猫は横にボトルを落とした後、道路を横断しました。」という文を考えてみましょう。ここで、モデルは「it」を「cat」に関連付け、「its」を「bottle」に関連付ける必要があります。したがって、「大きい」と「猫」や「交差した」と「猫」など、他の関連付けを行う必要があります。それ以外の場合、注意層は個々の単語の値を表す単語埋め込みのリストを受け取り、個々の単語とそれらの相互関係を表すベクトルのリストを生成します。注意層には複数の「注意ヘッド」が含まれており、それぞれが単語間の異なるタイプの関係をキャプチャできます。

注意層の出力はフィードフォワード ニューラル ネットワークに送られ、ベクトル表現に変換されて次の注意層に送信されます。トランスフォーマー
より複雑な関係を徐々に捉えるために、いくつかの注意ブロックとフィードフォワード レイヤーが含まれています。

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

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

4. トレーニングトランスフォーマー

トレーニング中、Transformer には非常に大規模なペアの例のコーパス (英語の文章とそれに対応するフランス語の翻訳など) が入力されます。エンコーダー モジュールは、完全な入力文字列を受信して​​処理します。ただし、デコーダーは出力文字列のマスクされたバージョン (一度に 1 単語) を受け取り、エンコードされた注意ベクトルと予想される結果の間のマッピングを構築しようとします。エンコーダーは次の単語を予測し、その出力と予想される結果の差に基づいて修正を行います。このフィードバックにより、トランスフォーマーはエンコーダーとデコーダーのパラメータを変更し、入力言語と出力言語間の正しいマッピングを徐々に作成できるようになります。

Transformer のトレーニング データとパラメーターが増えるほど、長いテキスト シーケンス全体で一貫性と整合性を維持できるようになります。

5. トランスフォーマーの変更

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

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

これらのアーキテクチャの利点は、自己教師あり学習または教師なし学習方式でトレーニングできることです。たとえば、BERT は、ラベル付けされていないテキストの大規模なコーパスを取得し、その一部をマスクして、欠落している部分を予測することで、ほとんどのトレーニングを行います。次に、予測が実際のデータにどれだけ近いか、または遠いかに基づいてパラメータを調整します。このプロセスを何度も繰り返すことで、BERT はさまざまなシナリオにおけるさまざまな単語間の関係性を捉えます。この事前トレーニング段階の後、少数のラベル付きサンプルでトレーニングすることで、BERT を質問回答、テキスト要約、感情分析などの下流タスクに合わせて微調整できます。教師なし事前トレーニングと自己教師事前トレーニングを使用すると、トレーニング データに注釈を付けるために必要な作業量を削減できます。

トランスフォーマーとそれが実現する新しいアプリケーションについては、この記事の範囲を超えているため、語るべきことはまだまだたくさんあります。研究者たちは、トランスフォーマーからさらなる支援を得る方法をまだ模索している。

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

オリジナルリンク: https://bdtechtalks.com/2022/05/02/what-is-the-transformer/

<<:  ディープラーニングは壁にぶつかる?ルカンとマーカスの間の争いを引き起こしたのは誰ですか?

>>:  メタ研究者が新たなAIの試み:地図や訓練なしでロボットに物理的なナビゲーションを教える

ブログ    
ブログ    

推薦する

...

機械学習翻訳の限界を説明する

機械学習による翻訳は人間のコミュニケーションに非常に有益ですが、限界もあります。機械学習は、企業に文...

...

ナレッジグラフの紹介と応用

[[376661]]人間は知識を獲得する過程で、物事の本質にますます注意を払うようになります。人工知...

スマート医療診断を理解するためのレポート:AIエンパワーメントと分子診断の自動化

分子診断のミッドストリーム市場は、機器メーカーや試薬メーカーによって占められています。現在の分子診断...

顔認証ロック解除を使用するとき、携帯電話はどのようにしてあなたを「認識」するのでしょうか?顔認識について詳しく知る

2020年10月1日、私たちの祖国は71歳の誕生日を迎えました!我が国は、最初の人工衛星の打ち上げか...

これらの 9 つの仕事が人工知能に置き換えられない理由

人工知能 (AI) と機械学習 (ML) の機能は徐々に拡大していますが、創造性、共感、感情認識など...

...

清華大学の趙明国氏:AIチップ+ロボット、アルゴリズムのボトルネックを突破

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

クラウドコンピューティングのディープラーニングプラットフォームを構築し実践する唯一の方法

クラウド ディープラーニング プラットフォームの定義 クラウド ディープラーニングとは何ですか? 機...

コンピューティングパワーとは正確には何でしょうか?

ご存知のとおり、コンピューティング パワーの文字通りの意味はコンピューティング能力です。 「コンピュ...

業界規模のナレッジグラフ:経験と課題

[[355133]] 【導入】この記事は、Stone Brothersが推奨するナレッジグラフに関す...

Java プログラミング スキル - データ構造とアルゴリズム「シーケンシャル バイナリ ツリー」

基本概念データストレージの観点から見ると、配列ストレージとツリーストレージは相互に変換できます。つま...

人工知能が金融を変える5つの方法

人工知能 (AI)、機械学習 (ML)、ディープニューラルネットワーク (DNN) は、金融業界のビ...

アメリカ人教授がAI会議での不正行為を暴露:著者は査読者と共謀し、ゴミ論文も査読を通過

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...