【バート】
BERT とは?
最終更新:
💡 前後の手掛かりで、言葉を読み解くモデル
Googleの研究者らが発表した自然言語処理モデル。Transformerのエンコーダーを使い、入力中の前後の文脈を合わせて扱う。事前学習したモデルを文書分類や質問応答などへ調整して利用できる。
📌 このページのポイント
- Bidirectional Encoder Representations from Transformersの略
- 入力中の前後の文脈を合わせて、言葉の表現を作る
- 隠したトークンを予測する学習などで事前学習する
- 文書分類や質問応答などへファインチューニングできる
- 次のトークンを順に生成するモデルとは、学習方法が異なる
双方向って、文章を2回読むの?
左から右、右から左と2回読むという意味ではないよ。入力中のある言葉を扱うとき、前にある言葉も後ろにある言葉も手掛かりにするんだ。例えば空欄を埋めるなら、後ろの言葉から分かることもあるね。
穴埋め問題で勉強するの?
そう。入力の一部を隠し、元のトークンを予測するマスク言語モデルの学習を使うよ。トークンは文章を分けた単位で、必ず1単語とは限らない。元のBERTでは、2つの文が実際に続くかを判断する学習も組み合わせたんだ。
全部の言葉を隠してしまう?
一部を予測対象にするよ。元論文では位置の15%を選び、その中の80%を[MASK]に置き換える。残りは別のトークンにするか、そのまま残すんだ。「全文の15%が必ず[MASK]になる」とは違うね。
学習したら、そのまま何でも答えられる?
事前学習で得た表現を、目的に合わせて使うよ。例えば分類や質問応答の出力を付け、正解付きデータで調整するファインチューニングがある。BERTだけで、会話サービスや長文生成の仕組みが全部そろうわけではないんだ。
次の言葉を生成するAIより、理解力が上?
一律には言えないよ。BERTの双方向の扱いと、次のトークンを順に予測する学習では、使える文脈や目的が違う。実際の性能はモデルやデータ、課題で変わるので、用途に合わせて評価しよう。
まとめ:ざっくりこれだけ覚えればOK!
「BERT」って出てきたら「前後の文脈を使って文章を読み解くAIモデル」と思えばだいたいOK!
📖 おまけ:英語の意味
「Bidirectional Encoder Representations from Transformers」 = Transformerによる双方向エンコーダー表現
💬 前後の文脈を合わせて表現を作ることが、Bidirectional(双方向)の意味。左右へ順番に2回読む、という意味ではないよ。