CTCLossLayer

CTCLossLayer[]

クラス確率ベクトルとターゲットクラスを表す指標の列を比較して,コネクショニスト時系列分類法(CTC)の損失を計算する,ネット層を表す.

詳細とオプション

  • CTCLossLayer[]はベクトル列を表す入力行列と整数列を表すターゲットベクトルを取り,実数値を出力するネットを表す.
  • CTCLossLayerNetGraphの中で使われることが多い.
  • CTCLossLayerは,NetGraph等で使うために次のポートを開放する.
  • "Input"サイズ c+1の確率ベクトルの列
    "Target"1から cまでの整数の列
    "Output"実数
  • 層の定義は,Graves et al.による2006年の「Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks」に基づいている.
  • 入力は,各ベクトルの和が1になる,サイズ c+1の確率ベクトルの列でなければならない.各ベクトルの最終要素は特殊なblankクラスの確率を表す.残りの要素は指標が付けられた1から c までのクラスの確率を表す.ターゲットは1から c までの整数の列である.ターゲットの列は入力列より長くてはならない.
  • CTCLossLayer[][<|"Input"in,"Target"target|>]は,層を適用して明示的に出力を計算する.
  • CTCLossLayer[][<|"Input"->{in1,in2,},"Target"->{target1,target2,}|>]は,initargetiのそれぞれについて出力を明示的に計算する.
  • NumericArrayが入力として与えられると,出力はNumericArrayになる.
  • 入力サイズは,一般に,NetGraph内で自動的に推測される.
  • CTCLossLayer[n,"Input"ishape,"Target"tshape]で入力とターゲットの形状が指定できる.以下は,ishape が取り得る形である.
  • NetEncoder[]ベクトル列を生成するエンコーダ
    {len,c+1}len 個の長さ(c+1)のベクトルの列
    {len,Automatic}長さが推測される len 個のベクトルの列
    {"Varying",c+1}それぞれの長さが c+1の,数量不定のベクトル
    {"Varying",Automatic}それぞれの長さが推測される,数量不定のベクトル
  • 次は,tshape の可能な形である.
  • NetEncoder[]整数列を生成するエンコーダ
    {len2}len2個の整数の列
    {"Varying"}数量不定の整数
    RepeatingElement[Restricted[Integer,c]]範囲が1から c までの,数量不定の整数
  • Options[CTCLossLayer]は層を構築する際のデフォルトオプションのリストを与える.Options[CTCLossLayer[]]はデータについて層を評価する際のデフォルトオプションのリストを与える.
  • Information[CTCLossLayer[]]は層についてのレポートを与える.
  • Information[CTCLossLayer[],prop]CTCLossLayer[]の特性 prop の値を与える.使用可能な特性NetGraphと同じである.

例題

すべて開くすべて閉じる

  (2)

CTCLossLayerオブジェクトを作る:

行が確率ベクトルである行列が入力で指標のベクトルがターゲットであるCTCLossLayerを作る:

この層を入力とターゲットに適用する:

アプリケーション  (1)

画像中の文字のベクトルを分類するネットを訓練する.まず,単語および対応する単語列からなる訓練データと検証データを生成する:

データ集合を検定集合と訓練集合に分ける:

訓練集合のRandomSampleを取る:

使用された文字のリスト:

このデコーダは,ビームサイズ50のビーム探索デコーダである:

画像を取って幅の次元を列の次元として扱うネットを定義する.行が次元についての確率ベクトルである行列が生成される:

ターゲットポートに付けられた文字のNetEncoderCTCLossLayerを定義する:

CTC損失を使ってこのネットを訓練する:

検定集合の画像で訓練済みのネットを評価する:

画像について,トップ5の復号化を各復号化の負の対数尤度とともに求める:

考えられる問題  (1)

各入力確率ベクトルのサイズは1であってはならない:

Wolfram Research (2018), CTCLossLayer, Wolfram言語関数, https://reference.wolfram.com/language/ref/CTCLossLayer.html.

テキスト

Wolfram Research (2018), CTCLossLayer, Wolfram言語関数, https://reference.wolfram.com/language/ref/CTCLossLayer.html.

CMS

Wolfram Language. 2018. "CTCLossLayer." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CTCLossLayer.html.

APA

Wolfram Language. (2018). CTCLossLayer. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CTCLossLayer.html

BibTeX

@misc{reference.wolfram_2024_ctclosslayer, author="Wolfram Research", title="{CTCLossLayer}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/CTCLossLayer.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_ctclosslayer, organization={Wolfram Research}, title={CTCLossLayer}, year={2018}, url={https://reference.wolfram.com/language/ref/CTCLossLayer.html}, note=[Accessed: 21-November-2024 ]}