语音识别食用指南
Posted Debroon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语音识别食用指南相关的知识,希望对你有一定的参考价值。
循环神经网络 RNN
之前描述的全连接神经网络(FCN)和卷积神经网络(CNN),其目标数据的样本是不分先后的。
比如下面这句话:
- 早上好天气,适合(去打球\\睡懒觉)。
既然“天气不错”,那么做出 “去打球” 这个决策的可能性应该高于“睡懒觉”。
为了获取这一类序列特征,在此基础上,具备记忆机制的循环网络模型,逐渐演进到现在,成为更有效的循环神经网络模型(RNN)。
RNN 是一种特别适合识别带有时间先后顺序的数据的算法模型(比如像是文本、语音信息,还有一些具有前后因果关系的图像数据)。
我们平常用的很多中英文翻译软件(如微信的语音转文字),就使用到了这个算法。
单层RNN
早上好天气,适合(去打球\\睡懒觉)。
输入到 RNN 中,会被切分成依次排成的序列:
-
[ 早 , 上 , 好 , 天 , 气 , 适 , 合 , ⋅ ⋅ ⋅ ] [早,上,好,天,气,适,合,···] [早,上,好,天,气,适,合,⋅⋅⋅]
-
[ x 1 , x 2 , ⋅ ⋅ ⋅ , x t ] [x_{1},x_{2},···,x_{t}] [x1,x2,⋅⋅⋅,xt]
P.S. 如果有做分词的,那 x 1 x_{1} x1 对应的不是一个字,而是一个词。
- 输出: [ 去 , 打 , 球 ] [去,打,球] [去,打,球]
上图中,
h
t
h_{t}
ht 组成的一条竖线,称为一个 “时间步”。
- h t h_{t} ht:第 t 层元素的激活值(a)
- x t x_{t} xt:第 t 个元素
- W h x W_{hx} Whx:x 作为输入来计算 h 时的参数
- W h h W_{hh} Whh:上一步 h 作为输入来计算 h 时的参数
- W h y W_{hy} Why:上一步 h 作为输入来计算 y 时的参数
- h 0 h_{0} h0:一般初始化为零向量,是人为添加的
- h 1 = f ( W h x x 1 + W h h h 0 + b ) h_{1}=f(W_{hx}x_{1}+W_{hh}h_{0}+b) h1=f(Whxx1+Whhh0+b)
- h 2 = f ( W h x x 2 + W h h h 1 + b ) h_{2}=f(W_{hx}x_{2}+W_{hh}h_{1}+b) h2=f(Whxx2+Whhh1+b)
- ···
- h t = f ( W h x x t + W h h h t − 1 + b ) h_{t}=f(W_{hx}x_{t}+W_{hh}h_{t-1}+b) ht=f(Whxxt+Whhht−1+b)
- y t = W h y h t + b y y_{t}=W_{hy}h_{t}+b_{y} yt=Whyht+by
第 1 次处理过程输入是 h 0 、 x 1 h_{0}、x_{1} h0、x1,得到激活值 h 1 h_{1} h1。
第 2 次处理过程输入是 h 1 、 x 2 h_{1}、x_{2} h1、x2,得到激活值 h 2 h_{2} h2。
也就是说,网络再对第 2 个字( x 2 x_{2} x2)预测的时候,会参考第 1 个字( x 1 x_{1} x1)的信息。
这样一次处理过程,也叫一个时间步,每次输入不同,但后一个时间步的输入是前一个时间步的输出。
双向RNN
如果遇到,下文反过来推理上文的场景就需要双向 RNN,例如:
- 早上难得好天气,适合(去打球/睡懒觉),可别叫醒我。
综合上下文,既然有 “别叫醒我” 跟在后面,显然 “睡懒觉” 的可能性大幅提高。
在这一类需要结合上下文,在正序、倒序两个方向上做推理的场景中,可以通过双向 RNN 结构,加入逆向推理机制。
- h i h_{i} hi:表示正向
- h i ′ h'_{i} hi′:表示反向
同正方向序列上的权值参数一样,逆序列也有权参 W h x ′ 、 W h h ′ 、 W h y ′ W'_{hx}、W'_{hh}、W'_{hy} Whx′、Whh′、Why′,相应的参数量和隐藏节点个数扩展到单向模型的两倍。
俩者的区别只在于,计算激活值的方向不同, h i h_{i} hi 是从 1 1 1 到 t t t, h i ′ h'_{i} hi′ 是从 t t t 到 i i i。
- h t ′ = f ( W h x ′ x t + W h h ′ h t − 1 ′ + b ′ ) h'_{t}=f(W'_{hx}x_{t}+W'_{hh}h'_{t-1}+b') ht′=f(Whx′xt+Whh′ht−1′+b′)
- ···
-
h
2
′
=
f
(
W
h
x
′
x
2
+
W
h
h
′
h
1
′
+
b
′
)
h'_{2}=f(W'_{hx}x_{2}+W'_{hh}h'_{1}+b')
h
以上是关于语音识别食用指南的主要内容,如果未能解决你的问题,请参考以下文章