原创: Lebhoryi@rt-thread.com
时间: 2020/04/11
文章目录
0x00 Paper
0x01 为了解决什么问题
-
为了用户能够自定义他们自己的关键词而不用
retrain
整个model -
之前的训练的
model
需要提前知道关键词和固定的关键词训练集
之前的模型的损失方式有三种:
- 交叉熵
- CTC
- a max-pooling loss
0x02 提出了哪些创新点
-
量化LSTM的方法
-
设计了CTC训练结果的置信度
-
提出了一个更快的解码方式,除了pruning,比跳帧还快
-
和不同的方式做一个结果比较
- LVCSR
- keyword-filler
- CTC
0x03 文章body
第二节介绍了网络架构和量化训练的方式
第三节介绍了关键词检测机制,置信度和优化器设置
第四节介绍了实验相关
第五节介绍了实验的结果
3.1 第二节 ACOUSTIC MODEL
-
第一部分:多层LSTM
-
输入五帧连续的MFCC特征,每三帧比较一次
-
-
第二部分:量化
-
量化的灵感来源:
- B. Jacob, S. Kligys, B. Chen, M. Zhu, M. Tang, A. Howard, H. Adam,
and D. Kalenichenko, “Quantization and training of neural networks
for efficient integer-arithmetic-only inference,” in Proceedings of the
IEEE Conference on Computer Vision and Pattern Recognition, 2018,
pp. 2704–2713.
- B. Jacob, S. Kligys, B. Chen, M. Zhu, M. Tang, A. Howard, H. Adam,
-
权重在训练之后被量化,量化范围为最大值或者最小值的2的n次幂
-
激活函数在训练期间被量化,固定的范围
-
因为LSTM通常包含了饱和的激活函数,范围在(-1,1),输入也是固定,设为(-4,4)
Using the same fixed range for all activation
function inputs and outputs allows to have a single lookup
table at inference for the sigmoid and the tanh functions,
making the model faster to execute. -
LSTM 包含了很多的额外项,量化参数相同更方便量化操作
-
内部状态 $ c_t $无界,没经过一个step自动加1。如果使用最大最小化量化,将会丢失较大的精度
-
-
-
第三部分:CTC loss 和不同超参下的model测评
-
CTC loss 是端到端的,所以不需要对齐数据(对齐啥?此处存疑)
-
对于长度不一的输入和音素序列,作者是这样处理的
- CTC 增加一个P, P ′ = P U { 空 集 } P' = P U \{空集\} P′=PU{空集}
- 定义一个简单的映射B,$ P’^* -> P^* $,移除重复符号和空白
- 最终的音素序列
-
3.2 第三节 KEYWORD SPOTTING METHOD
- 第一部分:设了一个阈值检测关键词
-
第二部分:两个策略发现更好的关键词序列
-
a greedy approach
发现就归类,始终保持分数最高的置信度,去除重复的
缺点:不能保证输出是最好的关键词,比如
launch my playlist
,关键词是play和playlist,会被检测为play -
a full search
所有的序列都会被考虑到,并选择具有最大累积置信度的不重叠关键字的序列
-
-
第三部分:更高的置信度设计
-
CTC 自带的置信度
缺点:只做了局部的预测
-
长度归一化
the length of the segment is to normalize it by the segment length
-
No-blank normalization
blank的影响较大
-
似然比
关键词和模型预测的序列之间的似然比,1为对应,0为不同
-
Normalization and ratio
没搞清楚,说是长度和空白对模型有影响,好像是将上面的长度归一化和似然比结合了一下,顺便末尾作者提到了No-blank虽然得到了较低的置信度,但是还是几个方法中最可靠的
-
-
第四部分:更快的解码
-
Boundaries subsampling
好像是将三帧一次边界检测改成了两次,仅对后处理有一定的影响
-
Maximum segment length
限定长度而不是最大长度
-
Pruning
丢弃平均负似然对数超过2.5的序列
-
忽略空白帧
-
-
第五部分:在线关键词检测
3.3 第四节 EXPERIMENTAL SETUP
- 数据集:the Librispeech dataset
- 评价指标:
- F1 scores 对于关键词
- ratio 精确匹配到关键词在句中
0x04 other
-
偏向于语言理解系统
spoken language understanding (SLU) systems
-
keyword-filler 框架
filler model 的提出是为了解决长度不一样的问题
同时有一个background model
用来计算关键词和其他词之间的似然比 -
特点:
- 能够自定义关键词
- 足够小,能在微处理器上跑起来
- 实时性
- 高准确率