CTCGreedyDecoder¶
バージョン名: CTCGreedyDecoder-1
カテゴリー: シーケンス処理
簡単な説明: CTCGreedyDecoder は、入力 (最適パス) で指定されたロジットに対してグリードなデコードを実行します。
詳細な説明: 長さ \(T\) の入力シーケンス \(X\) が与えられた場合、CTCGreedyDecoder は、長さ \(T\) の文字シーケンス \(C\) の確率が次の式で与えられると仮定します。
バッチ内のシーケンスは異なる長さを持ちます。シーケンス長は、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
- 値0
と1
、および形状[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>