很多站长朋友们都不太清楚cnn声学建模php,今天小编就来给大家整理cnn声学建模php,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 深度声纹:一种端到端的神经声纹嵌入系统 2、 语音识别的声学模型 3、 图像识别比语音识别算法的复杂度高多少倍 4、 如何开启深度学习之旅 5、 语音识别和图像识别的区别 深度声纹:一种端到端的神经声纹嵌入系统摘要:
简介:该论文提出了Deep Speaker,这是一种采用神经网络对说话人进行向量嵌入的系统(a neural speaker embedding system),该系统将说话方式(utterances)整理到一个超球面上,在该超球面上,通过余弦相似度计算说话人的相似度。
应用场景 :说话人身份辨别、确认、聚类。
方法 :用ResCNN和GRU结构提取声学特征,用均值池化产生声学级别的speaker embeddings,采用基于余弦相似度的triplet loss进行训练。
结果 :在三个不同数据集上的实验结果表明,Deep Speaker 表现优于DNN-based i-vector baseline。例如,在一个文本无关的数据集上,相对减少了50%的身份验证错误率,提高了60%身份辨别准确率。此外,实验也表明采用普通话训练出来的模型,可以提高英语说话人的识别准确率。
1、引言
基础知识点1:Speaker recognition
algorithms用于从音频数据识别说话人。主要分为两种,其一:speaker verification,说话人身份验证(二分类任务,是否为某说话人);其二,speaker identification,说话人身份鉴别(多分类任务,谁在说话)。
基础知识点2: Speaker
recognition按输入的数据分为两类:其一,text-dependent recognition,要求说话人发出特定句子的声音;其二,text-independent recognition,随便说话,不要求特定的说话内容。
业界行情1:Speaker recognition到目前为止还是一项挑战性任务。
基础知识点3:传统Speaker
recognition基于i-vectors 和 probabilistic liner discriminant analysis(PLDA,概率线性判别分析),该框架主要分为三步:1、收集足够的统计数据(sufficient statistics);2、提取说话人特征向量(speaker embeddings, i-vector);3、分类(PLDA)。
基础知识点4:sufficient statistics (也称为Baum-Welch statistics),可以通过高斯混合模型-通用背景模型(Gaussian Mixture Model-Universal Background Model,GMM-UBM)来计算,该模型采用序列类型的特征向量(如梅尔倒谱系数,mel-frequency cepstral coefficients ,MFCC)进行优化。最近,深度神经网络(DNN)也被用来提取sufficient statistics。
基础知识点5:传统方法上述三步操作相互独立。而基于DNN的方法则可以结合第一步和第二步进行训练,其中间瓶颈层(intermediate bottleneck layer)提供的帧级向量,可以用于不包含在训练集中的说话人。然而,该方法至少有两个主要问题,(1)步骤一和步骤二不是直接针对speaker recognition进行优化;(2)训练与测试不协调(mismatch),训练用的是帧级别(frame-level)的标签,测试用的是表达级别(utterance-level)的标签。
本文算法结构概览1:(1)用DNN(ResCNN和GRU)从说话方式提取帧级别特征。(2)池化和长度归一化层产生表达级别(utterance-level)的speaker embeddings。(3)模型采用triplet loss训练,即最小化同一说话人的向量对之间的距离,并最大化不同说话人的向量对之间的距离。(4)预训练采用softmax层和交叉熵提高模型表现。
基础知识点6:CNN可以有效减少声音特征的光谱变更(spectral variations),并对声音特征的声谱模型相关性(spectral correlations)进行建模。
本文算法结构细节1:不同于类似PLDA的损失函数,本文的损失函数是本文DNN训练出来的 能直接反应表达相似度 的嵌入向量的相似度。
本文算法结构细节2:不是在同一小批次训练数据负采样,而是采用全局负采样,从而提高训练速度。
本文结论1:Deep Speaker显著优于DNN-based i-vector
text-independent speaker recognition systems,在text-dependent recognition,Deep Speaker 可以达到基准线,若经过text-independent调试模型后,可以提高text-dependent recognition。
本文结论2:(1)Deep Speaker在大规模数据表现良好;(2)不同语种之间迁移表现良好。
2、相关工作
基础知识点7:PLDA可用于计算向量相似度,其变种方法有heavy-tailed PLDA、Gauss-PLDA。
3、Deep Speaker
总体结构:
3.1 DNN结构
3.1.1 Residual CNN
批量归一化:We adopt sequence-wise batch normalization (BN) between the convolution and the nonlinearity, following [18]。
激活函数clipped rectified linear (ReLU) function:
3.1.2 GRU
GRU采用的是forward-only GRU;
层之间同样使用了BN和clipped ReLu。
3.2 Speaker Embedding
3.3 Triplet Loss and Selection
相似度计算公式:
损失函数公式:
其中,
要点 :全局寻找负样本,而不是仅在本批次寻找负样本。
Triplet loss 可参考 。
3.4 Softmax Pre-training
预训练(用预训练得到的权重去初始化正式训练的权重):用分类层(softmax + cross entropy)替换length normalization 和triplet loss层。
预训练的好处:
注:有预训练的那条线,前10次采用了softmax预训练,后15次采用triple正式训练,所以导致ACC和EER的突变。
语音识别的声学模型语音识别系统的模型通常由声学模型和语言模型两部分组成,分别对应于语音到音节概率的计算和音节到字概率的计算。本节和下一节分别介绍声学模型和语言模型方面的技术。
HMM声学建模:马尔可夫模型的概念是一个离散时域有限状态自动机,隐马尔可夫模型HMM是指这一马尔可夫模型的内部状态外界不可见,外界只能看到各个时刻的输出值。对语音识别系统,输出值通常就是从各个帧计算而得的声学特征。用HMM刻画语音信号需作出两个假设,一是内部状态的转移只与上一状态有关,另一是输出值只与当前状态(或当前的状态转移)有关,这两个假设大大降低了模型的复杂度。HMM的打分、解码和训练相应的算法是前向算法、Viterbi算法和前向后向算法。
语音识别中使用HMM通常是用从左向右单向、带自环、带跨越的拓扑结构来对识别基元建模,一个音素就是一个三至五状态的HMM,一个词就是构成词的多个音素的HMM串行起来构成的HMM,而连续语音识别的整个模型就是词和静音组合起来的HMM。
上下文相关建模:协同发音,指的是一个音受前后相邻音的影响而发生变化,从发声机理上看就是人的发声器官在一个音转向另一个音时其特性只能渐变,从而使得后一个音的频谱与其他条件下的频谱产生差异。上下文相关建模方法在建模时考虑了这一影响,从而使模型能更准确地描述语音,只考虑前一音的影响的称为Bi- Phone,考虑前一音和后一音的影响的称为Tri-Phone。
英语的上下文相关建模通常以音素为基元,由于有些音素对其后音素的影响是相似的,因而可以通过音素解码状态的聚类进行模型参数的共享。聚类的结果称为senone。决策树用来实现高效的triphone对senone的对应,通过回答一系列前后音所属类别(元/辅音、清/浊音等等)的问题,最终确定其HMM状态应使用哪个senone。分类回归树CART模型用以进行词到音素的发音标注。
图像识别比语音识别算法的复杂度高多少倍图象识别容易,因为图象可以在一个时间点成像。而语音没有可能在一个时间点的采样有用,语音多出来一个时间轴。 而这个时间轴引入的难题就是:换个时间,换个人,换个背景噪音,都变得没法子识别了。目前,主流的大词汇量语音识别系统多采用统计模式识别技术。典型的基于统计模式识别方法的 语音识别系统由以下几个基本模块所构成信号处理及特征提取模块。该模块的主要任务是从输入信号中提取特征,供声学模型处理。同时,它一般也包括了一些信号处理技术,以尽可能降低环境噪声、信道、说话人等因素对特征造成的影响。 统计声学模型。典型系统多采用基于一阶隐马尔科夫模型进行建模。 发音词典。发音词典包含系统所能处理的词汇集及其发音。发音词典实际提供了声学模型建模单元与语言模型建模单元间的映射。 语言模型。语言模型对系统所针对的语言进行建模。理论上,包括正则语言,上下文无关文法在内的各种语言模型都可以作为语言模型,但目前各种系统普遍采用的还是基于统计的N元文法及其变体。 解码器。解码器是语音识别系统的核心之一,其任务是对输入的信号,根据声学、语言模型及词典,寻找能够以最大概率输出该信号的词串。 从数学角度可以更加清楚的了解上述模块之间的关系。首先,统计语音识别的最基本问题是,给定输入信号或特征序列,符号集(词典),求解符号串使得:图像识别比语音识别算法的复杂度高多少倍
如何开启深度学习之旅如何开启深度学习之旅?这三大类125篇论文为你导航(附资源下载)
如果你现在还是个深度学习的新手,那么你问的第一个问题可能是「我应该从哪篇文章开始读呢?在 G上,s准备了一套深度学习阅读清单,而且这份清单在随时更新。
项目地址:
这份清单依照下述 4 条原则建立:
从整体轮廓到细节
从过去到当代
从一般到具体领域
聚焦当下最先进技术
你会发现很多非常新但很值得一读的论文。这份清单我会持续更新。
1、深度学习的历史与基础知识
1.0 书籍
[0] Bengio, Yoshua, Ian J. Goodfellow, and Aaron Courville. 深度学习(Deep learning), An MIT Press book. (2015). (这是深度学习领域的圣经,你可以在读此书的同时阅读下面的论文)。
1.1 调查类:
[1] LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. 深度学习 (Deep learning), Nature 521.7553 (2015): 436-444. (深度学习三位大牛对各种学习模型的评价)
1.2 深度信念网络(DBN)(深度学习前夜的里程碑)
[2] Hinton, Geoffrey E., Simon Osindero, and Yee-Whye Teh. 一个关于深度信念网络的快速学习算法(A fast learning algorithm for deep belief nets), (深度学习的前夜)
[3] Hinton, Geoffrey E., and Ruslan R. Salakhutdinov. 使用神经网络降低数据的维度(Reducing the dimensionality of data with neural networks), (里程碑式的论文,展示了深度学习的可靠性)
1.3 ImageNet 的演化(深度学习从这里开始)
[4] Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. 使用深度卷积神经网络进行 ImageNet 分类任务(Imagenet classification with deep convolutional neural networks)(AlexNet, 深度学习的突破)
[5] Simonyan, Karen, and Andrew Zisserman. 针对大尺度图像识别工作的的超深卷积网络(Very deep convolutional networks for large-scale image recognition) (VGGNet, 神经网络开始变得非常深!)
[6] Szegedy, Christian, et al. 更深的卷积(Going deeper with convolutions)(GoogLeNet)
[7] He, Kaiming, et al. 图像识别的深度残差学习(Deep residual learning for image recognition)(ResNet,超级超级深的深度网络!CVPR--IEEE 国际计算机视觉与模式识别会议-- 最佳论文)
1.4 语音识别的演化
[8] Hinton, Geoffrey, et al. 语音识别中深度神经网络的声学建模(Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups)(语音识别中的突破)
[9] Graves, Alex, Abdel-rahman Mohamed, and Geoffrey Hinton. 用深度循环神经网络进行语音识别(Speech recognition with deep recurrent neural networks)(RNN)
[10] Graves, Alex, and Navdeep Jaitly. 面向端到端语音识别的循环神经网络(Towards End-To-End Speech Recognition with Recurrent Neural Networks)
[11] Sak, Ha?im, et al. 语音识别中快且精准的循环神经网络声学模型(Fast and accurate recurrent neural network acoustic models for speech recognition)(语音识别系统)
[12] Amodei, Dario, et al. Deep speech 2:英语和汉语的端到端语音识别(Deep speech 2: End-to-end speech recognition in english and mandarin)(百度语音识别系统)
[13] W. Xiong, J. Droppo, X. Huang, F. Seide, M. Seltzer, A. Stolcke, D. Yu, G. Zweig,在对话语音识别中实现人类平等(Achieving Human Parity in Conversational Speech Recognition)
当你读完了上面给出的论文,你会对深度学习历史有一个基本的了解,深度学习建模的基本架构(包括了 CNN,RNN,LSTM)以及深度学习如何可以被应用于图像和语音识别问题。下面的论文会让你对深度学习方法,不同应用领域中的深度学习技术和其局限有深度认识。
2 深度学习方法
2.1 模型
[14] Hinton, Geoffrey E., et al. 通过避免特征检测器的共适应来改善神经网络(Improving neural networks by preventing co-adaptation of feature detectors)(Dropout)
[15] Srivastava, Nitish, et al. Dropout:一种避免神经网络过度拟合的简单方法(Dropout: a simple way to prevent neural networks from overfitting)
[16] Ioffe, Sergey, and Christian Szegedy. Batch normalization:通过减少内部协变量加速深度网络训练(Batch normalization: Accelerating deep network training by reducing internal covariate shift)(2015 年一篇杰出论文)
[17] Ba, Jimmy Lei, Jamie Ryan Kiros, and Geoffrey E. Hinton.层归一化(Layer normalization)(批归一化的升级版)
[18] Courbariaux, Matthieu, et al. 二值神经网络:训练神经网络的权重和激活约束到正 1 或者负 1(Binarized Neural Networks: Training Neural Networks with Weights and Activations Constrained to+ 1 or?1)(新模型,快)
[19] Jaderberg, Max, et al. 使用合成梯度的解耦神经接口(Decoupled neural interfaces using synthetic gradients)(训练方法的发明,令人惊叹的文章)
[20] Chen, Tianqi, Ian Goodfellow, and Jonathon Shlens. Net2net:通过知识迁移加速学习(Net2net: Accelerating learning via knowledge transfer) (修改之前的训练网络以减少训练)
[21] Wei, Tao, et al. 网络形态(Network Morphism)(修改之前的训练网络以减少训练 epoch)
2.2 优化
[22] Sutskever, Ilya, et al. 有关深度学习中初始化与动量因子的研究(On the importance of initialization and momentum in deep learning) (动量因子优化器)
[23] Kingma, Diederik, and Jimmy Ba. Adam:随机优化的一种方法(Adam: A method for stochastic optimization)(可能是现在用的最多的一种方法)
[24] Andrychowicz, Marcin, et al. 通过梯度下降学习梯度下降(Learning to learn by gradient descent by gradient descent) (神经优化器,令人称奇的工作)
[25] Han, Song, Huizi Mao, and William J. Dally. 深度压缩:通过剪枝、量子化训练和霍夫曼代码压缩深度神经网络(Deep compression: Compressing deep neural network with pruning, trained quantization and huffman coding) (ICLR 最佳论文,来自 DeePhi 科技初创公司,加速 NN 运行的新方向)
[26] Iandola, Forrest N., et al. SqueezeNet:带有 50x 更少参数和小于 1MB 模型大小的 AlexNet-层级精确度(SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 1MB model size.) (优化 NN 的另一个新方向,来自 DeePhi 科技初创公司)
2.3 无监督学习/深度生成模型
[27] Le, Quoc V. 通过大规模无监督学习构建高级特征(Building high-level features using large scale unsupervised learning.) (里程碑,吴恩达,谷歌大脑,猫)
[28] Kingma, Diederik P., and Max Welling. 自动编码变异贝叶斯(Auto-encoding variational bayes.) (VAE)
[29] Goodfellow, Ian, et al. 生成对抗网络(Generative adversarial nets.)(GAN, 超酷的想法)
[30] Radford, Alec, Luke Metz, and Soumith Chintala. 带有深度卷曲生成对抗网络的无监督特征学习(Unsupervised representation learning with deep convolutional generative adversarial networks.)(DCGAN)
[31] Gregor, Karol, et al. DRAW:一个用于图像生成的循环神经网络(DRAW: A recurrent neural network for image generation.) (值得注意的 VAE,杰出的工作)
[32] Oord, Aaron van den, Nal Kalchbrenner, and Koray Kavukcuoglu. 像素循环神经网络(Pixel recurrent neural networks.)(像素 RNN)
[33] Oord, Aaron van den, et al. 使用像素 CNN 解码器有条件地生成图像(Conditional image generation with PixelCNN decoders.) (像素 CNN)
2.4 RNN/序列到序列模型
[34] Graves, Alex. 带有循环神经网络的生成序列(Generating sequences with recurrent neural networks.)(LSTM, 非常好的生成结果,展示了 RNN 的力量)
[35] Cho, Kyunghyun, et al. 使用 RNN 编码器-解码器学习词组表征用于统计机器翻译(Learning phrase representations using RNN encoder-decoder for statistical machine translation.) (第一个序列到序列论文)
[36] Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. 运用神经网路的序列到序列学习(Sequence to sequence learning with neural networks.」)(杰出的工作)
[37] Bahdanau, Dzmitry, KyungHyun Cho, and Yoshua Bengio. 通过共同学习来匹配和翻译神经机器翻译(Neural Machine Translation by Jointly Learning to Align and Translate.)
[38] Vinyals, Oriol, and Quoc Le. 一个神经对话模型(A neural conversational model.)(聊天机器人上的序列到序列)
2.5 神经图灵机
[39] Graves, Alex, Greg Wayne, and Ivo Danihelka. 神经图灵机器(Neural turing machines.)arXiv preprint arXiv:1410.5401 (2014). (未来计算机的基本原型)
[40] Zaremba, Wojciech, and Ilya Sutskever. 强化学习神经图灵机(Reinforcement learning neural Turing machines.)
[41] Weston, Jason, Sumit Chopra, and Antoine Bordes. 记忆网络(Memory networks.)
[42] Sukhbaatar, Sainbayar, Jason Weston, and Rob Fergus. 端到端记忆网络(End-to-end memory networks.)
[43] Vinyals, Oriol, Meire Fortunato, and Navdeep Jaitly. 指示器网络(Pointer networks.)
[44] Graves, Alex, et al. 使用带有动力外部内存的神经网络的混合计算(Hybrid computing using a neural network with dynamic external memory.)(里程碑,结合上述论文的思想)
2.6 深度强化学习
[45] Mnih, Volodymyr, et al. 使用深度强化学习玩 atari 游戏(Playing atari with deep reinforcement learning.) (第一篇以深度强化学习命名的论文)
[46] Mnih, Volodymyr, et al. 通过深度强化学习达到人类水准的控制(Human-level control through deep reinforcement learning.) (里程碑)
[47] Wang, Ziyu, Nando de Freitas, and Marc Lanctot. 用于深度强化学习的决斗网络架构(Dueling network architectures for deep reinforcement learning.) (ICLR 最佳论文,伟大的想法 )
[48] Mnih, Volodymyr, et al. 用于深度强化学习的异步方法(Asynchronous methods for deep reinforcement learning.) (当前最先进的方法)
[49] Lillicrap, Timothy P., et al. 运用深度强化学习进行持续控制(Continuous control with deep reinforcement learning.) (DDPG)
[50] Gu, Shixiang, et al. 带有模型加速的持续深层 Q-学习(Continuous Deep Q-Learning with Model-based Acceleration.)
[51] Schulman, John, et al. 信赖域策略优化(Trust region policy optimization.) (TRPO)
[52] Silver, David, et al. 使用深度神经网络和树搜索掌握围棋游戏(Mastering the game of Go with deep neural networks and tree search.) (阿尔法狗)
2.7 深度迁移学习/终身学习/尤其对于 RL
[53] Bengio, Yoshua. 表征无监督和迁移学习的深度学习(Deep Learning of Representations for Unsupervised and Transfer Learning.) (一个教程)
[54] Silver, Daniel L., Qiang Yang, and Lianghao Li. 终身机器学习系统:超越学习算法(Lifelong Machine Learning Systems: Beyond Learning Algorithms.) (一个关于终生学习的简要讨论)
[55] Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. 提取神经网络中的知识(Distilling the knowledge in a neural network.) (教父的工作)
[56] Rusu, Andrei A., et al. 策略提取(Policy distillation.) (RL 领域)
[57] Parisotto, Emilio, Jimmy Lei Ba, and Ruslan Salakhutdinov. 演员模仿:深度多任务和迁移强化学习(Actor-mimic: Deep multitask and transfer reinforcement learning.) (RL 领域)
[58] Rusu, Andrei A., et al. 渐进神经网络(Progressive neural networks.)(杰出的工作,一项全新的工作)
2.8 一次性深度学习
[59] Lake, Brenden M., Ruslan Salakhutdinov, and Joshua B. Tenenbaum. 通过概率程序归纳达到人类水准的概念学习(Human-level concept learning through probabilistic program induction.)(不是深度学习,但是值得阅读)
[60] Koch, Gregory, Richard Zemel, and Ruslan Salakhutdinov. 用于一次图像识别的孪生神经网络(Siamese Neural Networks for One-shot Image Recognition.)
[61] Santoro, Adam, et al. 用记忆增强神经网络进行一次性学习(One-shot Learning with Memory-Augmented Neural Networks ) (一个一次性学习的基本步骤)
[62] Vinyals, Oriol, et al. 用于一次性学习的匹配网络(Matching Networks for One Shot Learning.)
[63] Hariharan, Bharath, and Ross Girshick. 少量视觉物体识别(Low-shot visual object recognition.)(走向大数据的一步)
3 应用
3.1 NLP(自然语言处理)
[1] Antoine Bordes, et al. 开放文本语义分析的词和意义表征的联合学习(Joint Learning of Words and Meaning Representations for Open-Text Semantic Parsing.)
[2] Mikolov, et al. 词和短语及其组合性的分布式表征(Distributed representations of words and phrases and their compositionality.) (word2vec)
[3] Sutskever, et al. 运用神经网络的序列到序列学习(Sequence to sequence learning with neural networks.)
[4] Ankit Kumar, et al. 问我一切:动态记忆网络用于自然语言处理(Ask Me Anything: Dynamic Memory Networks for Natural Language Processing.)
[5] Yoon Kim, et al. 角色意识的神经语言模型(Character-Aware Neural Language Models.)
[6] Jason Weston, et al. 走向人工智能-完成问题回答:一组前提玩具任务(Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks.) (bAbI 任务)
[7] Karl Moritz Hermann, et al. 教机器阅读和理解(Teaching Machines to Read and Comprehend.)(CNN/每日邮件完形风格问题)
[8] Alexis Conneau, et al. 非常深度卷曲网络用于自然语言处理(Very Deep Convolutional Networks for Natural Language Processing.) (在文本分类中当前最好的)
[9] Armand Joulin, et al. 诡计包用于有效文本分类(Bag of Tricks for Efficient Text Classification.)(比最好的差一点,但快很多)
语音识别和图像识别的区别语音识别与图像识别的区别:
1)语音识别分很多种:命令识别,离散/连续语音识别,特定人/非特定人+离散/连续+语音识别
2)命令、离散识别,有些方法 跟 图像识别 还有些像,连续语音识别差得就很多了
连续语音识别常用识别方法:
GMM/DNN/CNN+HMM,HMM用来处理时间维度上的关系,GMM/DNN/CNN用来做声学建模,解码还需要用到语言模型(Language
Model);非特定人,跟transfer learning还有点关系。
总之:语音识别要比图像识别复杂得多,图像识别的基本套路就是“特征提取+训练分类器(神经网络把这俩统一了)”,语音识别还需要处理时间维度上信息的变化
关于cnn声学建模php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于cnn声学建模php dnnhmm声学模型的详细内容...