动态时间规整DTW
动态时间规整DTW(dynamic time warping)曾经是语音识别的一种主流方法。
其思想是:由于语音信号是一种具有相当大随机性的信号,即使相同说话者对相同的词,每一次发音的结果都是不同的,也不可能具有完全相同的时间长度。因此在与已存储模型相匹配时,未知单词的时间轴要不均匀地扭曲或弯折,以使其特征与模板特征对正。用时间规整手段对正是一种非常有力的措施,对提高系统的识别精度非常有效。
动态时间规整DTW是一个典型的优化问题,它用满足一定条件的的 时间规整函数W(n)描述输入模板和参考模板的时间对应关系,求解两模板匹配时累计距离最小所对应的规整函数。
将时间规整与距离测度结合起来,采用动态规划技术,比较两个大小不同的模式,解决语音识别中语速多变的难题;
一种非线性时间规整模式匹配算法;
DTW ( Dynamic Time Warping ),即「动态时间扭曲」或是「动态时间规整」。这是一套根基于「动态规划」(Dynamic Programming,简称DP)的方法,可以有效地将搜寻比对的时间大幅降低。
DTW 的目标就是要找出两个向量之间的最短距离。一般而言,对于两个 n 维空间中的向量 x 和 y,它们之间的距离可以定义为两点之间的直线距离,称为尤拉距离(Euclidean Distance)。
dist(x, y) = |x – y| ,
但是如果向量的长度不同,那它们之间的距离,就无法使用上述的数学式來计算。一般而言,假設这两个向量的元素位置都是代表时间,由于我们必須容忍在时间轴的偏差,因此我们並不知道两个向量的元素对应关系,因此我们必須靠着一套有效的运算方法,才可以找到最佳的对应
关系。
DTW是用于与说话人有关(Speaker Dependent)的语音识别,使用者自行录音然后再以自己的声音來比对之前录好的语音资料。
此方法比較适合同一位说话人的声音來进行比較,因此应用范围比较狭隘,譬如目前手机 Name Dialing 等等。
DTW的问题:
运算量大;
识别性能过分依赖于端点检测;
太依赖于说话人的原来发音;
不能对样本作动态训练;
没有充分利用语音信号的时序动态特性;
DTW适合于特定人基元较小的场合,多用于孤立词识别;
动态规划算法总体思想
动态规划算法基本思想是将待求解问题分解成若干个子问题
但是经分解得到的子问题往往不是互相独立的。不同子问题的数目常常只有多项式量级。求解时,有些子问题被重复计算了许多次。
如果能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,就可以避免大量重复计算,从而得到多项式时间算法。
动态规划基本步骤
v找出最优解的性质,并刻划其结构特征。
v递归地定义最优值。
v以自底向上的方式计算出最优值。
v根据计算最优值时得到的信息,构造最优解