Geek AI、张倩编译

从经典结构到改进方法,神经网络语言模型综述

作为自然语言处理(NLP)系统的核心组成部分,语言模型可以提供词表征和单词序列的概率化表示。神经网络语言模型(NNLM)克服了维数的限制,提升了传统语言模型的性能。本文对 NNLM 进行了综述,首先描述了经典的 NNLM 的结构,然后介绍并分析了一些主要的改进方法。研究者总结并对比了 NNLM 的一些语料库和工具包。此外,本文还讨论了 NNLM 的一些研究方向。


什么是语言模型

语言模型(LM)是很多自然语言处理(NLP)任务的基础。早期的 NLP 系统主要是基于手动编写的规则构建的,既费时又费力,而且并不能涵盖多种语言学现象。直到 20 世纪 80 年代,人们提出了统计语言模型,从而为由 N 个单词构成的序列 s 分配概率,即: 

其中 w_i 代表序列 s 中的第 i 个单词。一个单词序列的概率可以被分解为在给定下一个单词的前项(通常被称为上下文历史或上下文)的条件下,与下一个单词的条件概率的乘积。

考虑到很难对上述模型中超多的参数进行学习,有必要采取一种近似方法。N 元(N-gram)模型是一种最为广泛使用的近似方法,并且在 NNLM 出现之前是最先进的模型。一个(k+1)元模型是由 k 阶马尔科夫假设推导出的。该假设说明当前的状态仅仅依赖于前面的 k 个状态,即:

我们用极大似然估计来估计参数

困惑度(PPL)[Jelinek et al., 1977] 是一种用来衡量一个概率模型质量的信息论度量标准,是评价语言模型的一种方法。PPL 越低说明模型越好。给定一个包含 N 个单词的语料库和一个语言模型,该语言模型的 PPL 为:

值得注意的是,PPL 与语料库相关。可以用 PPL 在同一个语料库上对两个或多个语言模型进行对比。

为什么要给 LM 加上神经网络

然而,N 元语言模型有一个明显的缺点。为了解决这个问题,我们在将神经网络(NN)引入到了连续空间的语言建模中。NN 包括前馈神经网络(FFNN)、循环神经网络(RNN),可以自动学习特征和连续的表征。因此,人们希望将 NN 应用于 LM,甚至其他的 NLP 任务,从而考虑自然语言的离散性、组合性和稀疏性。

第一个前馈神经网络语言模型(FFNNLM)由 Bengio 等人于 2003 年提出,它通过学习一个单词的分布式表征(将单词表征为一个被称为「嵌入」的低维向量)来克服维数诅咒。FFNNLM 的性能要优于 N 元语言模型。随后,Mikolov 等人于 2010 年提出了 RNN 语言模型(RNNLM)。从那时起,NNLM 逐渐成为了主流的语言模型,并得到了迅速发展。

2012 年,Sundermeyer 等人提出了长短期记忆循环神经网络语言模型(LSTM-RNNLM)用于解决学习长期依赖的问题。为了降低训练、评估以及 PPL 的开销,人们提出了各种各样的改进方案,例如分层的 Softmax、缓存(caching)模型等。最近,为了改进 NNLM,人们引入了注意力机制,取得了显著的性能提升。

经典的神经网络语言模型

FFNN 语言模型

Xu 和 Rudnicky 等人于 2000 年试图将神经网络(NN)引入到语言模型(LM)中。尽管他们的模型性能比基线 N 元模型语言模型要好,但是由于没有隐藏层,他们模型的泛化能力较差,无法捕获上下文相关特征。

根据公式 1,LM 的目标等价于对条件概率 P(w_k|w_1 · · · w_(k−1)) 进行估计。但是前馈神经网络(FFNN)不能直接处理变长数据(variable-length data),也不能够有效地表征历史上下文。因此,对于像 LM 这样的序列建模任务,FFNN 必须使用定长的输入。受到 N 元语言模型的启发(见公式 2),FFNNLM 将前 n-1 个单词作为了预测下一个单词的上下文。

如图 1 所示,Bengio 等人于 2003 年提出了原始 FFNNLM 的架构。这个 FFNNLM 可以写作:

其中,H、U 和 W 是层与层之间连接的权重矩阵;d 和 b 是隐藏层和输出层的偏置。

图 1:Bengio 等人于 2003 年提出的 FFNNLM。

FFNNLM 通过为每个单词学习一个分布式表征来实现在连续空间上的建模。单词表征是语言模型的副产品,它往往被用于改进其它的 NLP 任务。基于 FFNNLM,Mikolov 等人于 2013 提出了两种词表征模型:「CBOW」和「Skip-gram」。FFNNLM 通过将单词转换为低维向量克服了维数诅咒。FFNNLM 引领了 NNLM 研究的潮流。

然而,FFNNLM 仍然具有一些缺点。在训练前指定的上下文大小是有限的,这与人类可以使用大量的上下文信息进行预测的事实是严重不符的。序列中的单词是时序相关的。而 FFNNLM 没有使用时序信息进行建模。此外,全连接 NN 需要学习许多可训练的参数,即使这些参数的数量比 N 元 少,但是仍然具有很大的计算开销,十分低效。

RNN 语言模型

第一个 RNN 语言模型由 [Mikolov et al., 2010; Mikolov et al., 2011a] 提出,如图 2 所示,在第 t 个时间步,RNNLM 可以写作:

其中 U、W、V 是权值矩阵;b、d 分别是状态层和输出层的偏置。在 Mikolov 2010 年和 2011 年发表的论文中,f 代表 sigmoid 函数,g 代表 Softmax 函数。RNNLM 可以通过基于时间的反向传播算法(BPTT)或截断式 BPTT 算法来训练。根据他们的实验结果,RNNLM 在困惑度(PPL)方面要显著优于 FFNNLM 和 N 元语言模型

图 2:Mikolov 等人于 2010 年和 2011 年提出的 RNNLM。

尽管 RNNLM 可以利用素有的上下文进行预测,但是训练模型学习长期依赖仍然是一大挑战。这是因为,在 RNN 的训练过程中,参数的梯度可能会发生梯度消失或者梯度爆炸,导致训练速度变慢或使得参数值无穷大。

LSTM-RNN 语言模型

长短期记忆(LSTM)RNN 解决了这个问题。Sundermeyer 等人于 2012 年将 LSTM 引入到了 LM 中,并且提出了 LSTM-RNNLM。除了记忆单元和 NN 的部分,LSTM-RNNLM 的架构几乎与 RNNLM 是一样的。为了控制信息的流动,他们将三种门结构(包括输入门、输出门和遗忘门)加入到了 LSTM 的记忆单元中。LSTM-RNNLM 的常规架构可以写作:

其中,i_t,f_t,o_t 分别代表输入门、遗忘门和输出门。c_t 是单元的内部记忆状态。s_t 是隐藏状态单元。U_i、U_f、U_o、U、W_i、W_f、W_o、W、V_i、V_f、V_o 以及 V 都是权值矩阵。b_i、b_f、b_o、b 以及 d 是偏置。f 是激活函数,σ 是各个门的激活函数(通常为 sigmoid 函数)。

对比上述三种经典的 LM,RNNLM(包括 LSTM-RNNLM)的性能要优于 FFNNLM,而且 LSTM-RNNLM 一直是最先进的 LM。当下的 NNLM 主要都是以 RNN 或 LSTM 为基础的。

改进的技术

降低困惑度的方法

为了降低困惑度,人们将一些新的结构和更有效的信息引入到了经典的 NNLM 模型中(尤其是 LSTM-RNNLM)。受到语言学和人类处理自然语言的方式的启发,研究者们提出了一些新的、有效的方法,包括基于字符的(character-aware)模型、因式分解模型、双向模型、缓存模型、注意力机制,等等。

基于字符的(Character-Aware)模型

在自然语言中,一些形式相似的词往往具有相同或相似的意思。例如,「superman」中的「man」和「policeman」中的「man」有着相同的含义。Mikolov 等人于 2012 年在字符级别上对 RNNLM 和 FFNNLM 进行了探究。字符级 NNLM 可以被用来解决集外词(OOV)问题,由于字符特征揭示了单词之间的结构相似性,因此对不常见和未知单词的建模有所改进。由于使用了带有字符级输出的小型 Softmax 层,字符级 NNLM 也减少了训练参数。然而,实验结果表明,训练准确率高的字符级 NNLM 是一项具有挑战性的工作,其性能往往不如单次级的 NNLM。这是因为字符级 NNLM 必须考虑更长的历史数据才能正确地预测下一个单词。

人们已经提出了许多将字符级和单词级信息相结合的解决方案,它们通常被称为基于字符(character-aware)的语言模型。一种方法是逐个单词组织字符级特征,然后将它们用于单词级语言模型。Kim 等人于 2015 年提出了用于提取单词字符级特征的卷积神经网络以及用于在一个时间步内接收这些字符级特征的 LSTM。Hwang 和 Sung 于 2016 年使用一个分层 RNN 架构解决了字符级 NNLM 的问题,该架构包含具有不同时间规模的多个模块。

另一种解决方案是同时将字符级别和单词级别的特征输入给 NNLM。Miyamoto 和 Cho 等人于 2016 年提出使用 BiLSTM 从单词中提取出的字符特征向量对单词的特征向量进行插值,并且将插值向量输入给 LSTM。Verwimp 等人于 2017 年提出了一种「字符-单词」LSTM-RNNLM,它直接将字符和单词级别的特征向量连接起来,然后将连接结果输入给网络。基于字符的 LM 直接使用字符级 LM 作为字符特征提取器,应用于单词级 LM。这样一来,LM 就具有丰富的用于预测的「字符-单词」信息。

因式分解模型

NNLM 基于 token 定义了单词的相似度。然而,相似度还可以根据单词的形式特征(词缀、大写字母、连字符,等等)或者其它的注释(如词性标注(POS))导出。受到因式分解 LM 的启发,Alexandrescu 和 Kirchhoff 等人于 2016 年提出了一种因式分解 NNLM,这是一种新型的神经概率 LM,它可以学习从单词和特定的单词特征到连续空间的映射

因式分解模型使得模型可以总结出具有相同特征的单词类别。在神经网络训练时应用因子代替单词 token 可以更好地学习单词的连续表征,可以表征集外词,也可以降低 LM 的困惑度。然而,对不同的因子的选择和不同的上游 NLP 任务、语言模型的应用是相关的。除了对各个因子分别进行实验外,没有其他方法可以用于因子的选择。因此,对于特定的任务,需要有一种高效的因子选择方法。同时,必须建立带有因子标签的语料库

双向模型

传统的单向 NN 只能根据过去的输入预测输出。我们可以以未来的数据为条件,建立一个双向的 NN。Graves 等于 2013 年、Bahdanau 等人于 2014 年将双向 RNN 和 LSTM 神经网络(BiRNN 和 BiLSTM)引入了语音识别或其它的 NLP 任务。BiRNN 通过在两个方向处理输入数据来使用过去和未来的上下文。目前双向模型最火的工作当属 Peter 等人于 2018 年提出的 ELMo 模型,这是一种基于 BiLSTM-RNNLM 的新型深度上下文单词表示。预训练的 ELMo 模型的嵌入层的向量是通过词汇表中的单词学习到的表征向量。这些表征被添加到了现有的模型的嵌入层中,并且在 6 个具有挑战性的 NLP 任务中显著提升了目前最先进的模型的性能。

尽管使用过去和未来的上下文的双向语言模型(BiLM)已经取得了进展,但仍然需要注意的是,BiLM 不能够被直接用于 LM,这是因为 LM 是定义在当前单词之前的上下文中的。由于单词序列可以被视为一种同时输入的序列,因此 BiLM 可以被用于其它的 NLP 任务(如机器翻译语音识别)。

缓存模型

「最新出现的单词可能会再次出现」。基于这个假设,缓存机制最初被用于优化 N 元语言模型,克服了对依赖的长度限制。该机制会在缓存中匹配新的输入和历史数据。缓存机制最初是为了降低 NNLM 的困惑度而提出的。Soutner 等人于 2012 年试图将 FFNNLM 与缓存机制相结合,提出了基于缓存的 NNLM 结构,导致了离散概率变化问题。为了解决这个问题,Grave 等人于 2016 年提出了连续的缓存模型,其中变化依赖于隐藏表征的内积。

另一种缓存机制是将缓存用作 NNLM 的加速技术。该方法主要的思路是将 LM 的输出和状态存储在一个哈希表中,用来在给定相同上下文历史的条件下进行未来的预测。例如,Huang 等人于 2014 年提出使用 4 个缓存来加速模型推理。使用到的缓存分别为:「查询语言模型概率的缓存(Query to Language Model Probability Cache)」、「历史到隐藏状态向量的缓存(History to Hidden State Vector Cache)」、「历史到分类归一化因子的缓存(History to Class Normalization Factor Cache)」以及「历史和分类 Id 到子词汇表归一化因子的缓存(History and Class Id to Sub-vocabulary Normalization Factor Cache)」。

注意力机制

RNNLM 利用上下文预测下一个单词。然而,并非上下文中所有的单词都与下一个相关、对于预测有效。和人类一样,带有注意力机制的 LM 通过从单词中选择出有用的单词表征,高效地使用长期的历史。Bahdanau 等人于 2014 年首次提出将注意力机制用于 NLP 任务(在他们的论文中是机器翻译任务)。Tran 等人和 Mei 等人分别于 2016 年证明了注意力机制可以提升 RNNLM 的性能。

注意力机制可以通过一系列针对每个输入的注意力系数捕获需要被重点关注的目标区域。注意力向量 z_t 是通过 token 的表征 {r_0,r_1,· · ·,r_(t−1)} 来计算的。

这里的注意力系数α_ti 是通过得分 e_ti 的 Softmax 函数值归一化计算得来的,其中

这是一个对齐模型,用于评估某个 token 的表征 r_i 和隐藏状态 h_(t-1) 的匹配程度。该注意力向量是用于预测的上下文历史的一种很好的表征。

针对大型语料库的加速技术

在一个拥有大规模单词表的语料库上训练模型是非常费时的。这主要是由于用于大型词汇表的 Softmax 层。为了解决训练深度神经网络时输出空间大的问题,人们提出了许多方法。一般来说,这些方法可以分为四类,即:分层的 Softmax、基于采样的近似、自归一化以及在有限损失函数上的精确梯度。其中前两种方法被广泛用于 NNLM。

语料库

一般来说,为了减少训练和测试的开销,需要在小型语料库上对模型的可行性进行验证。常用的小型语料库包括 Brown、Penn Treebank 以及 WikiText-2(见表 1)。

在模型结构被确定后,需要在大型语料库上对其进行训练和评估,从而证明模型具有可靠的泛化能力。常用的大型语料库会随着时间根据网站、报纸等媒体(包括华尔街日报、维基百科、新闻评论、 News Crawl、Common Crawl 、美联社(AP)新闻等)被更新。

然而,我们通常会利用不同的大型语料库训练 LM。即使在同一个语料库上,各种不同的预处理方法和不同的训练/测试集的划分也会影响实验结果。与此同时,展示训练时间的方式也不一样,或者在一些论文中并没有给出训练时间。不同论文中的实验结果并没有得到充分的比较。

工具包

传统的 LM 工具包主要包括「CMU-Cambridge SLM」、「SRILM」、「IRSTLM」、「MITLM」以及「BerkeleyLM」,它们只支持带有各种平滑技术的 N 元语言模型的训练和评估。随着深度学习的发展,人们提出了许多基于 NNLM 的工具包。

Mikolov 等人于 2011 年构建了 RNNLM 工具包。该工具包支持训练 RNNLM 来优化语音识别机器翻译,但是它并不支持并行训练算法和 GPU 运算。Schwenk 于 2013 年构建了神经网络开源工具 CSLM(连续空间语言建模),用于支持 FFNN 的训练和评估。Enarvi 和 Kurimo 于 2016 年提出了可伸缩的神经网络模型工具包「TheanoLM」,它训练 LM 对句子进行打分并生成文本。

根据调查,我们发现并没有同时支持传统 N 元语言模型和 NNLM 的工具包。而且它们通常并不包含加载常用的 LM 的功能。

未来的研究方向

首先,降低计算开销、减少参数数量的方法仍然会被继续探索,从而在不增加困惑度的条件下提升训练和评估的速度。其次,我们期待能够产生一种新的架构,它能够模拟人的工作方式,从而提升 LM 的性能。例如,为 LM 构建一种生成模型(例如 GAN),可能会成为一个新的研究方向。最后,同样重要的是,目前的 LM 的评估体系并不规范。因此,有必要构建一个评价对比基准来统一预处理以及论文中应该展示的实验结果。

理论深度学习自然语言处理其他智能领域神经网络语言模型
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

元语言技术

广义来说,元语言是指讨论或研究语言本身时所使用的语言或符号。在逻辑和语言学里,元语言是用来对其他语言的句子形成另一个句子的语言。元语言通常会用斜体字、引号或写在单独一行里来和对象语言相区别

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

Skip-gram技术

CBOW和skip-gram是word2vec的核心概念。CBOW模型是用词的前后几个词来预测这个词,skip-gram的输入是当前词的词向量,而输出是周围词的词向量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

词性标注技术

词性标注是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

反向传播算法技术

反向传播(英语:Backpropagation,缩写为BP)是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法计算对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。 在神经网络上执行梯度下降法的主要算法。该算法会先按前向传播方式计算(并缓存)每个节点的输出值,然后再按反向传播遍历图的方式计算损失函数值相对于每个参数的偏导数。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

前馈神经网络技术

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

因式分解技术

在数学中,把一个数学因子(比如数字,多项式,或矩阵)分解其他数学因子的乘积。比如:整数15可以分解成两个质数3和5的乘积,一个多项式x^2 -4 可被因式分解为(x+2)(x-2)。

遗忘门技术

LSTM或GRU中特有的机制

信息论技术

信息论是在信息可以量度的基础上,研究有效地和可靠地传递信息的科学,它涉及信息量度、信息特性、信息传输速率、信道容量、干扰对信息传输的影响等方面的知识。通常把上述范围的信息论称为狭义的信息论,又因为它的创始人是香农,故又称为香农信息论。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

ELMo技术

ELMO 是“Embedding from Language Models”的简称, ELMO 本身是个根据当前上下文对 Word Embedding 动态调整的思路。ELMO 采用了典型的两阶段过程,第一个阶段是利用语言模型进行预训练;第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的 Word Embedding 作为新特征补充到下游任务中。

语言学技术

每种人类语言都是知识和能力的复合体,语言的使用者能够相互交流,表达想法,假设,情感,欲望以及所有其他需要表达的事物。语言学是对这些知识体系各方面的研究:如何构建这样的知识体系,如何获取,如何在消息的制作和理解中使用它,它是如何随时间变化的?语言学家因此关注语言本质的一些特殊问题。比如: 所有人类语言都有哪些共同属性?语言如何不同,系统的差异程度如何,我们能否在差异中找到模式?孩子如何在短时间内获得如此完整的语言知识?语言随时间变化的方式有哪些,语言变化的局限性是什么?当我们产生和理解语言时,认知过程的本质是什么?语言学研究的就是这些最本质的问题。

推荐文章
暂无评论
暂无评论~