安装 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,它就可以和人一样听懂别人说的话了! 看看这个表格吧:
在 Kur speech.yml 例子中训练和验证数据的 loss 和 batch 的函数 就这样,你训练出了目前最先进的语音识别模型。 很棒不是吗? 为什么会如此简单? 这是因为我们为这项任务深度优化了整个模型,这就是 Kur 带来的提升。另一些优势则来自于 Kur 的可描述性。在这里,你可以直接表达自己想要的东西,它就会实现。阅读 Deepspeech Kurfile,你就会明白这是什么意思。
事例中 Deepspeech 的超参数 这些是构造 DNN 所需的超参数,有一个一维 CNN 对 FFT 输出的时间片进行操作。然后有一个 3 层的 RNN 组,每个有 1000 个节点。词汇的尺度取决于我们的选择(在本例中是 a 到 z,外加空格和撇号——总共有 28 种字符)。 超参数在 Kurfile 的模型部分(speech.yml)中被抓取。CNN 层就是这样构建的。
CNN 层的规格 在这里,整流线性单元(ReLU)激活层上的几个明显的超参数直击单个 CNN 层。这些超参数使用 Jinja2()模板引擎填充。 RNN 层的堆栈是由一个 for 循环中构建的,因为 depth 超参数而有三个层。
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),开始具有自己的词汇量。这是一个令人着迷的过程。
输入语音片段,预测即将出现的字母,从左到右以时间顺序排列。 相关链接: :https://github.com/terryum/awesome-deep-learning-papers Kur:Deive Deep Learninghttps://github.com/deepgram/kur KurHub: 原文链接: ©本文为机器之心编译,转载请联系本公众号获得授权。 ?------------------------------------------------ 加入机器之心(全职记者/实习生):[email protected] 投稿或寻求报道:[email protected] 广告&商务合作:[email protected] (责任编辑:本港台直播) |