(test)Labelling Unsegmented Sequence Data with Recurrent Neural Networks

概述

背景

在实际的序列学习场景中经常会遇到从没有切分的,带有噪音的数据中对序列的label进行预测,例如语音识别中需要将声学信号转换成words或者是 sub-words.
文章提出了一种新的rnn训练方法,可以将没有切分的序列生成相应的标签。

传统方法的问题

传统方法中常用的HMM,CRF等有一些可以较好的解决这种序列标注问题,但是它们也存在相应的问题:

  1. 通常需要大量的领域相关知识,例如定义相关的label,选择crf的输入特征等等。
  2. 需要基于一定的相关性假设,例如HMM中观察序列之间是相互独立的。
  3. 对HMM 来说训练是产生式的,即使序列标注问题是一个判别问题。

RNN的优势

  1. 不需要任何关于数据的先验知识,除了选择定义输入和输出的格式。
  2. 具有强大的特征表达能力,能够很好的对问题进行建模,并且可以表示判别式模型。
  3. 对于噪音问题处理的更加鲁棒。
  4. 可以利用long-range seququence 建模。

效果

效果优于hmm和hmm-rnn模型。

具体思路

将网络的输出表示为所有可能的label序列的概率分布,有了这个概率分布可以定义目标函数为直接最大化正确的label序列的概率。
因为目标函数可导,所以可以用标准的bp方法进行训练。

Temporal Classification

记号

$S$表示从一个分布$D_{X \times Z}$提取的训练样本
输入空间$X = (Rm)*$ 是所有的$m$维的实数向量。
目标空间 $Z = L ^* $ 是所有的Label(有限的)组成的序列空间。
我们称$L^*$中的元素为label sequences 或labellings。

任意的一个样本$s \in S,s= (x,z)$,
目标序列$z = (z_1, z_2, ..., z_U)$,
输入序列$x = (x_1, x_2,...,x_T)$
其中$U <= T$

目标是用$S$来训练一个temporal classifier s.t. $h: X -> Z$

Label Error Rate

度量错误

给定一个测试集$S^\prime \subset D_{X \times Z}$
定义$h$的标签错误率(LER = Label Error Rate)为$S ^ \prime$数据集上的标准化的 分类结果和目标之间的编辑距离。
\begin{equation}
LER(h,S^\prime) = {1 \over {|S ^ \prime|}} \sum _{(x, z) \in S ^ \prime} { {ED(h(x),z)} \over {|z|} }
\label{eq:defLER}
\end{equation}

其中$ED(p,q)$是sequence$p,q$之间的编辑距离。(插入,替换和删除)

Connectionist Temporal Classification

介绍了如何表示RNN的输出可以用来做CTC,最直接的想法是将RNN的输出表示为一个给定的输入的关于Label sequences的条件概率分布

网络输出到标签序列

CTC网络有一个softmax输出层,
输出层有$|L| + 1$个输出单元,
其中$|L|$指的是label的个数,
1代表空格或其他非label的输出。

具体形式

首先定义初步的映射关系

输入序列$X,|X| = T$
RNN $m$个输入,$n$个输出($n = |L| + 1$)和权重向量$w$ as \space a \space continuous \space map :
$N_w : (R^m) ^ T -> (R^n) ^ T$
定义$y = N_w(x)$是神经网络从输出,并且$y_k ^ t$是第$k$个单元的在时间$t$时的激活值
即label $k$在时间$t$概率,则有长度$T$的序列关于$L ^ \prime = L \bigcup \{blank\}$概率为:
\begin{equation}
p(\pi | X) = \prod _ {t = 1} ^ T y_{\pi _t} ^ t, \forall \pi \in {L ^ \prime } ^ T
\label{eq:ctcSeqProb}
\end{equation}

定义一个多对一的映射

映射形式如下:
$\beta : (L ^ \prime )^T -> L {<=T}$,$L{<= T}$是可能的标签
具体步骤:
将所有的空格和重复的标签从路径中移除,例如
$\beta (a\ab\)= \beta (\aa\\abb) = aa$,其中代表空格

计算关于$l \in L^ {<= T}$的条件概率

\begin{equation}
p(l|x) = \sum _ {\pi \in \beta ^ {-1}(l)} p (\pi | x)
\label{eq:binverseprob}
\end{equation}

构建分类器

有了以上的计算方法,分类器的输出应该是对输入生成的标注可能性最大的一个序列。
\begin{equation}
h(x) = arg max _ {l \in L ^{\leq T}} p(l | x)
\label{eq:targetFunction}
\end{equation}
此过程可以借鉴传统的叫法decoding,但是目前还没有一个通用的,tractable的解码算法。
目前常用以下两种 近似的方法 来做解码:

第一种解码方法(Best Path Decoding)

思路:假设最可能的路径($\pi$)往往和最可能的labeling相关:

\begin{equation}
h(x) \approx \beta(\pi ^ )
\label{eq:decodeMethod1}
\end{equation}
其中:$\pi ^
= arg max _ {\pi \in N^t} p (\pi | x)$
此方法简单易于实现,而且找到的是在各个时间点的激活值最大的值,但是不能保证找到的是最有可能的label序列。

第二种解码方法(Prefix Search Decoding)

类似于前后向算法基础上进行,具体见第四章(下一章训练网络部分)
这种方法只要时间足够往往可以找到最优的结果,但是解码时间跟序列长度成指数增长。
通常使用启发式的解码方法。

启发式的思路如下:

首先根据输出中预测是blank的节点进行切分,然后分段进行prefix 查找。

缺陷

通常情况下启发式的方法工作的很好,并且能够找到最优的路径,但是在一些情况下会出错,例如在一个分割点的两端两者的预测label都相同,而且概率较小。

训练网络

CTC前后向算法

我们需要一个高效的方式来计算$p(l|x)$,但是参考公式 \ref{eq:binverseprob} 会发现这是一个难以计算的任务。
本文引入了动态规划的方法,类似于hmm中的前后向算法,如下:
一个序列$q$,长度为$r$,记为$q_{1:p}$ 和$q_{r-p, r}$作为它的最前和最后的$p$的标记。
对一个labeling序列 $l$,定义前向变量$ \alpha _ t (s) = \sum _ {\pi \in N^T:\beta(\pi_{1:t})=l_{1:s}} \prod _ {t ^\prime = 1} ^ t y _ {\pi _ {t ^ \prime}} ^ {t ^ \prime} $
(前s个label由前t个观察序列生成的概率,应该s<=t)
对序列在处理一下对序列$l$前后及中间增加一个blank,则$l-> l^\prime,长度为2|l|+1$
(此时应该$s< |l^\prime| - 2(T-t)-1$)
则有以下等式成立
$$
\alpha 1 (1) = y_b ^ 1 \
\alpha _ 1 (2) = y
{l _ 1} ^ 1 \
\alpha _ 1 (s) = 0, {\forall s > 2}
$$
并且有递归形式如下:
\begin{equation}
\alpha_t(s) =
\begin{cases}
(\alpha_{t-1}(s) + \alpha_{t - 1}(s - 1))y_{l_s ^ \prime} ^ t, & \text {$if \space l ^ \prime _ s = b \space or \space l ^ \prime _ {s - 2} = l _ s ^ \prime$} \
(\alpha_{t-1}(s) + \alpha_{t - 1}(s - 1) + \alpha _ {t - 1} (s - 2)) y_{l_s ^ \prime} ^ t, & \text {otherwise}
\end{cases}
\label{eq:recurrForward}
\end{equation}
其中 $y_k ^ t$是第$k$个单元的在时间$t$时的激活值
即label $k$在时间$t$概率,则有长度$T$的序列关于$L ^ \prime = L \bigcup \{blank\}$概率

解释

状态序列$b,l_1,b,l_2,b,l_3,...,b,l_k,b$

  1. 当前状态为blank
    则当前状态可以由 前一个状态是blank($\alpha _{t - 1} (s)$)或者前一个状态是状态序列中的前一个状态($\alpha _{t - 1} (s - 1)$转移而来
  2. 当前状态和两步前的状态相同
    则当前状态可以由前一个状态是blank($\alpha _{t - 1} (s)$)和前一个状态跟两步前相同的状态($\alpha _{t - 1} (s - 1)$转移而来
  3. 其余的情况有三条转移途径
    当前状态不为空,而且前两步的状态和当前状态不同
    1. 两步前状态不为空
      则当前状态可以由中间状态为两步前状态,空和当前状态三条路径转移而来。
    2. 两步前状态为空
      则当前状态可以由中间状态为空,中间状态为状态序列中两步前状态和中间状态为当前状态转移而来。

定义前向算法

参考文献

minimum edit distance
Temporal classification Extending the classification paradigm to multivariate time series
Supervised Sequence Labelling with Recurrent Neural Networks 第7章

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容