Transformer の仕組み

GeoAI ツールボックスのテキストの分析ツールは、最近開発された Transformer アーキテクチーャーを使用して、自然言語処理 (NLP) タスクを実行します。 このアーキテクチャーにより、ツールの精度と並行処理のしやすさが高まると同時に、トレーニングに必要なラベル付きデータが少なくて済みます。

Transformer は、未加工テキスト形式の大量のデータについて、自己教師付き方式でトレーニングされる言語モデルです。 転移学習を使用して、それらのデータについて事前にトレーニングされたモデルを微調整できます。 それらは、論文 ”Attention Is All You Need” で提案された新しいアーキテクチャーで、テキストの分類、テキストの翻訳、テキストの生成、エンティティ認識などのタスクを解決することを目的としています。 Transformer は、エンコーディング コンポーネントとデコーディング コンポーネントという 2 つの主要コンポーネントで構成されます。 エンコーディング コンポーネントは、入力を受け取り、それをフィーチャ形式の表現にエンコードするエンコーダーのスタックです。 デコーディング コンポーネントは、エンコーディング コンポーネントからの表現を他の入力とともに使用して、ターゲット シーケンスの形式で出力を生成する、デコーダーのスタックです。

Transformer アーキテクチャー
高レベルのビューは、Transformer のコンポーネントを示しています。

タスクに応じて、エンコーダーとデコーダーは以下の方法を使用することができます。

  • エンコーディング コンポーネントは、テキスト分類や名前付きエンティティ認識などのタスクに使用できます。 よく知られているエンコーディング モデルには、ALBERT、BERT、RoBERTa などがあります。
  • デコーディング コンポーネントは、テキスト生成などのタスクに使用できます。 よく知られているデコーディング モデルには、CTRL や Transformer XL などがあります。
  • 2 つのコンポーネントを併用すると、テキストの翻訳や要約などのタスクを実行できます。 よく知られているエンコーダー - デコーダー モデルには、BART や T5 などがあります。

エンコーダー レイヤー
高レベルのビューは、エンコーダーのコンポーネントを示しています。

エンコーディング コンポーネントのエンコーダーはすべて、構造が同じです。 各エンコーダーには、2 つのサブレイヤーがあります。

  • Self-Attention レイヤー - このレイヤーにより、モデルは入力シーケンス内の他の単語を検索して、現在の単語のエンコーディングを強化できます。

    たとえば、入力シーケンス「The man couldn't cross the road as he was injured (男は怪我をして道路を横断できなかった)」について考えてみましょう。 ここで、「he」という言葉は、道路を横断できなかった男を指します。 この場合の Self-Attention レイヤーでは、モデルは「he」と「man」を関連付けることができます。

  • Feed forward レイヤー - このレイヤーは、Attention レイヤーから出力を受け取り、その出力を次のエンコーダーが受け取れる形に変換します。

デコーディング コンポーネントのすべてのデコーダーには、Self-Attention レイヤーと Feed forward レイヤーに加えて、Attention レイヤー (エンコーダー - デコーダー Attention レイヤーとも呼ばれます) があります。 このエンコーダー - デコーダー レイヤーにより、デコーダーは入力シーケンスの特定セクションに焦点を当てることができます。

デコーダー レイヤー
高レベルのビューは、デコーダーのコンポーネントを示しています。

リソース

詳細については、以下のリソースをご参照ください。


このトピックの内容
  1. リソース