翻訳者 | 李睿 校正:孫淑娟 近年、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が 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の試み:地図や訓練なしでロボットに物理的なナビゲーションを教える
[[328922]]私自身の PyTorch の学習過程を思い出すと、最初はいろいろな情報を見つけ、...
[[430265]]ランサムウェアの脅威は目新しいものではありませんが、依然としてニュースの見出し...
ガートナーは、2026年までに中国のホワイトカラー職の30%以上が再定義され、生成AIを活用し管理す...
執筆者 | 王 瑞平AutoGPT に続いて、GPT ファミリーに新しいメンバーである GPT-En...
近年、民間ドローンの急速な普及は、空中撮影、レジャーや娯楽、農作物の保護、電力検査など、人々の生産と...
[[438709]]大規模なコーパスでトレーニングされた Transformer モデルは、自然言...
米国では、白人警官による黒人市民に対する過剰な法執行が日常茶飯事である。最近、白人警官が黒人男性を膝...
現在、人工知能(AI)と機械学習は私たちの日常生活に入り込み、徐々に私たちの生活を変えつつあります。...
「ディープラーニングフレームワークは人工知能技術システムの真ん中にあり、下のチップと上のアプリケーシ...
3月19日、杭州でCSHIA 2019スマートホーム業界開幕式が開催されました。ブランドメーカー、イ...
21 世紀が近づくにつれ、各国の成功または失敗はもはや国民と政府指導者だけに依存するものではなくなり...