DNN-HMM语音识别系统
将GMM-HMM过度到DNN-HMM时,只需简单的将GMM替换为DNN即可。但是在GMM-HMM可以进行冷启动,即先给一个初始的对齐,在初始的对齐上,使用Viterbi训练得到一组新的GMM-HMM参数,再进行重新对齐、更新参数,一直循环迭代即可。对于DNN-HMM来说,神经网络的训练依赖于准确的label,在最开始时,并没有一个准确的label,针对DNN的状态对齐,可以将GMM-HMM的对齐应用到DNN-HMM中,也就是先进行一次GMM-HMM的训练,之后再进行DNN-HMM的训练即可。
DNN的三要素为:输入是什么、输出是什么、损失函数是什么。
DNN-HMM语音识别系统训练流程:数据准备、特征提取、单音素训练、三音素训练、对齐、DNN训练、解码。
深度神经网络
前馈神经网络FNN
前馈神经网络结构较为简单,可简单表示为
y
l
=
f
(
W
l
x
+
b
l
)
y_l=f(W_lx+b_l)
yl=f(Wlx+bl),其中W为权重,b为偏置,x为输入,f为激活函数,y为输出,每一层都有一个这样的表达形式。
实际使用中常用的激活函数有Sigmoid、tanh、ReLU等。
语音识别中计算损失函数时首先要做的是概率归一化,常用的有:Softmax概率归一化,之后进行损失函数的计算,常用的有:交叉熵CE损失函数等。
梯度下降
θ
∗
=
a
r
g
m
i
m
θ
L
(
θ
)
\theta ^* = \underset{\theta}{argmim} L(\theta)
θ∗=θargmimL(θ),其中,L为损失函数,
θ
\theta
θ为NN参数。
θ
∗
=
θ
−
α
∂
L
∂
θ
\theta ^*=\theta-\alpha\frac{\partial L}{\partial \theta}
θ∗=θ−α∂θ∂L,其中,
α
\alpha
α为学习率。
反向传播的基本概念为链式求导法则:
y
=
f
(
x
)
,
z
=
g
(
y
)
,则
d
z
d
x
=
d
z
d
y
d
y
d
x
y=f(x),z=g(y),则\frac{dz}{dx}=\frac{dz}{dy}\frac{dy}{dx}
y=f(x),z=g(y),则dxdz=dydzdxdy。
推荐论文:Context-Dependent Pre-Trained Deep Neural Networks for Large-Vocabulary Speech Recognition。
卷积神经网络CNN
卷积的思想是对两个信号进行平移、点乘、求和,即
(
f
∗
g
)
[
t
]
=
∑
γ
f
(
γ
)
g
(
t
−
γ
)
(f*g)[t]=\sum_{\gamma}f(\gamma)g(t-\gamma)
(f∗g)[t]=∑γf(γ)g(t−γ)。
推荐论文:
Exploring Convolutional Neural Network Structures and Optimization Techniques for Speech Recognition.
A time delay nerual network architecuture for efficient modeling of long temporal contexts.
循环神经网络RNN
循环神经网络基本公式为:
h
t
=
f
(
W
x
h
x
t
+
W
h
h
h
t
−
1
)
h_t=f(W_{xh}x_t+W_{hh}h_{t-1})
ht=f(Wxhxt+Whhht−1),其中
f
(
.
)
f(.)
f(.)表示激活函数,
W
x
h
W_{xh}
Wxh是
N
×
M
N \times M
N×M的连接前一层的权值矩阵,
W
H
H
W_{HH}
WHH是
N
×
N
N \times N
N×N的连接
t
−
1
t-1
t−1时刻该循环层输出
h
t
−
1
h_{t-1}
ht−1的权值矩阵,
h
t
−
1
h_{t-1}
ht−1是RNN的内部状态。
推荐论文:Long Short-Term Memory Based Recurrent Neural Network Architectures for Large Vocabulary Speech Recognition。
混合神经网络
FNN具有全局特征抽取的优点,CNN具有局部特征抽取、Invariance、有限时序建模能力的优点,RNN具有记忆和时序建模能力的优点。复杂网络基本是以上三种网络的组合,根据任务的特点选择合适的网络。
推荐论文:Convolutional, Long Short-Term Memory, fully connected Deep Neural Networks。