当前位置: 首页 > news >正文

杭州做公司网站的公司南化建设公司官网

杭州做公司网站的公司,南化建设公司官网,rss wordpress,导航网站开发用户文档一、说明 在过去的几年里#xff0c;随着Google Home#xff0c;Amazon Echo#xff0c;Siri#xff0c;Cortana等的普及#xff0c;语音助手已经无处不在。这些是自动语音识别 #xff08;ASR#xff09; 最著名的示例。此类应用程序从某种语言的语音音频剪辑开始… 一、说明 在过去的几年里随着Google HomeAmazon EchoSiriCortana等的普及语音助手已经无处不在。这些是自动语音识别 ASR 最著名的示例。此类应用程序从某种语言的语音音频剪辑开始并将说出的单词提取为文本。因此它们也称为语音转文本算法。         当然像Siri和上面提到的其他应用程序走得更远。他们不仅提取文本而且还解释和理解所说的语义以便他们可以用答案做出回应或者根据用户的命令采取行动。         在本文中我将重点介绍使用深度学习进行语音转文本的核心功能。我的目标不仅是了解某件事是如何工作的而且是了解它为什么会这样工作。         在我的音频深度学习系列中我还有一些文章可能会让你觉得有用。他们探讨了这个领域的其他引人入胜的主题包括我们如何为深度学习准备音频数据为什么我们将Mel频谱图用于深度学习模型以及如何生成和优化它们。 最先进的技术什么是声音以及如何数字化。音频深度学习在我们的日常生活中解决了哪些问题。什么是频谱图以及为什么它们非常重要。为什么 Mel 频谱图表现更好在 Python 中处理音频数据。什么是梅尔频谱图以及如何生成它们数据准备和增强通过超参数调优和数据增强增强频谱图功能以获得最佳性能声音分类对普通声音进行分类的端到端示例和架构。适用于各种方案的基础应用程序。波束搜索语音转文本和NLP应用程序通常用于增强预测的算法 二、语音转文本         可以想象人类语音是我们日常个人和商业生活的基础语音转文本功能具有大量的应用。人们可以使用它来转录客户支持或销售电话的内容用于面向语音的聊天机器人或记下会议和其他讨论的内容。         基本音频数据由声音和噪音组成。人类语言就是其中的一个特例。因此我在文章中谈到的概念例如我们如何数字化声音处理音频数据以及为什么我们将音频转换为频谱图也适用于理解语音。但是语音更复杂因为它对语言进行编码。 音频分类等问题从声音剪辑开始并从一组给定的类中预测该声音属于哪个类。对于语音转文本问题训练数据包括 输入特征X口语的音频剪辑目标标签 y所讲内容的文本记录 自动语音识别使用音频波作为输入特征文本脚本作为目标标签图片来源作者 该模型的目标是学习如何获取输入音频并预测所说的单词和句子的文本内容。 三、数据预处理         在声音分类文章中我将逐步解释用于处理深度学习模型的音频数据的转换。对于人类语言我们也遵循类似的方法。有几个Python库提供了执行此操作的功能librosa是最受欢迎的库之一。 将原始音频波转换为频谱图图像以输入到深度学习模型图片来自作者 3.1 加载音频文件 从输入数据开始该数据由音频格式如“.wav”或“.mp3”的语音的音频文件组成。从文件中读取音频数据并将其加载到 2D Numpy 数组中。该数组由一系列数字组成每个数字代表特定时刻声音强度或振幅的测量值。此类测量的数量由采样率决定。例如如果采样率为 44.1kHz则 Numpy 数组将有一行 44100 个数字用于 1 秒的音频。音频可以有一个或两个声道通常称为单声道或立体声。对于双声道音频我们将为第二个声道提供另一个类似的振幅数字序列。换句话说我们的 Numpy 数组将是 3D深度为 2。 3.2 转换为统一尺寸采样率、通道和持续时间 我们的音频数据项可能有很多变化。剪辑可能以不同的速率采样或者具有不同数量的通道。剪辑很可能有不同的持续时间。如上所述这意味着每个音频项目的尺寸会有所不同。由于我们的深度学习模型期望所有输入项具有相似的大小因此我们现在执行一些数据清理步骤来标准化音频数据的尺寸。我们对音频进行重新采样以便每个项目都具有相同的采样率。我们将所有项目转换为相同数量的频道。所有项目也必须转换为相同的音频持续时间。这涉及填充较短的序列或截断较长的序列。如果音频质量很差我们可以通过应用噪声消除算法来消除背景噪声来增强它以便我们可以专注于语音音频。 3.3 原始音频的数据增强 我们可以应用一些数据增强技术来为我们的输入数据添加更多种类并帮助模型学会泛化到更广泛的输入。我们可以将音频随机向左或向右移动一小部分或者将音频的音高或速度更改少量。 3.3 梅尔频谱图 此原始音频现在转换为 Mel 频谱图。频谱图通过将音频分解为其中包含的频率集来捕获音频作为图像的性质。 3.4 MFCC 特别是对于人类语音有时采取一个额外的步骤并将梅尔频谱图转换为MFCC梅尔频率倒谱系数会有所帮助。MFCC 通过仅提取最基本的频率系数来生成 Mel 频谱图的压缩表示这些频率系数对应于人类说话的频率范围。 3.5 频谱图的数据增强 我们现在可以使用一种称为SpecAugment的技术在Mel频谱图图像上应用另一个数据增强步骤。这涉及频率和时间掩码随机掩盖任何一个垂直即。时间掩码或水平即频率掩码频谱图中的信息带。注意我不确定这是否也适用于MFCC以及这是否会产生良好的结果。 现在经过数据清理和增强我们已将原始原始音频文件转换为Mel频谱图或MFCC图像。 我们还需要从成绩单中准备目标标签。这只是由单词句子组成的常规文本因此我们从成绩单中的每个字符构建词汇表并将它们转换为字符 ID。 这为我们提供了输入功能和目标标签。这些数据已准备好输入到我们的深度学习模型中。 四、建筑         ASR 的深度学习架构有许多变体。两种常用的方法是 一种 CNN卷积神经网络和基于 RNN递归神经网络的架构它使用 CTC 损失算法来划分语音中单词的每个字符。例如。百度的深度语音模型。一种基于 RNN 的序列到序列网络它将频谱图的每个“切片”视为序列中的一个元素例如。谷歌的Listen Attend SpellLAS模型。         让我们选择上面的第一种方法并更详细地探讨它是如何工作的。在高级别上模型由以下块组成 由几个残差 CNN 层组成的规则卷积网络用于处理输入频谱图图像和这些图像的输出特征图。 频谱图由卷积网络处理以生成特征图  由几个双向 LSTM 层组成的常规循环网络这些层将特征图处理为一系列不同的时间步长或“帧”对应于我们所需的输出字符序列。LSTM是一种非常常用的循环层类型其完整形式是长短期记忆。换句话说它采用作为音频连续表示的特征图并将它们转换为离散表示。 循环网络处理特征图中的帧  具有 softmax 的线性层它使用 LSTM 输出为输出的每个时间步长生成字符概率。 线性图层为每个时间步生成字符概率  我们还有位于卷积网络和循环网络之间的线性层有助于将一个网络的输出重塑为另一个网络的输入。         因此我们的模型采用频谱图图像并输出该频谱图中每个时间步长或“帧”的字符概率。 五、对齐序列         如果你稍微考虑一下你就会意识到我们的拼图中仍然缺少一个主要的部分。我们的最终目标是将这些时间步或“帧”映射到目标成绩单中的单个字符。 该模型解码字符概率以产生最终输出图片来自作者 但是对于特定的频谱图我们怎么知道应该有多少帧我们如何确切知道每个帧的边界在哪里我们如何将音频与文本成绩单中的每个字符对齐 左边是我们需要的对齐方式。但是我们如何得到它呢图片来源作者 音频和频谱图图像没有预先分割以向我们提供此信息。 在口语音频中因此在频谱图中每个字符的声音可能具有不同的持续时间。这些字符之间可能存在间隙和停顿。几个字符可以合并在一起。有些字符可以重复。例如。在“苹果”这个词中我们怎么知道音频中的“P”音是否真的对应于成绩单中的一个或两个“P” 实际上口语对我们来说并不整齐图片来自作者 这实际上是一个非常具有挑战性的问题也是使ASR难以正确的原因。这是将 ASR 与其他音频应用如分类等区分开来的区别特征。 我们解决这个问题的方法是使用一种巧妙的算法它有一个听起来很花哨的名字——它被称为连接主义时间分类简称CTC。由于我不是“花哨的人”并且发现很难记住那个长名字所以我只会用CTC这个名字来指代它。 六、CTC 算法 — 训练和推理         当输入连续且输出是离散的并且没有明确的元素边界可用于将输入映射到输出序列的元素时CTC 用于对齐输入和输出序列。         它之所以如此特别是因为它会自动执行此对齐而无需手动提供该对齐作为标记训练数据的一部分。这将使创建训练数据集的成本非常高。         正如我们上面所讨论的在我们的模型中卷积网络输出的特征图被切成单独的帧并输入到循环网络。每一帧对应于原始音频波的某个时间步长。但是在设计模型时由您选择帧数和每个帧的持续时间作为超参数。对于每一帧循环网络后跟线性分类器然后从词汇表中预测每个字符的概率。 连续音频被切成离散帧并输入到 RNN          CTC 算法的工作是获取这些字符概率并导出正确的字符序列。         为了帮助它处理我们刚刚讨论的对齐和重复字符的挑战它在词汇表中引入了“空白”伪字符用“-”表示的概念。因此网络输出的字符概率还包括每帧空白字符的概率。         请注意空白与“空格”不同。空格是真正的字符而空白表示没有任何字符有点像大多数编程语言中的“null”。它仅用于划分两个字符之间的边界。         CTC 以两种模式工作 CTC 损失训练期间它有一个地面真相目标成绩单并尝试训练网络以最大限度地提高输出正确成绩单的概率。CTC 解码在推理期间在这里我们没有可参考的目标脚本并且必须预测最可能的字符序列。         让我们进一步探讨这些内容以了解算法的作用。我们将从CTC解码开始因为它更简单一些。 6.1 CTC解码 使用字符概率为每个帧选择最可能的字符包括空白。例如。“呜呜呜” CTC解码算法图片来自作者 合并任何重复的字符并且不要用空格分隔。例如我们可以将“oo”合并为单个“o”但我们不能合并“o-oo”。这就是反恐委员会如何能够区分有两个单独的“o”并产生用重复字符拼写的单词。例如。“-最后由于空白已达到其目的因此它会删除所有空白字符。例如。“好”。 6.2 CTC损失 损失计算为网络预测正确序列的概率。为此该算法列出了网络可以预测的所有可能序列并从中选择与目标转录本匹配的子集。 为了从完整的可能序列集中识别该子集该算法按如下方式缩小了可能性范围 仅保留目标脚本中出现的字符的概率并丢弃其余字符。它仅保留“G”、“o”、“d”和“-”的概率。使用过滤的字符子集对于每个帧仅选择与目标脚本顺序相同的字符。例如。虽然“G”和“o”都是有效字符但“Go”的顺序是有效的序列而“oG”是无效序列。 CTC损失算法图片来自作者 有了这些约束算法现在有一组有效的字符序列所有这些字符序列都将生成正确的目标脚本。例如。使用推理期间使用的相同步骤“-G-o-ood”和“ — Go-od-”都将产生“Good”的最终输出。 然后它使用每个帧的单个字符概率来计算生成所有这些有效序列的总体概率。网络的目标是学习如何最大化该概率从而降低生成任何无效序列的概率。 严格来说由于神经网络将损失最小化因此CTC损失计算为所有有效序列的负对数概率。由于网络在训练期间通过反向传播将损失最小化因此它会调整其所有权重以产生正确的序列。 然而实际做到这一点比我在这里描述的要复杂得多。挑战在于有大量可能的角色组合来产生序列。仅通过我们的简单示例我们每帧可以有 4 个字符。用 8 帧给我们 4 ** 8 种组合 65536。对于任何具有更多字符和更多帧的逼真成绩单此数字呈指数级增长。这使得简单地详尽列出有效组合并计算其概率在计算上是不切实际的。 有效地解决这个问题是CTC如此创新的原因。这是一个引人入胜的算法非常值得了解它如何实现这一目标的细微差别。这本身就值得写一篇完整的文章我计划很快写。但就目前而言我们专注于建立对CTC工作的直觉而不是研究它是如何工作的。 七、指标 — 单词错误率 WER         训练我们的网络后我们必须评估它的性能。语音转文本问题的常用指标是单词错误率和字符错误率。它逐字或逐个字符比较预测输出和目标成绩单以找出它们之间的差异数量。         差异可以是脚本中存在但在预测中缺少的单词计为删除、不在脚本中但已添加到预测中的单词插入或者在预测和脚本之间更改的单词替换。         计算成绩单和预测之间的插入、删除和替换图片来自作者         指标公式相当简单。它是相对于单词总数的差异百分比。 单词错误率计算图片来自作者 八、语言模型         到目前为止我们的算法已经将语音音频视为仅对应于某种语言的字符序列。但是当这些字符组合成单词和句子时这些字符是否真正有意义并有意义         自然语言处理 NLP 中的一个常见应用是构建语言模型。它捕获了单词在语言中通常如何用于构造句子、段落和文档。它可以是关于英语或韩语等语言的通用模型也可以是特定于特定领域如医学或法律的模型。         一旦你有了语言模型它就可以成为其他应用程序的基础。例如它可以用来预测句子中的下一个单词辨别某些文本的情绪例如这是一篇积极的书评通过聊天机器人回答问题等等。 因此当然它也可用于通过指导模型生成更有可能根据语言模型的预测来选择性地提高 ASR 输出的质量。 九、波束搜索         在推理过程中描述 CTC 解码器时我们隐含地假设它总是在每个时间步选择概率最高的单个字符。这被称为贪婪搜索。         但是我们知道使用称为光束搜索的替代方法可以获得更好的结果。         虽然Beam Search通常经常用于NLP问题但它并不是特定于ASR的所以我在这里提到它只是为了完整。如果您想了解更多信息请查看我的文章其中详细介绍了Beam Search。 十、结论         希望现在这能让您了解用于解决 ASR 问题的构建块和技术。         在深度学习之前的旧时代通过经典方法解决这些问题需要理解音素等概念以及许多特定于领域的数据准备和算法。         然而正如我们刚刚在深度学习中看到的那样我们几乎不需要任何涉及音频和语音知识的特征工程。然而它能够产生出色的结果继续让我们感到惊讶         最后如果你喜欢这篇文章你可能还会喜欢我关于变形金刚、地理定位机器学习和图像标题架构的其他系列。
http://www.dnsts.com.cn/news/32232.html

相关文章:

  • 网站开发团队如何接活买一个软件大概多少钱
  • 长沙品牌网站制作服务报价网站建设dw实训总结
  • 织梦做不了视频网站tv网站建设
  • 如何搭建一个企业子账号网站注册平台需要什么条件
  • 网站建设配图最新实时大数据
  • 直接采用模板网站有什么缺点wordpress建站教程道一
  • 建设部网站碎发零能耗住宅wordpress仿阿里主题
  • 白山网站制作网站开发企业培训
  • 乐趣公园 wordpress杭州江干区抖音seo品牌
  • 怎么自己做网站加盟亚马逊在电子商务网站建设
  • jsp怎么做网站的删除江苏同邦建设有限公司网站
  • 哪些网站做国际贸易比较好媒体网站推进信息化建设
  • 网站建设薪水seo门户网站优化
  • 做网页专题 应该关注哪些网站建一个购物网站多少钱
  • 成都开网站用个人电脑做网站的步骤
  • 史志网站建设方案北京网站制作计划
  • 永州市规划建设局网站深圳网站建设 信科网络
  • 零基础网站建设入门到精通视频教程网上产品免费推广平台
  • 外贸营销网站推广网站开发人员任职资格
  • 绘制网站结构图php做网站视频
  • 网路营销网站策划书好网站推荐一下
  • 网站购买广告位苏州专业建站
  • 南宁做网站设计方案源码猫网站建设ym361
  • 做网站 违法系统搭建是什么意思
  • 贵州做网站找谁工商注册深圳
  • 网站设计的安全尺寸做初中物理题目的网站
  • php网站开发编程软件网站常用的颜色
  • wordpress企业网站seowordpress国内主机推荐
  • 网站建设与网页设计专业wordpress get term
  • 公司网站备案资料WordPress多站点开启多语言