双方向アテンションとは、Transformerなどのニューラルネットワークにおいて、テキストなどの系列データを処理する際、ある要素の前後(過去と未来)の両方向の文脈を同時に考慮して関連度を計算する仕組みです。BERTなどの事前学習モデルの基礎技術として採用されており、文脈全体の深い理解を可能にします。
双方向アテンションとは
双方向アテンションとは、ニューラルネットワークが時系列データやテキストデータを処理する際、特定の要素に対して、それより前にある情報(過去)と後ろにある情報(未来)の両方から同時に関連度を計算し、文脈を双方向から統合的に理解する仕組みです。
詳しく解説
従来のリカレントニューラルネットワークや、一方向のみに情報を伝える自己アテンションでは、文脈の一部しか考慮できませんでした。これに対して双方向アテンションは、文全体の情報を一度に参照できるTransformerの特性を活かしています。入力文の各トークンが、自分自身を含む文中のすべてのトークンに対してアテンションを計算します。これにより、ある言葉が文脈の中でどのような意味を持つかを、前後の単語の組み合わせから正確に捉えることが可能になりました。例えば「銀行」という言葉が「川の土手」を意味するのか「金融機関」を意味するのかを、前後の単語から同時に判断できます。この仕組みは、自然言語処理の歴史的転換点となった言語モデル「BERT」の事前学習フェーズなどで核心的な役割を果たしています。
具体例・使われ方
双方向アテンションの代表的な例は、BERTのデコーダではなくエンコーダ部分です。文の一部を隠す「マスク言語モデル」のタスクにおいて、隠された単語を前後の文脈から予測する際に双方向アテンションが使われます。他にも、機械翻訳のエンコーダ部分や、質問応答システムにおいて質問文と文脈文の関連性を双方向に照合する手法などで応用されています。
似た用語との違い
双方向アテンションと混同されやすい概念に「因果的アテンション」があります。因果的アテンションは、GPTなどの自動回帰型のモデルで使われ、未来のトークンを見えなくするマスク処理を行います。双方向アテンションが文脈全体の理解に特化しているのに対し、因果的アテンションは文章生成に最適化されています。また、かつての「双方向LSTM」は時間を順方向と逆方向の2つの独立したネットワークで処理して結合していましたが、双方向アテンションは1つの層で直接すべての関係性を並列計算する点が異なります。
注意点
双方向アテンションは文脈を深く理解するのに非常に強力ですが、未来の情報に依存するため、テキストの逐次生成にはそのままでは使用できません。生成タスクに用いると、未来の単語をあらかじめ見てしまうカンニングが発生し、学習が成立しなくなります。また、系列長の2乗に比例して計算量とメモリ消費量が増加するため、極端に長い文章の処理には計算コストが膨大になるという限界もあります。