導入
2017 年は、Transformer モデルがデビューした機械学習にとって歴史的な年でした。多くのベンチマークで良好なパフォーマンスを示し、データ サイエンスの多くの問題に適しています。その効率的なアーキテクチャにより、特定のタスクに重点を置いた他の多くの Transformer ベースのモデルが後に開発されました。
BERT もそのようなモデルの 1 つです。これは主に、テキスト情報を非常に正確に表現し、長いテキスト シーケンスのセマンティクスを保存できる埋め込みを構築できる機能で知られています。その結果、BERT 埋め込みは機械学習で広く使用されています。BERT が NLP のさまざまなタスクへの扉を開くため、BERT がテキスト表現を構築する方法を理解することは非常に重要です。
この記事では、BERT アーキテクチャとその背後にある中心的なメカニズムを理解するために、元の BERT 論文を参照します。最初の部分では、BERT の概要を説明します。その後、その内部の仕組みと、モデル全体に情報がどのように渡されるかを段階的に見ていきます。最後に、NLP の特定の問題を解決するために BERT を微調整する方法を見ていきます。
概要
Transformer のアーキテクチャは、エンコーダとデコーダという 2 つの主要部分で構成されます。スタック型エンコーダーの目標は、主要なコンテキストを保持する入力の意味のある埋め込みを構築することです。最後のエンコーダーの出力は、新しい情報を生成しようとするすべてのデコーダーの入力に渡されます。
BERT は Transformer の後継であり、そのスタック型双方向エンコーダを継承しています。BERT のアーキテクチャ原則のほとんどは、元の Transformer と同じです。
BERTのバージョン
BERT には、Base と Large の 2 つの主要なバージョンが存在します。使用するパラメータの数が異なることを除いて、それらのアーキテクチャは同一です。全体として、BERT Large は BERT Base と比較して調整する必要があります