CRF は、品詞タグ付け、単語分割、固有表現認識などのタスクに使用できる、一般的に使用されるシーケンス ラベリング アルゴリズムです。 BiLSTM+CRF は、BiLSTM と CRF を組み合わせた一般的なシーケンス ラベリング アルゴリズムです。これにより、モデルは CRF のように前のシーケンスと次のシーケンス間の相関関係を考慮でき、LSTM の特徴抽出およびフィッティング機能も備えています。
1. はじめに 前回の記事「CRF 条件付きランダムフィールド」では、条件付きランダムフィールド CRF について紹介し、CRF と LSTM の違いについて説明しました。単語の分割を例に挙げてみましょう。各単語に対応するラベルは、s、b、m、e になります。 「What is street stall economy」という文が与えられた場合、正しい単語分割方法は「what / is / street stall / economy」であり、各単語に対応する単語分割ラベルは「be / s / be / be」です。下の図は、シーケンスのラベル付けを行う際の LSTM の問題を示しています。 BiLSTM単語分割 BiLSTM は、各単語が異なるタグに属する確率を予測し、Softmax を使用して、最も確率の高いタグを位置の予測値として取得します。この方法では、予測中にラベル間の相関関係は無視されます。たとえば、上の図では、BiLSTM は最初の単語を s と予測し、2 番目の単語を e と予測します。しかし実際には、単語分割中に s の後に e はないので、BiLSTM はラベル間の関係を考慮しません。 そのため、BiLSTM+CRF は BiLSTM の出力層に CRF を追加し、モデルがクラス ラベル間の相関を考慮できるようにします。ラベル間の相関は CRF の転送行列であり、ある状態から別の状態に遷移する確率を表します。 CRF の転送行列が以下に示すとおりであると仮定します。 CRF状態遷移行列 すると、最初の 2 つの単語「什么」の場合、ラベルが「se」である確率は 0.8×0×0.7=0、ラベルが「be」である確率は 0.6×0.5×0.7=0.21 になります。 そのため、BiLSTM+CRF では、単一のクラスラベルの確率だけではなく、クラスラベルパス全体の確率を考慮します。BiLSTM 出力層に CRF を追加すると、次のようになります。 BiLSTM+CRF単語分割 最終的に、すべてのパスの中で、besbebe の確率が最も高いため、予測結果は besbebe になります。 2. BiLSTM+CRFモデル CRF には 2 つの機能があります。詳しくは、前の記事をご覧ください。最初の特徴関数は状態特徴関数であり、放出確率とも呼ばれ、単語 x がラベル y に対応する確率を表します。 CRF状態機能 BiLSTM+CRFでは、この特徴関数(放出確率)はLSTMの出力を使用して直接計算されます。第1セクションの図に示すように、LSTMは各瞬間の各位置に対応する異なるラベルの確率を計算できます。 CRF の 2 番目の特徴関数は状態遷移特徴関数であり、ある状態 y1 から別の状態 y2 に遷移する確率を表します。 CRF状態遷移機能 CRF の状態転送特徴関数は状態転送行列で表すことができ、トレーニング中に状態転送行列の要素値を調整する必要があります。したがって、BiLSTM+CRF では、BiLSTM モデルに状態転送行列を追加する必要があります。コードは次のようになります。
文 x が与えられた場合、そのラベルシーケンスが y である確率は次の式を使用して計算されます。 y と x の積分 式中のスコアは次の式を使用して計算されます。ここで、Emit は放出確率(つまり、LSTM 出力の確率)に対応し、Trans は遷移確率(つまり、CRF 転送行列に対応する値)に対応します。 スコア計算式 BiLSTM+CRF は最大尤度法を使用してトレーニングされ、対応する損失関数は次のようになります。 損失関数 このうち、スコア(x,y)は比較的計算が簡単で、Z(x)はすべてのラベルシーケンス(y)の指数スコアの合計です。シーケンスの長さがlでラベルの数がkの場合、シーケンスの数は(k^l)です。直接計算することはできないため、フォワードアルゴリズムを使用して計算します。 現在主流のディープラーニングフレームワークを使用して損失を導出し、勾配降下法を適用することで、BiLSTM+CRF を最適化できます。モデルをトレーニングした後、Viterbi アルゴリズム (動的プログラミング) を使用して最適なパスを見つけることができます。 3. 損失関数の計算 BiLSTM+CRF損失関数を計算する際の難しさは、次の式に示すようにFで表されるlog Z(x)を計算することにあります。 スコアを、放出確率 p と遷移確率 T の合計に分割します。問題を簡略化するために、シーケンスの長さを 3 と仮定すると、以下に示すように、長さがそれぞれ 1、2、3 の場合の log Z 値を計算できます。 上記の式で、p は出力確率、T は遷移確率、Start は文の開始、End は文の終了を表します。 F(3)は最終的なlogZ(x)値です。上記の式を変形すると、F(3)は次のように再帰形式に変換できます。 上記の式の各ステップの演算は、log_sum_expを含めて同じであることがわかります。たとえば、F(1)は次のようになります。
したがって、log Z を計算するフォワード アルゴリズムのコードは次のように記述できます。
4. ビタビアルゴリズムのデコード モデルをトレーニングした後、予測プロセスでは Viterbi アルゴリズムを使用してシーケンスをデコードする必要があります。興味のある方は、「統計的学習方法」を参照してください。以下はビタビの公式の紹介です。まず、いくつかの記号の意味は次のとおりです。 すると、ビタビアルゴリズムの再帰式が得られる。 最後に、ビタビによって計算された値に基づいて最も適切なシーケンスを見つけることができます。 最後に、pytorch 公式サイトの BiLSTM+CRF コードを読むことをお勧めします。コードを通じて理解するのが簡単です。 5. 参考文献 上級: 動的な意思決定と BI-LSTM CRF |
>>: 人工知能の代表的な応用分野トップ10の一覧と技術原理の図解
2022年、学者たちは人工知能の将来の発展をどのように見ているのでしょうか?将来、AI はモデル駆...
[[185577]] 1. はじめにブルートフォース クラッキング ツール hashcat を使用...
もしあなたの配偶者や子供があなたに泣きながら電話をかけてきて、誘拐されたと告げたら、あなたは冷静で慎...
中国ではブロックチェーン、ニューリテール、シェアサイクルが急成長しているが、技術大国である日本は明ら...
著者: Yajie Yingliang、Chen Long 他導入美団のフードデリバリー事業が成長を...
バスがプラットフォームに到着するのを待って、バスに乗り、カードをスワイプします。いつもの朝の通勤風景...
SIG 2018 Bluetooth市場レポートによると、2022年までに52億台のBluetoot...
最近、2020年中国(青島)芸術博覧会の期間中、青島の「ダブル募集・ダブル紹介」特別イベントが開催さ...
最近、CVPR2022の各競技の結果が次々と発表されました。ByteDanceの知能創造AIプラット...
2019年も残り1か月余りとなり、各種年間総括も迫ってまいりました。今年の AI の発展を振り返る...
クラスタリング分析は、データ ポイントを複数の特定のクラスターまたはグループに分割する教師なし学習手...
人工知能は貴重で脆弱なデータを保護する上で大きな可能性を秘めていますが、セキュリティ チームがそれを...
最も基本的な機械学習アルゴリズムは、単一の変数を持つ線形回帰アルゴリズムです。現在、非常に多くの高度...