主要内容

ctc

联结主义的分类(CTC)损失对齐序列分类

    描述

    CTC操作计算之间的联结主义颞分类(CTC)损失对齐序列。

    ctc之间的CTC损失函数计算预测和目标表示为dlarray数据。使用dlarray更易于处理高维数据的对象允许您标签的尺寸。例如,您可以标签尺寸对应于空间,时间,频道,使用批处理维度“S”,“T”,“C”,“B”标签,分别。未指明的和其他维度,使用“U”标签。为dlarray对象的函数操作特定的尺寸,你可以指定尺寸标签的格式dlarray直接对象,或通过使用DataFormat选择。

    例子

    损失= ctc (海底,目标,YMask,targetsMask)返回格式化的之间的CTC损失dlarray对象海底包含预测和目标的价值观目标使用预测和目标的面具YMasktargetsMask,分别。

    无格式的输入数据,使用“DataFormat”选择。

    损失= ctc (海底,目标,YMask,targetsMask、“DataFormat”FMT)还指定了尺寸格式FMT海底不是一个格式化的dlarray

    损失= ctc (___,名称,值)指定选项使用一个或多个名称-值对参数除了输入参数在以前的语法。例如,“BlankIndex”、“最后”指定一个空白指数对应词汇表的最后一个元素。

    例子

    全部折叠

    创建一个数组2目标序列的不同长度超过10类。目标序列必须不包含空白指数默认值是1。

    numObservations = 2;numClasses = 10;目标=细胞(numObservations, 1);目标{1}= [2 3 5 7 9 2 3 5 3 2 3];目标{2}= [2 3 3 3 4 4 4 6 8 8 8 10 3];

    创建随机预测序列的数组。预测序列的长度必须大于或等于长度加上相应的目标序列的重复的数量指标。在这种情况下,第一个序列长度11没有重复索引,第二个序列长度13与6重复指标。

    Y =细胞(numObservations, 1);Y{1} =兰德(numClasses 11);Y{2} =兰德(numClasses 13 + 6);

    查看电池阵列的预测和目标

    Y
    Y =2×1单元阵列{10×11双}{10×19双}
    目标
    目标=2×1单元阵列{[2 3 5 7 9 2 3 5 3 2 3]}{[2 3 3 3 4 4 4 6 8 8 8 10 3]}

    垫在第二维度预测和目标序列使用padsequences函数并返回相应的面具。

    [Y, YMask] = padsequences (Y, 2);

    垫使用的目标padsequences函数。目标必须是正整数1到类的数量,不能包含空白指数,所以指定填充2的价值。

    (目标,targetsMask) = padsequences(目标2“PaddingValue”2);

    ctc函数需要的目标和目标面具指定为二维数组,把单通道尺寸使用挤压函数。

    目标=挤压(目标);targetsMask =挤压(targetsMask);

    转换的预测序列和面具dlarray带格式的“施”(通道、时间、批次)。因为格式化dlarray对象自动分类维度,保持一致的目标和面具的尺寸也将他们转换为格式化dlarray对象具有相同的格式。

    海底= dlarray (Y,“施”);YMask = dlarray (YMask,“施”);

    同样,将填充目标序列和面具dlarray带格式的“结核”(时间、批次)。

    目标= dlarray(目标,“结核”);targetsMask = dlarray (targetsMask,“结核”);

    计算之间的CTC损失预测和目标使用ctc函数。

    损失= ctc(海底,目标,YMask targetsMask)
    损失= 1×1 dlarray 12.1568

    输入参数

    全部折叠

    预测,指定为一个格式化的dlarray,一个非格式化dlarray或数字数组。当海底不是一个格式化的dlarray,你必须指定尺寸格式使用“DataFormat”选择。

    预测海底必须有一个“B”(批处理),“C”(频道),“T”(时间)维度和可以有不同的序列长度相应的目标目标

    如果海底是一个数值数组,然后呢目标,YMask,或targetsMask必须是一个dlarray

    目标序列,指定为一个格式化的或未格式化dlarray或数字数组。

    目标指定为数组维度对应于观测和目标的时间步骤序列。例如,指定目标格式dlarray对象的格式英国电信的(批量、时间)。

    目标必须有相同数量的观察结果的预测。相对应的目标值面具之间的值等于1必须是正整数1和渠道的数量海底而且必须不包含空白的指数。

    如果目标是一个格式化的dlarray,那么它的格式必须相同的格式海底,或者一样DataFormat如果海底未格式化。

    如果目标是一个非格式化dlarray或数值数组,那么函数应用的格式海底或者的价值DataFormat目标

    提示

    格式化dlarray底层数据对象自动排列的尺寸有秩序“S”(空间),“C”(通道),“B”(批处理),“T”(时间),然后“U”(不明)。确保的尺寸海底目标是一致的,当海底是一个格式化的dlarray还,指定目标作为一个格式化的dlarray

    面具表明预测元素为损失计算,包括指定的作为dlarray对象,一个逻辑数组,或数字数组大小一样海底

    预测的功能包括和不包括元素损失计算面具当对应的值是1和0,分别。

    为每个时间步和观察的面具,在频道维度对应的元素必须1或0。

    提示

    格式化dlarray底层数据对象自动排列的尺寸这个顺序:“S”(空间),“C”(通道),“B”(批处理),“T”(时间)“U”(不明)。例如,dlarray对象自动排列的尺寸数据与格式“TSCSBS”有格式“SSSCBT”

    确保的尺寸海底,当面具是一致的海底是一个格式化的dlarray,还指定格式化的面具dlarray

    面具指示目标元素为损失计算,包括指定的作为dlarray对象,一个逻辑数组,或数字数组大小一样海底

    目标的功能包括和不包括元素损失计算面具当对应的值是1和0,分别。

    提示

    格式化dlarray底层数据对象自动排列的尺寸这个顺序:“S”(空间),“C”(通道),“B”(批处理),“T”(时间)“U”(不明)。例如,dlarray对象自动排列的尺寸数据与格式“TSCSBS”有格式“SSSCBT”

    确保的尺寸海底,当面具是一致的海底是一个格式化的dlarray,还指定格式化的面具dlarray

    名称-值参数

    指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

    例子:“BlankIndex”、“最后”指定一个空白指数对应词汇表的最后一个元素

    空白字符(指定为逗号分隔指数组成的“BlankIndex”和下列之一:

    • 正整数——使用词汇表中的元素指定索引的空白字符。如果“BlankIndex”是一个整数,那么它必须介于1和渠道的数量海底包容性。

    • “最后一次”——使用词汇表的最后一个元素作为空白字符。

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|字符串

    维度的非格式化输入数据,指定为一个特征向量或字符串标量FMT为每个维度的数据提供一个标签。

    当你指定的格式dlarray对象,每个字符为每个维度的数据和提供一个标签必须是下列之一:

    • “S”——空间

    • “C”——频道

    • “B”批处理(例如,样品和观察)

    • “T”时间(例如,时间序列的步骤)

    • “U”——未指明的

    您可以指定多个维度标签“S”“U”。您可以使用标签“C”,“B”,“T”最多一次。

    您必须指定DataFormat当输入数据不是一个格式化的dlarray

    数据类型:字符|字符串

    输出参数

    全部折叠

    CTC损失,作为一个非格式化返回dlarray标量与相同的底层数据类型作为输入海底

    扩展功能

    介绍了R2021a