CTCGreedyDecoder#

バージョン名: CTCGreedyDecoder-1

カテゴリー: シーケンス処理

簡単な説明: CTCGreedyDecoder は、入力 (最適パス) で指定されたロジットに対してグリードなデコードを実行します。

詳細な説明: 長さ T の入力シーケンス X が与えられた場合、CTCGreedyDecoder は、長さ T の文字シーケンス C の確率が次の式で与えられると仮定します:

p(C|X)=t=1Tp(ct|X)

バッチ内のシーケンスは異なる長さを持ちます。シーケンス長は、2 番目の入力テンソル sequence_mask の値 1 および 0 としてコード化されます。値 sequence_mask[j, i] は、シーケンスのバッチ内のシーケンス i のインデックス i にシーケンスシンボルがあるかどうか指定します。j 番目の位置にシンボルがない場合は sequence_mask[j, i] = 0、そうでない場合は sequence_mask[j, i] = 1 です。j = 0 から始まり、シーケンス i ごとに独立して定義される特定のインデックス j = last_sequence_symbol まで、sequence_mass[j, i] は 1 に等しくなります。j > last_sequence_symbol の場合、sequence_mask[j, i] の値はすべて 0 です。

: ctc_merge_repeated 属性の値にかかわりなく、特定のバッチおよびタイムステップの出力インデックスが blank_index に対応する場合、新しい要素は出力されません。

属性

  • ctc_merge_repeated

    • 説明: ctc_merge_repeated は、CTC 計算中に繰り返しラベルをマージするフラグです。

    • 値の範囲: true または false

    • タイプ: boolean

    • デフォルト値: true

    • 必須: いいえ

入力

  • 1: data - タイプ T_F および形状 [T, N, C] のシーケンスのバッチを含む入力テンソル。ここで、T はシーケンスの最大長、N はバッチサイズ、C はクラスの数です。必須。

  • 2: sequence_mask - 値 01、および形状 [T, N] が設定されたタイプ T_F のバッチ内の各シーケンスのシーケンスマスクを持つ入力テンソル。必須。

Output

  • 1: 最終的なシーケンス・クラス・インデックスを含む整数要素で満たされた、タイプ T_F および形状 [N, T, 1, 1] の出力テンソル。最終的なシーケンスはテンソルのサイズ T よりも短くなり、シーケンスクラスをコード化しないすべての要素は -1 で埋められます。

タイプ

  • T_F: サポートされている浮動小数点タイプ。

<layer ... type="CTCGreedyDecoder" ...> 
    <data ctc_merge_repeated="true" /> 
    <input> 
        <port id="0"> 
            <dim>20</dim> 
            <dim>8</dim> 
            <dim>128</dim> 
        </port> 
        <port id="1"> 
            <dim>20</dim> 
            <dim>8</dim> 
        </port> 
    </input> 
    <output> 
        <port id="0"> 
            <dim>8</dim> 
            <dim>20</dim> 
            <dim>1</dim> 
            <dim>1</dim> 
        </port> 
    </output> 
</layer>