Paper | LISTEN, ATTEND AND SPELL: A NEURAL NETWORK FOR LARGE VOCABULARY CONVERSATIONAL SPEECH RECOGNITION
本文提出了一个基于神经网络的语音识别系统List, Attend and Spell(LAS),能够将语音直接转录为文字。
进步性:LAS将声学、发音和语言模型融合为一个神经模型,因此可以实现端到端。LAS只包含两部分:收听器(listener)和拼写器(speller)。收听器是一个金字塔循环网络编码器,拼写器是一个基于注意力机制的循环网络解码器。
1. 相关工作
当前最先进的语音识别器包含多个组分:声学模型、语言模型、发音模型和文本规范化模型。每个模型都有各自的假设和概率模型。也有工作尝试让这些组分联合训练,但一般是前端的声学模型会被迭代,后端的语言、发音和文本模型基本不变。
2. 方法细节
LAS的输入是一系列被过滤出来的bank spectra特征,输出是一系列字母、数字、标点符号、语气或未知符号。
LAS的基本方法是:在收听器,声音信号被编码为特征;拼写器根据 特征 以及 过去所有时刻的输出,依照条件概率的链式法则,来推断输入和输出符号之间的条件概率,然后选择条件概率最大者作为输出。

核心公式就是两个:
\[
\mathbf{h} = \text{Listen} (\mathbf{x})
\]
\[
P(y_i | \mathbf{x}, y_{<i}) = \text{AttendAndSpell} (y_{<i}, \mathbf{h})
\]
从图上就能观察出这两个公式。
2.1 收听器
整体框架如图,是一个金字塔形的多层双向LSTM结构。为什么不直接用LSTM呢?作者发现BiLSTM收敛巨慢无比,而且效果还不好。【看来应该是因为时间步太多导致收敛慢,因为每个时间步的输入差异大。因为有些句子单词很多】
在这个金字塔形BiLSTM中,每层的时间步数目会依次减半。实验中设了3层BiLSTM。
2.2 注意力和拼写
这里采用的是结合了注意力机制的单向LSTM。如图:
每一时刻的上下文向量由 特征向量 和 该时刻的状态向量 共同决定的:
\[
c_i = \text{AttentionContext} (s_i, \mathbf{h})
\]每一时刻的状态向量由 上一时刻的状态向量、上一时刻的输出 和 上一时刻的环境向量 共同决定:
\[
s_i = \text{RNN} (s_{i-1}, y_{i-1}, c_{i-1})
\]
那么具体这个上下文是怎么算的呢?其实是简单的加权组合:
\[
c_i = \sum_u \alpha_{i,u} h_u
\]
\(h_u\)就是第\(u\)个特征。而权重\(\alpha_{i,u}\)是将\(s_i\)和\(h_u\)分别输入MLP后,算内积得到的。注意最后所有的\(\alpha_{i,u}\)要输入softmax归一化。
在训练后,\(\alpha_{i,u}\)通常会收敛到某些\(u\)附近,即只与少数的\(h_u\)有关。
其他细节就不管了,因为我们也不做这个。
Paper | LISTEN, ATTEND AND SPELL: A NEURAL NETWORK FOR LARGE VOCABULARY CONVERSATIONAL SPEECH RECOGNITION的更多相关文章
- 语音识别2 -- Listen,Attend,and Spell (LAS)
LAS是Listen(Encoder),Attend,和Spell(Decoder)的简称 第一个步骤Listen(Encoder) listen的作用是输入一段语音信号,输出一段向量,去掉语音中的杂 ...
- Paper: ImageNet Classification with Deep Convolutional Neural Network
本文介绍了Alex net 在imageNet Classification 中的惊人表现,获得了ImagaNet LSVRC2012第一的好成绩,开启了卷积神经网络在cv领域的广泛应用. 1.数据集 ...
- 读paper:Deep Convolutional Neural Network using Triplets of Faces, Deep Ensemble, andScore-level Fusion for Face Recognition
今天给大家带来一篇来自CVPR 2017关于人脸识别的文章. 文章题目:Deep Convolutional Neural Network using Triplets of Faces, Deep ...
- (转)How Transformers Work --- The Neural Network used by Open AI and DeepMind
How Transformers Work --- The Neural Network used by Open AI and DeepMind Original English Version l ...
- (zhuan) Recurrent Neural Network
Recurrent Neural Network 2016年07月01日 Deep learning Deep learning 字数:24235 this blog from: http:/ ...
- (转)The Neural Network Zoo
转自:http://www.asimovinstitute.org/neural-network-zoo/ THE NEURAL NETWORK ZOO POSTED ON SEPTEMBER 14, ...
- Recurrent Neural Network(循环神经网络)
Reference: Alex Graves的[Supervised Sequence Labelling with RecurrentNeural Networks] Alex是RNN最著名变种 ...
- 论文笔记之:Progressive Neural Network Google DeepMind
Progressive Neural Network Google DeepMind 摘要:学习去解决任务的复杂序列 --- 结合 transfer (迁移),并且避免 catastrophic f ...
- 深度神经网络如何看待你,论自拍What a Deep Neural Network thinks about your #selfie
Convolutional Neural Networks are great: they recognize things, places and people in your personal p ...
随机推荐
- [PHP] swoole直接使用二进制包
swoole提供一个编译好的二进制包,这个包连php都包含进去了,下载解压后就可以直接运行,都不用安装php 在这个地方直接下载二进制包 https://www.swoole.com/page/dow ...
- 附002.Minikube介绍及使用
一 Minikube介绍 1.1 概述 Minikube是一种可以在本地轻松运行Kubernetes的工具.Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kuber ...
- Linux系统学习 九、日志、命令、身份鉴别、目录、文件查看、控制台终端、文件属性
一.配置静态IP地址 输入ifconfig后没有配置IP地址,接下来进行手动配置. 输入以下命令进入IP配置文件进行配置 原始内容 进入vi后,输入i进入编辑状态,编辑完成后,按esc键退出编辑状 ...
- mysql实践:sql优化
---恢复内容开始--- 设计表的时候 1. 不同的表涉及同一个公共意义字段不要使用不同的数据类型(可能导致索引不可用,查询结果有偏差) 2. 不要一张表放太多的数据 主表20~30个字段 ...
- 用Loading 加载中的整页加载来做蒙层
总结:遇见的bug 如何写一个蒙层 最初我打算的是自己写一个蒙层,但是写出来后, 不能够将整个屏幕全部覆盖.只能够覆盖 除[顶部导航] 和[左侧菜单栏] 于是我就使用了element-ui中的 [Lo ...
- 西北师大-2108Java】第十三次作业成绩汇总
[西北师大-2108Java]第十三次作业成绩汇总 作业题目 面向对象程序设计(JAVA) 第15周学习指导及要求 实验目的与要求 (1)掌握菜单组件用途及常用API: (2)掌握对话框组件用途及常用 ...
- Python连载54-FTP编程
一.FTP工作流程 1.客户端链接远程主机上的FTP服务器 2.客户端输入用户名和密码(或者“anonymous”和电子邮件地址) 3.客户端和服务器进行各种文件传输和信息查询操作 4.客户端从远程F ...
- ReactNative: 使用Image图片组件
一.简介 在应用程序中,图片组件非常常见,不论是缩略图.大图.还是小图标等等,都需要使用图片组件进行显示.在Web开发中提供了<img/>标签显示图片,在iOS中提供了UIImageVie ...
- kubernetes haproxy+keepalive实现master集群高可用
前言 master的HA,实际是apiserver的HA.Master的其他组件controller-manager.scheduler都是可以通过etcd做选举(--leader-elect),而A ...
- SpringCloud微服务(03):Hystrix组件,实现服务熔断
本文源码:GitHub·点这里 || GitEE·点这里 写在前面:阅读本文前,你可能需要熟悉一下内容. 微服务组件:Eureka管理注册中心 微服务组件:Ribbon和Feign服务调用 Sprin ...