论文阅读:《A Primer on Neural Network Models for Natural Language Processing》(二)

本文主要是介绍论文阅读:《A Primer on Neural Network Models for Natural Language Processing》(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://blog.csdn.net/u011239443/article/details/80119245

4 前馈神经网络(略)

5 单词嵌入

神经网络方法的一个主要组成部分是使用嵌入-在低维空间中表示每个特征作为向量。但是向量来自哪里呢?本节将调查常见的方法。

5.1 随机初始化

当有足够的监督训练数据可用时,可以将特征嵌入与其他模型参数相同:将嵌入向量初始化为随机值,并让网络训练过程将其调整为“好”的向量。

在执行随机初始化的过程中,必须注意一些问题。有效Word2VEC实现所使用的方法是将字向量初始化为在:

范围内的均匀采样随机数,其中d是维数。另一种选择是使用沙维尔初始化,并用来自于:

的均匀采样值初始化。

在实践中,人们经常使用随机初始化方法来初始化通常出现的特征的嵌入向量,例如词性标签或单个字母;使用某种形式的监督或无监督的预训练来初始化潜在的稀有特征。如个别单词的特征。预训练的向量可以在网络训练过程中被视为固定的,或者更常见地,像随机初始化的向量一样对待,并且进一步调谐。

5.2 有监督的任务预训练(其实就是迁移学习,略)

5.3 无监督预训练

常见的情况是,我们没有足够数量的注释数据的辅助任务(或者我们想帮助用更好的向量来引导辅助任务训练)。在这种情况下,我们诉诸于“无监督”的方法,这些方法可以通过大量未经注释的文本进行训练。

训练词向量的技术基本上是监督学习的技术,但是我们不是监督我们关心的任务,而是从原始文本中创建实际上无限数量的监督训练实例,希望我们创建的任务能够匹配我们关心的最终任务。

无监督方法背后的关键思想是,人们希望“相似”单词的嵌入向量具有相似的向量。尽管词汇相似性很难定义,并且通常非常依赖于任务,但目前的方法来自分布假设,即如果词语出现在相似的语境中,则词语是相似的。不同的方法都创建监督训练实例,其目标是从其上下文中预测单词,或从单词中预测上下文。

训练词语嵌入大量未注释数据的一个重要好处是它为未出现在有监督训练集中的词提供了向量表示。理想情况下,这些单词的表示与在训练集中出现的相关单词的表示相似,从而使模型能够更好地概括看不见的事件。因此期望通过无监督算法学习的词向量之间的相似性捕获对于执行网络的预期任务有用的相同方面的相似性。

常用的无监督词嵌入算法包括word2vec,GloVe和Collobert和Weston嵌入算法。这些模型受神经网络启发,并基于随机梯度训练。然而,它们与NLP和IR社区演变而来的另一系列算法密切相关,这些算法都是基于矩阵分解的。

可以说,辅助问题的选择(基于什么样的上下文预测什么)会比用于训练它们的学习方法更多地影响结果向量。因此,我们专注于可用的辅助问题的不同选择,并且仅略过培训方法的细节。有几种软件包可用于导出单词向量,包括word2vec和Gensim使用基于word-windows的上下文实现word2vec模型,word2vecf是word2vec的修改版本,允许使用任意上下文,GloVe实现GloVe模型。许多预先训练过的单词向量也可以在网上下载。

虽然超出了本教程的范围,但值得注意的是,无监督训练算法导出的嵌入字在NLP中有广泛的应用,除了用于初始化神经网络模型的词嵌入层之外。

5.4 训练目标

给定单词w及其上下文c,不同的算法会制定不同的辅助任务。在所有情况下,每个单词都被表示为一个d维向量,它被初始化为一个随机值。训练模型以良好地执行辅助任务将产生良好的词嵌入,以将词与上下文相关联,这进而将导致类似词的嵌入向量彼此相似。

语言建模启发式方法,例如GloVe使用的辅助任务,其目标是根据其上下文预测单词。这是在概率设置中提出的,试图模拟条件概率 Pw|c P ( w | c )

其他方法将问题简化为二元分类。除了观察到的单词上下文对的集合D之外,还从随机单词和上下文配对中创建集合D 。二元分类问题是:给定的(w,c)对是不是来自D?这些方法在设置D 的方式上有所不同,分类器的结构是什么,以及正在优化的目标是什么。 Collobert和Weston采用基于边际的二进制排序方法,对前馈神经网络进行训练,以对不正确的(w,c)对进行评分。 Mikolov等人取而代之的是概率版本,训练一个对数 - 双线性模型来预测概率 PwcD|wc P ( ( w , c ) ∈ D | w , c ) ,它们来自语料库而不是随机样本。

5.5 语境选择

在大多数情况下,单词的背景被认为是在其周围出现的其他单词,或者在其周围的短窗口中,或者在相同的句子,段落或文档中出现。在某些情况下,文本是由语法分析器自动分析的,并且上下文是从自动分析树引发的语法邻域派生的。有时候,单词和上下文的定义也会改变,以包含单词的一部分,例如前缀或后缀。

神经词嵌入起源于语言建模世界,其中网络被训练以基于先前词的序列来预测下一个词。在那里,文本被用来创建辅助任务,其目的是基于k个先前词的上下文来预测词。虽然语言建模辅助预测问题的训练确实产生了有用的嵌入,但这种方法不必要地受限于语言建模任务的限制,其中只允许查看前面的单词。如果我们不关心语言建模,而只关注所产生的嵌入,我们可以通过忽略这个约束并使上下文成为焦点词的对称窗口来做得更好。

5.5.1 窗口方法

最常见的方法是滑动窗口方法,其中通过查看2k + 1个字的序列来创建辅助任务。 中间词被称为焦点词,每个词的k个词都是上下文。 然后,创建一个任务,其目标是基于所有上下文词语(用CBOW(Mikolov et al。,2013)或矢量连接(Collobert&Weston,2008)代表)来预测焦点词, 或者创建2k个不同的任务,每个任务将焦点词与不同的上下文词配对。 (Mikolov et al。,2013)所推广的2k任务方法被称为skip-gram模型。 显示基于跳跃法的方法对于训练是强健和有效的(Mikolov等,2013; Pennington等,2014),并且经常产生最先进的结果。

窗口大小的影响 滑动窗口的大小对结果向量的相似性有很大的影响。 较大的窗户倾向于产生更多的局部相似性(即“狗”,“树皮”和“皮带”将被组合在一起,以及“走路”,“跑步”和“走路”),而较小的窗户倾向于产生 更多的功能和句法相似性(即“Poodle”,“Pitbull”,“Rottweiler”或“走路”,“跑步”,“接近”)。

变体 窗口方法可能有许多变体。在学习之前,你可能会让词汇变得简单,应用文本归一化,过滤太短或太长的句子,或者去掉大小写(参见,例如,在dos Santos & Gatti, 2014年所描述的预处理步骤)。一个可能是语料库的子样本,跳过一些常见的或太少见的焦点词的窗口的创建任务。窗口大小可能是动态的,每个回合使用不同的窗口大小。可以用不同的方式来衡量窗口的不同位置,更多地关注于试图准确地预测单词上下文对而不是更远的单词。每一个选择都会影响结果向量。其中一些超参数(和其他)在(Levy et al., 2015)被讨论。

5.5.2 句子、段落或文件

使用skip-grams(或CBOW)方法,可以将单词的上下文视为同一句子、段落或文档中出现的所有其他单词。这相当于使用非常大的窗口大小,并且预期会导致捕获局部相似性的单词向量(来自同一主题的单词,即一个期望在同一文档中出现的单词,很可能接收相似的向量)。

5.5.3 句法窗口

有些工作用句法来代替句子中的线性上下文。使用依赖解析器自动解析文本,并将一个单词的上下文看作是在解析树中接近的单词,以及它们之间连接的语法关系。这样的方法产生了高度的功能相似性,将单词组合在一起而不是在句子中扮演相同的角色(例如颜色、学校名称、动作动词)。分组也是一种句法,把有变化的单词组合在一起。

5.5.4 多语言

另一种选择是使用多语言、基于翻译的上下文。例如,给定大量句子对齐的并行文本,您可以运行一个双语对齐模型,如IBM model 1或model 2(即使用GIZA++软件),然后使用生成的对齐方式来派生单词上下文。在这里,单词实例的上下文是与之对齐的外文单词。这样的排列往往会导致得到相似向量的同义词。有些作者使用的是句子对齐级别,而不依赖于单词对齐。一个吸引人的方法是将单一语言的基于窗口的方法与多语言方法混合,创建两种辅助任务。这很可能产生与基于窗口的方法相似的向量,但是减少了基于窗口的方法(例如:热和冷、高和低)倾向于接收相似的向量的不理想的效果。

5.5.5 基于字符和子字的表示

一组有趣的工作尝试从组成它的角色中推导出一个单词的矢量表示。这些方法对于本质上是句法的任务可能特别有用,因为单词内的字符模式与其句法功能密切相关。这些方法还具有产生非常小的模型尺寸的益处(对于字母表中的每个字符,只需要存储一个矢量以及少量的小矩阵),并且能够为每个可能遇到的单词提供嵌入矢量。 dos Santos和Gatti(2014)以及dos Santos和Zadrozny(2014)使用卷积网络(见第9节)对字符进行嵌入建模。 Ling等人(2015b)使用两个RNN(LSTM)编码器的最终状态(第10节)的串联对单词的嵌入进行建模,其中一个从左到右读取字符,另一个从右到左读取字符。两者都为词性标注产生了非常强大的结果。 Ballesteros等人(2015年)的工作表明,(Ling等,2015b)的两个LSTM编码也有利于在形态丰富的语言的依赖分析中表示单词。

从他们角色的表示中获得单词的表示是由未知单词问题引发的。当你遇到一个没有嵌入向量的单词时,你会怎么做?在字符级别上工作在很大程度上减轻了这个问题,因为可能字符的词汇远小于可能字词的词汇。然而,在字符级别上的工作是非常具有挑战性的,因为语言中形式(字符)和函数(语法,语义)之间的关系非常松散。限制自己留在字符层面可能是一个不必要的硬性约束。一些研究人员提出了一个中间立场,其中一个词表示为词本身的矢量与构成它的子词单元的矢量的组合。然后子字嵌入帮助在具有相似形式的不同字之间共享信息,并且当字未被观察时允许回退到子字水平。与此同时,只要有足够的词语观察结果,模型就不会被迫仅依靠字符。 Botha和Blunsom(2014)建议将单词的嵌入矢量模型化为特定于单词的矢量(如果这种矢量可用)与用于构成单词的不同形态成分的矢量的组合(这些成分是使用Morfessor Creutz&Lagus,2007),一种无监督的形态学分割方法)。 Gao等人(Gao et al。,2014)建议,不仅要使用单词形式本身,而且还要为单词中的每个三字母组合使用一个独特的特征(因此是一个独特的嵌入向量)作为核心特征。

这篇关于论文阅读:《A Primer on Neural Network Models for Natural Language Processing》(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023034

相关文章

shader language学习(1)——shader language简介背景

shader language,称为着色语言,shade在英语是阴影、颜色深浅的意思。shader language基于物体本身属性和光照条件,计算美格橡塑的颜色值。 实际上这种解释具有明显的时代局限性,在GPU编程发展的早期,shader language的提出目标是加强对图形处理算法的控制,所以对该语言的定义也针对于此。但随着技术的进步,目前的shader language早已经用于通用计算

Exception processing async thread queue Exception processing async thread queue

错误信息描述: eclipse 在debug中弹出异常信息框 Exception processing async thread queue Exception processing async thread queue 解决方法: eclipse 中有一个Expressions窗口,里面添加的 expression 没有正确执行,并且没有删除,只要 Remove All Expressio

Retrieval-Augmented Generation for Large Language Models A Survey

Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 文章目录 Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 Abstract背景介绍 RAG概述原始RAG先进RAG预检索过程后检索过程 模块化RAGMo

ssh在本地虚拟机中的应用——解决虚拟机中编写和阅读代码不方便问题的一个小技巧

虚拟机中编程小技巧分享——ssh的使用 事情的起因是这样的:前几天一位工程师过来我这边,他看到我在主机和虚拟机运行了两个vscode环境,不经意间提了句:“这么艰苦的环境写代码啊”。 后来我一想:确实。 我长时间以来都是直接在虚拟机里写的代码,但是毕竟是虚拟机嘛,有时候编辑器没那么流畅,在文件比较多的时候跳转很麻烦,容易卡住。因此,我当晚简单思考了一下,想到了一个可行的解决方法——即用ssh

康奈尔大学之论文审稿模型Reviewer2及我司七月对其的实现(含PeerRead)

前言 自从我司于23年7月开始涉足论文审稿领域之后「截止到24年6月份,我司的七月论文审稿GPT已经迭代到了第五版,详见此文的8.1 七月论文审稿GPT(从第1版到第5版)」,在业界的影响力越来越大,所以身边朋友如发现业界有相似的工作,一般都会第一时间发给我,比如本部分要介绍的康奈尔大学的reviewer2 当然,我自己也会各种看类似工作的论文,毕竟同行之间的工作一定会互相借鉴的,我们会学他们

芯片后端之 PT 使用 report_timing 产生报告如何阅读

今天,就PT常用的命令,做一个介绍,希望对大家以后的工作,起到帮助作用。 在PrimeTime中,使用report_timing -delay max命令生成此报告。switch -delay max表示定时报告用于设置(这是默认值)。 首先,我们整体看一下通过report_timing 运行之后,报告产生的整体样式。 pt_shell> report_timing -from start_

【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)

文章目录 一、文章概览(一)问题的提出(二)文章工作 二、理论背景(一)密度比估计DRE(二)去噪扩散模型 三、方法(一)推导分类和去噪之间的关系(二)组合训练方法(三)一步精确的似然计算 四、实验(一)使用两种损失对于实现最佳分类器的重要性(二)去噪结果、图像质量和负对数似然 论文:Classification Diffusion Models: Revitalizing

【python】python葡萄酒国家分布情况数据分析pyecharts可视化(源码+数据集+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C++/Python语言 👉公众号👈:测试开发自动化【获取源码+商业合作】 👉荣__誉👈:阿里云博客专家博主、51CTO技术博主 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 python葡萄酒国家分布情况数据分析pyecharts可视化(源码+数据集+论文)【独一无二】 目录 python葡

论文阅读--Efficient Hybrid Zoom using Camera Fusion on Mobile Phones

这是谷歌影像团队 2023 年发表在 Siggraph Asia 上的一篇文章,主要介绍的是利用多摄融合的思路进行变焦。 单反相机因为卓越的硬件性能,可以非常方便的实现光学变焦。不过目前的智能手机,受制于物理空间的限制,还不能做到像单反一样的光学变焦。目前主流的智能手机,都是采用多摄的设计,一般来说一个主摄搭配一个长焦,为了实现主摄与长焦之间的变焦,目前都是采用数字变焦的方式,数字变焦相比于光学

【LLM之KG】CoK论文阅读笔记

研究背景 大规模语言模型(LLMs)在许多自然语言处理(NLP)任务中取得了显著进展,特别是在零样本/少样本学习(In-Context Learning, ICL)方面。ICL不需要更新模型参数,只需利用几个标注示例就可以生成预测。然而,现有的ICL和链式思维(Chain-of-Thought, CoT)方法在复杂推理任务上仍存在生成的推理链常常伴随错误的问题,导致不真实和不可靠的推理结果。