一种基于表面肌电信号的无声语音解码方法



1.本发明涉及肌电信号处理及自然语言处理领域,特别涉及一种基于表面肌电信号的无声语音解码方法,主要应用于准确、自然的无声语音识别。


背景技术:



2.语音能够承载并传递一定有意义的语义信息,是人类自然且有效的沟通途径。近年来,随着计算机科学技术的飞速发展,自动语音识别系统作为一种极具吸引力的人机交互方式备受关注。自动语音识别技术通过计算机能够实现语音信号到文本信息的转换。通过将语音识别接口集成到手机、音箱、汽车等智能设备中,自动语音识别技术广泛应用于人们的日常生活中。然而,这种技术在实际应用中仍然面临着一些挑战。首先,在恶劣的声学环境下,即存在环境噪声时,该技术的性能将受到影响;其次,该技术在维护通信隐私与安全方面存在问题;最后,该技术不适用于有语言障碍的人。从本质上讲,语音是由与发音相关的关节肌肉的神经肌肉活动产生的。而表面肌电信号(surface electromyography,semg)因其无创、便捷、能够反映神经肌肉系统相关活动信息的优点,在无声语音识别的实际应用中展现出巨大的潜力。
3.在过去的研究中,已经有多种方法被提出并成功应用于基于semg的无声语音识别。最初,研究者使用一些简单的模式识别算法对采集的孤立词的semg信号进行分类,具体包括:线性判别分析(linear discriminant analysis,lda)、k最近邻法(k-nearest neighbor,knn)、线性贝叶斯正态(linear bayes normal,lbn)、支持向量机(support vector machine,svm)、随机森林(random forest,rf)、隐马尔科夫模型(hidden markov model,hmm)等。近年来,随着深度学习的发展,一些先进的神经网络也被应用于规模较小的孤立词语料库以实现无声语音识别,例如卷积神经网络(convolutional neural network,cnn)、循环神经网络(recurrent neural network,rnn)和长短期记忆网络(long short-term memory,lstm)等,并取得不错的效果。
4.然而,这些基于semg信号的无声语音识别研究大多都是对有限数量的孤立词进行模式分类。它只是建立了semg信号的活动模式与单词标签之间的简单映射,并不能很好地理解单词中包含的语义信息。事实上,语音交流应该是连贯的,且包含着丰富的语义信息,通常以短语或者句子的形式出现。换句话说,一个自然的、具有实用性的无声语音识别系统应该能够准确高效地从semg的活动模式中细粒度地解码出其中包含的语义信息,而不仅仅是对孤立词的简单分类。因此,上述基于孤立词的无声语音识别方法很难满足实际语音交流的需求。


技术实现要素:



5.本发明为了克服现有基于semg的无声语音识别技术的不足之处,提出一种基于表面肌电信号的无声语音解码方法,以期能从semg的活动模式中解码出词或短语中更次级的结构,从而更好地理解semg的活动模式中包含的语义信息,以实现准确、自然的基于semg的
无声语音识别。
6.本发明为解决技术问题,采用如下技术方案:
7.本发明一种基于表面肌电信号的无声语音解码方法的特点在于,包括:
8.步骤1、构建无声语音表面肌电数据集d:
9.构建一个包含r个中文短语的语料库e={e1,

,ev,

,er},其中,ev表示所述语料库中第v个中文短语,第v个中文短语ev由一个包含l个不同音节的字典生成;利用柔性高密度电极阵列和多通道信号转换设备采集用户无声发音所述语料库的表面肌电信号数据,然后将表面肌电信号数据分成不重叠的帧,并分别提取每帧的时域特征,从而得到m个肌电信号特征样本,并记为数据集d={(x1,y1),(x2,y2),...,(xi,yi),...,(xm,ym)},其中,xi表示第i个肌电信号特征样本,且第i个肌电信号特征样本,且代表第i个肌电信号特征样本xi中第t帧的特征向量,ni表示第i个肌电信号特征样本xi包含的帧数,d
model
为特征向量的维度;yi表示第i个肌电信号特征样本xi的音节序列标签,且的音节序列标签,且的音节序列标签,且代表音节序列标签yi中的第j个音节的标签,且{1,2,

,c,

,l},l表示所述字典中音节的总类别数,c表示所述字典中第c个音节类别,mi表示音节序列标签yi中包含的总音节数;
10.步骤2、构建一个基于transformer模型的解码网络,包括:编码器、解码器、一个全连接层、一个softmax层和一个相似度计算模块
11.其中,所述编码器由n个相同的编码模块堆叠组成;每个编码模块包含一个多头注意力层、一个位置前馈网络层、两个残差连接层和两个层归一化层;
12.所述解码器由n个相同的解码模块堆叠组成;每个解码模块包含一个带掩码的多头注意力层,一个多头注意力层,一个位置前馈网络层,三个残差连接层和三个层归一化层;
13.步骤2.1、编码器的处理:
14.步骤2.1.1、定义并初始化变量s=1,定义并初始化第s个编码模块的输入xs=xi;
15.步骤2.1.2、所述第s个编码模块中的多头注意力层根据输入xs,利用式(1)-式(6)得到第s个编码模块的多头注意力层的输出矩阵
16.ds=d
model
/hsꢀꢀꢀ
(1)
[0017][0018][0019][0020][0021][0022]
式(1)-式(6)中,ds为所述第s个编码模块中的多头注意力层的每个注意力头的维数;hs为所述第s个编码模块中的多头注意力层包含的头数;q
h,s
为所述第s个编码模块中的多头注意力层的第h个注意力头的查询矩阵、k
h,s
为所述第s个编码模块中的多头注意力层
的第h个注意力头的键值矩阵、v
h,s
为所述第s个编码模块中的多头注意力层的第h个注意力头的内容矩阵;表示所述第s个编码模块中的多头注意力层的第h个注意力头的查询权值矩阵,表示所述第s个编码模块中的多头注意力层的第h个注意力头的键值权值矩阵,表示所述第s个编码模块中的多头注意力层的第h个注意力头的内容权值矩阵,且表示所述第s个编码模块中的多头注意力层的第h个注意力头的内容权值矩阵,且head
h,s
表示所述第s个编码模块中的多头注意力层的第h个注意力头的输出结果;concat表示拼接操作;ws表示所述第s个编码模块中的多头注意力层的权值矩阵,且
[0023]
步骤2.1.3、所述第s个编码模块中的一个残差连接层和一个层归一化层利用式(7)对所述第s个编码模块的多头注意力层的输出矩阵进行处理,并得到输出矩阵
[0024][0025]
式(7)中,layernorm表示残差连接操作;
[0026]
步骤2.1.4、所述第s个编码模块中的位置前馈网络层利用式(8)对所述输出矩阵进行处理,得到输出矩阵
[0027][0028]
式(8)中,δ(
·
)为线性激活函数,σ(
·
)为relu激活函数;
[0029]
步骤2.1.5、所述第s个编码模块中的另一个残差连接层和另一个层归一化层利用式(9)对进行处理,得到第s个编码模块的输出矩阵
[0030][0031]
步骤2.1.6、若s≥n,则得到编码器的输出否则,s+1赋值给s,并令后,返回步骤2.1.2顺序执行;
[0032]
步骤2.2、解码器的处理:
[0033]
步骤2.2.1、定义并初始化变量q=1,定义并初始化第q个解码模块的输入步骤2.2.1、定义并初始化变量q=1,定义并初始化第q个解码模块的输入其中,emb表示词嵌入;
[0034]
步骤2.2.2、所述第q个解码模块中的带掩码的多头注意力层利用式(10)-式(15)对输入yq进行处理,得到第q个解码模块的多头注意力层的输出矩阵
[0035]dq
=d
model
/lqꢀꢀꢀ
(10)
[0036][0037][0038][0039]
[0040][0041]
式(10)-式(15)中,dq为所述第q个解码模块中的带掩码的多头注意力层的每个注意力头的维数;lq为所述第q个解码模块中的带掩码的多头注意力层包含的头数;q
l,q
为所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的查询矩阵、k
l,q
为所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的键值矩阵、v
l,q
为所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的内容矩阵;表示所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的查询权值矩阵,表示所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的键值权值矩阵,表示所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的内容权值矩阵,且解码模块中的带掩码的多头注意力层的第l个注意力头的内容权值矩阵,且解码模块中的带掩码的多头注意力层的第l个注意力头的内容权值矩阵,且为一个上三角矩阵,且headl
,q
表示所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的输出结果;concat表示拼接操作;wq表示所述第q个解码模块中的带掩码的多头注意力层的权值矩阵,且
[0042]
步骤2.2.3、所述第q个解码模块中的第一个残差连接层和第一个层归一化层利用式(16)对所述第q个解码模块中的带掩码的多头注意力层的输出矩阵进行处理,并得到输出矩阵
[0043][0044]
步骤2.2.4、所述第q个解码模块中的另一个多头注意力层利用式(17)-式(19)对和编码器的输出进行处理,并得到输出矩阵
[0045]d′q=d
model
/uqꢀꢀꢀ
(17)
[0046][0047][0048]
式(17)-式(19)中,d'q为所述第q个解码模块中的另一个多头注意力层的每个注意力头的维数;uq为所述第q个解码模块中的另一个多头注意力层包含的头数;head
u,q
表示所述第q个解码模块中的另一个多头注意力层的第u个注意力头的输出结果;w'q为所述第q个解码模块中的另一个多头注意力层的权值矩阵,且
[0049]
步骤2.2.5、所述第q个解码模块中的第二个残差连接层和第二个层归一化层利用式(20)对所述第q个解码模块中的另一个多头注意力层的输出矩阵进行处理,并得到输出矩阵
[0050]
[0051]
步骤2.2.6、所述第q个解码模块中的位置前馈网络层利用式(21)对所述输出矩阵进行处理,得到输出矩阵
[0052][0053]
步骤2.2.7、所述第q个解码模块中的第三个残差连接层和第三个层归一化层利用式(22)对所述第q个解码模块中的位置前馈网络层的输出矩阵进行处理,并得到输出矩阵阵
[0054][0055]
步骤2.2.8、若q≥n,则得到解码器的输出否则,q+1赋值给q,并令后,返回步骤2.2.2顺序执行;
[0056]
步骤2.3、所述解码器的输出依次经过一个全连接层和一个softmax层的处理后得到第i个肌电信号特征样本xi的音节序列预测标签的类别概率矩阵
[0057]
步骤2.4、将所述第i个肌电信号特征样本xi的音节序列预测标签的类别概率矩阵pi通过argmax函数得到第i个肌电信号特征样本xi的音节序列预测标签然后利用一个相似度计算模块对所述第i个肌电信号特征样本xi的音节序列预测标签进行处理,得到第i个肌电信号特征样本xi的中文短语预测结果且e={e1,

,ev,

,er};
[0058]
步骤3、利用式(23)计算交叉熵损失loss,并利用adam优化器训练更新所述基于transformer模型的解码网络的权重参数,并在迭代次数达到最大迭代次数step
num
时或损失函数loss达到最小时,停止训练,从而得到训练后的最优解码网络模型,用于对输入的肌电信号进行音节级别的解码,以实现无声语音识别;
[0059][0060]
式(23)中,p
j,c
表示所述第i个肌电信号特征样本xi的音节序列预测标签的类别概率矩阵pi中的第j个音节属于类别c的预测概率;y
j,c
为符号函数,若所述第i个肌电信号特征样本xi的音节序列预测标签的类别概率矩阵pi中第j个音节的真实类别为c,则令y
j,c
=1,否则,令y
j,c
=0。
[0061]
本发明所述的一种基于表面肌电信号的无声语音解码方法的特点也在于,所述步骤2.4中的相似度计算模块是利用式(24)-式(26)对第i个肌电信号特征样本xi的音节序列预测标签进行处理,得到第i个肌电信号特征样本xi的中文短语预测结果
[0062][0063][0064][0065]
式(24)-式(26)中,表示第i个肌电信号特征样本xi的音节序列预测标签与所述语料库e中第v个中文短语ev的相似度,为所述语料库e中第v个中文短语ev包含
的音节数,n
same
是第i个肌电信号特征样本xi的音节序列预测标签和所述语料库e中第v个中文短语ev中相同音节的个数;max{
·
}表示取最大值函数,ew表示所述语料库e中与第i个肌电信号特征样本xi的音节序列预测标签相似度最高的中文短语。
[0066]
与现有的技术相比,本发明能够取得最低的解码字错误率和最优的短语识别准确率,且能够从自然语言的角度刻画semg的活动模式中包含的语义信息,具体的有益效果体现在:
[0067]
1、本发明采用一种新型的序列到序列的模型transformer来实现无声语音肌电解码,其利用编码器进一步提取输入的肌电特征序列包含的有用信息,然后解码器再根据这些更高级别的特征向量解码出音节序列。这种编码器-解码器的结构能够很好地描述semg信号与短语的语义信息之间的关系,而不像分类器,只是简单地将semg信号的模式映射为单一的短语标签,从而为无声语音识别提供了一种自然、有效的实现方案。
[0068]
2、本发明中采用的多头注意力层,是一种自注意力机制,通过计算输入的semg特征序列自身所有帧之间的相关性,即每帧的向量表达包含了其它帧的信息,相关性大的信息量大,相关性小的信息量小,从而对semg信号的全局信息的掌握能力更强,能够注意到最关键的部分,提取更具表现力的序列表示,有助于降低模型解码的字错误率。
[0069]
3、本发明根据语料库,提出一个基于编辑距离的相似度计算模块,对解码的音节序列进一步微调,使其更加的符合语言规范,能够达到自然语言的水平,进一步提高了模型的短语识别准确率,从而有利于该模型在肌电控制、缄默通信领域的实际应用。
附图说明
[0070]
图1为本发明实施例提供的模型框架示意图;
[0071]
图2为本发明实施例提供的电极阵列形状规格和贴放位置示意图;
[0072]
图3为本发明实施例提供的无声语音语料库示意图;
[0073]
图4为本发明实施例提供的解码字错误率结果图;
[0074]
图5为本发明实施例提供的短语识别准确率结果图。
具体实施方式
[0075]
本实施例中,一种基于表面肌电信号的无声语音解码方法,如图1所示,其包括如下步骤:
[0076]
步骤1、构建无声语音表面肌电数据集d:
[0077]
构建一个包含r个中文短语的语料库e={e1,

,ev,

,er},其中,ev表示语料库中第v个中文短语,所有的r个中文短语由一个包含l个不同音节的字典生成;利用柔性高密度电极阵列和多通道信号转换设备采集用户无声发音语料库的表面肌电信号数据,然后将表面肌电信号数据分成不重叠的帧,并分别提取每帧的时域特征,从而得到m个肌电信号特征样本,并记为数据集d={(x1,y1),(x2,y2),...,(xi,yi),...,(xm,ym)},其中,xi表示第i个肌电信号特征样本,且电信号特征样本,且代表第i个肌电信号特征样本xi中第t帧的特征向量,ni表示第i个肌电信号特征样本xi包含的帧数,d
model
为特征向量的维度;yi表示第i个肌电信号特征样本xi的音节序列标签,且
代表音节序列标签yi中的第j个音节的标签,且l表示字典中音节的总类别数,c表示字典中第c个音节类别,mi表示音节序列标签yi中包含的总音节数;
[0078]
具体实施中包括,(1)募集s位受试者,引导每位受试者以舒服的姿势端坐在安静的房间内,设备采集受试者面部、颈部相关肌肉的m通道高密度表面肌电信号,阵列电极阵列中单个电极触点的直径为p,电极中心间距为q。示例性的,可以设置:s=8,m=64,p=5mm,q=10mm、15mm、18mm,如图2所示。受试者记为s1-s8。
[0079]
(2)逐一采集受试者无声发音语料库e中r个中文短语时的表面肌电信号,这r个中文短语由一个包含l个不同音节的字典生成,见图3。示例性的,设置r=33,l=82,即语料库e包含33个中文短语,包括82种不同的音节,且所有短语均来自智能家居、机械控制、消防救援等日常应用场景,每个短语的字数为2~6。每个短语被不发声地重复20遍,受试者每两次重复至少间隔3秒,以避免肌肉疲劳带来影响。
[0080]
(3)为了利用解码网络处理序列数据的能力,以及更细粒度地提取原始肌电信号的特征,将每个短语的肌电信号被分割为t个连续的、不重叠的帧,并且t的取值与肌电信号的准平稳性有关,示例性的,t=60。
[0081]
(4)对每帧的肌电信号数据提取特征,得到每个短语的肌电信号特征样本。示例性的,提取平均绝对值(mean absolute value,mav)、波长(waveform length,wl)、斜率符号变化率(slope sign changes,ssc)以及过零率(zero crossing,zc)这四个时域特征。为了更加具体全面地描述每一帧的信息,将每一帧的m个通道的四个时域特征拼接成一个一维向量,因此,d
model
=64*4=256,所以每个肌电信号特征样本xi由一个60
×
256的特征矩阵表示,对应的音节序列标签yi中的每个音节标签
[0082]
步骤2、构建一个基于transformer模型的解码网络,包括:编码器、解码器、一个全连接层、一个softmax层和一个相似度计算模块;
[0083]
其中,编码器由n个相同的编码模块堆叠组成;每个编码模块包含一个多头注意力层、一个位置前馈网络层、两个残差连接层和两个层归一化层;
[0084]
解码器由n个相同的解码模块堆叠组成;每个解码模块包含一个带掩码的多头注意力层,一个多头注意力层,一个位置前馈网络层,三个残差连接层和三个层归一化层;
[0085]
步骤2.1、编码器的处理:
[0086]
步骤2.1.1、定义并初始化变量s=1,定义并初始化第s个编码模块的输入xs=xi;
[0087]
步骤2.1.2、第s个编码模块中的多头注意力层根据输入xs,利用式(1)-式(6)得到第s个编码模块的多头注意力层的输出矩阵
[0088]ds
=d
model
/hsꢀꢀꢀ
(1)
[0089][0090][0091][0092]
[0093][0094]
式(1)-式(6)中,ds为第s个编码模块中的多头注意力层的每个注意力头的维数;hs为第s个编码模块中的多头注意力层包含的头数;q
h,s
为第s个编码模块中的多头注意力层的第h个注意力头的查询矩阵、k
h,s
为第s个编码模块中的多头注意力层的第h个注意力头的键值矩阵、v
h,s
为第s个编码模块中的多头注意力层的第h个注意力头的内容矩阵;表示第s个编码模块中的多头注意力层的第h个注意力头的查询权值矩阵,表示第s个编码模块中的多头注意力层的第h个注意力头的键值权值矩阵,表示第s个编码模块中的多头注意力层的第h个注意力头的内容权值矩阵,且头注意力层的第h个注意力头的内容权值矩阵,且head
h,s
表示第s个编码模块中的多头注意力层的第h个注意力头的输出结果;concat表示拼接操作;ws表示第s个编码模块中的多头注意力层的权值矩阵,且的多头注意力层的权值矩阵,且
[0095]
步骤2.1.3、第s个编码模块中的一个残差连接层和一个层归一化层利用式(7)对第s个编码模块的多头注意力层的输出矩阵进行处理,并得到输出矩阵
[0096][0097]
式(7)中,layernorm表示残差连接;
[0098]
步骤2.1.4、第s个编码模块中的位置前馈网络层利用式(8)对输出矩阵进行处理,得到输出矩阵
[0099][0100]
式(8)中,δ(
·
)为线性激活函数,σ(
·
)为relu激活函数;
[0101]
步骤2.1.5、第s个编码模块中的另一个残差连接层和另一个层归一化层利用式(9)对进行处理,得到第s个编码模块的输出矩阵
[0102][0103]
步骤2.1.6、若s≥n,则得到编码器的输出否则,s+1赋值给s,并令后,返回步骤2.1.2顺序执行;
[0104]
步骤2.2、解码器的处理:
[0105]
步骤2.2.1、定义并初始化变量q=1,定义并初始化第q个解码模块的输入步骤2.2.1、定义并初始化变量q=1,定义并初始化第q个解码模块的输入其中,emb表示词嵌入;
[0106]
步骤2.2.2、第q个解码模块中的带掩码的多头注意力层利用式(10)-式(15)对输入yq进行处理,得到第q个解码模块的多头注意力层的输出矩阵
[0107]dq
=d
model
/lqꢀꢀꢀ
(10)
[0108][0109][0110]
[0111][0112][0113]
式(10)-式(15)中,dq为第q个解码模块中的带掩码的多头注意力层的每个注意力头的维数;lq为第q个解码模块中的带掩码的多头注意力层包含的头数;q
l,q
为第q个解码模块中的带掩码的多头注意力层的第l个注意力头的查询矩阵、k
l,q
为第q个解码模块中的带掩码的多头注意力层的第l个注意力头的键值矩阵、v
l,q
为第q个解码模块中的带掩码的多头注意力层的第l个注意力头的内容矩阵;表示第q个解码模块中的带掩码的多头注意力层的第l个注意力头的查询权值矩阵,表示第q个解码模块中的带掩码的多头注意力层的第l个注意力头的键值权值矩阵,表示第q个解码模块中的带掩码的多头注意力层的第l个注意力头的内容权值矩阵,且的第l个注意力头的内容权值矩阵,且为一个上三角矩阵,且head
l,q
表示第q个解码模块中的带掩码的多头注意力层的第l个注意力头的输出结果;concat表示拼接操作;wq表示第q个解码模块中的带掩码的多头注意力层的权值矩阵,且
[0114]
步骤2.2.3、第q个解码模块中的第一个残差连接层和第一个层归一化层利用式(16)对第q个解码模块中的带掩码的多头注意力层的输出矩阵进行处理,并得到输出矩阵阵
[0115][0116]
步骤2.2.4、第q个解码模块中的另一个多头注意力层利用式(17)-式(19)对和编码器的输出进行处理,并得到输出矩阵
[0117]d′q=d
model
/uqꢀꢀꢀ
(17)
[0118][0119][0120]
式(17)-式(19)中,d'q为第q个解码模块中的另一个多头注意力层的每个注意力头的维数;uq为第q个解码模块中的另一个多头注意力层包含的头数;head
u,q
表示第q个解码模块中的另一个多头注意力层的第u个注意力头的输出结果;w'q为第q个解码模块中的另一个多头注意力层的权值矩阵,且
[0121]
步骤2.2.5、第q个解码模块中的第二个残差连接层和第二个层归一化层利用式(20)对第q个解码模块中的另一个多头注意力层的输出矩阵进行处理,并得到输出矩阵
[0122][0123]
步骤2.2.6、第q个解码模块中的位置前馈网络层利用式(21)对输出矩阵进行处理,得到输出矩阵
[0124][0125]
步骤2.2.7、第q个解码模块中的第三个残差连接层和第三个层归一化层利用式(22)对第q个解码模块中的位置前馈网络层的输出矩阵进行处理,并得到输出矩阵进行处理,并得到输出矩阵
[0126][0127]
步骤2.2.8、若q≥n,则得到解码器的输出否则,q+1赋值给q,并令后,返回步骤2.2.2顺序执行;
[0128]
步骤2.3、解码器的输出依次经过一个全连接层和一个softmax层的处理后得到第i个肌电信号特征样本xi的音节序列预测标签的类别概率矩阵
[0129]
步骤2.4、将第i个肌电信号特征样本xi的音节序列预测标签的类别概率矩阵pi通过argmax函数得到第i个肌电信号特征样本xi的音节序列预测标签然后利用一个相似度计算模块对第i个肌电信号特征样本xi的音节序列预测标签进行处理,得到第i个肌电信号特征样本xi的中文短语预测结果且e={e1,

,ev,

,er};
[0130]
本实施例中,步骤2中编码器用于进一步提取输入的肌电特征数据中更具表现力的序列表示,解码器利用编码器的输出以及音节序列标签来学习肌电特征序列与音节序列标签的对应关系,从而在解码时能够准确高效地给出音节的预测值,它们所包含的编码或解码模块个数直接影响到模型的性能,由于本实验中采用的不是大规模数据集,因此编码或解码模块的个数需要设置的偏小一点,示例性的,n=4;步骤2.1.2中,编码模块中多头注意力的每一个注意力头会关注到肌电特征数据的不同部分,各司其职,从而使得这种自注意力机制发挥地更好,若头数过少则会丢失部分重要信息,因此需要设置较为适中的头数。所有的编码模块都是相同的结构,即每个编码模块中的多头注意力层的头数都是相同的,示例性的,hs=4,则ds=64;步骤2.2.2中,解码模块中带掩码的多头注意力层能够保证解码器在解码当前时刻时只能关注到之前的所有输出,而不会提前知晓未来的信息,符合实际应用时的预测规律。所有的解码模块都是相同的结构,即每个解码模块中的带掩码的多头注意力层的头数都是相同的,示例性的,hq=4,则dq=64;步骤2.2.4中,解码模块另一个多头注意力层用来计算编码器与解码器之间的注意力关系,因此其查询矩阵的初始值为解码模块自身上一步的输出,键值矩阵和内容矩阵都等于编码器的输出。每个解码模块中的另一个多头注意力层的头数都是相同的,示例性的,uq=4,则d'q=64。
[0131]
步骤3、利用式(23)计算交叉熵损失loss,并利用adam优化器训练更新基于transformer模型的解码网络的权重参数,并在迭代次数达到最大迭代次数step
num
时或损失函数loss达到最小时,停止训练,从而得到训练后的最优解码网络模型,用于对输入的肌电信号进行音节级别的解码,以实现无声语音识别;
[0132][0133]
式(23)中,p
j,c
表示第i个肌电信号特征样本xi的音节序列预测标签的类别概率矩阵pi中的第j个音节属于类别c的预测概率;y
j,c
为符号函数,若第i个肌电信号特征样本xi的音节序列预测标签的类别概率矩阵pi中第j个音节的真实类别为c,则令y
j,c
=1,否则,令y
j,c
=0。
[0134]
本实施实例中,将数据集d按照3:1:1划分为训练集、验证集、测试集,训练时adam优化器的初始学习率过大会导致模型损失震荡,过小会陷入局部最优,示例性的,设置初始学习率γ=6
×
10-5
,指数衰减率β1=0.9,β2=0.98,最大迭代次数step
num
=100。
[0135]
为了量化评估本发明的效果,通过8位测试用户(记为s1-s8)将本发明方法(transformer decoder)与一般的序列到序列的解码方法以及传统的分类方法进行比较。
[0136]
对比实验中,一般的序列到序列解码方法采用的是基于lstm的编码器-解码器模型,记为lstm decoder,训练数据集和测试数据集与本发明方法相同。图4为上述lstm decoder解码方法与本发明方法的解码字错误率结果图,上述lstm decoder方法的平均字错误率为12.04
±
5.82%,本发明方法平均字错误率为5.14
±
3.28%,明显优于一般的序列到序列解码方法。此外,我们又将本发明方法与基于cnn和lstm的分类器在短语识别准确率上做了比较,分别记为cnn classifier和lstm classifier,图5为上述两种分类方法和本发明方法短语识别准确率对比结果图。cnn分类器平均识别准确率为88.89
±
7.93%,lstm分类器的平均识别准确率为91.44
±
4.09%,而本发明方法平均识别准确率达到96.37
±
2.06%,显著提升了短语的识别精度,明显优于两种分类方法。
[0137]
综上所述,本发明能够克服传统的利用分类方法进行无声语音识别不够自然、实用的缺点,系统能够更细粒度地挖掘表面肌电信号中包含的语义信息,并利用根据语料库建立的语言模型进一步使解码的音节序列更加符合语言规范,以降低模型的解码错误率。本发明方法明显优于一般的序列到序列的解码方法和分类方法,对于无声语音识别系统的实际应用具有重要意义。
[0138]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

技术特征:


1.一种基于表面肌电信号的无声语音解码方法,其特征在于,包括:步骤1、构建无声语音表面肌电数据集d:构建一个包含r个中文短语的语料库e={e1,

,e
v
,

,e
r
},其中,e
v
表示所述语料库中第v个中文短语,第v个中文短语e
v
由一个包含l个不同音节的字典生成;利用柔性高密度电极阵列和多通道信号转换设备采集用户无声发音所述语料库的表面肌电信号数据,然后将表面肌电信号数据分成不重叠的帧,并分别提取每帧的时域特征,从而得到m个肌电信号特征样本,并记为数据集d={(x1,y1),(x2,y2),...,(x
i
,y
i
),...,(x
m
,y
m
)},其中,x
i
表示第i个肌电信号特征样本,且肌电信号特征样本,且代表第i个肌电信号特征样本x
i
中第t帧的特征向量,n
i
表示第i个肌电信号特征样本x
i
包含的帧数,d
model
为特征向量的维度;y
i
表示第i个肌电信号特征样本x
i
的音节序列标签,且的音节序列标签,且的音节序列标签,且代表音节序列标签y
i
中的第j个音节的标签,且中的第j个音节的标签,且l表示所述字典中音节的总类别数,c表示所述字典中第c个音节类别,m
i
表示音节序列标签y
i
中包含的总音节数;步骤2、构建一个基于transformer模型的解码网络,包括:编码器、解码器、一个全连接层、一个softmax层和一个相似度计算模块;其中,所述编码器由n个相同的编码模块堆叠组成;每个编码模块包含一个多头注意力层、一个位置前馈网络层、两个残差连接层和两个层归一化层;所述解码器由n个相同的解码模块堆叠组成;每个解码模块包含一个带掩码的多头注意力层,一个多头注意力层,一个位置前馈网络层,三个残差连接层和三个层归一化层;步骤2.1、编码器的处理:步骤2.1.1、定义并初始化变量s=1,定义并初始化第s个编码模块的输入x
s
=x
i
;步骤2.1.2、所述第s个编码模块中的多头注意力层根据输入x
s
,利用式(1)-式(6)得到第s个编码模块的多头注意力层的输出矩阵d
s
=d
model
/h
s
ꢀꢀꢀ
(1)(1)(1)(1)(1)式(1)-式(6)中,d
s
为所述第s个编码模块中的多头注意力层的每个注意力头的维数;h
s
为所述第s个编码模块中的多头注意力层包含的头数;q
h,s
为所述第s个编码模块中的多头注意力层的第h个注意力头的查询矩阵、k
h,s
为所述第s个编码模块中的多头注意力层的第h个注意力头的键值矩阵、v
h,s
为所述第s个编码模块中的多头注意力层的第h个注意力头的内容矩阵;表示所述第s个编码模块中的多头注意力层的第h个注意力头的查询权值矩
阵,表示所述第s个编码模块中的多头注意力层的第h个注意力头的键值权值矩阵,表示所述第s个编码模块中的多头注意力层的第h个注意力头的内容权值矩阵,且表示所述第s个编码模块中的多头注意力层的第h个注意力头的内容权值矩阵,且head
h,s
表示所述第s个编码模块中的多头注意力层的第h个注意力头的输出结果;concat表示拼接操作;w
s
表示所述第s个编码模块中的多头注意力层的权值矩阵,且步骤2.1.3、所述第s个编码模块中的一个残差连接层和一个层归一化层利用式(7)对所述第s个编码模块的多头注意力层的输出矩阵进行处理,并得到输出矩阵进行处理,并得到输出矩阵式(7)中,layernorm表示残差连接操作;步骤2.1.4、所述第s个编码模块中的位置前馈网络层利用式(8)对所述输出矩阵进行处理,得到输出矩阵理,得到输出矩阵式(8)中,δ(
·
)为线性激活函数,σ(
·
)为relu激活函数;步骤2.1.5、所述第s个编码模块中的另一个残差连接层和另一个层归一化层利用式(9)对进行处理,得到第s个编码模块的输出矩阵进行处理,得到第s个编码模块的输出矩阵步骤2.1.6、若s≥n,则得到编码器的输出否则,s+1赋值给s,并令后,返回步骤2.1.2顺序执行;步骤2.2、解码器的处理:步骤2.2.1、定义并初始化变量q=1,定义并初始化第q个解码模块的输入步骤2.2.1、定义并初始化变量q=1,定义并初始化第q个解码模块的输入其中,emb表示词嵌入;步骤2.2.2、所述第q个解码模块中的带掩码的多头注意力层利用式(10)-式(15)对输入y
q
进行处理,得到第q个解码模块的多头注意力层的输出矩阵d
q
=d
model
/l
q
ꢀꢀꢀ
(10)(10)(10)(10)(10)式(10)-式(15)中,d
q
为所述第q个解码模块中的带掩码的多头注意力层的每个注意力
头的维数;l
q
为所述第q个解码模块中的带掩码的多头注意力层包含的头数;q
l,q
为所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的查询矩阵、k
l,q
为所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的键值矩阵、v
l,q
为所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的内容矩阵;表示所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的查询权值矩阵,表示所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的键值权值矩阵,表示所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的内容权值矩阵,且模块中的带掩码的多头注意力层的第l个注意力头的内容权值矩阵,且模块中的带掩码的多头注意力层的第l个注意力头的内容权值矩阵,且模块中的带掩码的多头注意力层的第l个注意力头的内容权值矩阵,且为一个上三角矩阵,且head
l,q
表示所述第q个解码模块中的带掩码的多头注意力层的第l个注意力头的输出结果;concat表示拼接操作;w
q
表示所述第q个解码模块中的带掩码的多头注意力层的权值矩阵,且步骤2.2.3、所述第q个解码模块中的第一个残差连接层和第一个层归一化层利用式(16)对所述第q个解码模块中的带掩码的多头注意力层的输出矩阵进行处理,并得到输出矩阵出矩阵步骤2.2.4、所述第q个解码模块中的另一个多头注意力层利用式(17)-式(19)对和编码器的输出进行处理,并得到输出矩阵d

q
=d
model
/u
q
ꢀꢀꢀ
(17)(17)式(17)-式(19)中,d'
q
为所述第q个解码模块中的另一个多头注意力层的每个注意力头的维数;u
q
为所述第q个解码模块中的另一个多头注意力层包含的头数;head
u,q
表示所述第q个解码模块中的另一个多头注意力层的第u个注意力头的输出结果;w'
q
为所述第q个解码模块中的另一个多头注意力层的权值矩阵,且步骤2.2.5、所述第q个解码模块中的第二个残差连接层和第二个层归一化层利用式(20)对所述第q个解码模块中的另一个多头注意力层的输出矩阵进行处理,并得到输出矩阵矩阵步骤2.2.6、所述第q个解码模块中的位置前馈网络层利用式(21)对所述输出矩阵进行处理,得到输出矩阵
步骤2.2.7、所述第q个解码模块中的第三个残差连接层和第三个层归一化层利用式(22)对所述第q个解码模块中的位置前馈网络层的输出矩阵进行处理,并得到输出矩阵进行处理,并得到输出矩阵进行处理,并得到输出矩阵步骤2.2.8、若q≥n,则得到解码器的输出否则,q+1赋值给q,并令后,返回步骤2.2.2顺序执行;步骤2.3、所述解码器的输出依次经过一个全连接层和一个softmax层的处理后得到第i个肌电信号特征样本x
i
的音节序列预测标签的类别概率矩阵步骤2.4、将所述第i个肌电信号特征样本x
i
的音节序列预测标签的类别概率矩阵p
i
通过argmax函数得到第i个肌电信号特征样本x
i
的音节序列预测标签然后利用一个相似度计算模块对所述第i个肌电信号特征样本x
i
的音节序列预测标签进行处理,得到第i个肌电信号特征样本x
i
的中文短语预测结果且e={e1,

,e
v
,

,e
r
};步骤3、利用式(23)计算交叉熵损失loss,并利用adam优化器训练更新所述基于transformer模型的解码网络的权重参数,并在迭代次数达到最大迭代次数step
num
时或损失函数loss达到最小时,停止训练,从而得到训练后的最优解码网络模型,用于对输入的肌电信号进行音节级别的解码,以实现无声语音识别;式(23)中,p
j,c
表示所述第i个肌电信号特征样本x
i
的音节序列预测标签的类别概率矩阵p
i
中的第j个音节属于类别c的预测概率;y
j,c
为符号函数,若所述第i个肌电信号特征样本x
i
的音节序列预测标签的类别概率矩阵p
i
中第j个音节的真实类别为c,则令y
j,c
=1,否则,令y
j,c
=0。2.根据权利要求1所述的一种基于表面肌电信号的无声语音解码方法,其特征是,所述步骤2.4中的相似度计算模块是利用式(24)-式(26)对第i个肌电信号特征样本x
i
的音节序列预测标签进行处理,得到第i个肌电信号特征样本x
i
的中文短语预测结果的中文短语预测结果的中文短语预测结果的中文短语预测结果式(24)-式(26)中,表示第i个肌电信号特征样本x
i
的音节序列预测标签与所述语料库e中第v个中文短语e
v
的相似度,为所述语料库e中第v个中文短语e
v
包含的音节数,n
same
是第i个肌电信号特征样本x
i
的音节序列预测标签和所述语料库e中第v个中文短语e
v
中相同音节的个数;max{
·
}表示取最大值函数,e
w
表示所述语料库e中与第i个肌电
信号特征样本x
i
的音节序列预测标签相似度最高的中文短语。

技术总结


本发明公开了一种基于表面肌电信号的无声语音解码方法,其步骤包括:1、采集无声语音肌电数据并提取特征构建训练数据集。2、搭建一个基于Transformer模型的解码网络。3、训练解码网络,并得到优化更新后的解码网络用于实现基于表面肌电信号的无声语音识别。本发明能够从无声语音肌电信号中解码出音节序列,有助于语义信息的理解,从而能实现高精度的无声语音识别。识别。识别。


技术研发人员:

张旭 宋芮 陈希 陈香 陈勋

受保护的技术使用者:

中国科学技术大学

技术研发日:

2022.05.05

技术公布日:

2022/8/5

本文发布于:2024-09-23 19:22:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/21829.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:注意力   模块   矩阵   多头
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议