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>