唤醒模型的确定方法及装置与流程

文档序号:17929449发布日期:2019-06-15 00:42阅读:219来源:国知局
唤醒模型的确定方法及装置与流程

本发明涉及神经网络领域,尤其涉及一种唤醒模型的确定方法及装置。



背景技术:

目前,唤醒模块的建立,一般是特地录制关于唤醒词的语音信息,用于训练神经网络。且在神经网络的训练过程中,更新整个神经网络每一层的各个参数。这样一般花费较多的时间,成本较高,且神经网络的训练运算量太大,容易出现误差,因此,得到的唤醒模型的精确度也不高。



技术实现要素:

(一)要解决的技术问题

本发明的目的在于提供一种唤醒模型的确定方法及装置,以解决上述的至少一项技术问题。

(二)技术方案

本发明实施例提供了一种唤醒模型的确定方法,包括:

将训练集中的任一批次训练唤醒数据输入至一基于神经网络的识别模型,确定所述神经网络的隐层的最后一层的当前状态的参数,所述参数包括权重与偏移量;

对所述识别模型的隐层的最后一层的前一状态的参数与当前状态的参数进行插值处理,确定一插值,并将所述插值更新为当前状态的参数;

分别将训练集中的其他批次训练唤醒数据输入至所述识别模型,并更新当前状态的参数,直至将所述训练集中的所有批次训练唤醒数据输入至所述识别模型;以及

确定当前状态的参数与前一状态的参数的插值,并更新所述神经网络的隐层的最后一层的当前状态的参数,从而确定一唤醒模型。

进一步的,对所述识别模型的隐层的最后一层的前一状态的参数与当前状态的参数进行插值处理,具体为:

对所述前一状态的权重根据第一权值、所述当前状态的权重根据第二权值求加权平均,确定所述插值的权重;

对所述当前状态的偏移量根据第一权值、所述当前状态的偏移量根据第二权值求加权平均,确定所述插值的偏移量;

且所述第一权值大于所述第二权值。

进一步的,还包括:

将测试集中的每一批训练唤醒数据分别输入至所述唤醒模型,利用交叉验证方法,计算所述唤醒模型的目标函数;

根据所述目标函数的下降速率正向地调节学习率,直至所述目标函数无下降趋势,停止将所述训练唤醒数据输入至所述唤醒模型。

进一步的,所述目标函数l=代价函数c+正则化j,wj表示第j个权重,λ为正则项系数,n表示当前批次训练唤醒数据的数目,x表示当前批次训练唤醒数据的特征值,y表示理论值,d表示输出值,d=σ(z),z=∑wj×xj+bj,wj为权重,bj为偏移量,xj为输入值,激活函数wj表示前一状态的权重,wj′表示当前状态的权重,bj表示前一状态的偏移量,bj′表示当前状态的偏移量,α为学习率。

进一步的,通过一少语料库获取所述训练集和测试集,所述少语料库中的训练唤醒数据和测试唤醒数据的总数目为少于200人的不超过2个小时的训练数据。

进一步的,所述训练集和测试集的数目比值为12∶1。

本发明实施例还提供了一种唤醒模型的确定装置,包括:

确定模块,将训练集中的任一批次训练唤醒数据输入至一基于神经网络的识别模型,确定所述神经网络的隐层的最后一层的当前状态的参数,所述参数包括权重与偏移量;

更新模块,对所述识别模型的隐层的最后一层的前一状态的参数与当前状态的参数进行插值处理,确定一插值,并将所述插值更新为当前状态的参数;

重复模块,用于分别将训练集中的其他批次的训练唤醒数据输入至所述识别模型,并更新当前状态的参数,直至将所述训练集中的所有批次的训练唤醒数据输入至所述识别模型;以及确定当前状态的参数与前一状态的参数的插值,并更新所述神经网络的隐层的最后一层的当前状态的参数,从而确定一唤醒模型。

进一步的,所述更新模块确定所述插值,具体为:更新模块对所述前一状态的权重根据第一权值、所述当前状态的权重根据第二权值求加权平均,确定所述插值的权重;对所述当前状态的偏移量根据第一权值、所述当前状态的偏移量根据第二权值求加权平均,确定所述插值的偏移量;且所述第一权值大于所述第二权值。

进一步的,还包括:测试模块,用于将测试集中的每一批训练唤醒数据分别输入至所述唤醒模型,利用交叉验证方法,计算所述唤醒模型的目标函数;

根据所述目标函数的下降速率正向地调节学习率,直至所述目标函数无下降趋势,停止将所述训练唤醒数据输入至所述唤醒模型。

进一步的,所述目标函数l=代价函数c+正则化j,wj表示第j个权重,λ为正则项系数,n表示当前批次训练唤醒数据的数目,x表示当前批次训练唤醒数据的特征值,y表示理论值,d表示输出值,d=σ(z),z=∑wj×xj+bj,wj为权重,bj为偏移量,xj为输入值,激活函数wj表示前一状态的权重,wj′表示当前状态的权重,bj表示前一状态的偏移量,bj′表示当前状态的偏移量,α为学习率。

(三)有益效果

本发明的唤醒模型的确定方法及装置,相较于现有技术,至少具有以下优点:

1、只需对现有少量的语料库的训练集进行训练,更新神经网络的隐层的最后一层的参数,避免了现有技术中将神经网络将每一层的参数都更新,减少了运算量,降低了误差率,且只需花费较少的成本和时间,就能获得精确度较高的唤醒模型;

2、对所述识别模型的隐层的最后一层的前一状态的参数与当前状态的参数,根据第一权值和第二权值求加权平均,从而确定更新后的参数,且第一权值大于第二参数,有效防止了训练之后的模型偏离原先的神经网络的情况,保证了训练得到的唤醒模型的唤醒准确率;

3、在训练得到的唤醒模型之后,还将少量语料库的测试集输入至所述唤醒模型,利用交叉验证方法,计算所述唤醒模型的目标函数和学习率,直至目标函数无下降趋势,停止唤醒模型的测试和更新,降低了训练集更新得到的唤醒模型的误唤醒率,保证了最终唤醒模型的唤醒正确率。

附图说明

图1为本发明实施例的唤醒模型的确定方法的步骤示意图;

图2为本发明实施例的唤醒模型的确定装置的模块图;

具体实施方式

现有技术一般是特地录制关于唤醒词的语音信息,从而训练神经网络,且在神经网络的训练过程中,更新整个神经网络每一层的各个参数。可见,存在训练时间和成本较高,训练运算量太大,唤醒精确度不高的问题,有鉴于此,本发明提供了一种

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明第一实施例提供了一种唤醒模型的确定方法,如图1所示,该方法包括以下步骤:

s1、将训练集中的任一批次训练唤醒数据输入至一基于神经网络的识别模型,确定所述神经网络的隐层的最后一层的当前状态的参数,所述参数包括权重与偏移量;

s2、对所述识别模型的隐层的最后一层的前一状态的参数与当前状态的参数进行插值处理,确定一插值,并将所述插值更新为当前状态的参数;

s3、分别将训练集中的其他批次训练唤醒数据输入至所述识别模型,并更新当前状态的参数,直至将所述训练集中的所有批次训练唤醒数据输入至所述识别模型;以及

s4、确定当前状态的参数与前一状态的参数的插值,并更新所述神经网络的隐层的最后一层的当前状态的参数,从而确定一唤醒模型。

在步骤s1之前,还可以包括步骤:通过一少语料库获取所述训练集和测试集。举例来说,少语料库中的训练唤醒数据和测试唤醒数据的总数目可以为少于200人的不超过2个小时的训练数据。

更进一步地,所述训练集和测试集的数目比值优选为12∶1,这是因为训练神经网络比测试唤醒模型所需的数据更多。

也就是说,本发明用于神经网络训练的训练集与现有技术的特地录制的关于唤醒词的训练数据不同,其更具有普适性和广泛性,在训练过程中,不仅能够提高唤醒准确率,同时还能降低误唤醒率。

以下将对各步骤进行详细描述。

在步骤s1中,可以先将训练集分为n个批次,优选地每个批次的训练数据的数目相同。再将训练集中的任一批次训练唤醒数据输入识别模型(该识别模型基于一神经网络)中,实际上,还会进行对该批次训练唤醒数据进行特征值提取的步骤,从而根据其特征值,确定所述神经网络的隐层的最后一层的当前状态的参数,所述参数包括权重与偏移量。

在步骤s2中,对前一状态的权重根据第一权值、所述当前状态的权重根据第二权值求加权平均,确定所述插值的权重;

对所述当前状态的偏移量根据第一权值、所述当前状态的偏移量根据第二权值求加权平均,确定所述插值的偏移量;

且所述第一权值大于所述第二权值。

举例来说,前一状态的权重和偏移量分别为5和3,当前状态的权重和偏移量分别为6和4,第一权值为0.7,第二权值为0.3,则插值的权重应为(5×0.7+6×0.3)/2,插值的偏移量为(5×0.7+4×0.3)/2。第一权值大于所述第二权值,有效防止了训练之后的模型偏离原先的神经网络的情况,保证了训练得到的唤醒模型的唤醒准确率。

此外,为了进一步提高训练得到的唤醒模型可能唤醒准确率,本发明实施例还可以包括步骤:

s41、将测试集中的每一批训练唤醒数据分别输入至所述唤醒模型,实际上,还会进行对每一批训练唤醒数据进行特征值提取的步骤,从而根据其特征值,然后根据所述特征值利用交叉验证方法,计算所述唤醒模型的目标函数;

s42、根据所述目标函数的下降速率正向地调节学习率,直至所述目标函数无下降趋势,停止将所述训练唤醒数据输入至所述唤醒模型。

其中,根据所述目标函数的下降速率正向地调节学习率,是因为学习率主要控制参数更新的快慢。更新过慢会导致训练时间增长,学习过快会导致跳过最优点,不能得到最优解。

其中,目标函数l=代价函数c+正则化j。

wj表示第j个权重,λ为正则项系数,主要控制对权重的惩罚,即正则的目的是为了防止由于权重更新过大产生过拟合,n表示当前批次训练唤醒数据的数目;x表示当前批次训练唤醒数据的特征值,y表示理论值,即当前批次训练唤醒数据的预设的准确唤醒率;d表示输出值,即当前批次训练唤醒数据输入所述唤醒模型之后,唤醒模型输出的实际唤醒率,d=σ(z),z=∑wj×xj+bj,wj为权重,bj为偏移量,xj为输入值,激活函数wj表示前一状态的权重,wj′表示当前状态的权重,bj表示前一状态的偏移量,bj′表示当前状态的偏移量,α为学习率。

本发明实施例的另一方面,还提供了一种唤醒模型的确定装置,如图2所示,该装置包括:

确定模块,将训练集中的任一批次训练唤醒数据输入至一基于神经网络的识别模型,确定所述神经网络的隐层的最后一层的当前状态的参数,所述参数包括权重与偏移量;

更新模块,对所述识别模型的隐层的最后一层的前一状态的参数与当前状态的参数进行插值处理,确定一插值,并将所述插值更新为当前状态的参数;

重复模块,用于分别将训练集中的其他批次的训练唤醒数据输入至所述识别模型,并更新当前状态的参数,直至将所述训练集中的所有批次的训练唤醒数据输入至所述识别模型;以及确定当前状态的参数与前一状态的参数的插值,并更新所述神经网络的隐层的最后一层的当前状态的参数,从而确定一唤醒模型。

实际上,确定模块和重复模块还会对输入的每一批训练唤醒数据进行特征值提取,从而根据该批次训练唤醒数据的特征值,确定所述神经网络的隐层的最后一层的当前状态的参数。

其中,所述更新模块确定所述插值,具体过程为:更新模块对所述前一状态的权重根据第一权值、所述当前状态的权重根据第二权值求加权平均,确定所述插值的权重;对所述当前状态的偏移量根据第一权值、所述当前状态的偏移量根据第二权值求加权平均,确定所述插值的偏移量;且所述第一权值大于所述第二权值。如此,能够防止训练之后的模型偏离原先的神经网络的情况,同时保证了训练得到的唤醒模型的唤醒准确率。

此外,为了进一步提高训练得到的唤醒模型可能唤醒准确率,本发明实施例还可以还包括:测试模块,用于将测试集中的每一批训练唤醒数据分别输入至所述唤醒模型,对输入的每一批测试唤醒数据进行特征值提取,从而根据该批次测试唤醒数据的特征值,利用交叉验证方法,计算所述唤醒模型的目标函数;根据所述目标函数的下降速率正向地调节学习率,直至所述目标函数无下降趋势,停止将所述训练唤醒数据输入至所述唤醒模型。

其中,根据所述目标函数的下降速率正向地调节学习率,是因为学习率主要控制参数更新的快慢。更新过慢会导致训练时间增长,学习过快会导致跳过最优点,不能得到最优解。

其中,目标函数l=代价函数c+正则化j。

wj表示第j个权重,λ为正则项系数,主要控制对权重的惩罚,即正则的目的是为了防止由于权重更新过大产生过拟合,n表示当前批次训练唤醒数据的数目;x表示当前批次训练唤醒数据的特征值,y表示理论值,即当前批次训练唤醒数据的预设的准确唤醒率;d表示输出值,即当前批次训练唤醒数据输入所述唤醒模型之后,唤醒模型输出的实际唤醒率,d=σ(z),z=∑wj×xj+bj,wj为权重,bj为偏移量,xj为输入值,激活函数wj表示前一状态的权重,wj′表示当前状态的权重,bj表示前一状态的偏移量,bj′表示当前状态的偏移量,α为学习率。

综上,本发明实施例的唤醒模型的确定方法及装置,只需对现有少量的语料库的训练集进行训练,更新神经网络的隐层的最后一层的参数,避免了现有技术中将神经网络将每一层的参数都更新,减少了运算量,降低了误差率,且只需花费较少的成本和时间,就能获得精确度较高的唤醒模型。

除非有所知名为相反之意,本说明书及所附权利要求中的数值参数是近似值,能够根据通过本发明的内容所得的所需特性改变。具体而言,所有使用于说明书及权利要求中表示组成的含量、反应条件等等的数字,应理解为在所有情况中是受到“约”的用语所修饰。一般情况下,其表达的含义是指包含由特定数量在一些实施例中±10%的变化、在一些实施例中±5%的变化、在一些实施例中±1%的变化、在一些实施例中±0.5%的变化。

再者,“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的“一”或“一个”不排除存在多个这样的元件。

说明书与权利要求中所使用的序数例如“第一”、“第二”、“第三”等的用词,以修饰相应的元件,其本身并不意味着该元件有任何的序数,也不代表某一元件与另一元件的顺序、或是制造方法上的顺序,该些序数的使用仅用来使具有某命名的一元件得以和另一具有相同命名的元件能做出清楚区分。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1