语言模型预训练方法、装置
技术领域
本发明属于人工智能
技术领域
,尤其涉及基于图像特征多模初始化的语言模型预训练方法及相应的语言模型预训练装置。背景技术
自然语言处理(Nature Language processing, NLP)是人工智能
技术领域
中的一个重要方向。语言模型的预训练在自然语言处理中应用越来越广泛,在许多文本任务中,采用经过预训练的语言模型可显著降低所需的训练数据量,提升语言模型的精度。目前常用的预训练语言模型中,例如RNNLM、word2vec、glove、Elmo、GPT、Bert这些主要类型,这些模型均会涉及到词的表示,即训练过程中,需要先将词表示成向量,在训练语言模型的过程中一起训练这些词向量。以上3种语言模型训练过程中,一般都采用随机初始化的方法初始化词向量。RNNLM、word2vec、glove、Elmo、GPT、Bert这些语言模型,是学习词与词之间的一些关系,所以这样学到的句子或词的表示,并不是真正的理解了现实世界的含义,仅仅是一种词与词之间的共现规律。例如,“狼”、“狗”、“猫”三个词,如果按照现有的语言模型的训练方法,那么模型会认为“猫”和“狗”的相似度会很高,因为“猫”和“狗”的共现频率非常高。但是模型并非真正地理解了“猫”、“狗”、“狼”的含义,所以“猫长得很像狗”的概率会比“狼长得很像狗”的概率高,这在下游任务,例如事实性判断的一些任务中,产生最终错误结果的可能性较高;在其他的一些任务如文本分类任务中,也会导致更差的性能。例如,下游是事实性判断的任务,“土狗也喜欢吃骨头”,如果预训练的语言模型的语料中未出现“土狗”这个词,或者未出现过类似句子,那么在利用语言模型判断句子事实性真假时,语言模型就可能认为这一陈述是假陈述。人类是结合现实世界来学习语言,语言也是用来表达现实世界的,而现有的语言模型训练方法不能完全贴合现实世界的意义,准确率不够高,不能满足自然语言处理任务需要。因此目前十分需要研究语言模型预训练方法、装置,能够让预训练的语言模型能更好的结合世界真实事物,用于更准确的反映真实事物,以此进一步推动自然语言处理技术的深入发展及广泛应用。
发明内容
本发明是为解决上述现有技术的全部或部分问题,本发明一方面提供了语言模型预训练方法,适用于语言模型的预训练。本发明的另外一个方面提供了语言模型预训练装置,用于进行语言模型的预训练。
本发明一方面提供的语言模型预训练方法,包括:步骤S1.获取基于第一特征初始化的第一词向量,所述第一特征包括图像特征;步骤S2.获取随机初始化的第二词向量;步骤S3.基于所述第一词向量与所述第二词向量训练语言模型。仍以下游是事实性判断的任务“土狗也喜欢吃骨头”为例,通过本发明的方法预训练的语言模型,由于“土狗”与“狗”在图像上的相似度非常高,所以“土狗”和“狗”的词向量会非常相似,只要训练语料中出现“狗喜欢吃骨头”这种句子,那么“土狗也喜欢吃骨头”这句话被判断为真陈述句的可能性会非常大。
一般情况中,所述步骤S1之前还包括:准备文本训练数据,获取其中词语的词性;基于所述词性筛选出实体词,记为第一词,实体词之外的其他词语记为第二词;获取所述第一词的所述第一特征;所述步骤S2中随机初始化所述第二词的词向量得到所述第二词向量。所述实体词是指其表征对象为实体且代表该对象的图像较为统一的词汇(例如一提到某个实体词,人脑中就立刻想到相对固定的某些形象图像)。对于所述实体词的词向量不进行随机初始化,而是这些比较相似的图像进行图像特征抽取,基于抽取的图像特征初始化获取所述第一词向量。而其余非实体词的词向量则随机初始化获取第二词向量。
获取所述文本训练数据中词语的词性包括:采用分词与词性标注工具进行分词和词性标注;所述分词与词性标注工具包括但不限于LTP、NLPIR或StanfordCoreNLP。LTP(语言技术平台,Language Technology Platform)提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。NLPIR是北京理工大学大数据搜索与挖掘实验室开发的文本处理系统,具有分词、词性标注等功能。StanfordCoreNLP是斯坦福大学的CoreNLP,是Python封装的,它为文本处理任务提供了一个简单的API,如分词、词性标记、命名实体识别、句法分析等。
所述“筛选出实体词”的过程包括:抽取出所有词性标注结果为名词的词语记为初始词;预备计算机视觉数据集上完成训练的第一训练模型;预设数量N,从搜索引擎中抓取的所述初始词的图片搜索结果中选取前N张图片作为所述第一训练数据;将所述第一训练数据输入所述第一训练模型,计算所述N张图片对应的图像特征向量;根据所述图像特征向量判断N张图片的相似度,若所述相似度满足预设条件,则所述初始词为所述第一词。
若所述初始词为所述第一词,所述步骤S1中,计算所述N张图片对应的图像特征向量的平均值作为初始化的第一词向量。
所述第一训练模型为用于所述图像特征抽取的深度学习模型,包括ResNet(残差网络)模型、VGGNet(Visual Geometry Group Network)模型或Inception模型;所述计算机视觉数据集包括ImageNet数据集。ResNet(残差网络)由残差块组成,能够有效解决在训练的过程中梯度爆炸和梯度消失问题。所述VGG模型是从图像中提取CNN特征的一个优选算法,具有小卷积核、小池化核等优势。Inception模型能够在增加网络深度和宽度的同时减少参数。所述ImageNet数据集文档详细,有专门的团队维护,使用方便,有1400多万幅图片,涵盖2万多个类别,其中有超过百万的图片有明确的类别标注和图像中物体位置的标注。其中N可人为根据实际应用场景、具体搜索引擎或具体搜索结果的数量或其他需求调节配置,一般的实施例中优选的N的范围在10-30张。
所述“计算所述N张图片对应的图像特征向量”包括:将所述第一训练数据输入所述第一训练模型进行深度学习;预设层数记为M,选取前M层的结果作为所述图像特征向量。根据实际应用场景预设M,一般考虑具体的所述第一训练模型层数进行预设,有的层数较多,有的层数较少,并不限定,但一般情况下优选的层数范围是前3-8层。
所述“根据所述图像特征向量判断N张图片的相似度”包括:计算所述N张图片中每2张图片对应的所述图像特征向量之间夹角的余弦值;所述“预设条件”是指任意2张图片对应的所述图像特征向量之间夹角的余弦值均大于0.5。即所述夹角小于60°。通过计算所述图像特征向量之间的位置关系判断图片的相似度,如果N张图片中任意2张图片对应的图像特征向量之间夹角小于60°则判断N张图片的相似度足够高,即词语表征的对象的图像是较为统一的。
所述步骤S3中,将所述第一词向量与所述第二词向量输入预设的第二训练模型,得到预训练语言模型;所述第二训练模型是基于注意力机制的Bert类模型(BERT)。BERT的全称是Bidirectional Encoder Representations from Transformer,也就是基于Transformer的双向编码器表征。BERT采用Transformer的Encoder部分,并且在处理一个单词的时候,还能够考虑到该词前面的和后面的单词,得到它在上下文中的含义。
所述基于注意力机制的Bert类模型是注意力机制的遮掩语言模型。用自注意力机制和遮掩语言模型为目标进行训练,其过程包括:把其中一个词换成[MASK],然后通过上下文预测该词的概率分布,目标是该分布在被遮掩的词上的概率最大;计算交叉熵损失函数和梯度;误差反传,更新语言模型参数;重复以上步骤,直到损失函数下降幅度非常小,训练结束,得到预训练语言模型。
本发明的另外一个方面提供了语言模型预训练装置,包括网络通信模块、采集模块、存储模块和处理模块;所述网络通信模块与互联网通信连接,用于获取互联网数据,所述互联网数据包括搜索引擎中的搜索结果数据;所述采集模块用于获取多模态数据,所述多模态数据包括图像数据和文本数据;所述存储模块至少存储有预设的文本训练数据、若干神经网络深度学习模型;所述处理模块基于所述互联网数据、所述多模态数据、所述文本训练数据,运行所述若干神经网络深度学习模型,基于本发明一方面的语言模型预训练方法训练语言模型。
与现有技术相比,本发明的主要有益效果:
1、本发明的语言模型预训练方法,基于包括图像特征的第一特征初始化的第一词向量;随机初始化的第二词向量,训练第一词向量和第二词向量得到语言模型,结合了包括图像和词语构成的多模态特征进行语言模型的预训练,提升了语言与现实事物的关联性;降低了进行语言模型预训练所需的语料,有效利用了外部知识,有利于提高语言模型理解真实事物含义的能力,能够进一步提高语言模型在下游任务中的使用效果。
2、本发明的语言模型预训练装置,能够实现本发明的语言模型预训练方法,而具有相应优势,构造简单,易于在已有智能电子设备基础上进行设置,有利于提高现有设备性能,推动语音识别技术在更广泛领域的实用性。
附图说明
图1为本发明实施例一的语言模型预训练方法过程示意图。
图2为本发明实施例一的词向量预训练过程示意图。
图3为本发明实施例一的语言模型预训练装置示意图。
图4为本发明实施例二的初始化词向量流程示意图。
具体实施方式
下面将对本发明具体实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解。附图中,相同结构或功能的部分利用相同的附图标记来标记,出于显示清楚的原因必要时并不是所有示出的部分在全部附图中用所属的附图标记来标记。
在下述实施例中采用特定次序描绘了实施例的操作,这些次序的描述是为了更好的理解实施例中的细节以全面了解本发明,但这些次序的描述并不一定与本发明的方法一一对应,也不能以此限定本发明的范围。
需要说明的是,附图中的流程图和框图,图示出按照本发明实施例的方法可能实现的操作过程。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以并不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以穿插的执行,依所涉及的步骤要实现的目的而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与人工操作结合来实现。
实施例一
本发明实施例一中,如图1所示,语言模型预训练方法,包括:步骤S1.获取基于第一特征初始化的第一词向量,所述第一特征包括图像特征;步骤S2.获取随机初始化的第二词向量;步骤S3.基于所述第一词向量与所述第二词向量训练语言模型。
本实施例中,所述步骤S1之前还包括:准备文本训练数据,获取其中词语的词性;基于所述词性筛选出实体词,记为第一词,实体词之外的其他词语记为第二词;获取所述第一词的所述第一特征;所述步骤S2中随机初始化所述第二词的词向量得到所述第二词向量。本实施例的文本训练数据具体是从尽量大而全的角度进行准备的,包含各类文本如新闻、bbs论坛、点评、游戏、电视剧字幕等等,具体本实施例中的文本训练数据可从网络上抓取,抓取来源包括社交平台、新闻网站等,并不限定。获取所述文本训练数据中词语的词性的具体做法是采用分词与词性标注工具进行分词和词性标注,基于词性进行实体词的筛选。本实施例利用的分词与词性标注工具是LTP,也有的实施例中采用、NLPIR或StanfordCoreNLP进行分词与词性标注,根据具体应用情况综合考虑不同的分词与词性标注工具优缺点进行选用,并不限定。
本实施例中,“筛选出实体词”的过程包括:抽取出所有词性标注结果为名词的词语记为初始词;预备计算机视觉数据集上完成训练的第一训练模型;预设数量N,从搜索引擎中抓取的所述初始词的图片搜索结果中选取前N张图片作为所述第一训练数据;将所述第一训练数据输入所述第一训练模型,计算所述N张图片对应的图像特征向量;根据所述图像特征向量判断N张图片的相似度,若所述相似度满足预设条件,则所述初始词为所述第一词。本实施例的搜索引擎是互联网搜索引擎,如百度、Google等,获取词性为名词的初始词的图片搜索结果后,取搜索结果中显示在前N张图片,其中N可人为调节配置,过多则增加运算资源成本,过少则无法准确评估初始词是否是表征图像基本相似的实体词,本实施例中优选的,N预设为20,即抓取20张图片。
本实例中“根据所述图像特征向量判断N张图片的相似度”示例的做法是:计算所述N张图片中每2张图片对应的所述图像特征向量之间的距离。该距离采用汉明距离算法获得,这种算法适用于正交的向量计算,可以近似地计算出两个向量的相似度,即距离,效率非常高,且计算消耗的电量较少。在也有的实施例中采用欧式距离算法,根据实际硬件装置或整个网络系统的配置,结合各个算法的优势进行选择,并不限定。
所述“预设条件”是指任意2张图片对应的所述图像特征向量之间均小于一个预设值。通过计算所述图像特征向量之间的距离关系判断图片的相似度,如果N张图片中任意2张图片对应的图像特征向量之间都满足小于预设值则判断N张图片的相似度足够高,即词语表征的对象的图像是较为统一的。本实施例中若所述初始词为所述第一词,即实体词则在所述步骤S1中,计算所述N张图片对应的图像特征向量的平均值作为初始化的第一词向量。在也有的实施例中以所述N张图片对应的图像特征向量的其他统计值作为初始化的第一词向量,并不限定。对于非实体词,本实施例采用随机初始化向量的方法得到初始化的第二词向量。本实施例的第一训练模型为用于所述图像特征抽取的深度学习模型,具体是在公开的计算机视觉数据集ImageNet上完成训练的ResNet模型。在其他一些实施例中第一训练模型也根据实际应用情况考虑各个模型的优势与劣势,选择适合的模型,例如VGG、Inception或其他任何可用于图像特征抽取的深度学习模型,也可以在其他的计算机视觉数据集上完成训练,并不限定。
本实施例在步骤S3中,将所述第一词向量与所述第二词向量输入预设的第二训练模型,得到预训练语言模型;示例的第二训练模型是基于注意力机制的Bert类模型。如图2所示,本实施例以所述基于注意力机制的Bert类模型是注意力机制的遮掩语言模型为例说明用第一词向量和第二词向量进行预训练得到语言模型的过程:把其中一个词换成[MASK],然后通过上下文预测该词的概率分布,目标是该分布在被遮掩的词上的概率最大;计算交叉熵损失函数和梯度;误差反传,更新语言模型参数;重复以上步骤,直到损失函数下降幅度非常小,训练结束,得到预训练语言模型。
本实施例的语言模型预训练装置,具体集成在一个具有网络通信功能、GPU计算、大规模数据存储功能的设备A中,如图3所示,包括网络通信模块1、采集模块2、存储模块3和处理模块4;网络通信模块1与互联网通信连接,用于获取互联网数据,所述互联网数据包括搜索引擎中的搜索结果数据;采集模块2用于获取多模态数据,所述多模态数据包括图像数据和文本数据;存储模块3存储有预设的文本训练数据、若干神经网络深度学习模型,也可以配合实际应用需要还存储有其他数据并不限定;处理模块4基于所述互联网数据、所述多模态数据、所述文本训练数据,运行所述若干神经网络深度学习模型,基于本实施例的语言模型预训练方法训练语言模型。
实施例二
本实施例中“计算所述N张图片对应的图像特征向量”具体是:将所述第一训练数据输入所述第一训练模型进行深度学习;预设层数记为M,选取前M层的结果作为所述图像特征向量。根据实际应用场景预设M,一般考虑具体的所述第一训练模型层数进行预设,有的层数较多,有的层数较少,并不限定,本实施例优选的是选取前5层卷积网络层的结果。
如图4所示,实施例二与实施例一的区别主要在于,“根据所述图像特征向量判断N张图片的相似度”包括:设每一个初始词为W(i),计算W(i)的N张图片中每2张图片对应的所述图像特征向量之间夹角的余弦值;所述“预设条件”是指任意2张图片对应的所述图像特征向量之间夹角的余弦值均大于0.5。即所述夹角小于60°。通过计算所述图像特征向量之间的余弦相似度判断图片的相似度,如果N张图片中任意2张图片对应的图像特征向量之间夹角小于60°则判断N张图片的相似度足够高,即W(i)表征的对象的图像是较为统一的。W(i)就是筛选出的实体词。
本发明为了便于叙述清楚而采用的一些常用的英文名词或字母只是用于示例性指代而非限定性解释或特定用法,不应以其可能的中文翻译或具体字母来限定本发明的保护范围。
还需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明进行了详细介绍,本文中应用了具体的个例对本发明的结构及工作原理进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求保护的范围内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种乳腺组织病理图像分类方法