- 博客(150)
- 资源 (7)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 基于树莓派语音控制—LED开关控制
此文是学术记录,亦是技术交流文档,本文使用LVCSR构建的语音控制系统。 研究接近两年的语音识别,最近一个月开始准备将自己的研究应用于实践中。从今年5月初开始研究语音控制,到今天才出一个简单的demo,最后演示结果如下: (https://v.youku.com/v_show/id_XNDIyNDY2MjcxMg==.html?spm=a2h3j.8428770.3416059.1...
2019-06-12 09:32:47
8538
9
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 基于GMM-HMM语音识别系统的算法推导(全)
最近研究完CTC,转而研究GMM-HMM; 参考文献:《语音识别实践》;《数学之美》;清华大学开源资料;爱丁堡大学语音识别课件;以及一些高校本硕博学位论文; 本文将会刷新你对GMM-HMM的认识,以及对EM算法加深理解; 本文将对GMM-HMM中的转移概率,发射概率,高斯核权重以及Viterbi算法解码进行推导:以上为所...
2019-04-21 14:55:21
3712
17
原创 语音学习开源社区网站
元语音研究网智能语音技术交流https://www.meta-speech.net/语音学习应该有一个专业网站,如上。所有文章均开源,目前刚建立,大家感兴趣可以关注
2022-02-25 13:48:16
2953
1
原创 语音识别三年研究感想
语音识别技术是一门艺术,学习语音识别是一个循序渐进的过程。 刚开始接触语音识别技术是在本科毕业广州运通研究院实习的暑假,由于本科是自动化专业,对于深度学习技术完全没有概念,对于语音识别技术更是一窍不通。实习前一个月都在做数据标注,不得不承认语音识别的标注是一样相当繁琐且乏味的工作,但是我坚持标注了一个月,到一个月结束也不明白为什么要标注。真正开始接触语音算法是在实习的后一个月,当时组内做的是语音分割,我跟着组内大佬打下手,当时我的任务时提取语音特征MFCC,这个问题对于当时的我来说真的是很难,也是...
2020-07-22 11:32:42
4842
58
原创 语音识别—声学模型解码
声学模型解码(带状态转移概率) 最近一直在学习哥伦比亚大学与爱丁堡大学语音识别课程,并且修正了哥伦比亚大学中基于HMM构建的语音识别系统存在问题终自己写了一套基于HMM的语音识别系统,前文一些博客简单对上述工程实现以及理论进行了介绍,但是前文进行Viterbi解码时并未融入状态转移概率,虽然转移概率相较于发射概率对于解码结果影响较小,虽然影响较小,但是笔者认为一个优秀...
2020-05-19 10:42:49
1406
原创 语音识别—声学模型训练(前向-后向算法)
声学模型训练(前向-后向算法) 前文讲述了语音识别声学模型训练算法,主要基于Viterbi-EM算法来估计模型中参数,但是该方法对于计算语料中帧对应状态的弧号存在计算复杂度指数级增加的问题,为解决上述问题,有学者提出用前向后向算法来估计模型中参数,其可以解决复杂度指数级增长的问题,主要理论及工程实现如下。 本文语音识别算法主要参考哥伦比亚大学语音识别课程提供的源码...
2020-05-15 18:13:46
2629
1
原创 语音识别—声学模型训练(Viterbi-EM)
Viterbi-EM语音识别训练方法 前文刚研究过语音识别特征提取以及基于Viterbi的状态解码方法,现着手研究基于GMM-HMM的语音语音识别声学模型训练方法,其理论部分可参考本人前期所写的GMM-HMM理论推导拖成,但上述推导过程是采用前后向算法更新模型参数,本人则主要采用Viterbi-EM训练方法对GMM中参数进行更新训练。 实际上该训练方法主要是针...
2020-05-12 16:57:44
3799
原创 语音识别—Viterbi解码
Viterbi解码理论与实战 笔者最近着手研究基于HMM的语音识别系统,之前博文基于C++工具手写了提取MFCC语音特征(具体可以观看之前博文),最同时,也对基于GMM-HMM的语音识别训练过程进行了理论推导,现本文对基于Viterbi的解码方法进行详细的研究。 曾看过很多语音识别书(余栋的语音识别实战、陈果 果的kaldi实战以及张雪英的数位...
2020-05-10 15:11:38
2160
原创 语音识别特征—MFCC(实战篇)
语音特征提取—MFCC(理论篇) 本文主要针对特征提取中核心代码提取进行说明,如果有不懂或者想进一步了解的大佬可以私聊作者, 本文为语音特征提取—MFCC实战部分,参考哥伦比亚大学语音识别代码进行提取,其具体流程如下:(1)分帧与加窗...
2020-04-27 15:05:06
2051
原创 语音识别特征—MFCC(理论篇)
语音特征提取—MFCC(理论篇) 本文为语音特征提取—MFCC理论部分,参考哥伦比亚大学语音识别代码进行提取,其具体流程如下: (1)预加重、分帧以及加窗 语音识别中特征提取过程首先进行预加重、分帧以及加窗操作,其具体理论如下...
2020-04-27 14:57:58
1659
原创 隐马尔可夫模型基本概念(1)
最近抽空学习下Kaldi下语音识别系统,参考西工大谢磊老师硕士论文与其他博客对Kaldi下语音识别算法进行学习研究。 隐马尔科夫模型(Hidden Markov Model,HMM)本质上是一种统计模型,将HMM应用与语音识别解决三大问题,后续奉上理论推导(本人前期博客手推过一个版本)。一、HMM定义1.1 状态定义 研究HMM首先得知道其定义并能对其定义进行准确的描述,...
2020-04-24 15:44:37
732
转载 树莓派LED灯控制
随着Mini型PC越来越多,与之而来的创客也丰富起来,比如说Arduino就是一个非常好里例子。不过,Arduino毕竟是一块适合入门型的基础开发板,无论是从性能上,还是处理复杂问题的实现上,其本身都是有限的。所以有些时候我们会考虑成本更高的卡片式PC,类似于树莓派、香蕉派、橙子派等等。话虽然可以这么说,但作为PC跟GPIO一体的板卡,有些朋友刚拿到手确实是不知道何从下手,更不知道如何去控...
2019-06-05 09:11:32
1696
转载 树莓派连接电脑
1、串口连接这种方式在我树莓派的第一篇博客有讲,这里我简单介绍。连接树莓派,树莓派GPIO串口的GND,txd,rxd分别与转接口的GND,rxd,txd相连,用的什么转接模块我不管,反正最后得变成一个USB的接口接在电脑上,并在电脑设备管理器上的端口选项可以发现它,用Serial登录。可以用PUTTY登录,我用的是新版的secureCRT。2、ssh登...
2019-06-04 16:01:01
1659
转载 kaldi 中文件读取
* 1.ark,scp文件~/kaldi/src/featbin/copy-featsark:raw_mfcc_dev.10.arkark,t:-|headark存的试二进制文件,scp可以直接用cat命令看。*2.fst文件~/kaldi/tools/openfst-1.6.2/bin/fstprintL.fst|head-n10~/kaldi/t...
2019-04-23 18:16:16
1644
转载 tensorflow 新版
AttributeError: 'module' object has no attribute 'SummaryWriter'tf.train.SummaryWriter改为:tf.summary.FileWriterAttributeError: 'module' object has no attribute 'summaries'tf.merge_all_summaries...
2019-04-10 18:26:05
303
转载 tf中命名空间
1. tf.Variable与tf.get_variabletensorflow提供了通过变量名称来创建或者获取一个变量的机制。通过这个机制,在不同的函数中可以直接通过变量的名字来使用变量,而不需要将变量通过参数的形式到处传递。TensorFlow中通过变量名获取变量的机制主要是通过tf.get_variable和tf.variable_scope实现的。当然,变量也可以通过tf.Va...
2019-04-10 09:35:37
441
转载 GMM-HMM kaldi 详解
虽然现在端到端语音识别模型可以直接对后验概率建模,可以不需要HMM结构了。但实际上目前很多state-of-the-art模型还是以HMM结构为主,比如chain model。而且掌握HMM-GMM结构,对于深入理解语音识别过程是由有一定好处的。但对于外行(比如像我这种从机械行业转行到语音识别领域的人)或者刚接触语音识别的人来说,要弄懂HMM-GMM结构还是要花不少时间的,因为语音识别任务的特殊...
2019-04-09 09:00:34
3266
3
转载 语音识别的前世今生
这是我4月份在BitTiger公开课听的王赟大牛《语音识别的前世今生》整理的笔记,本来打算整理通畅再发的,结果实在没时间就一拖再拖。笔记有些草率,不过应该可以看明白,希望可以对大家有用,也祝王赟大神好。Q&A1. 历史上非特定人和特定人的语音识别是不是有很大的不同?这个就是前面讲过的打补丁,各种说话人适应的那一页(如下图)这一页上的这三种方法就是历史上,其实也包...
2019-04-03 18:32:55
987
转载 ctc decoder
本文主要对CTC 原理及实现中的代码进行解释。1.np.random.seed(1111)请参见本专栏文章numpy中random.seed()的妙用2.softmax的实现代码是这样的:def softmax(logits): max_value = np.max(logits, axis=1, keepdims=True) exp = np.exp(log...
2019-04-01 21:12:09
2766
转载 GMM详解
本文就高斯混合模型(GMM,Gaussian Mixture Model)参数如何确立这个问题,详细讲解期望最大化(EM,Expectation Maximization)算法的实施过程。单高斯分布模型GSM多维变量X服从高斯分布时,它的概率密度函数PDF为:x是维度为d的列向量,u是模型期望,Σ是模型方差。在实际应用中u通常用样本均值来代替,Σ通常用样本方差来代替。很容易判断一个...
2019-03-20 20:52:24
9172
转载 GMM-HMM 详解
本文简明讲述GMM-HMM在语音识别上的原理,建模和测试过程。这篇blog只回答三个问题:1.什么是Hidden Markov Model?HMM要解决的三个问题:1) Likelihood2) Decoding3) Training2. GMM是神马?怎样用GMM求某一音素(phoneme)的概率?3. GMM+HMM大法解决语音识别3.1 识别3.2...
2019-03-20 20:50:53
9742
1
转载 linux 基本操作
1.nohup用途:不挂断地运行命令。语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。 如果没有文件能创建或打开以用于追加,那么 Comman...
2019-02-25 19:53:23
211
转载 keras基础学习-二
1. 目标函数Objectives目标函数,或称损失函数,是编译一个模型必须的两个参数之一可以通过传递预定义目标函数名字指定目标函数,也可以传递一个Theano/TensroFlow的符号函数作为目标函数,该函数对每个数据点应该只返回一个标量值,并以下列两个参数为参数:y_true:真实的数据标签, Theano/TensorFlow张量y_pred:预测值,与y_true相同shape的...
2019-02-25 13:58:45
627
转载 Densenet综述
Densely Connected Convolutional Networks ,作者清华姚班的刘壮,获得cvpr 2017 best paper。非常值得阅读。DenseNet优势:(1)解决了深层网络的梯度消失问题(2)加强了特征的传播(3)鼓励特征重用(4)减少了模型参数DenseNet的网络基本结构如上图所示,主要包含DenseBlock和transition laye...
2019-02-20 09:39:15
604
2
原创 transformer优秀文章
[1] https://blog.csdn.net/pipisorry/article/details/84946653[2] https://blog.csdn.net/Zhangbei_/article/details/85036948[3] https://jalammar.github.io/illustrated-transformer/
2019-02-14 16:30:57
431
转载 transformer
Google于2017年6月发布在arxiv上的一篇文章《Attention is all you need》,提出解决sequence to sequence问题的transformer模型,用全attention的结构代替了lstm,抛弃了之前传统的encoder-decoder模型必须结合cnn或者rnn的固有模式,只用attention,可谓大道至简。文章的主要目的是在减少计算量和提高并行...
2019-02-14 16:21:34
2303
5
转载 python中计算BLEU分数
BLEU,全称为Bilingual Evaluation Understudy(双语评估替换),是一个比较候选文本翻译与其他一个或多个参考翻译的评价分数。尽管BLEU一开始是为翻译工作而开发,但它也可以被用于评估文本的质量,这种文本是为一套自然语言处理任务而生成的。通过本教程,你将探索BLEU评分,并使用Python中的NLTK库对候选文本进行评估和评分。完成本教程后,你将收获:B...
2019-02-13 15:20:48
11035
2
转载 pytorch激活函数
pytorch中实现了大部分激活函数,你也可以自定义激活函数,激活函数的实现在torch.nn.functional中,每个激活函数都对应激活模块类,但最终还是调用torch.nn.functional,看了定义,你也能自定义激活函数,我们从最早的激活函数来看sigmoiddef sigmoid(input): r"""sigmoid(input) -> Tensor ...
2019-02-11 14:55:19
4342
原创 pytorch回归问题
最近由于学习的需要,对深度学习著名的工具Pytorch进行学习,首先是对于Pytorch基本工具的熟悉。直接上代码关于采用深度学习方法构建回归模型。# -*- coding:utf-8 -*-# author:zhangweiimport torchimport matplotlib.pyplot as pltx = torch.unsqueeze(torch.linspac...
2019-02-11 14:50:30
1932
转载 keras 高级激活函数
高级激活层Advanced ActivationLeakyReLU层keras.layers.advanced_activations.LeakyReLU(alpha=0.3)LeakyRelU是修正线性单元(Rectified Linear Unit,ReLU)的特殊版本,当不激活时,LeakyReLU仍然会有非零输出值,从而获得一个小梯度,避免ReLU可能出现的神经元“死亡”现...
2019-01-22 14:41:22
2920
转载 Attenion 综述三
近一两年,注意力模型(Attention Model)是深度学习领域最受瞩目的新星,用来处理与序列相关的数据,特别是2017年Google提出后,模型成效、复杂度又取得了更大的进展。以金融业为例,客户的行为代表一连串的序列,但要从串行化的客户历程数据去萃取信息是非常困难的,如果能够将self-attention的概念应用在客户历程并拆解分析,就能探索客户潜在行为背后无限的商机。然而,笔者从Atte...
2019-01-21 10:17:53
521
1
转载 Attention 二 创新篇
讲讲最近深度学习里面的后期之秀吧,Transformer(和变形金刚没有半毛钱关系)话说自公元二零一三年,深度学习网络一枝独秀,自机器学习王国脱颖而出,带动了人工智能领域的发展。其中它最主要的两大家,卷积网络(CNN)和循环网络(RNN),因其独特的性质,分别在计算机视觉和自然语言处理领域得到广泛使用。然而这两大家却都还是上世纪就被提出来了,本世纪虽有创新,却也逃脱不了这两大家的干...
2019-01-18 10:00:25
856
转载 Attention 一综述
近年来,注意力(Attention)机制被广泛应用到基于深度学习的自然语言处理(NLP)各个任务中。随着注意力机制的深入研究,各式各样的attention被研究者们提出,如单个、多个、交互式等等。去年6月,google机器翻译团队在arXiv上的《Attention is all you need》论文受到了大家广泛关注,其中,他们提出的自注意力(self-attention)机制和多头(mult...
2019-01-10 15:13:19
1634
转载 keras 编写自己的Layer
1. Layer重写的基本思路?Keras层的骨架。只需要实现三个方法即可:build(input_shape): 这是你定义权重的地方。这个方法必须设self.built = True,可以通过调用super([Layer], self).build()完成。build,这个函数用来确立这个层都有哪些参数,哪些参数是可训练的哪些参数是不可训练的。call(x): 这里是编写层的功能逻...
2019-01-09 16:56:19
1934
转载 Keras 自定义层
Keras提供众多常见的已编写好的层对象,例如常见的卷积层、池化层等,我们可以直接通过以下代码调用:# 调用一个Conv2D层from keras import layersconv2D = keras.layers.convolutional.Conv2D(filters,\kernel_size, \strides=(1, 1), \padding='valid', \...)...
2019-01-09 15:23:37
1504
原创 深度学习应用总结
一、语音识别 以字为建模单元代码:https://github.com/zw76859420/ASR_WORD 二、图像识别 以安检危险品、Mnist等数据集,采用深度学习方法进行分类,其中涉及VGG resnet densenet mobilenet 数据增强等技术,代码: https://github.com/zw76859420/image-recognit...
2018-11-25 13:35:55
1039
原创 Dropblock
昨天arXiv新上一篇被NIPS2018会议接收的论文《DropBlock: A regularization method for convolutional networks》,作者为来自谷歌大脑的研究人员,提出了一种专门针对卷积层正则化的方法,方法非常简单,有效改进了CNN的各种任务,非常值得一读! 作者信息: 文中指出,在目前的神经网络训练的广泛实践中,全连接网络...
2018-11-07 10:10:00
3242
原创 语音识别中特征提取MFCC、FBANK、语谱图特征提取
好久没写博客了,今天更新一下使用Python提取声学模型的特征,一共三种特征,分别是MFCC、FABNK以及语谱图特征,直接上Python代码。# -*- coding:utf-8 -*-# author:zhangwei""" 该脚本用于提取语音特征,包括MFCC、FBANK以及语谱图特征; 该脚本是对标签数据进行处理;"""from python_speech...
2018-11-06 09:43:13
18633
50
转载 神经网络正则化方法
正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集,对训练集外的数据却不work。为了防止overfitting,可以...
2018-09-11 10:21:19
5078
1
test_python.rar
2020-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人