CTCLossLayer

CTCLossLayer[]

表示通过将类概率向量的序列与表示目标类的索引序列进行比较来计算连接时间分类损失的网络层.

更多信息和选项

  • CTCLossLayer[] 表示一个网络,接受表示向量序列的输入矩阵和表示整数序列的目标向量并输出一个实数.
  • CTCLossLayer 一般用在 NetGraph 中.
  • CTCLossLayer 展示以下用于 NetGraph 等的端口:
  • "Input"大小为 c+1 的概率向量序列
    "Target"介于 1 和 c 之间的整数序列
    "Output"实数
  • 该层定义基于 Graves 等人于 2006 年发表的文章 "Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks".
  • 输入应该是大小为 c+1 的概率向量序列,每个向量的总和为 1. 每个向量的最后一个元素表示特殊空类的概率,其他元素表示索引类 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]]在范围 1c 之间整数的可变数
  • Options[CTCLossLayer] 给出构造层的默认选项列表. Options[CTCLossLayer[]] 提供用于在某些数据上运算网络层的默认选项列表.
  • Information[CTCLossLayer[]] 提供有关该层的报告.
  • Information[CTCLossLayer[],prop] 给出 CTCLossLayer[] 的属性 prop 的值. 可能的属性NetGraph 相同.

范例

打开所有单元关闭所有单元

基本范例  (2)

创建一个 CTCLossLayer 对象:

创建一个 CTCLossLayer,其中输入是一个矩阵,它的行是概率向量,目标是索引向量:

应用到输入和目标:

应用  (1)

训练一个网络,对图像中的字符向量进行分类. 首先生成训练和测试数据,其中包括单词的图像和相应的单词的字符串:

把数据集分成测试和培训集:

取出培训集的 RandomSample

使用的字符列表:

解码器是一个波束搜索解码器,光束大小为 50:

定义一个网络,接受一幅图像,然后将宽度维度视为序列维度. 接着生成一个矩阵,它的行是宽度维度的概率向量:

用字符 NetEncoder 附加在目标端口上定义一个 CTCLossLayer

使用 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 语言. 2018. "CTCLossLayer." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/CTCLossLayer.html.

APA

Wolfram 语言. (2018). CTCLossLayer. Wolfram 语言与系统参考资料中心. 追溯自 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: 25-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: 25-November-2024 ]}