本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【j2开奖】资源 | 如何用Kur训练百度的DeepSpeech模型?(2)

时间:2017-02-21 22:18来源:香港现场开奖 作者:118KJ 点击:
安装 Kur,运行$ kur -v train speech.yml,该文件应该保存在 kur/examples/目录中。如果你想要直接训练而不显示目前的工作状态,可以省略-v。当然,加入-v 可以让

安装 Kur,运行$ kur -v train speech.yml,该文件应该保存在 kur/examples/目录中。如果你想要直接训练而不显示目前的工作状态,可以省略-v。当然,加入-v 可以让你了解 Kur 的工作方式,如果你希望了解更多的细节,请用-vv。

你的模型会开始训练

一开始输出的基本是乱,随后,它的表现将会越来越好。

训练 1 小时后:

真实转录: these vast buildings what were they

DNN 预测:he s ma tol ln wt r hett jzxzjxzjqzjqjxzq

训练 6 小时后:

真实转录:the valkyrie kept off the coast steering to the westward

DNN 预测:the bak gerly cap dof the cost stkuarinte the west werd

训练 24 小时后:

真实转录:it was a theatre ready made

DNN 预测:it was it theater readi made

经过训练,模型输出了真正的英语。

在这个示例中,我总共训练了 48 小时。还记得「i am a human saying human things」文件吗?让我们看看人工智能对它的预测。

训练 48 小时后:

True tran: i am a human saying human things

DNN prediction:i am a human saying human things

仅仅诞生 48 个小时,atv,它就可以和人一样听懂别人说的话了!

看看这个表格吧:

  

wzatv:【j2开奖】资源 | 如何用Kur训练百度的DeepSpeech模型?

在 Kur speech.yml 例子中训练和验证数据的 loss 和 batch 的函数

就这样,你训练出了目前最先进的语音识别模型。

很棒不是吗?

为什么会如此简单?

这是因为我们为这项任务深度优化了整个模型,这就是 Kur 带来的提升。另一些优势则来自于 Kur 的可描述性。在这里,你可以直接表达自己想要的东西,它就会实现。阅读 Deepspeech Kurfile,你就会明白这是什么意思。

  

wzatv:【j2开奖】资源 | 如何用Kur训练百度的DeepSpeech模型?

事例中 Deepspeech 的超参数

这些是构造 DNN 所需的超参数,有一个一维 CNN 对 FFT 输出的时间片进行操作。然后有一个 3 层的 RNN 组,每个有 1000 个节点。词汇的尺度取决于我们的选择(在本例中是 a 到 z,外加空格和撇号——总共有 28 种字符)。

超参数在 Kurfile 的模型部分(speech.yml)中被抓取。CNN 层就是这样构建的。

  

wzatv:【j2开奖】资源 | 如何用Kur训练百度的DeepSpeech模型?

CNN 层的规格

在这里,整流线性单元(ReLU)激活层上的几个明显的超参数直击单个 CNN 层。这些超参数使用 Jinja2()模板引擎填充。

RNN 层的堆栈是由一个 for 循环中构建的,因为 depth 超参数而有三个层。

  

wzatv:【j2开奖】资源 | 如何用Kur训练百度的DeepSpeech模型?

RNN堆栈规格

其中,批规范化层用来保持权重分布的稳定,提高训练速度。RNN sequence 超参数只意味着你想要在输出文本与测时按顺序输出(语音片段时间顺序)。

Quick Summary:CNN 层采集 FFT 输入,然后连接到 RNN,最终形成一个完整的、可预测 28 个字符的层。这就是 Deepspeech。

工作方式概述

当训练语音 DNN 时,你通常会将音频分为每个约 20 毫秒的小块,使用像快速傅里叶变换(FFT)这样的方法将这些分块按顺序输入 DNN 里,并生成对当前块的预测。这个过程不断持续,直到结束这个序列,处理完整个文件(其中的所有预测都被保存)。

这就是 Deepspeech 在 Kur 中运行的方式。

Kur 需要使用 wav 音频文件,它会抓取文件的频谱图(时间 FFT),并将其同 CNN 层和三个 RNN 层的堆叠一同插入 CNN 层里。输出拉丁语字符的概率预测,从而形成单词。

在模型训练时,将会有验证步骤为你提供随机音频文件的即时预测。你能看到系统每一步的预测。你可以观看当前预测输出的文本,了解神经网络是如何被训练的。

一开始,它会先学习空格,随后它会了解元音和辅音的比例关系,从而开始学会一些简单词的表述(如 the、it、a、good),开始具有自己的词汇量。这是一个令人着迷的过程。

  

wzatv:【j2开奖】资源 | 如何用Kur训练百度的DeepSpeech模型?

输入语音片段,预测即将出现的字母,从左到右以时间顺序排列。

相关链接:

:https://github.com/terryum/awesome-deep-learning-papers

Kur:Deive Deep Learninghttps://github.com/deepgram/kur

KurHub:

  原文链接:

©本文为机器之心编译,转载请联系本公众号获得授权

  ?------------------------------------------------

加入机器之心(全职记者/实习生):[email protected]

投稿或寻求报道:[email protected]

广告&商务合作:[email protected]

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容