1. 背景検索シナリオでは、ユーザーの検索クエリと思い出された記事のタイトルとの関連性は、ユーザーの検索エクスペリエンスを向上させるのに非常に役立ちます。クエリタイトル分類タスクでは、クエリとタイトルをテキストの関連性に応じて 5 つのレベル (1 ~ 5) に分類する必要があります。各レベルは、要求の満足度と意味の一致という 2 つの側面からクエリドキュメントの関連性を測定します。レベルが大きいほど、関連性が高くなります。たとえば、レベル 1 はテキストと意味がまったく関連していないことを意味し、レベル 5 はテキストと意味の関連性が高く、クエリの要件を完全に満たしていることを意味します。 Bert モデルをクエリとタイトルの分類タスクに適用してみます。クエリとタイトルを文のペアとして Bert に入力し、cls ベクトルの最後のレイヤーを使用して 5 分類を行います (上図参照)。最終結果は、LSTM-Attention インタラクティブ マッチング モデルよりも優れています。 BERT がこの課題を解決できることはわかっていますが、私たちがもっと知りたいのは「なぜ」、つまりなぜ BERT がこれほど優れたパフォーマンスを発揮するのかということです。ここで説明できる何かはありますか? マルチヘッド アテンションは BERT の主要コンポーネントであるため、まず「ヘッド」から始めて、各ヘッドが BERT モデルでどのような役割を果たすのかを把握したいと考えています。特定のヘッドがモデルに与える影響を調べるには、そのヘッドがある場合とない場合のモデルのパフォーマンスを比較する必要があります。ここでは、特定のヘッドのアテンション値を直接 0 に設定する HEAD-MASK 操作を定義します。これにより、どの入力に対しても、このヘッドは 0 ベクトルのみを出力できるようになります。 HEAD-MASK操作でさまざまなヘッドを比較すると、次のような興味深い点が見つかりました。
実験の本体を始めて、これらの結論がどのように得られたかを見てみましょう。 2. バートモデルの注意ヘッド実験アテンション ヘッドは BERT の基本的な構成要素です。この実験の目的は、各ヘッドがモデルにどのような貢献をするかを調べることです。特定のヘッドをマスクし、その前後のモデル パフォーマンスの違いを比較することで、このヘッドがモデルに与える影響を調べることができます (トレーニング済みの BERT でヘッド マスクを実行し、再トレーニングを行わずに、テスト セットのパフォーマンスを比較します)。 BERT ベース モデルには 12 のレイヤーがあり、各レイヤーには 12 のヘッドがあります。次の実験は、各ヘッドによって抽出された特徴に明らかなパターンがあるかどうかを確認することです (BERT モデルは、クエリ タイトル データで微調整された漢字モデルです)。 2.1 Attention-Headは冗長であるBERT の標準サイズは、合計 12 x 12 で 144 個のヘッドがあります。トレーニングされた BERT モデルでヘッドの一定割合をランダムにマスクし、テスト データ セットで分類精度 ( 5 つのカテゴリ) をテストします。 下の図の棒グラフの数値は、ベースライン(つまり、ヘッドマスクなし)と比較したモデルの精度の相対的な向上を表しています。たとえば、+1% は、ベースライン モデルの精度が相対的に 1% 向上したことを意味します。下の図から、ヘッドの 20% 未満がランダムにマスクされている場合、テスト データセット上のモデルの精度は低下しないことがわかります。ヘッドの 10% がマスクされている場合でも、モデルのパフォーマンスはヘッドマスクを行わない場合よりも 1% 高くなります。一定数以上のヘッドがマスクされると、モデルのパフォーマンスは低下し続け、マスクが削除されるほどパフォーマンスは低下します。 同時に、クエリタイトル分類にとって最下位レベルと上位レベルのどちらのトランスフォーマーがより重要であるかを把握するために、最下位レベル(レイヤー0〜レイヤー5)と上位レベル(レイヤー6〜レイヤー11)のヘッドをそれぞれマスクし、削除されるヘッドの割合を0〜50%(ヘッドの総数)の間で制御します。50%は、最下位レベルまたは上位レベルのヘッドの100%が削除されることを意味します。下の図は、最下位レベルと上位レベルのヘッド間の注目ヘッド関係を明確に示しています。オレンジ色の部分は、高レベル(6〜11層)のヘッドのみがマスクされていることを示しており、青色の部分は、最下位レベル(0〜5層)のヘッドのみがマスクされていることを示しています。 明らかに、高レベルのアテンション ヘッドは低レベルのヘッドに大きく依存しています。低レベルのアテンション ヘッドは入力テキストのさまざまな特徴を抽出する役割を担い、高レベルのアテンションはこれらの特徴を組み合わせる役割を担っています。具体的には、最下層(0~5層)のヘッドの80%がマスクオフされている場合(図の横軸は40%)、および最下層のヘッドの100%がマスクオフされている場合(図の横軸は50%)、テストデータセットに対するモデルのパフォーマンスが急激に低下します(図の青い部分)。これは、高レベルヘッドが入力特徴を抽出しないため、低レベルヘッドの大部分を削除した後、高レベルヘッドのみに依存するだけでは不十分であることを示しています。逆に、高レベルのヘッドのほとんどを削除した後、モデルのパフォーマンスはそれほど劇的に低下しません (図のオレンジ色の部分)。これは、基礎となるヘッドがこのタスクに役立つ多くの入力機能を抽出していることを示しています。これらの機能は、残差接続を通じて分類のために最後のレイヤーに直接転送できます。 この結論は、モデルの蒸留を導くためにも使用できます。実験結果では、最下位レベルのトランスフォーマーが上位レベルのトランスフォーマーよりも重要であることが示されています。明らかに、モデルを蒸留するときには、より多くの最下位レベルのヘッドを保持する必要があります。 では、モデルの場合、クエリタイトルの分類に特に影響を与える可能性のあるヘッドの特定のレイヤーはありますか? BERT のすべての注目ヘッドが 12*12 の正方行列であると仮定すると、ヘッドの行全体をマスクした後のテスト データに対するモデルのパフォーマンスは次のようになります。棒グラフの値は、ベースライン モデルと比較した相対的な改善を表します。 レイヤー 5 から 9 のヘッドをマスクすると、モデルが大幅に改善されることがわかります。特に、レイヤー 8 の注意ヘッド全体を削除すると、テスト データの精度が 2.3% 向上します。上の図から、2 つの結論を導き出すことができます。
BERT モデルは非常に堅牢で、冗長性も高いです。アテンション ヘッドのレイヤー全体を単純に削除しても、モデルの最終的なパフォーマンスに大きな影響はありません。 注意ヘッドの層全体を直接削除しても、モデルのパフォーマンスは大幅に低下しません。これは、各層で抽出された特徴情報が層ごとに連続的に分類器に送信されるのではなく、残差接続を通じて対応する層に直接送信されることを意味します。 2.2 いくつかのヘッドは単語の境界を判断する役割を担う(単語モデルに単語分割情報を持たせるため)クエリタイトル分類シナリオでは、単語粒度 BERT と文字粒度 BERT の最終的なパフォーマンスが類似していることがわかりました。ただし、RNN モデルの場合、文字粒度 RNN が単語粒度 RNN の効果を達成するのは困難です。単語粒度 BERT と文字粒度 BERT のパフォーマンスが類似している理由を研究したいと考えています。 BERT 可視化ツールbert_vizを使用して、アテンション ヘッドの各層のアテンション重み分布を観察します。一部のヘッドには明らかな単語分割情報が含まれていることがわかります。注意ヘッドのこの部分は、単語の分割情報を抽出するために特化したヘッドであると推測されます。現在の文字が単語の末尾である可能性がある場合、属性の重みは sep に偏ります。この文字が単語の末尾 (一般的な単語の末尾) である可能性が高いほど、sep の重みは高くなります。現在の単語が単語の終わりでない場合は、 att は次の単語を指します。このパターンは非常に明白です。アテンションヘッドの結果を直接単語の分割に使用すると、精度は 70% になります。 次の GIF は、私たちのモデルの第 1 層の 3 番目のヘッドの注意分布重み図です。注意重みは明らかに単語の境界情報を持っていることがわかります。現在の単語が末尾の場合、注意重みが最大のトークンは「SEP」です。現在の単語が末尾でない場合、注意重みが最大のトークンは次の単語です。 単語分割情報を抽出するためのヘッドは多数あり、ヘッドによって単語分割の粒度が異なります。複数の粒度の単語分割を総合的に考慮すると(正しい単語分割には 1 つのヘッドで十分)、アテンション ヘッド分割を直接使用した場合の精度は 96% になります。これが、単語粒度 Bert と文字粒度 Bert のパフォーマンスが似ている理由です。 単語分割情報を抽出するために使用されるヘッドは多数あり、ヘッドによって単語分割の粒度が異なります。複数の粒度の単語分割を総合的に考慮すると(1 つのヘッドが正しい単語分割を行えば十分)、アテンション ヘッド単語分割を直接使用した場合の精度は 96% であり、これが単語粒度 BERT と文字粒度 BERT のパフォーマンスが同等である理由です。 BERT の単語粒度推測の代名詞境界情報は、BERT の事前トレーニング タスク MLM によってもたらされます。言語モデルのトレーニングにより、BERT は各単語の組み合わせに対して非常に敏感になり、単語の境界情報を区別できるようになります。 2.3 いくつかのヘッドは入力の順序をエンコードする役割を担っているBERT の入力は token_emb + pos_emb + seg_type_emb の合計であり、テキスト入力の順序は pos_emb によって完全に暗黙的に表現されることがわかっています。 BERT の一部のヘッドは、実際には入力内の位置情報の抽出を担当します。この注目ヘッドには、以下に示すように、明らかな上下の配置パターンがあります。 元の入力: クエリ="Jingdong 兄弟", タイトル="Jingdong 兄弟は最近何をしているのか", Bert モデルはこれをレベル 4 と判断します タイトルの順序をシャッフルします: クエリ="Jingdong Xiaoge"、タイトル="What's the most in the Near East? Brother Xiaojing"、Bert モデルはこれを2 レベルと判定します タイトルの順序をシャッフルします: クエリ="Jingdong Xiaoge"、タイトル="What's the most in the Near East? Brother Xiaojing"、語順の抽出に使用されたと疑われる 7 つのヘッドをマスクします、Bert モデルはこれを3 レベルと判定します 以下の図は、マスキングを行わない場合、ランダムに 7 つの見出しをマスキングする場合(100 回繰り返して平均をとる)、特定の 7 つの見出し(語順情報が含まれていると疑われる見出し)をマスキングする場合を比較したものです。以下の図からわかるように、特定の 7 つの見出しをマスキングした後は、全体的な分類が 3 レベルに改善されますが、ランダムに 7 つの見出しをマスキングした後は、結果は依然として 2 レベルであり、レベルの確率分布はマスキングを行わない場合とあまり変わりません。 このケースは、マスクした 7 つの特定のヘッドが、入力の順序情報、つまり語順情報を抽出する役割を担っていることを示しています。頭部のこの部分をマスクすると、BERT がタイトルの障害を検出する可能性が低くなり、分類が向上します。 2.4 一部のヘッドは、クエリとタイトル内の同じ用語を一致させる役割を担っています。クエリとタイトルに同じ用語が含まれているかどうかは、分類タスクにおいて非常に重要な特徴です。クエリ内の用語のほとんどがタイトルに含まれている場合、クエリとタイトルの相関関係は一般的に高くなります。たとえば、クエリ="JD Brother" は、title="What is JD Brother doing recent" で完全に見つかり、2 つの間のテキスト相関も非常に高くなります。いくつかの注意ヘッドがこの用語マッチング特徴の抽出を担当していることがわかりました。このヘッドの注意重み分布は、一般的に下の図のようになります。前の文と次の文の同じ用語の重みが非常に高いことがわかります(色が濃いほど重みが大きい)。 特に第2層から第4層の5頭一致のパターンが顕著です。 BERT モデルのアテンション ヘッドは非常に冗長であり、一部のヘッドを削除してもモデルに大きな影響はありませんが、少数のヘッドはモデルにとって非常に重要であることがわかりました。以下は、これら 5 つのヘッドがモデルに与える影響を示しています。表の値は、ベースライン モデルと比較した ACC の相対的な改善を表しています。 --HEAD-MASK を実行しないランダムマスク 5 つの HEADMASK をドロップ 指定された 5 つの HEADMASK をドロップ 0 から 5 層までのすべての HEADMASK をドロップ その他の HEAD を 0 から 5 層ドロップし、指定された5 つの HEAD のみを保持しますテストデータの精度 +0% +0% -52.4% -86.5% -18.1% テスト データを標準として使用し、ランダムに 5 つのヘッドをマスクし、指定された 5 つのヘッド (これらのヘッドは、注目度の視覚化で明らかなクエリ タイトルの一致パターンを持っています) をマスクすることをテストしました。結果から、クエリとタイトルのマッチングを担当するヘッドを削除した後、モデルのパフォーマンスが急激に低下することがわかります。これらの 5 つのヘッドのみを削除すると、モデルのパフォーマンスが 50% 低下する可能性があります。レイヤー 0 から 5 の他のヘッドをマスクして、これら 5 つのヘッドのみを保持した場合でも、モデルはベースライン モデルのパフォーマンスの 82% を維持します。これは、クエリとタイトルの用語の一致がタスクで非常に重要であることを示しています。 これが、デュアルタワー BERT が私たちのシナリオでパフォーマンスが非常に低い理由である可能性があります (Bert+LSTM 実験では、2 つのモデルを組み合わせた最終的なパフォーマンスは Bert のみを使用する場合よりも悪く、Bert の入力はデュアルタワー入力です)。クエリとタイトルが別々に入力されるため、これらのヘッドから用語の一致する特徴を抽出することは不可能であり (これらのヘッドをマスクすることと同等)、これらの一致する特徴は分類タスクにとって重要です。 2.4.1 用語マッチングを担う注意ヘッドに対する微調整の影響クエリタイトル分類タスクでは、クエリとタイトルに同じ用語があるかどうかが重要な特徴です。それでは、微調整プロセスでは、クエリタイトル内の同じ用語を一致させるヘッドに、より明らかな強化があるのでしょうか? 例として、次のケースを使用します: query="I grow up in Iran" title="Holiday movie "I grow up in Iran" 次の図は、クエリタイトル データを微調整する前の用語マッチングを担当するヘッドの注意分布図を示しています。 微調整前は、一部のヘッドがコンテキスト内の繰り返し用語に比較的大きな注意値を割り当てていることもわかります。 この特徴は、トレーニングタスク NSP (コンテキスト予測) から来ている可能性があります。前の文と次の文に同じ用語がある場合、それらが前の文と次の文である確率は比較的高いため、BERT には、この一致情報を抽出することを専門とするヘッドがいくつかあります。 上下の文が同じ用語が比較的大きな注目度を持っていることに加え、各用語はそれ自体に対しても比較的大きな注目度の重みを持っています(図の対角線上の大きな値に反映されています)。トレーニング前後でどの部分の注目度の値が大きく変化したかをより直感的に確認するために、トレーニング後に注目度が上昇(微調整前 - 微調整後>0)した場合と、トレーニング後に注目度が下落(微調整前 - 微調整後<0)した場合の注目度分布図をそれぞれ示しています。いくつかの明らかな点が観察されます:
2.4.2 モデルに特に影響を与えるヘッドはありますか?上記の実験から、BERT モデルには冗長ヘッドがより多くあることがわかります。これらのヘッドの一部を削除してもモデルに大きな影響はありませんが、上記のコンテキストで用語一致情報を抽出するヘッドなど、いくつかのヘッドは特にモデルに影響を与える可能性があります。これらのヘッドを 5 つだけ削除すると、モデルのパフォーマンスが 50% 低下する可能性があります。では、結果に特に影響を与える特定のヘッドはあるのでしょうか? 次の実験では、一度に 1 つのヘッドをマスクして、テスト データでモデルのパフォーマンスが向上/低下するかどうかを確認します。下の図では、BERT の 144 個のヘッドが 12X12 のマトリックスとして表示されています。マトリックス内の各要素は、このヘッドを削除した後のテスト データに対するモデルのパフォーマンスを表します。 0 は、パラメータの削除がモデルにほとんど影響を与えないことを意味します。要素内の値は、ベースラインに対するパフォーマンスの向上を示します。たとえば、+1% は、acc がベースラインと比較して 1% 向上したことを意味します。 BERT のヘッドのほとんどでは、このヘッドだけを削除してもモデルに大きな影響はないことがわかりますが、上部の文と下部の文の同じ用語を一致させるヘッド (クエリ タイトル) など、いくつかのヘッドはモデルに特別な影響を与えます。このようなヘッドを 1 つ削除するだけでも、モデルのパフォーマンスが低下します。同時に、高レベル (第 10 層) のヘッドが削除された後、モデルのパフォーマンスが大きく変化したことに気付きました。実験により、このヘッド関数は、基礎となるヘッドによって出力された特徴を抽出する役割を担っていることがわかりました。つまり、レイヤー 3 ~ 4 のヘッドが入力クエリ タイトルの同じ用語の特徴を抽出した後、この情報の一部が第 10 層に渡されてさらに抽出され、最終的に分類に影響します。 2.4.3 高レベルヘッドは低レベルヘッドの特徴をどのように抽出するのか - 典型的なケース上図では、10番目のレイヤーでヘッドが削除された後、モデルに特に強い影響を与えています。その注意の分布を観察してください。clsの注意は、クエリとタイトルの同じ用語に集中しています。ヘッドによって抽出された特徴が基になる用語に一致するようにさらに抽出され、一致する特徴がclsに保存されているようです(clsの最後のレイヤーは分類に使用されます)。 ヘッドマスキングがない場合、clsの注目度は主にクエリとタイトルの共通用語「紫鉄」に割り当てられていることがわかります。ただし、レイヤー2〜4の5つのヘッド(用語マッチング機能付き)をマスクすると、10番目のレイヤーのclsの注目度割り当てが明らかに変化し、より多くの用語に分散されます。 このケースは、高レベルのアテンション ヘッドが低レベルのヘッドの特徴に依存し、さらに低レベルの機能を抽出し、最終的にそれらをクエリ タイトル分類の重要な特徴として使用する方法を示しています。 結論この論文では、主にクエリタイトル分類シナリオにおける BERT モデルの解釈可能性について説明します。主に注意と頭部の観点から見ると、一方で注意は非常に冗長であり、頭部の一部を削除しても実際にはモデルに大きな影響を与えないことがわかります。一方、一部のヘッドはモデルに大きな影響を与える可能性があり、1 つのヘッドを削除するだけでもモデルのパフォーマンスが低下する可能性があります。同時に、異なるヘッドには実際には特定の機能があることもわかりました。たとえば、最下位レベルのヘッドは、単語の分割、入力の語順関係の抽出、クエリとタイトル(つまり、上部と下部の文)内の同じ用語情報の抽出など、入力の特徴抽出を担当します。この下位レベルのヘッドによって抽出された特徴は、残差接続を介して上位レベルのヘッドに送られます。上位レベルのヘッドは、この部分の特徴情報をさらに融合し、最終的に分類特徴として分類器に入力します。 この記事では、どのヘッドがモデルにプラスの影響を与えるか、つまり、これらのヘッドを削除するとモデルのパフォーマンスが低下するかに焦点を当てています。ただし、どのヘッドがモデルに悪影響を与えるか、つまり、特定のヘッドを削除するとモデルのパフォーマンスが向上する理由がわかれば、実際にはより多くのガイダンスが得られます。この情報は、モデルの高速化とモデルのパフォーマンス向上における迂回を回避するのに役立ちます。 参考文献[1] Clark K、Khandelwal U、Levy O、他「BERTは何を見ているのか?BERTの注目点の分析[J]」arXivプレプリントarXiv:1906.04341、2019年。 [2] Vig J. トランスフォーマーモデルにおける注意のマルチスケール可視化[J]。arXivプレプリントarXiv:1906.05714, 2019。 |
<<: ポストエピデミック時代におけるスマートビルディング技術の重要な役割
>>: AI + リアルタイム監視技術が公共サービスを改善する10の方法
ディープラーニングにおける現在の技術的なボトルネックに対応して、清華大学の張北氏を含む多くの学者や教...
人工知能時代の地図データ制作はどのような変化を遂げるのでしょうか?7月3日、「Baidu Creat...
今日のペースが速く、競争が激しい時代では、作業効率と製品品質の向上が特に重要になっています。ソフトウ...
[[198103]] 1. オンライン機能システム主流のインターネット製品では、古典的な計算広告、検...
科学技術の急速な発展は、自動車産業の技術進歩を直接的に推進してきました。自動運転は自動車と技術の結晶...
[[431747]]最近、第 1 回 Microsoft Research Summit の 2 日...
2023 年は生成 AI テクノロジーが爆発的に普及した年であり、ChatGPT などのツールが研究...
ある観点から見ると、激しい競争は業界の人気を示しています。最近、人気のディープラーニングも論争を引き...
近年、人工知能技術は飛躍的な進歩を遂げており、各国は人工知能技術の戦略的意義を認識し、国家戦略レベル...
Andrew Ng 氏は、Tess Ferrandez 氏が修了したディープラーニング特別コースのイ...
最新世代の予測言語モデルは、言語の根底にある意味の一部も学習したようです。驚くべきことに、これらのモ...
[[410798]] FaceAppの人気は過ぎ去り、最近では、あなたの顔を数秒で「ディズニー」に変...