Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

从想法到实干,2018年13项NLP绝美新研究

在即将过去的 2018 年中,自然语言处理有很多令人激动的想法与工具。从概念观点到实战训练,它们为 NLP 注入了新鲜的活力。

前一段时间,Sebastian Ruder 介绍了他心中 10 个最有影响力的想法,并且每一个都提供了具体论文与核心思想。正如 Ruder 所说,他的清单必然是主观的,主要涵盖了迁移学习和泛化相关的想法。其中有的想法在过去一年非常受关注,大家围绕这些完美的观点展开了很多研究工作与实践。而有的想法并不是当前趋势,不过它们有可能在未来变得流行。因此,机器之心在 Ruder 介绍的基础上,重点关注今年的前沿趋势,并推荐一些真正好用的 NLP 新工具。

在本文中,我们会重点关注 2018 年里的神经机器翻译与预训练模型,这两个概念真的非常 Excited!而后对于实战装备,数百种中文预训练词嵌入向量、BERT 预训练模型和建模框架 PyText 等工具真的令人忍不住想做一个新颖的 NLP 应用。

1. 神经机器翻译

在 2018 年,神经机器翻译似乎有了很大的改变,以前用 RNN 加上注意力机制打造的 Seq2Seq 模型好像都替换为了 Tramsformer。大家都在使用更大型的 Transformer,更高效的 Transformer 组件。例如阿里会根据最近的一些新研究对标准 Transformer 模型进行一些修正。这些修正首先体现在将 Transformer 中的 Multi-Head Attention 替换为多个自注意力分支,其次他们采用了一种编码相对位置的表征以扩展自注意力机制,并令模型能更好地理解序列元素间的相对距离。

有道翻译也采用了 Transformer,他们同样会采取一些修正,包括对单语数据的利用,模型结构的调整,训练方法的改进等。例如在单语数据的利用上,他们尝试了回译和对偶学习等策略,在模型结构上采用了相对位置表征等。所以总的而言,尽管 Transformer 在解码速度和位置编码等方面有一些缺点,但它仍然是当前效果最好的神经机器翻译基本架构。

在 Ruder 的介绍中,它非常关注两种无监督机器翻译模型,它们都被接受为 ICLR 2018 论文。如果无监督机器翻译模型是能行得通的,那么这个想法本身就很惊人,尽管无监督翻译的效果很可能远比有监督差。在 EMNLP 2018 中,有一篇论文在无监督翻译上更进一步提出了很多改进,并获得极大的提升。Ruder 笔记中提到了以下这篇论文:

这篇论文很好地提炼出了无监督 MT 的三个关键点:优良的参数初始化、语言建模和通过回译建模反向任务。这三种方法在其它无监督场景中也有使用,例如建模反向任务会迫使模型达到循环一致性,这种一致性已经应用到了很多任务,可能读者最熟悉的就是 CycleGAN。该论文还对两种语料较少的语言做了大量的实验与评估,即英语-乌尔都语和英语-罗马尼亚语。

无监督 MT 的三个主要原则:A)两种单语数据集、B)参数初始化、C)语言建模、D)回译。

这篇论文获得了 EMNLP 2018 的最佳长论文奖,它在遵循上面三个主要原则的情况下简化了结构和损失函数。得到的模型优于以前的方法,并且更易于训练和调整。

2. 预训练模型

2018 年,使用预训练的语言模型可能是 NLP 领域最显著的趋势,它可以利用从无监督文本中学习到的「语言知识」,并迁移到各种 NLP 任务中。这些预训练模型有很多,包括 ELMo、ULMFiT、OpenAI Transformer 和 BERT,其中又以 BERT 最具代表性,它在 11 项 NLP 任务中都获得当时最佳的性能。不过目前有 9 项任务都被微软的新模型超过。

机器之心曾解读过 BERT 的的核心过程,它会先从数据集抽取两个句子,其中第二句是第一句的下一句的概率是 50%,这样就能学习句子之间的关系。其次随机去除两个句子中的一些词,并要求模型预测这些词是什么,这样就能学习句子内部的关系。最后再将经过处理的句子传入大型 Transformer 模型,并通过两个损失函数同时学习上面两个目标就能完成训练。

如上所示为不同预训练模型的架构,BERT 可以视为结合了 OpenAI GPT 和 ELMo 优势的新模型。其中 ELMo 使用两条独立训练的 LSTM 获取双向信息,而 OpenAI GPT 使用新型的 Transformer 和经典语言模型只能获取单向信息。BERT 的主要目标是在 OpenAI GPT 的基础上对预训练任务做一些改进,以同时利用 Transformer 深度模型与双向信息的优势。

这种「双向」的来源在于 BERT 与传统语言模型不同,它不是在给定所有前面词的条件下预测最可能的当前词,而是随机遮掩一些词,并利用所有没被遮掩的词进行预测。

更详细的论文解读可以查看:谷歌终于开源 BERT 代码:3 亿参数量,机器之心全面解读

此外,值得注意的是,最近微软发布了一种新的综合性模型,它在 GLUE 的 11 项基准 NLP 任务中的 9 项超过了 BERT,且评分也超过了 BERT。除了准确率外,微软的新模型只有 1.1 亿的参数量,远比 BERT-Large 模型的 3.35 亿参数量少,和 BERT-Base 的参数量一样多。

在「Microsoft D365 AI & MSR AI」模型的描述页中,新模型采用的是一种多任务联合学习。因此所有任务都共享相同的结构,并通过多任务训练方法联合学习。目前新模型的信息还非常少,如果经过多任务预训练,它也能像 BERT 那样用于更广泛的 NLP 任务,那么这样的高效模型无疑会有很大的优势。

Sebastian Ruder 非常欣赏 ELMo 的创新性想法,它同样也是今年的论文(NAACL 2018):

这篇论文提出了广受好评的 ELMo,除了令人印象深刻的实验结果外,最吸引人的就是论文的分析部分,它剔除了各种因素的影响,并对表征所捕获的信息进行了分析。在下图左中语义消歧(WSD)执行得很好,它们都表明语言模型提供的语义消歧和词性标注(POS)表现都接近当前最优水平。

第一层和第二层双向语言模型的语义消歧(左)和词性标注(右)与基线模型对比的结果。

3. 常识推理数据集

将常识融入模型是 NLP 最重要的研究方向之一。然而,创建好的数据集并非易事,即使是流行的数据集也存在很大的偏好问题。今年已经出现了一些试图教机器学习常识的数据集,如华盛顿大学的 Event2Mind 和 SWAG。但 SWAG 很快就被 BERT 打败了。有代表性的研究成果包括:

这是首个包含每个答案的基本原理(解释)的可视化 QA 数据集。而且,回答问题需要复杂的推理。创作者竭尽全力解决可能出现的偏好,确保每个答案作为正确答案的先验概率为 25%(每个答案在整个数据集中出现 4 次,其中 3 次作为错误答案,1 次作为正确答案);这需要利用可以计算相关性和相似性的模型来解决约束优化问题。

给定一幅图像、一系列地点和一个问题,模型必须回答该问题,并提供合理的推理解释答案为什么是正确的(Zellers et al., 2018)

4. 元学习

元学习是目前机器学习领域一个令人振奋的研究趋势,它解决的是学习如何学习的问题(参考《入门 | 从零开始,了解元学习》)。元学习在少样本学习、强化学习机器人学方面有很多应用,其中最突出的应用是与模型无关的元学习(model-agnostic meta-learning,MAML),但在 NLP 中的成功应用却非常少。元学习在训练样本有限时非常有用。有代表性的研究成果包括:

作者利用 MAML 来学习一个好的用于翻译的初始化,将每个语言对看成一个独立的元任务。资源较少的语言或许是元学习在 NLP 领域最有应用价值的场景。将多语言迁移学习(如多语言 BERT)、无监督学习和元学习相结合是一个有前景的研究方向。

迁移学习、多原因迁移学习元学习之间的差异。实线:初始化的学习。虚线:微调路径。

作者提出,用于优化神经网络模型的元学习器的行为和循环神经网络类似,它会提取一系列模型训练过程中的参数和梯度作为输入序列,并根据这个输入序列计算得到一个输出序列(更新后的模型参数序列)。他们在论文中详细描述了该相似性,并研究了将元学习器用于神经网络语言模型中,以实现中期记忆:经过学习,元学习器能够在标准 RNN(如 LSTM)的权重中,编码中期记忆(除了短期记忆在 LSTM 隐藏状态中的传统编码方式以外)。

他们的元学习语言模型由 3 层记忆层级组成,自下而上分别是:标准 LSTM、用于更新 LSTM 权重以存储中期记忆的元学习器,以及一个长期静态记忆。他们发现,元学习语言模型可以通过训练来编码最近输入的记忆,就像一篇维基百科文章的开始部分对预测文章的结尾部分非常有帮助一样。

5. 鲁棒无监督方法

今年,我们观察到,跨语言嵌入方法在语言相似性低时会失效。这是迁移学习中的常见现象,源语言和目标语言设置(例如,域适应中的域、持续学习和多任务学习中的任务)之间存在差异,导致模型退化或失效。因此,使模型对这些变化更加鲁棒非常重要。有代表性的研究成果包括:

这篇论文根据其理解构建了一个更好的初始化,而没有使用元学习作为初始化。特别地,他们将两种语言中拥有相似词分布的单词配对。这是从分析中利用领域知识和 insight 以使模型更加鲁棒的绝佳范例。

三个单词的相似性分布:与不相关的单词(「two」和「cane」(狗))相比,等效翻译(「two」和「due」)有更加相似的词分布。(Artexte et al. 2018 http://www.aclweb.org/anthology/P18-1073)

6. 理解表征

今年,人们在更好地理解表征方面做了很多工作。特别地,《Fine-grained Analysis of Sentence Embeddings Using Auxiliary Prediction Tasks》这篇论文提出了「诊断分类器」(度量学习到的表征是否能预测特定属性的任务),之后在其它研究中变得常见,如《What you can cram into a single vector: Probing sentence embeddings for linguistic properties》。有代表性的研究成果包括:

这篇论文在更好理解预训练语言模型表征方面做出了很大贡献。他们广泛地研究了精心设计的无监督和有监督任务上学习到的单词和跨度表征。结果发现:预训练表征会在较低层学习到与低级形态和句法任务相关的任务,在较高层学习到更大范围的语义。对我而言,该研究表明了预训练语言模型确实能捕捉文本的相似属性,正如计算机视觉模型在 ImageNet 上预训练后,能捕捉图像之间的相似属性。

BiLSTM 和 Transformer 的预训练表征的每一层的性能,从左到右依次是:POS 标记、选区解析和无监督共指解析 (Peters et al. 2018 http://aclweb.org/anthology/D18-1179)。

7. 辅助任务

在很多设置中,我们都看到人们越来越多使用带有仔细选择的辅助任务的多任务学习方法。其中最重要的一个案例是 BERT。其使用了下一句预测来实现优越性能(近期被用在 Skip-thoughts 以及 Quick-thoughts 等)。有代表性的研究成果包括:

这篇论文通过为每个跨度预测对应的句法成分类型,以此提出了一种预训练跨度表征的辅助任务。尽管在概念上很简单,该辅助任务可以在跨度级预测任务中取得极大提升,例如语义角色标注和共指解析等。该论文表明,通过目标任务在所需级别学习的专用表征有极大的用处。

依据相似的思路,这篇论文通过最大化词对以及语境的逐点互信息预训练词对表征。相比更加通用的表征(例如语言建模),这鼓励模型学习更有意义的词对表征。这些预训练表征在诸如 SQuAD、和 MultiNLI 等需要跨句推理的任务中很有效。我们可以期待看到更多可捕捉适用于特定下游任务的预训练模型,并且和更加通用的任务互补(例如语言建模)。

OntoNotes 的句法、命题语料库和共指标注。命题语料库 SRL 参数和共指在句法成分之上标注。几乎每个参数都与句法成分有关 (Swayamdipta et al., 2018 http://aclweb.org/anthology/D18-1412)

8. 半监督学习结合迁移学习

最近,迁移学习取得最新进展,我们不应该忘记使用目标任务特定数据更明确的方式。其实,预训练表征与多种形式的半监督学习是互补的。已经有研究者探索半监督学习的一个特定类别——自标注方法。有代表性的研究包括:

这篇论文表明,一个概念上非常简单的想法——即确保对不同输入视图的预测与主模型的预测一致——可以在一系列不同的任务中获得收益。这一想法与 word dropout 类似,但允许利用未标注数据来加强模型的鲁棒性。与 mean teacher 等其他 self-ensembling 模型相比,它是专门为特定 NLP 任务设计的。

辅助预测模块看到的输入:辅助 1:They traveled to __________________. 辅助 2:They traveled to Washington _______. 辅助 3: _____________ Washington by plane. 辅助 4: ________________________ by plane

9. 利用大型文本的问答和推理

在一系列新的问答(QA)数据集的帮助下,问答系统取得了很多进展。除对话问答和多步骤推理之外,问答系统最具挑战性的一个方面是合成叙述和含有大量信息的本文。有代表性的研究包括:

本文作者根据对整个电影剧本和书籍的问答提出了一个颇具挑战性的 QA 数据集。虽然目前的方法仍无法完成这项任务,但模型可以选择使用摘要(而不是整本书)作为上下文,选择答案(而不是生成答案),以及使用 IR 模型的输出。这些变体提高了任务的可行性,使得模型可以逐渐扩展到完整的语境。

QA 数据集对比。

10. 归纳偏向

CNN 中的卷积、正则化、dropout 以及其他机制等归纳偏向都是神经网络模型做为正则化项的核心部分,也使得模型采样更为高效。然而,提出一种普遍可用的归纳偏向并把它融入到模型中非常具有挑战性。有代表性的研究成果包括:

该论文提出使用来自人类眼球追踪语料库的人类注意力来正则化 RNN 中的注意。如今许多 Transformers 这样的现有模型都在使用 attention,找到更高效训练的合适方式是很重要的方向。也很高兴看到人类语言学习能帮助我们改进计算模型。

该论文有很多喜人的地方:在句法与语义任务上同时训练一个 Transformer;训练时加入高质量解析的能力以及领域外评估。通过训练一个注意力 head 来关注每个 token 的 syntactic parents,这篇论文也正则化了 Transformer 的多 head 注意力,使其对句法更为敏感。我们未来可能会看到更多 Transformer 注意 head 示例,做为专注输入特定方面的辅助词预测器。

过去十年的 PropBank 语义角色标记。在领域外数据上,Linguistically-Informed Self-Attention (LISA) 方法与其他方法的对比。

不论是采用 Mask 的语言模型还是通过回译的无监督机器翻译,这 10 个想法都非常优美。但是在实际应用中,我们更希望直接使用已有的工具构建高效应用,只有这样,这些想法才能转化为真正有意思的东西。

11. 上百种预训练中文词向量

自然语言处理词嵌入基本是绕不开的步骤,各种任务都需要归结到词层面才能继续计算。因此对于国内自然语言处理的研究者而言,中文词向量语料库是需求很大的资源。为此,北京师范大学等机构的研究者开源了「中文词向量语料库」,该库包含经过数十种用各领域语料(百度百科、维基百科、人民日报 1947-2017、知乎、微博、文学、金融、古汉语等)训练的词向量,涵盖各领域,且包含多种训练设置。

中文词向量项目地址:https://github.com/Embedding/Chinese-Word-Vectors

该项目提供使用不同表征(稀疏和密集)、上下文特征(单词、n-gram、字符等)以及语料库训练的中文词向量(嵌入)。我们可以轻松获得具有不同属性的预训练向量,并将它们用于各类下游任务。

12. BERT 开源实现

尽管如前所述 BERT 的效果惊人,但预训练所需要的计算力同样惊人,一般的开发者基本就不要想着能复现了。BERT 的作者在 Reddit 上也表示预训练的计算量非常大,Jacob 说:「OpenAI 的 Transformer 有 12 层、768 个隐藏单元,他们使用 8 块 P100 在 8 亿词量的数据集上训练 40 个 Epoch 需要一个月,而 BERT-Large 模型有 24 层、2014 个隐藏单元,它们在有 33 亿词量的数据集上需要训练 40 个 Epoch,因此在 8 块 P100 上可能需要 1 年?16 Cloud TPU 已经是非常大的计算力了。」

但是,谷歌团队开源了 BERT 的预训练模型,我们可以将它们用于不同的 NLP 任务。这节省了我们大量计算力,同时还能提升已有模型的效果,因此做 NLP 任务前,你可以先用预训练的 BERT 试试水?

BERT 实现地址:https://github.com/google-research/bert

其实目前已经有很多开发者将 BERT 预训练模型应用到它们自己的项目中,包括抽取句向量、句子相似性判断或情感分析等,下面两篇文章简单介绍了如何将 BERT 预训练模型迁移到你的项目中:

小数据福音!BERT 在极小数据下带来显著提升的开源实现

两行代码玩转 Google BERT 句向量词向量 

13. Facebook 开源 NLP 建模框架 PyText,从论文到产品部署只需数天

为了降低人们创建、部署自然语言处理系统的难度,Facebook 开源了一个建模框架——PyText,它模糊了实验与大规模部署之间的界限。PyTex 是 Facebook 正在使用的主要自然语言处理(NLP)建模框架,每天为 Facebook 及其应用程序系列的用户提供超过 10 亿次 AI 任务处理。这一框架基于 PyTorch,可以 1)简化工作流程,加快实验进度;2)提供一大批预构建的模型架构和用于文本处理和词汇管理的工具,以促进大规模部署;3)提供利用 PyTorch 生态系统的能力,包括由 NLP 社区中的研究人员、工程师预构建的模型和工具。利用该框架,Facebook 在几天内就实现了 NLP 模型从理念到完整实施的整个过程,还部署了依赖多任务学习的复杂模型。

Yann LeCun 对此介绍道,「PyText 是一个工业级的开源 NLP 工具包,可用于在 PyTorch 中开发 NLP 模型,并通过 ONNX 部署。其预训练模型包括文本分类、序列标注等。」

项目地址:https://github.com/facebookresearch/pytext


参考链接:http://ruder.io/10-exciting-ideas-of-2018-in-nlp/

理论NLP综述
81
相关数据
Microsoft机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
基于Transformer 的双向编码器表征技术

BERT是谷歌发布的基于双向 Transformer的大规模预训练语言模型,该预训练模型能高效抽取文本信息并应用于各种NLP任务,并刷新了 11 项 NLP 任务的当前最优性能记录。BERT的全称是基于Transformer的双向编码器表征,其中“双向”表示模型在处理某一个词时,它能同时利用前面的词和后面的词两部分信息。

半监督学习技术

半监督学习属于无监督学习(没有任何标记的训练数据)和监督学习(完全标记的训练数据)之间。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显着提高学习准确性。对于学习问题的标记数据的获取通常需要熟练的人类代理(例如转录音频片段)或物理实验(例如,确定蛋白质的3D结构或确定在特定位置处是否存在油)。因此与标签处理相关的成本可能使得完全标注的训练集不可行,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。半监督学习对机器学习也是理论上的兴趣,也是人类学习的典范。

权重技术

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

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

神经机器翻译技术

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

先验概率技术

在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。 它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。 这个不确定量可以是一个参数,或者是一个隐含变量(英语:latent variable)。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

基准技术

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

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

参数技术

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

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

损失函数技术

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

元学习技术

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

词性标注技术

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

注意力机制技术

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

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

机器人技术技术

机器人学(Robotics)研究的是「机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理」 [25] 。 机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。之前章节中提及的技术都可以在机器人上得到应用和集成,这也是人工智能领域最早的终极目标之一。

机器翻译技术

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

神经网络技术

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

度量学习技术

即学习一个度量空间,在该空间中的学习异常高效,这种方法多用于小样本分类。直观来看,如果我们的目标是从少量样本图像中学习,那么一个简单的方法就是对比你想进行分类的图像和已有的样本图像。但是,正如你可能想到的那样,在像素空间里进行图像对比的效果并不好。不过,你可以训练一个 Siamese 网络或在学习的度量空间里进行图像对比。与前一个方法类似,元学习通过梯度下降(或者其他神经网络优化器)来进行,而学习者对应对比机制,即在元学习度量空间里对比最近邻。这些方法用于小样本分类时效果很好,不过度量学习方法的效果尚未在回归或强化学习等其他元学习领域中验证。

准确率技术

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

语料库技术

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

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

自然语言处理技术

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

CycleGAN技术

GAN的一个变种

多任务学习技术

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

语言模型技术

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

推荐文章
地方方法