我正在尝试在我的网络中使用CTC丢失功能,但不太明白何时将'空白'标签作为标签提供。
我在Molchanov描述的手势识别中使用它,但是让我感到困惑的是,还有一个'没有手势'。
在tensorflow文档中,描述了
输入Tensor的最内层维度大小num_classes表示num_labels + 1个类,其中num_labels是真实标签的数量,最大值(num_classes - 1)是为空白标签保留的。
如果我现在使用'空白'标签,表示没有手势,我的训练有限,因为错误
在空标签后看到一个非空标签(index> = num_classes - 1)
我假设null标签与空白标签相同。
问题是,当我想提供以无手势(映射到空标签)并且然后有手势的数据时,我得到了这个错误。 我可以通过添加另外两个标签来避免它,一个用于“无手势”,另一个用于现有标签旁边的“空白标签/空标签”。然后我只提供'无手势'标签,但从不提供'空白'标签,但这似乎不太合适。
所以我的问题是,我应该使用'blank / null'标签?
我可以想象在语言处理中,你会使用句末点通常作为'null'标签吗?但是没有结束手势,因为它是一个连续的流。
谢谢
答案 0 :(得分:2)
修改强> 我强烈建议您阅读此distill article。 “ε(空白)令牌与任何东西都不对应,只是从输出中删除。”它用于“中断”重复令牌的合并。
空白标签用作两个班级之间的过渡状态。
要回答我自己的问题,您不会将空白标签分配给任何内容,但仍将其作为现有类。 在我的例子中,我添加了两个标签,一个用于无手势类,另一个用于空白。
(至少我是怎么做到的,得到了不错的结果)