
机器学习
文章平均质量分 95
MoussaTintin
@美团语音AI
展开
-
【Learning Notes】变分自编码器(Variational Auto-Encoder,VAE)
简单介绍变分自编码器(Variational Auto-Encoder,VAE)实现和原理。原创 2016-12-14 17:48:49 · 70290 阅读 · 20 评论 -
【Learning Notes】PLDA(Probabilistic Linear Discriminant Analysis)
PLDA 是一个概率生成模型,最初是为解决人脸识别和验证问题而被提出[3,5],之后也被广泛应用到声纹识别等模式识别任务中。学者从不同的动机出发,提出了多种 PLDA 算法,文献[2] 在统一的框架下比较了三种 PLDA 算法变种(standard[3,6], simplified[4], two-covariance[5,8]),并在说话人识别任务上比较了它们的性能差异。本文讨论的 PLDA...原创 2018-04-21 23:19:15 · 10206 阅读 · 3 评论 -
A Note on Kaldi's PLDA Implementation
Kaldi’s PLDA implementation is based on [1], the so-called two-covariance PLDA by [2]. The authors derive a clean update formula for the EM training and give a detailed comment in the source code. He...原创 2018-04-05 16:24:05 · 907 阅读 · 1 评论 -
【Learning Notes】线性链条件随机场(CRF)原理及实现
1. 概述条件随机场(Conditional Random Field, CRF)是概率图模型(Probabilistic Graphical Model)与区分性分类( Discriminative Classification)的一种接合,能够用来对“结构预测”(structured prediction,e.g. 序列标注)问题进行建模。如图1,论文 [1] 阐释了 CRF 与其他模...原创 2018-03-17 21:40:20 · 5220 阅读 · 1 评论 -
【Learning Notes】Gumbel 分布及应用浅析
1. 分布的形式化物理意义Gumbel 分布是一种极值型分布。举例而言,假设每次测量心率值为一个随机变量(服从某种指数族分布,如正态分布),每天测量10次心率并取最大的一个心率值作为当天的心率测量值。显然,每天纪录的心率值也是一个随机变量,并且它的概率分布即为 Gumbel 分布。概率密度函数(PDF)Gumbel 分布的 PDF 如下:f(x;μ,β)=e−z−e...原创 2018-02-24 23:33:32 · 42299 阅读 · 11 评论 -
【Learning Notes】KMeans GMM 模型 及 EM 训练
kmeans 和 GMM 的简单实现及基于 EM 的训练。 jupyter notebook 版本见 repo。首先,导入相关的模块。from __future__ import print_functionimport numpy as npimport matplotlibimport matplotlib.pyplot as plt%matplotlib inl...原创 2018-03-03 09:38:23 · 1023 阅读 · 0 评论 -
【Learning Notes】CTC 原理及实现
CTC( Connectionist Temporal Classification,连接时序分类)是一种用于序列建模的工具,其核心是定义了特殊的目标函数/优化准则[1]。 jupyter notebook 版见 repo.1. 算法这里大体根据 Alex Graves 的开山之作[1],讨论 CTC 的算法原理,并基于 numpy 从零实现 CTC 的推理及训练算法。...原创 2018-03-05 09:47:32 · 25229 阅读 · 21 评论 -
【Learning Notes】Quasi-recurrent Neural Networks
Quasi-recurrent Neural Networks (QRNN)原创 2017-09-12 20:02:14 · 5406 阅读 · 0 评论 -
pytorch 学习笔记之自定义 Module
pytorch 是一个基于 python 的深度学习库。pytorch 源码库的抽象层次少,结构清晰,代码量适中。相比于非常工程化的 tensorflow,pytorch 是一个更易入手的,非常棒的深度学习框架。对于系统学习 pytorch,官方提供了非常好的入门教程 ,同时还提供了面向深度学习的示例,同时热心网友分享了更简洁的示例。1. overview不同于 theano,te...原创 2017-04-22 14:42:39 · 10380 阅读 · 2 评论 -
【Learning Notes】基于 boosting 原理训练深层残差神经网络
Huang et al. Learning Deep ResNet Blocks Sequetially using Boosting Theory.文章指出一种基于 boosting(提升)原理,逐层训练深度残差神经网络的方法,并对性能及泛化能力给出了理论上的证明。1. 背景1.1 BoostingBoosting[1] 是一种训练 Ensemble 模型的经典方法,其中一种具体实现 GBDT原创 2017-06-17 00:28:00 · 3676 阅读 · 0 评论 -
神经网络端到端序列学习(一)
许多重要问题都可以抽象为变长序列学习问题(sequence to sequence learning),如语音识别、机器翻译、字符识别。这类问题的特点是,1) 输入和输入都是序列(如连续值语音信号/特征、离散值的字符),2) 序列长度都不固定,3)并且输入输出序列长度没有对应关系。因此,传统的神经网络模型(DNN, CNN, RNN)不能直接以端到端的方式解决这类问题的建模和学习问题。解决变长序列的原创 2016-11-26 15:33:49 · 17679 阅读 · 1 评论 -
【Learning Notes】Sequence Transducer
CTC独立性假设,各个 frame 的输出概率。 合理性:1。简化了模型;2。虽然独立于输出,但依赖输入。我们能做的更好吗? 输出概率依赖于之前的输出,更合理,显然许多问题是成立的(语音识别,识别结果应该符合某种习惯) Fig. 1. The RNN-T model. The model consists of an encoder network, which maps inp...原创 2018-07-28 12:56:14 · 6443 阅读 · 0 评论