连接主义者的时间分类(CTC)空白标签 [英] Connectionist Temporal Classification (CTC) blank label

查看:421
本文介绍了连接主义者的时间分类(CTC)空白标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在网络中使用CTC丢失功能,但不太了解何时将空白"标签作为标签.

I am trying to use the CTC loss function in my network, but don't quite understand when to feed the 'blank' label as a label.

我将其用于手势识别,如 Molchanov ,但是让我感到困惑的是,还有没有手势".

I use it in gesture recognition as described byMolchanov, but what get's me confused that there is a 'no gesture' as well.

在tensorflow文档中,描述为

In tensorflow docs, it is described that

张量输入的最里面维度尺寸num_classes代表num_labels + 1类,其中num_labels是真实标签的数量,最大值(num_classes-1)保留用于空白标签.

The inputs Tensor's innermost dimension size, num_classes, represents num_labels + 1 classes, where num_labels is the number of true labels, and the largest value (num_classes - 1) is reserved for the blank label.

如果我现在使用空白"标签表示没有手势,则由于错误,我的训练会受到限制

If I now use the 'blank' label, to indicate that there is no gesture, I am limited in my training, because of the error

在空标签之后看到一个非空标签(索引> = num_classes-1)

Saw a non-null label (index >= num_classes - 1) following a null label

我假设null标签与空白标签相同.

I am assuming that null label is the same as the blank label.

问题是,当我要馈送没有手势(映射到null标签)且具有手势的数据时,我恰好收到此错误. 我可以通过在现有标签旁边再添加两个标签来避免这种情况,一个标签用于无手势",另一个标签用于空白标签/空标签".然后,我只提供没有手势"标签,而没有提供空白"标签,但这似乎不太正确.

The problem is, when I want to feed data that starts with no gesture (mapped to null label) and has then a gesture, I get exactly this error. I can avoid it by adding two more labels, one for 'no gesture' and one for 'blank label/null label' next to my existing labels. Then I only feed the 'no gesture' label but never the 'blank' label, but this doesn't seem quite right.

所以我的问题是,我应该将'blank/null'标签用作什么?

So my question is, what should I use the 'blank/null' label for?

我可以想象在语言处理中,您通常将句点结尾的点用作空"标签吗?但是没有结束手势,因为它是一个连续的流.

I can imagine in language processing, you would use the sentence ending dot usually as the 'null' label? But there is no ending gesture as it is one continuous stream.

谢谢

推荐答案

编辑 我强烈建议阅读此蒸馏文章. "The(空白)令牌与任何内容都不对应,只是从输出中删除."它用于中断"重复令牌的合并.

EDIT I highly recommend reading this distill article. "The ϵ (blank) token doesn’t correspond to anything and is simply removed from the output." It is used to 'interrupt' the merging of repeating tokens.

空白标签用作两个类之间的过渡状态.

The blank label serves as a transitioning state between two classes.

了解详情

要回答我自己的问题,您没有为任何标签分配空白标签,但仍将其作为现有的类. 就我而言,我又添加了两个标签,一个用于无手势类,一个用于空白.

To answer my question itself, you don't assign the blank label to anything, but still have it as an existing class. In my case, I had added two more labels, one for the no gesture class and one for the blank.

(至少我是这样做的,并得到了不错的结果)

(That's at least how I did it and got some decent results)

这篇关于连接主义者的时间分类(CTC)空白标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆