SEM简单介绍,以下资料来源
因果关系:SEM一般用于建立因果关系模型,但是本身却并不能阐明模型的因果关系。
一般应用于:测量错误、错漏的数据、中介模型(mediation model)、差异分析。
历史:SEM 包括了 回归分析,路径分析(wright, 1921),验证性因子分析(confirmatory factor analysis)(Joreskog, 1969).
SEM也被称为 协方差结构模型(covariance structure modelling),协方差结构分析和因果模型。
因果关系:
究竟哪一个是“真的”? 在被假设的因果变量中其实有一个完整的因果链。
举一个简单的例子: 吃糖果导致蛀牙。这里涉及2个变量,“吃糖果”和“蛀牙”,前者是因,后者是果。 如果上一个因果关系成立,那将会形成一个因果机制,也许会出现这样的结构:
3. 这时还有可能出现更多的潜在变量:
这里我又举另外一个例子,回归模型
在这里,回归模型并不能很好的描述出因果次序,而且也不能轻易的识别因果次序或者未测量的因子。这也是为什么在国外学术界SEM如此流行的原因。
我们在举另外一个例子“路径分析”
路径分析能让我们用于条件模型(conditional relationships),上图中的模型是一种调解型模型或者中介模型,在这里Z 是作为一个中介调节者同时调节X和Y这两个变量的关系。
在这里我们总结一下:
回归分析简单的说就是:X真的影响Y 吗?
路径分析:为什么/如何 X 会影响Y? 是通过其他潜在变量Z 来达到的吗?例子:刷牙(X)减少蛀牙(Y)通过减少细菌的方法(Z)。------测量和测试中介变量(例如上图中的Z变量)可以帮助评估因果假设。
在这里要提一下因素模型(factor model)
在这个模型当中,各个变量有可能由于受到未被观察到的变量所影响,变得相互有内在的联系,一般来说那些变量都很复杂、混乱,而且很多变量是不能直接被观察到的。
举个例子:“保龄球俱乐部的会员卡”和“本地报纸阅读”,是被观察到的变量,而“社会资产”则是未被观察到的变量。另一个例子:“房屋立法”和“异族通婚”是被观察到的变量,而“种族偏见”是未被观察到的变量。
相互关系并不完全由被观察到的变量的因果关系所导致,而是由于那些潜在的变量而导致。
这些被观察到变量(y1--y4)也有可能由一个潜在的变量(F)所影响。
在语音识别中,HMM的每个状态都可对应多帧观察值,观察值概率的分布不是离散的,而是连续的,适合用GMM来进行建模。HMM模块负责建立状态之间的转移概率分布,而GMM模块则负责生成HMM的观察值概率。
模型自适应: 由于各地口音、采集设备、环境噪声等音素的差异,已训练过的GMM-HMM很可能和新领域的测试数据不匹配,导致识别效果变差,需要做自适应训练。
MAP(最大后验概率估计): 算法本质是重新训练一次,并且平衡原有模型参数和自适应数据的估计。
MLLR(最大似然线性回归): 算法核心思想是将原模型的参数进行线性变换后再进行识别,其优点是使用少量语音即可以对所有模型进行自适应训练,只要得到线性变换矩阵即可。
每个音素(或三音素)用一个 HMM 建模,每个 HMM 状态的发射概率对应一个 GMM。GMM-HMM 的目的即是找到每一帧属于哪个音素的哪个状态。GMM-HMM 的训练使用自我迭代式的 EM 算法,更直接的方式是采用维特比训练,即把EM算法应用到GMM参数的更新上,要求显示的输入每一帧对应的状态,使用带标注的训练数据更新GMM的参数,这种训练方法比Baum-Welch算法速度更快,模型性能却没有明显损失。
1、首次对齐时把训练样本按该句的状态个数平均分段。
2、每次模型参数的迭代都需要成对的使用gmm-acc-stats-ali和gmm-est工具。
3、进行多轮迭代训练后使用gmm-align-compiled工具通过其内部的维特比算法生成对齐结果。
单因子模型的基本假设是:一个音素的实际发音,与其左右相邻或相近的音素(上下文音素)无法。三因子结构中的每一个音素建模实例,都由其中心音素及其左右各一个上下文音素共同决定。无论是单因子还是三因子,通常都使用三状态的HMM结构来建模。为了解决三因子模型参数爆炸问题,将所有的三因子模型放到一起进行相似性聚类(决策树),发音相似的三因子被聚类到同一个模型,共享参数。训练脚本:steps/train_deltas.sh,目标训练一个10000状态的三因子系统:
1、以单因子为基础,训练一个5000状态的三因子模型
2、用5000状态的模型重新对训练数据进行对齐,其对齐质量必然比单因子系统对齐质量高
3、用新的对齐再去训练一个10000状态的三因子系统
phone-id:音素的 ID,参见 data/lang/phones.txt,强制对齐的结果不含 0(表示<eps>)和消歧符 ID;
hmm-state-id:单个 HMM 的状态 ID,从 0 开始的几个数,参见 data/lang/topo;
pdf-id:GMM 的 ID,从 0 开始,总数确定了 DNN 输出节点数,通常有数千个;
transition-index:标识单个 Senone HMM 中一个状态的不同转移,从 0 开始的几个数;
transition-id:上面四项的组合 (phone-id,hmm-state-id,pdf-id,transition-index),可以涵盖所有可能动作,表示哪个 phone 的哪个 state 的哪个 transition 以及这个 state 对应的 pdf 和这个 transition 的概率,其中元组 (phone-id,hmm-state-id,pdf-id) 单独拿出来,叫 transition-state,与 transition-id 都从1开始计数。
关系:transition-id可以映射到唯一的transition-state,而transition-state可以映射到唯一的pdf-id,因此transition-id可以映射到唯一的pdf-id。pdf-id不能唯一的映射成音素,因此kaldi使用transition-id表示对齐的结果。
语音识别过程是在解码空间中衡量和评估所有的路径,将打分最高的路径代表的识别结果作为最终的识别结果。传统的最大似然训练是使正确路径的分数尽可能高,而区分性训练则着眼于加大这些路径之间的打分差异,不仅要使正确路径的分数仅可能高,还要使错误路径尤其是易混淆路径的分数尽可能低。
常用的区分性训练准则有最大互信息、状态级最小贝叶斯风险、最小音素错误。
分子:对于某条训练数据,其正确标注文本在解码空间中对应的所有路径的集合。
分母:理论上值整个搜索空间。通常会通过一次解码将高分路径过滤出来,近似整个分母空间,从而有效的减小参与区分性优化的分母规模。
词格(Lattice):分子、分母其实都是解码过程中一部分解码路径的集合,将这些路径紧凑有效的保存下来的数据结构就是词格。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)