吴恩达第五门-序列模型-第三周7-11学习笔记
3.7注意力模型直观理解
本节视频中主要介绍了注意力模型或者说注意力这种思想。
以RNN神经网络为例,绿色的编码器用来读入整个的句子,记忆整个句子,然后在感知机中传递。而紫色的神经网络会进行解码,生成英文翻译。
对于上图中的这个例子,我们的任务是由法语句子翻译成英语句子。人工翻译不会读入整个的句子,记忆整个句子再去翻译。人工翻译会先翻译出句子的一部分,再看下一部分,并翻译这一部分。由于记忆一整个句子十分困难,人工翻译会一部分一部分地翻译。
我们的编码结构对于短的句子,因为在神经网络中,记忆非常长句子是非常困难的。所以有了注意力模型的出现,使我们的翻译很像人类,一次翻译句子的一部分。
3.8注意力模型
注意力模型在生成句子时,更像是人类翻译。
将法语单词逐个输入到RNN之后,计算前向传播和后向传播的激活值,然后用激活值乘以注意力参数,组合成context,context输入隐藏层S。
a
<
t
,
t
′
>
a^{<t,t^{'}>}
a<t,t′>是你应该花费在
a
<
t
′
>
a^{<t^{'}>}
a<t′>上的注意力的数量,当你尝试去生成第t个输出的翻译词,让我们先把式子写下来,再讨论它是怎么来的。这个式子你可以用来计算
a
<
t
,
t
′
>
a^{<t,t^{'}>}
a<t,t′>,在此之前我们要先计算
e
<
t
,
t
′
>
e^{<t,t^{'}>}
e<t,t′>,关键要用softmax,来确保这些权重加起来等于1。如果你对
t
′
t^{'}
t′求和,比如每一个固定的t值,这些加起来等于1。如果你对
t
′
t^{'}
t′求和,然后优先使用softmax,确保这些值加起来等于1。
3.9语音识别
seq2seq模型在语音识别方面准确性有了很大的提升。本节课中将介绍seq2seq模型是如何应用于处理音频数据的。
我们的输入x是一个音频片段,任务是要据此生成一段文本y。一个麦克风的作用是测量出其周围的微小的气压变化,而人之所以能听到我的声音,是因为人的耳朵能够探测到这些微小的气压变化,上图中的波形图就是一种对音频特征的描述方式。
应用注意力模型
我们可以使用上堂课中学习到的注意力模型。我们要做的就是在横轴上,也就是在输入音频的不同时间帧上,用一个注意力模型,来输出文本描述,如"the quick brown fox",或者其他语音内容。
应用CTC损失函数
用于语音识别的模型往往深度很深,要输入的时间步数量往往要远多于输出的时间步数量。比如我们输入的是一段10秒的音频,并且每秒有100个样本,于是这段10秒的音频片段就会有1000个输入,但输出并没有1000个字母了,或者说没有1000个字符。
CTC损失函数允许RNN生成这样的输出:ttt,这是一个特殊的字符,叫做空白符,我们这里用下划线表示,这句话开头的音可表示为h_eee_ _ ,然后这里可能有个空格,我们用这个来表示空格,之后是 _ qqq_,这样的输出也被看做是正确的输出。下面这段输出对应的是"the q"。CTC损失函数的一个基本规则是将空白符之间的重复的字符折叠起来,再说清楚一些,我这里用下划线来表示这个特殊的空白符,它和空格是不一样的。所以the和quick之间有一个空格符,所以我要输出一个空格,通过把用空白符所分割的重复的字符折叠起来,然后我们就可以把这段序列折叠成"the q"。这样一来你的神经网络因为有很多这种重复的字符,和很多插入在其中的空白符,所以最后我们得到的文本会短上很多。
3.10触发字检测
上图中给出了一些触发字系统的例子,它们可以被特定的声音指令唤醒并执行某些任务。
介绍一个能够使用的触发字检测算法,我们要使用RNN结构。先将一个音频片段计算出其对应的声谱图特征得到特征向量
x
<
1
>
,
x
<
2
>
,
x
<
3
>
x^{<1>},x^{<2>},x^{<3>}
x<1>,x<2>,x<3>等,将其放入RNN中。最后定义目标标签y。假如音频片段中的这一点是某人刚刚说完一个触发字,比如"Alexa",或者"小度你好" 或者"Okay Google",那么在这一点之前,你就可以在训练集中把目标标签都设为0,然后在这个点之后把目标标签设为1。。这样的标签方案对于RNN来说是可行的,并且确实运行得非常不错。不过该算法一个明显的缺点就是它构建了一个很不平衡的训练集,0的数量比1多太多了。
这里还有一个解决方法,虽然听起来有点简单粗暴,但确实能使其变得更容易训练。比起只在一个时间步上去输出1,其实你可以在输出变回0之前,多次输出1,或说在固定的一段时间内输出多个1。这样的话,就稍微提高了1与0的比例,这确实有些简单粗暴。在音频片段中,触发字刚被说完之后,就把多个目标标签设为1,这里触发字又被说了一次。说完以后,又让RNN去输出1。
3.11结论和致谢
大吉大利,深度学习。