自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 fairseq错误:‘Please build Cython components with: pip install --editable ‘

fairseq错误:'Please build Cython components with: pip install --editable '

2022-07-01 10:57:00 1583 7

原创 torchAudio中wav2vec2的源码(三)——transformer-encoder的构建

torchAudio中wav2vec2的源码(三)——transformer-encoder构建

2022-04-12 23:38:43 2294 5

原创 探究torchAudio中wav2vec2的源码(二)——特征提取

探究torchAudio中wav2vec2的源码(二)——特征提取

2022-04-06 11:55:27 6428 4

原创 探究torchAudio中wav2vec2的源码(一)

探究torchAudio中wav2vec2的源码(一)

2022-03-30 22:58:21 2096 3

原创 运行torchAudio下的wav2vec2.0样例

torchAudio下运行wav2vec2.0

2022-03-29 20:42:29 7988 6

原创 基于矢量量化(VQ)的说话人识别(python)

最近用python做了VQLBG的说话人识别实验,记录一下。若是有错恳请指出。矢量量化的基本原理将若干个标量数据组成一个矢量(或者是从一帧语音数据中提取的特征矢量)在多维空间给予整体量化,从而可以在信息量损失较小的情况下压缩数据量。矢量量化有效地应用了矢量中各元素之间的相关性,因此可以比标量量化有更好的压缩效果。设有NNN个KKK维特征矢量X={X1,X2,⋯ ,XN}X=\{X_1,X_2,\cdots,X_N\}X={X1​,X2​,⋯,XN​}(XXX在KKK维欧几里德空间RKR^KRK中),其

2021-12-23 21:29:59 4558

原创 mRASP2数学模型

本博客主要记录mRASP2的数学模型和公式。若有错误理解,恳请加以评论。模型图公式表示我们定义了集合L={L1,L2,⋯ ,LM}L=\{L_1,L_2,\cdots,L_M\}L={L1​,L2​,⋯,LM​},集合LLL表示为涉及训练阶段的MMM个语言的集合。DDD表示所有的并行数据集,DijD_{ij}Dij​表示(Li,Lj)(L_i,L_j)(Li​,Lj​)的一个并行数据集。训练损失定义为:Lce=∑xi,xj∈D−logPθ(xi∣xj)L_{ce}=\sum_{x^i,x^j

2021-12-23 20:36:22 963

原创 语音识别——语言模型

本博客主要是摘写洪青阳教授的《语言识别-原理与应用》的笔记,不足之处还请谅解。语音识别为:根据输入的观察值序列O,找到最可能的词序列W^\hat{W}W^。按照贝叶斯准则,识别任务可做如下转化:W^=argmax⁡W P(W∣O)=arg⁡ max⁡P(W)P(O∣W)P(O)\hat{W}={\underset {W}{\operatorname {arg max} }}\,P(W|O)=\arg\,\max\frac{P(W)P(O|W)}{P(O)}W^=Wargmax​P(W∣O)=arg

2021-12-09 17:19:57 6479 1

原创 DTW算法

该算法基于动态规划的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法,在孤立词识别中能起到有效的作用。作用:把两段不同长度的语音在时间轴上进行了对齐。参数主要分为参考模板和测试模板参考模板R可表示为:{R(1),R(2),...,R(m),...,R(M)}\{R(1),R(2),...,R(m),...,R(M)\}{R(1),R(2),...,R(m),...,R(M)},m为训练语音帧的时序标号,m=1为起点语音帧,m=M为终点语音帧,因此M为该模板所包含的语音

2021-11-30 17:13:05 1783

原创 语音识别-音素的上下文建模

人的发音其实是个渐变过程,在从一个音素转向另一个音素时,会存在协同发音现象,包括同一个音节内部和不同音节的过渡。本博客主要看洪青阳教授写的《语音识别:原理与应用》而写的笔记。协同发音协同发音是指一个音受前后相邻音影响而发生变化。如”好好学习“的“好好”。因此同一个音素在不同位置,发音差异可能较大。中文: 好 好音节: hao3 hao3音素:h ao3 h ao3每个字都是一个音节,音节内部有发音衔接,音节之间也是有衔接的,其体现就是在语谱图过渡阶段存在交叉。上下文建模

2021-10-29 13:40:33 2400

原创 HMM(隐马尔可夫)笔记

(模板匹配)DTW主要作用:把两段不同长度的语音在时间轴上进行了对齐。DTW不足:DTW本质上是一种模板匹配技术,只能进行简单的匹配,而且其参数简单,无法对语音信号的多样性建模,只适用于特定人的小词汇量的语音识别。事实上,人说话不光是时变过程,频域分布也在变化,随机性很大。不同的人所同样的话,语音也存在较大差异。因此语音识别实际上是一个复杂的问题。双重随机过程人的发音包含双重随机过程。想说什么不确定:即说话内容,具体包含哪些符号(音素或字词)?怎么说不确定:同样内容发音的观察值差异很大。说

2021-10-09 13:47:56 665

原创 Mel频率倒谱系数-MFCC

MFCC:Mel频率倒谱系数的缩写。目的:模拟人耳对不同频率语音的感知Mel频率和Hz频率的关系人类对不同频率语音有不同的感知能力:1kHz以下,与频率成线性关系。1kHz以上,与频率成对数关系。Mel频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的Hz频谱特征。由于Mel频率与Hz频率之间非线性的对应关系,使得MFCC随着频率的提高,其计算精度随之下降。因此,在应用中常常只使用低频MFCC,而丢弃中高频MFCC。Fmel=2595lg(1+f/700)F_{mel}=

2021-10-06 22:24:12 3044 1

原创 线性预测编码(LPC)笔记

概念:一个语音的抽样能够用过去若干个语音抽样(模板)的线性组合来逼近。通过使实际语音抽样和线性预测抽样之间差值的平方和达到最小,能够决定唯一的一组预测系数。用于语音分析与合成,可估计许多语音基本参数:基音、共振峰、频谱、声道截面积等。语音信号是由一个激励信号e(k)经过一个时变的全极点滤波器产生的。生成语音信号s(k)表示为:s(n)=∑i=1pais(n−i)+e(n)s(n)=\sum_{i=1}^pa_is(n-i)+e(n)s(n)=i=1∑p​ai​s(n−i)+e(n)其中,激励信号e

2021-09-17 22:10:52 2299

原创 python深度学习笔记01-电影评论分类

​ 虽说已经对神经网络有所了解,但是理解和实践还是有区别的。例如,理解的时候,我们需要不断的推公式,实践的时候,平常只需要使用已有的函数进行调用就好。也就是不用自己做前向传播和后向传播,只需要用函数把神经网络构建好,选好优化器、损失函数和指标,最后调用拟合函数设置拟合次数就好。这就是从《python深度学习》这本书中第三章第一个例题得出的道理。注:本博客的知识都能在博主之前的机器学习笔记中学到,博主也还在学习阶段,希望大佬指导指导。问题概述​ 电影评论分类是一个二分类问题,主要是根据电影评论的文字

2021-09-09 11:26:29 477

原创 机器学习07-拟合模型诊断

我们学习了很多机器学习的使用方法,但是我们一直没有一个好的方法去得到一个高效率的拟合模型选择,因此,我们来说说如何得到一个又高效又好的拟合模型。对于这个问题,我们一样使用预测房价的例子。这是我们熟知的线性回归代价函数J。假设我们已经取到了其最小值。但是我们放入一组新的数据下去,发现预测的值和实际的值出现了很大的误差,我们应该怎么改善这个算法。找更多的训练数据进行训练。减少特征,防止过拟合增加特征增加多项式特征降低正则化参数λ的值增加正则化参数λ的值如果你随便选择这些方法,很容易让你事

2021-06-16 16:29:11 506

原创 机器学习06-神经网络+后向传播

本章,我们先来讨论一个学习算法,它能在给定训练集时为神经网络拟合参数。代价函数假设我们有一个神经网络,如下:假设我们有一个像这样的训练集:我们用再做一些记号:L:代表神经网络的总层数。S_l:代表第l层的神经元数量,其中不包括第L层的偏差单元。还记得吗?我们逻辑回归代价函数公式:现在放出我们的神经网络的代价函数公式:(哇,看起来很复杂,但其实不难理解)与回归代价函数相比,神经网络的代价函数公式在它基础上增加了点东西而已。原来cost函数加上求和k之后,等于遍历了神经网络里的cos

2021-06-06 17:14:53 651 2

原创 机器学习05-神经网络概念+前向传播

我们学习了线性回归、logistic,为什么还要学习神经网络。我们用几个例子作为例子。注意:如果没有学习神经网络之前的知识,如线性回归、logistic(我前面发的笔记),会比较难食用这篇文章。例子一假设有一个监督学习分类问题,我们可以利用一个包含很多非线性项的logistic回归来解决问题:决策边界就会画出来:这是只有x1和x2两个特征得到的不错的效果,因为把x1和x2的所有组合都包含到多项式中。但有趣的机器学习问题,大多都不止只有两个特征,就像我们之前讨论过的预测房价问题:假设我

2021-05-30 23:39:29 572 2

原创 机器学习04-过拟合问题-正则化

拟合我们知道了,那什么是过拟合呢?首先我们看看什么是欠拟合。欠拟合让我们使用回之前的线性回归来预测房价的例子,以住房面积为自变量的函数来预测房价。我们可以使用一次函数来拟合数据,我们得到这样一条直线:但这不是一个很好的模型,通过数据可以看出,房子面积越大,价格越趋向于稳定。而该拟合函数并没有很好的去拟合训练集,我们把这个问题称为欠拟合。欠拟合:如果拟合一条直线,就好像算法有一个很强的偏见,或者说非常大的偏差,认为房子价格与面积线性相关,而罔顾数据的不符,先入为主的拟合一条直线,最终导致拟合数据

2021-05-29 14:05:08 229

原创 机器学习03-分类问题

之前我们有提到邮箱里垃圾邮件分类、肿瘤分类,就是分类问题的一种,是两类分类问题。在这些问题中,我们可以尝试预测的变量y是有两个取值的变量,0或1,就等于垃圾、不垃圾,恶性、良性,通常0表示负类、1表示正类。通常1是代表我们需要寻找的东西。假设我们现在有一个给定的训练集,图示如下:如果我们用直线去拟合它,我们可能会得到下面的图:门槛(分界线)设在0.5,如果小于0.5,则等于0,大于0.5,则等于1。用直线设置下图看似很合理,假如我们有另一个训练样本位于右边处,如下:而我们拟合出来的线就会发

2021-05-27 23:15:39 633

原创 机器学习02-多元梯度下降+正规方程

由于线性代数的知识我比较的熟悉,因此视频中有讲到线性代数的一些基本用法我就不再做笔记了,如果接下来的笔记有关线性代数不懂的地方,可以自己去看看相关视频。一开始,我们的训练集是(xi,yi)的,假设函数是一条直线,如图:而这章,我们将学习到多特征和多元的回归方程。首先我们先看多特征的例子:这次我们不止一个特征,而是有4个特征,包括面积x1、房间数x2、楼层数x3、房龄x4。通过4个特征得出来的房价y。这里再引入一些符号:n 表示特征的数量x^(i) 表示第i个训练样本的输入特征值\特征向量

2021-05-25 11:53:14 172

原创 机器学习01-介绍+线性回归算法

本博文是根据吴恩达的机器学习教学视频所整理的一些学习笔记,有兴趣可以相互讨论相互学习,有错误的地方也希望大家可以指出。对机器学习的定义:Arthur Samuel认为,在没有明确设置的情况下,是计算机具有学习能力的研究领域tom Mitchel认为,计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P,通过P测定在T上的表现因经验E而提高。例1,任务T是玩跳棋,性能度量P就是与新对手玩跳棋时赢的概率例2,给邮件分类是任务T,观察你是否把你的邮件记为垃圾邮件为经验E,正确归类邮件的比例为性能

2021-05-10 17:37:14 185

原创 软件工程导论12-Web工程

Web工程Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。Web工程使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统。1.基于web系统和应用的属性Web工程不是软件工程的完全克隆,但是它借用了软件工程的许多基本概念和原理,强调了相同的技术和管理活动WebApp :Web的系统和应用Web系统和应用:不同于其他类别的计

2021-03-16 14:47:15 901

原创 软件工程导论11-软件测试

软件测试1.内容概述(???)2.软件测试基础2.1.有关软件测试的错误观点“软件测试是为了证明程序是正确的,即测试能发现程序中所有的错误”。(x)事实上这是不可能的。要通过测试发现程序中的所有错误,就要穷举所有可能的输入数据。例如:(1) 对于一个输入三个16位字长的整型数据的程序,输入数据的所有组合情况有2**48 ,如果测试一个数据需1ms,则即使一年365天一天24小时不停地测试,也需要约1万年。(2)对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。例如一

2021-03-15 17:13:53 3461

原创 软件工程导论10-程序设计语言和编码

程序设计语言和编码编码阶段的任务是根据详细设计说明书编写程序程序设计语言的特性和程序设计风格会深刻地影响软件的质量和可维护性为了保证程序编码的质量,程序员必须深刻理解、熟练掌握并正确地运用程序设计语言的特性此外,还要求源程序具有良好的结构性和良好的程序设计风格程序设计语言基本概念程序设计语言是指用于书写计算机程序的语言,他是一种实现性的软件语言**语法(syntax)**用来表示构成语言的各个记号之间的组合规则,它是构成语言结构正确成分所需遵循的规则集合如C语言中for语句的构成规

2021-03-14 16:27:32 1254

原创 软件工程导论09-人机界面设计

人机界面设计人的因素人的因素主要包括人对感知过程的认识用户的技能和行为方式用户所要求完成的整个任务以及用户对人机界面部分的特殊要求。人对感知过程的认识人通过感觉器官认识客观世界,因此设计用户界面时要充分考虑人的视觉、触觉、听觉的作用。人机界面是在可视介质上实现的,如正文、图形、图表等。人们根据显示内容的体积、形状、颜色等种种表征来解释所获取的可视信息。因此,字体、大小、位置、颜色、形状等都会直接影响信息提取的难易程度。很好地表示可视信息是设计友好界面的关键。用户从界面提取到的信息

2021-03-13 16:14:29 5648

原创 软件工程导论08-基于构件的软件开发

基于构件的软件开发长期以来的软件开发状况多数软件都是针对某个具体的应用系统从头进行开发的。导致:出现了大量的同类软件重复开发,造成大量人力、财力的浪费,而且软件的质量也不高。对比:汽车工业的生产模式在已有的部件基础上通过组装进行生产:有专门的部件生产工厂,汽车设计者在设计中选择市场上已有的合适的部件。避免了大量的重复劳动,提高了产品质量和生产效率,促进分工合作。我们的目标:将制造业中的组装式生产模式引入到软件开发中基于构件的软件开发概述基于构件的软件开发(Component-Based S

2021-03-12 19:08:23 3410

原创 软件工程导论07-面向对象的分析和设计

面向对象的分析和设计软件工程(第三版,钱乐秋等著)7-8章有所省略版面向对象的基本概念用下列等式认识面向对象方法:面向对象 =类(class)+ 对象(object)继承(inheritance)多态(Polymorphism)通过消息的通信(communication with messages)(终于有点熟悉的面孔了 - -)采用四个概念开发的软件系统是面向对象的面向对象方法成为20世纪90年代的主流开发方法。其原因:从认知学的角度来看,面向对象方法符合人们对客观世界的认识规律

2021-03-11 18:30:34 3296

原创 软件工程导论06-面向数据结构的分析与设计

面向数据结构的分析与设计典型方法:Jackon方法Warnier方法主要特点:以信息对象及其操作作为核心进行需求分析认为复合信息对象具有层次结构,并且可按顺序、选择、重复三种结构分解为成员信息对象提供由层次信息结构映射为程序结构的机制,从而为软件设计奠定良好的基础JSP:Jackon结构程序设计方法JSD:Jackon系统开发方法JSP方法总结了COBOL事务处理程序中的开发方法而发展起来的,特点:重点不是自顶向下逐步求精,而是在数据结构基础上进行构造根据输入/输出的数据

2021-03-10 15:18:56 3391 2

原创 软件工程导论05-结构化分析与设计

结构化分析与设计(这章内容多但都不算难理解,能与前面融一下)结构化分析与设计方法是一种面向数据流的传统软件开发方法它以数据流为中心,构建软件的分析模型和设计模型结构化方法分为:结构化分析(Structured Analysis,SA)结构化设计(Structured Design,SD)结构化程序设计(Structured Programmin,SP)结构化分析方法概述结构化分析方法发展历史提出:20世纪60年代末到70年代初成熟:20世纪70年代末到80年代中期主要思想

2021-03-09 21:22:41 6593

原创 软件工程导论04-设计工程

设计工程(前半段概念可能难懂点,后面好点)软件设计工程概述软件设计软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。软件需求分析解决“做什么”的问题,软件设计过程则解决“怎么做”的问题软件设计是把软件需求变换成软件表示的过程,它主要包含两个阶段:概要设计(系统设计、总体设计)详细设计(部件设计)概要设计(系统设计、总体设计)概要设计:是一个设计师根据用户交互过程和用户

2021-03-06 21:34:56 3099

原创 软件工程导论03-需求工程

需求工程需求工程的概述Alan Davis 把需求工程定义为“直到(但不包括)把软件分解为实际架构构件之前的所有活动”Herb 定义了需求工程的五阶段生命周期:需求定义和分析、需求决策、形成需求规格、需求实现与验证、需求演进管理Matthias Jarke和Klaus Pohl提出了三阶段周期的说法:获取、表示和验证需求获取系统分析人员通过与用户的交流、对现有系统的观察及对任务进行分析,确定:系统或产品范围的限制性描述与系统或产品有关的人员特征列表系统的技术环境的描述系统功能的列表及

2021-03-05 20:18:38 525

原创 软件工程导论02-计算机系统工程

计算机系统工程是软件生存周期的第一个过程,下面讲解系统工程要做什么。基于计算机的系统所谓基于计算机的系统是指:通过处理信息来完成某些预定义目标而组织在一起的元素的集合或排列。组成计算机系统的元素主要有:软件、硬件、人员、数据库、文档和规程。系统元素软件:指计算机程序、数据结构和相关的工作产品,以实现所需要的逻辑方法、规程或控制硬件:指提供计算能力的电子设备、支持数据流的互连设备(如网络交换器、电信设备)和提供外部世界功能的电子机械设备(如传感器、马达等)人员:指硬件和软件的用户和操作者数据库:

2021-03-05 11:48:08 1077 1

原创 软件工程导论01-概论

(钱乐秋-软件工程(第3版)-笔记)软件工程个人观点:软件工程是一门理论课,因为软件的特点,当时没有一个规范性系统性的开发流程,导致各种问题的发生(软件危机),因此,有了一门叫《软件工程》的科目,进行对软件开发过程的系统了解。(这么无聊的东西不会真有人看吧,不会吧不会吧~)软件危机概念:软件危机是指许多项目不能满足客户的需求或许多软件项目超出预算和时间安排(客人、钱、时间)表现:对软件开发成本和进度估计不准确用户对“已完成”软件系统不满意的现象经常发生(用户对成品不满意)软件成品质量往往

2021-03-04 17:56:58 1236 5

原创 Lambda介绍

(狂神笔记)函数式接口函数式接口定义:任何接口,如果只包含唯一一个抽象方法,那么他就是函数时接口。public interface Runnable{ public abstract void run();}对于函数时接口,我们可以通过lambda表达式来创建该接口的对象Lambda表达式lambda是java8的新特性,其实就是当接口是函数式接口时,省略接口省略方法名package com.feng.lambda;public class Lambda01 { //3.静

2021-02-23 22:31:23 130 2

原创 Java多线程01

Java多线程01线程、进程、多线程(本文为狂神说的学习笔记)普通方法调用和多线程的区别​ 普通方法只有主线程一条执行路径​ 多线程拥有多条执行路径,主线程与子线程并行交替执行程序:是指令和数据的有序集合,其本身是一个静态的概念进程:在操作系统中运行的程序就是进程,是程序执行的过程,比如QQ,游戏等等线程:是cpu调度和执行的单位,在进程中拥有独立的执行路径通常一个进程可以包含若干个线程,一个进程中至少拥有一个线程,不然没有存在的意义虚假的多线程:通过cpu调度模拟出来,即一个cpu,在

2021-02-21 16:41:53 103

原创 POI-Easyexcel01

POI-Easyexcel01配置<dependencies> <!--xls03--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version>

2021-02-19 22:40:58 54

原创 CCF 201712-4 行车路线 ccf 50分的求教(C++)

201712-4 行车路线 ccf 50分的求教本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:-问题描述   小明和小芳出去乡村玩,小明负责开车,小芳来导航。   小芳将可能的道路分为大道和小道。大道比较好走,每走1公里小明会增加1的疲劳度。小道不好走,如果连续走小道,小明的疲劳值会快速增加,连续走s公里小明会增加s2的疲劳度。 ...

2018-09-05 22:49:19 172

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除