自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NLP学习之路【目录】持续更新中。。

统计语言模型神经网络语言模型NNLM

2020-05-09 16:25:26 307

原创 OpenAI GPT2解读

背景随着语言模型从word2vec, ELMo, GPT1再到BERT等模型的发展,目前基本形成了无监督的pretrain到各自任务监督学习的fine-tune(比如机器翻译,文本分类等任务),然而也导致了一个问题,如果缺乏特定任务的监督训练数据就比较难办了。GPT2的研究发现语言模型其实不用显式的fine-tune,本身就具备解决这些能力,具体见论文《Language Models are Unsupervised Multitask Learners》什么是语言模型?GPT2回来最初的问题,到底

2021-01-27 21:05:06 890

原创 ELECTRA解读

背景当今的SOTA的预训练语言模型,比如BERT,采用Mask language model(MLM)的方式破坏输入的内容,通过双向语言模型进行预测重构;然而这存在一个问题,那就是[MASK]这个token在训练中存在但是在实际预测中不存在,为了缓解这个问题,BERT采用了选择语料中15%的TOKEN,在其中80%进行【MASK】,10%随机替换,10%不变,这的确稍微缓解了训练预测不一致的问题(虽然在XLNet利用permutation language model得到解决),但是确使得BERT必须利用

2020-12-26 11:26:27 1109

原创 TinyBert解读

1. 背景随着NLP语言模型的发展,模型的计算越来越负责,很难将BERT应用与一些资源有限的设备上。为了提升模型的计算速度,提出了tinybert,模型预测提升了9.4倍的速度,模型大小缩小了7.5倍. 具体论文见 《TinyBERT: Distilling BERT for Natural Language Understanding》1.1 模型结构变换tinybert的层数相对bert base从12层降低到4层;FFN层输出的大小从3072降低到1200,Head个数12保持不变,hidden

2020-12-20 16:16:57 2332 2

原创 DistilBert解读

《DistilBERT, a distilled version of BERT: smaller,faster, cheaper and lighter》

2020-07-08 19:58:37 7731

原创 ALBERT解读

《ALBERT: A Lite BERT For Self-Supervised Learning of Language Representations》

2020-07-08 17:30:15 551

原创 StructBERT解读

《StructBERT: Incorporating Languages structures into pre-training for deep language understading》

2020-07-04 10:50:08 4041 2

原创 RoBERTa解读

《RoBERTa: A Robustly Optimized BERT Pretraining Approach》

2020-07-02 20:27:06 1170

原创 TransformerXL解读

背景对语言模型建模,RNN和Transformer都是能提取长距离的依赖关系的特征提取器。RNN方面,由于本身的recurrent机制,可以接受任意长度的序列作为输入,但是由于梯度消失和爆炸(gradient vanishing and explosion)和无法并行计算等问题,实际效果不佳;Transformer作为新贵,虽然不存在上述问题,但是由于实际不可能输入任意长度的词encoding到fixed length,只能先按某个固定最大长度分chunks再对每个chunks计算,这就带来了两个问题,即

2020-06-29 16:17:43 1078

原创 XLNet解读

背景我们先对现有的预训练语言模型做个分类讨论。语言模型AR vs AE按照预训练语言模型的学习目标,可以分为自回归语言模型(Autoregressive, AR)和自编码语言模型(Autoencoding, AE)两种。Autoregressive LM自回归语言模型(Autoregressive LM, AR), 通俗的来说就是单向语言模型,通过过去时刻已知的结果去预测下一个时刻(或者反向)。对于AR语言模型,给定一个序列X=(x1,x2,...,xT)X = (x_1, x_2, ... ,x

2020-06-24 20:57:21 379

原创 BERT解读

背景之前我们解读了ELMo和OpenAI GPT,我们发现他们直接的比较各有优缺点,不同于OpenAI GPT的单向语言模型,ELMo用的是双向语言模型,这能更好的捕捉文本语句中上下文的依赖关系,但是特征提取器方面,ELMo用的是LSTM即RNN的网络架构,OpenAI GPT用的是更强的transformer中的decoder部分进行建模。那么我们能不能结合两者的优势呢?将transformer和双向语言模型进行融合,便得到NLP划时代的,也是当下在各自NLP下流任务中获得state-of-the-a

2020-06-13 11:51:17 1854

原创 OpenAI GPT解读

背景上篇我们讲了transformer的模型架构,论文《Attention is all you need》 也表明了transformer的效果是比RNN和CNN好的,而在ELMo解读里,我们也谈到了训练语言模型再结合具体任务即pre-train的思想,这两者的优势进行简单的结合便得到了OpenAI GPT,具体论文见《Improving Language Understanding by Generative Pre-Training》介绍OpenAI GPT主体采用无监督学习的方式,不需要lab

2020-06-04 20:35:09 1361

原创 从seq2seq到attention再到Transformer

seq2seq首先我们介绍下seq2seq,它首次应用在机器翻译的seq2seq,也就是enoder-decoder架构。我们以RNN举例说明,seq2seq是将输入单词的embedding输入逐步输入encoder中,每个时刻encoder的输出取决于当前时刻的输入和上一时刻的隐状态(即上一时刻的输出),最后的隐状态作为decoder的输入,decoder之后的输出也是取决与上一时刻的隐状态和上一时刻的输出单词的embedding,最终输出的单词是decoder输出的隐状态全联接softmax之后得到最

2020-05-23 13:34:21 1381

原创 ELMo解读

背景之前我们提到的NNLM和Word2Vec开辟了词向量的先河。仔细回顾,我们可以知道,为了解决统计语言模型存在的稀疏性,平滑等问题,NNLM运用神经网络对语言模型进行建模,采用输入若干个词预测下一个词,结果发现第一层的embedding vector很很好的反应词的语义在空间上的表达,因此NNLM是语言模型,词向量是副产物。对于word2vec同样如此,相比NNLM, word2vec做了多改进(删掉隐藏层减少参数,negative sampling,层次softmax等),使得得到词向量更加快速高效。

2020-05-17 14:28:46 807

原创 fastText解读

背景上一章的Word2Vec解读我们了解到了一种快速对词语进行embedding的方式,对于文本分类任务,fasttex被facebook提出,具体论文见《Bag of Tricks for Efficient Text Classification》模型架构如图所示,模型采用类似word2vec的cbow模型,只不过这里最终输出的是各个分类label的概率,而不是中心词的概率 。和CBOW模型同理,输入通过一个weight matrix C进行look up得到词向量,和词袋模型一样对多个词取平

2020-05-13 20:59:54 483

原创 Word2Vec解读

Word2Vec解读背景从上一章神经网络语言模型(NNLM)我们了解到,他的优点相比传统的统计语言模型,首次引入词向量word embedding的概念,将离散的统计模型转为了高维空间中的连续稠密向量,解决了传统统计语言模型的平滑问题,并且将Ngram的复杂度的指数增长转为了线性,并且N元组共现未必相似问题也得到一定的解决。但是NNLM由于前馈全链接层网络加上look-up table后参数量过于庞大,训练时间很慢, 并且由于模型参数输入的词数固定等缺陷,尽管后续基于RNN提出RNNLM,依然不能很好解

2020-05-09 18:29:45 726

原创 神经网络语言模型 -- Neural Network Language Model

神经网络语言模型(Neural Network Language Model)模型介绍2003年,Bengio首次提出Neural Network Language Model(NNLM), 开创了神经网络运用在语言模型的先河,论文 《A Neural Probabilistic Language Model》上一章提到传统的统计语言模型的缺点,在高维的情况下,由于N元组的稀疏问题,传统的语...

2020-05-04 12:21:57 2480

原创 经典统计语言模型 -- Statistical Language Model

统计语言模型(Statistical Language Model)NLP早期常用的统计方法,对于一个sequence序列S的句子,其出现的概率计算如下:P(S)=P(w1)⋅P(w2∣w1)⋅P(w3∣w2)⋯P(wn∣wn−1)(1)P(S)=P(w_1){\cdot}P(w_2|w_1){\cdot}P(w_3|w_2){\cdots}P(w_{n}|w_{n-1}) \tag1P(...

2020-05-04 10:12:55 838

原创 语音识别WFST-based dynamic decoders

目前语音识别主流是基于WFST解码器,WFST中的优化操作如Determinization,Minimization,Weight Pushing 使得Veterbi解码速度大大加快。 然而实际语音识别的问题还有很多,第一,往往基于静态的HCLG.fst 可能非常大,需要消耗大量内存;第二,静态的HCLG.fst 非常大,一旦语言模型G.fst或者 HMM模型H.fst, Context phon...

2018-06-27 21:34:00 4558 3

原创 语音识别WFST核心算法讲解(4. Minimization)

本篇讲解Minimization算法。Minimization的作用是用最少的states等效表达原WFST,这样做使WFST的states数目减少,更加紧凑。算法的大体思路是获取WFST图的一个Partition,这个Partition对所有states进行分裂,最终所有等效的states在一个block里作为新的states。每个block含1个或多个states,这样最后minimize...

2018-06-25 19:35:31 2830

原创 语音识别WFST核心算法讲解(3. Determinization)

本文介绍WFST中Determinization这一操作。首先介绍什么是Determinization。 在Openfst官网中介绍如下:The result will be an equivalent FST that has the property that no state has two transitions with the same input label. detemi...

2018-06-22 22:55:26 3262

原创 语音识别WFST核心算法讲解(2. Generic Composition)

本文介绍Composition算法。首先介绍不考虑epsilon的图的composition,然后扩展至含epsilon的,最后对时间复杂度分析,介绍实际工程中openfst和kaldi中的一些优化技巧。 不考虑epsilon的composition算法伪代码如下: 接下来line by line介绍这一算法。首先对于T1, T2两个图,将两者的初始状态合并作为输出结果图的初始状态, ...

2018-06-22 20:20:16 10744 3

原创 语音识别WFST核心算法讲解(1. WFST的基本概念)

本系列主要介绍语音识别WFST中的常用算法, Composition, Determinization, Minimization, Epsilon Removal, Weight Pushing 等。了解这些算法的前提是熟悉WFST基本概念,了解Semiring(半环代数理论), 对图中各类算法(深度优先搜索DFS,最大强连通域SCC)等。因此我们首先介绍WFST的基本概念。伪代码和部分图片...

2018-06-22 18:17:38 9582

原创 kaldi学习笔记-三音素训练2

本文介绍三音素训练部分。

2017-09-23 14:17:52 2679

原创 kaldi 学习笔记-三音素训练1(Decision Tree)

介绍kaldi三音素训练大致流程,本文主要介绍决策树(Decision Tree)部分。

2017-09-22 20:19:34 5273 1

原创 kaldi 学习笔记-单音素训练

本文介绍kaldi语音识别对单音素训练的大致流程。

2017-09-15 22:04:55 8486 5

空空如也

空空如也

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

TA关注的人

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