一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对象处理方法、装置、设备、存储介质和计算机程序产品与流程

2022-04-13 13:29:58 来源:中国专利 TAG:


1.本技术涉及计算机处理技术领域,特别是涉及一种对象处理方法、装置、计算机设备、存储介质和计算机程序产品,还涉及一种文本处理方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着人工智能技术的发展,卷积神经网络的应用愈来愈广泛,卷积神经网络可以应用于图像处理、文本处理、音频处理的机器学习模型中。卷积神经网络的网络结构包括卷积层和池化层,卷积层是卷积神经网络的核心。
3.通过卷积层中大量的卷积核,可以对文本、图像或音频的原始数据进行卷积运算。目前,卷积层整体的卷积运算都是在线运算,导致对图像、文本或音频的处理效率低下。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高对输入对象处理效率的对象处理方法、装置、计算机设备、存储介质和计算机程序产品,还提供了一种能够提高输入文本处理效率的文本处理方法、装置、计算机设备、存储介质和计算机程序产品。
5.一种对象处理方法,所述方法包括:
6.基于预训练神经网络模型,确定输入对象的表示矩阵;
7.基于所述预训练神经网络模型中待与所述表示矩阵进行卷积运算的目标卷积核的尺度,在所述目标卷积核滑过所述表示矩阵的过程中,从所述表示矩阵中确定位于当前卷积窗口内的各个表示向量;
8.对于位于当前卷积窗口内的各个表示向量,以所述表示向量为第一级索引、所述目标卷积核的卷积核标识为第二级索引、所述表示向量在所述当前卷积窗口中的行位置为第三级索引,查询基于所述预训练神经网络模型生成的行卷积表,得到所述表示向量与所述目标卷积核相应行位置的行向量间的行卷积结果;
9.将所述当前卷积窗口内的每个表示向量与所述目标卷积核相应行位置的行向量间的行卷积结果相加,得到所述目标卷积核在所述当前卷积窗口对应的卷积结果;其中,在所述目标卷积核滑过所述表示矩阵的过程中,各个卷积窗口对应的卷积结果用于生成所述输入对象的特征表示。
10.一种对象处理装置,所述装置包括:
11.第一表示矩阵确定模块,用于基于预训练神经网络模型,确定输入对象的表示矩阵;
12.第一卷积核滑动模块,用于基于所述预训练神经网络模型中待与所述表示矩阵进行卷积运算的目标卷积核的尺度,在所述目标卷积核滑过所述表示矩阵的过程中,从所述表示矩阵中确定位于当前卷积窗口内的各个表示向量;
13.第一结果查询模块,用于对于位于当前卷积窗口内的各个表示向量,以所述表示
向量为第一级索引、所述目标卷积核的卷积核标识为第二级索引、所述表示向量在所述当前卷积窗口中的行位置为第三级索引,查询基于所述预训练神经网络模型生成的行卷积表,得到所述表示向量与所述目标卷积核相应行位置的行向量间的行卷积结果;
14.第一结果处理模块,用于将所述当前卷积窗口内的每个表示向量与所述目标卷积核相应行位置的行向量间的行卷积结果相加,得到所述目标卷积核在所述当前卷积窗口对应的卷积结果;其中,在所述目标卷积核滑过所述表示矩阵的过程中,各个卷积窗口对应的卷积结果用于生成所述输入对象的特征表示。
15.在一些实施例中,所述第一表示矩阵确定模块,用于将所述输入对象分割成多个单元;获取基于所述预训练神经网络模型生成的表示向量集合;所述表示向量集合中各表示向量用于表征组成对象的各个单元;所述表示向量集合中的表示向量是将组成对象的单元输入至所述预训练神经网络模型得到的;对于组成所述输入对象的每个单元,从所述表示向量集合查询用于表征所述单元的表示向量;根据所述每个单元对应的表示向量,确定所述输入对象的表示矩阵。
16.在一些实施例中,所述第一表示矩阵确定模块,还用于确定组成所述输入对象的各个单元在所述输入对象中的分布;将所述每个单元对应的表示向量按所述分布进行组合,得到所述输入对象的表示矩阵。
17.在一些实施例中,所述装置还包括:表示向量表示确定模块,用于确定所述输入对象的表示矩阵中每个表示向量的表示向量标识;
18.所述第一结果查询模块,还用于对于位于当前卷积窗口内的各个表示向量,以所述表示向量对应的表示向量标识为第一级索引、所述目标卷积核的卷积核标识为第二级索引、所述表示向量在所述当前卷积窗口中的行位置为第三级索引,查询基于所述预训练神经网络模型生成的行卷积表,得到所述表示向量与所述目标卷积核相应行位置的行向量间的行卷积结果。
19.在一些实施例中,所述输入对象为输入文本,所述表示向量集合中各表示向量用于表征组成文本的各个词语,所述表示向量是将词语输入至用于处理文本的所述预训练神经网络模型所得到的词向量;或,
20.所述输入对象为音频,所述表示向量集合中各表示向量用于表征组成音频的各个片段,所述表示向量是将片段输入至用于处理音频的所述预训练神经网络模型所得到的音频向量。
21.在一些实施例中,所述装置还包括:行卷积表构建模块,用于将组成样本对象的各个单元输入所述预训练神经网络模型,得到每个单元对应的表示向量,生成每个单元的单元标识或每个单元相应的向量标识;对于所述预训练神经网络模型的首个卷积层中的每个卷积核,确定每个卷积核的卷积核标识以及每个所述卷积核的卷积核行向量;所述卷积核行向量的维度与所述表示向量的维度相同;将每个表示向量分别与每个卷积核行向量进行卷积运算,得到行卷积结果;以所述表示向量对应的单元标识或向量标识为第一级索引、所述卷积核行向量所在的卷积核对应的卷积核标识为第二级索引、所述卷积核行向量在所述卷积核中的行位置为第三级索引,生成三级索引;将每个所述三级索引与相应的行卷积结果对应存储,生成行卷积表。
22.在一些实施例中,所述行卷积表构建模块,还用于遍历表示向量与所述预训练神
经网络模型的首个卷积层中的卷积核;确定待进行卷积运算的表示向量与所述卷积核行向量;将所述表示向量与所述卷积核行向量中,对应相同位置的元素进行相乘,得到各位置的乘积结果;对所述各位置的乘积结果进行求和,得到所述待进行卷积运算的表示向量与所述卷积核行向量之间的行卷积结果。
23.在一些实施例中,所述对象为文本,行卷积表构建模块,用于将组成样本文本的各个词语输入所述预训练神经网络模型,得到每个词语对应的词向量,生成每个词语的词语标识或相应的词向量标识;对于所述预训练神经网络模型的首个卷积层中的每个卷积核,确定每个卷积核的卷积核标识以及每个所述卷积核的卷积核行向量;所述卷积核行向量的维度与所述词向量的维度相同;将每个词向量分别与每个卷积核行向量进行卷积运算,得到行卷积结果;以所述词向量对应的词语标识或词向量标识为第一级索引、所述卷积核行向量所在的卷积核对应的卷积核标识为第二级索引、所述卷积核行向量在所述卷积核中的行位置为第三级索引,生成三级索引;将每个所述三级索引与相应的行卷积结果对应存储,生成行卷积表。
24.在一些实施例中,所述装置还包括:卷积结果确定模块,用于确定当前卷积窗口在所述表示矩阵中的当前滑动位置,将所述当前卷积窗口对应的卷积结果,作为所述当前滑动位置对应的卷积结果;根据在所述目标卷积核滑过所述表示矩阵的过程中每个滑动位置对应的卷积结果,生成所述表示矩阵与所述目标卷积核的卷积结果。
25.在一些实施例中,所述装置还包括:池化处理模块,用于通过所述预训练神经网络中的池化层,对所述表示矩阵与所述目标卷积核的卷积结果进行池化处理,得到池化结果。
26.在一些实施例中,所述对象为图像时,所述装置还包括:图像卷积处理模块,用于获取输入图像的像素矩阵;基于所述预训练神经网络模型中待与所述像素矩阵进行卷积运算的目标卷积核的尺度,在所述目标卷积核滑过所述像素矩阵的过程中,从所述像素矩阵中确定位于当前卷积窗口内的各个像素值;对于位于当前卷积窗口内的各个像素值,以所述像素值为第一级索引、所述目标卷积核的卷积核标识为第二级索引、所述像素值在所述当前卷积窗口中的位置为第三级索引,查询基于所述预训练神经网络模型生成的乘积表,得到所述像素值与所述目标卷积核中所述位置处的卷积核参数间的乘积结果;将所述当前卷积窗口内的每个像素值与所述目标卷积核中相应位置处的卷积核参数间的乘积结果相加,得到所述目标卷积核在所述当前卷积窗口对应的卷积结果;其中,所述乘积表存储像素值、所述预训练神经网络模型中卷积核的卷积核标识以及所述卷积核参数的位置共同对应的乘积结果,所述乘积结果是将所述像素值与所述卷积核标识所标识的卷积核中所述位置处的卷积核参数相乘得到的;在所述目标卷积核滑过所述像素矩阵的过程中,各个卷积窗口对应的卷积结果用于生成所述输入图像的特征表示。
27.一种文本处理方法,所述方法包括:
28.基于预训练神经网络模型,确定输入文本的表示矩阵;所述输入文本的表示矩阵是根据所述输入文本中每个词的词向量得到的;
29.基于所述预训练神经网络模型中待与所述表示矩阵进行卷积运算的目标卷积核的尺度,在所述目标卷积核滑过所述表示矩阵的过程中,从所述表示矩阵中确定位于当前卷积窗口内的各个词向量;
30.对于位于当前卷积窗口内的各个词向量,以所述词向量为第一级索引、所述目标
卷积核的卷积核标识为第二级索引、所述词向量在所述当前卷积窗口中的行位置为第三级索引,查询基于所述预训练神经网络模型生成的行卷积表,得到所述词向量与所述目标卷积核相应行位置的行向量间的行卷积结果;
31.将所述当前卷积窗口内的每个词向量与所述目标卷积核相应行位置的行向量间的行卷积结果相加,得到所述目标卷积核在所述当前卷积窗口对应的卷积结果;其中,在所述目标卷积核滑过所述表示矩阵的过程中,各个卷积窗口对应的卷积结果用于生成所述输入文本的特征表示。
32.一种文本处理装置,所述装置包括:
33.第二表示矩阵确定模块,用于基于预训练神经网络模型,确定输入文本的表示矩阵;所述输入文本的表示矩阵是根据所述输入文本中每个词的词向量得到的;
34.第二卷积核滑动模块,用于基于所述预训练神经网络模型中待与所述表示矩阵进行卷积运算的目标卷积核的尺度,在所述目标卷积核滑过所述表示矩阵的过程中,从所述表示矩阵中确定位于当前卷积窗口内的各个词向量;
35.第二结果查询模块,用于对于位于当前卷积窗口内的各个词向量,以所述词向量为第一级索引、所述目标卷积核的卷积核标识为第二级索引、所述词向量在所述当前卷积窗口中的行位置为第三级索引,查询基于所述预训练神经网络模型生成的行卷积表,得到所述词向量与所述目标卷积核相应行位置的行向量间的行卷积结果;
36.第二结果处理模块,用于将所述当前卷积窗口内的每个词向量与所述目标卷积核相应行位置的行向量间的行卷积结果相加,得到所述目标卷积核在所述当前卷积窗口对应的卷积结果;其中,在所述目标卷积核滑过所述表示矩阵的过程中,各个卷积窗口对应的卷积结果用于生成所述输入文本的特征表示。
37.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行上述对象处理方法和/或上述文本处理方法。
38.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述对象处理方法和/或上述文本处理方法。
39.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述对象处理方法和/或上述文本处理方法。
40.上述对象处理方法、文本处理方法、对象处理装置、文本处理装置和相应的计算机设备、存储介质、计算机程序产品中,在线处理输入对象时,在目标卷积核滑过输入对象的表示矩阵的过程中,针对位于目标卷积核的当前卷积窗口内的各个表示向量,以表示向量为第一级索引、目标卷积核的卷积核标识作为第二级索引、表示向量在当前卷积窗口中的行位置为第三级索引,查询事先离线构建的行卷积表,得到表示向量与目标卷积核相应行位置的行向量之间的行卷积结果,该行卷积结果为卷积运算中离线运算部分的结果,也就是说,在线运算部分只需要通过查询行卷积表得到行卷积结果,再对行卷积结果做简单的加法,就可以得到与当前卷积窗口对应的卷积结果。通过将卷积运算拆分离线运算和在线运算两个部分,减少了在线运算量,降低了卷积运算在线运算的用时,从而提升对输入对象在线处理的效率。
附图说明
41.图1为一个实施例中对象处理方法或文本处理方法的应用环境图;
42.图2为一个实施例中对象处理方法的流程示意图;
43.图3为一个实施例中卷积核的结构示意图;
44.图4为一个实施例中基于三级索引的行卷积表的示意图;
45.图5为一个实施例中对卷积窗口对应的行卷积结果求和的示意图;
46.图6为一个实施例中基于四级索引的行卷积表的示意图;
47.图7为一个实施例中文本处理方法的流程示意图;
48.图8为另一个实施例中文本处理方法的流程示意图;
49.图9为一些实施例中对象处理装置的结构框图;
50.图10为一些实施例中文本处理装置的结构框图;
51.图11为一些实施例中计算机设备的内部结构图。
具体实施方式
52.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
53.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一些实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本技术所描述的实施例可以与其它实施例相结合。需要说明的是,本技术介绍涉及的“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
54.本技术提供的对象处理方法或文本处理方法,属于人工智能技术领域,本技术提供的对象处理方法可以应用于文本处理、图像处理和音频处理等场景中,以下对本技术涉及的术语进行介绍:
55.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
56.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
57.计算机视觉技术(computer vision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数
据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
58.语音技术(speech technology)的关键技术有自动语音识别技术(asr)和语音合成技术(tts)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
59.自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
60.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
61.卷积神经网络(convolutional neural networks,cnn)是人工智能中的人工神经网络的一种典型网络结构。卷积神经网络主要应用在图像、文本和音频处理等场景。卷积神经网络的网络结构主要由卷积层和池化层部分组成,卷积层是卷积神经网络的核心计算模块。
62.卷积核(kernel)是卷积神经网络的核心计算参数,有尺寸大小的区分。
63.卷积运算:卷积核能覆盖输入对象的表示矩阵的区域,所覆盖区域称之为卷积核覆盖的窗口,该窗口的大小与该卷积核的尺寸大小相关。在卷积核滑过输入对象的表示矩阵的过程中,所该覆盖区域的表示矩阵的数据与卷积核相应位置的参数进行乘积运算,得到多个乘积结果,再将该乘积结果求和,得到该窗口对应的卷积结果。
64.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
65.本技术提供的对象处理方法或文本处理方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过通信网络进行通信。其中,终端102可以但不限于是个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备。物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
66.在一个实施例中,服务器104可以利用数据存储系统存储行卷积表,行卷积表主要
用于存储表示向量、预训练神经网络模型中卷积核的卷积核标识以及卷积核的行位置共同对应的行卷积结果。行卷积结果是将表示向量与卷积核标识和行位置对应的卷积核行向量进行卷积运算得到的。
67.在一个实施例中,终端102获取到输入对象(如文本、图像或音频)后,可以将输入对象发送至服务器104。服务器104基于预训练神经网络模型,确定输入对象的表示矩阵;基于预训练神经网络模型中待与表示矩阵进行卷积运算的目标卷积核的尺度,在目标卷积核滑过表示矩阵的过程中,从表示矩阵中确定位于当前卷积窗口内的各个表示向量;对于位于当前卷积窗口内的各个表示向量,以表示向量为第一级索引、目标卷积核的卷积核标识为第二级索引、表示向量在当前卷积窗口中的行位置为第三级索引,查询基于预训练神经网络模型生成的行卷积表,得到表示向量与目标卷积核相应行位置的行向量间的行卷积结果;将当前卷积窗口内的每个表示向量与相应行位置对应的目标卷积核的行向量间的行卷积结果相加,得到目标卷积核在当前卷积窗口对应的卷积结果。
68.在一个实施例中,终端102获取到输入文本后,可以将输入文本发送至服务器104。服务器104可以基于预训练神经网络模型,确定输入文本的表示矩阵;输入文本的表示矩阵是根据输入文本中每个词的词向量得到的;基于预训练神经网络模型中待与表示矩阵进行卷积运算的目标卷积核的尺度,在目标卷积核滑过表示矩阵的过程中,从表示矩阵中确定位于目标卷积核的当前卷积窗口内的各个词向量;对于位于目标卷积核的当前卷积窗口内的各个词向量,以词向量为第一级索引、目标卷积核的卷积核标识为第二级索引、词向量在当前卷积窗口中的行位置为第三级索引,查询基于预训练神经网络模型生成的行卷积表,得到词向量与行位置对应的目标卷积核的行向量之间的行卷积结果;将当前卷积窗口内的每个词向量与相应行位置对应的目标卷积核的行向量之间的行卷积结果相加,得到目标卷积核在当前卷积窗口对应的卷积结果。
69.在一些实施例中,上述对象处理方法和/或文本处理方法也可以由终端102执行。
70.本技术提供的对象处理方法可以应用于计算机设备(如终端102或服务器104),以下结合图2介绍本技术提供的对象处理方法,该方法具体包括如下步骤s201至步骤s204:
71.步骤s201,基于预训练神经网络模型,确定输入对象的表示矩阵。
72.其中,预训练神经网络模型是预先基于训练样本进行模型训练得到的模型。训练样本可以是基于文本、图像或音频的样本,预训练神经网络模型可以用于文本识别、文本翻译、图像识别、图像检测、图像分割或语音识别,语音降噪,等等。
73.在一个实施例中,预训练神经网络模型可以包括表示向量生成单元和卷积特征提取单元,表示向量生成单元主要用于将输入对象转换成表示向量,例如将输入文本转换为词向量序列,又例如,将输入图像转换为表示像素的向量。卷积特征提取单元主要是对表示向量生成单元生成的表示向量进行卷积运算,以提取对象(文本、图像或音频等)的特征。
74.输入对象可以是待卷积运算以进行特征提取的对象,如文本、图像或音频等。输入对象可以是用户通过终端102输入的文本、音频或图像等。
75.表示矩阵以向量化的数学形式表征输入对象,表示矩阵可以包括多个表示向量,用于表示输入对象。可选地,表示矩阵包括的表示向量可以由预训练神经网络模型的表示向量生成单元生成的。
76.在一个实施例中,计算机设备可以获取到输入对象后,将输入对象输入至预训练
神经网络模型的表示向量生成单元中,由表示向量生成单元生成组成输入对象的各单元的表示向量,按照组成输入对象的各单元在输入对象中的相对位置,对各单元的表示向量进行排列组合,得到输入对象的表示矩阵。
77.以输入对象为文本为例介绍:计算机设备获取到用户输入的文本后,可以将文本进行分词,得到各个词,并将各词输入至预训练神经网络模型的表示向量生成单元中,由表示向量生成单元生成词的表示向量,词的表示向量可以称为词向量。计算机设备按照各词在文本中的相对位置,将词向量进行排列组合,得到该文本的表示矩阵。
78.以输入对象为图像为例介绍:计算机设备获取到用户输入的图像后,可以得到组成图像的各像素点的数值,并将各像素点的数值输入至预训练的神经网络模型的表示向量生成单元中进行同比例的缩放处理,得到各像素点的缩放后的数值,将各像素点的缩放后的数值作为各像素点的表示向量,按照各像素点在图像中的相对位置,对各像素点的表示向量进行排列组合,得到该图像的表示矩阵。
79.以输入对象为音频为例介绍:计算机设备获取到用户输入的音频后,可以将音频进行分帧,得到各语音帧,并将各语音帧输入至预训练神经网络模型的表示向量生成单元中,由表示向量生成单元生成语音帧的表示向量。计算机设备按照各语音帧在音频中的相对位置,将语音帧的表示向量进行排列组合,得到该音频的表示矩阵。
80.步骤s202,基于预训练神经网络模型中待与表示矩阵进行卷积运算的目标卷积核的尺度,在目标卷积核滑过表示矩阵的过程中,从表示矩阵中确定位于当前卷积窗口内的各个表示向量。
81.目标卷积核可以是预训练神经网络模型中的卷积特征提取单元包括的多个卷积核中的任意一个。目标卷积核具有一定的尺度,该尺度是根据卷积核参数构成的矩阵大小确定的,例如卷积核参数构成的矩阵是2
×
2,那么该目标卷积核的尺度是2
×
2。
82.卷积窗口与目标卷积核的尺度对应,例如,目标卷积核的尺度是2
×
2,那么目标卷积核的卷积窗口是2
×
2。当前卷积窗口是指目标卷积核当前滑动至表示矩阵位置下的卷积窗口。目标卷积核在输入对象的表示矩阵上滑动过程中,位于不同滑动位置下的卷积窗口的表示向量不同。
83.在输入对象为文本的情况下,位于卷积窗口内的表示向量可以是词向量;在输入对象为音频的情况下,位于卷积窗口内的表示向量可以语音帧的表示向量;在输入对象为图像的情况下,位于卷积窗口内的表示向量可以是图像的像素点的表示向量。
84.一些实施例中,计算机设备在预训练神经网络模型中的卷积特征提取单元包括的多个卷积核中选取目标卷积核。计算机设备基于该目标卷积核的尺度,在目标卷积核滑过输入对象的表示矩阵过程中,确定位于当前滑动位置下的卷积窗口的表示向量。
85.以输入对象为文本为例介绍:计算机设备在预训练神经网络模型中的卷积特征提取单元包括的多个卷积核中选取目标卷积核。计算机设备基于该目标卷积核的尺度,在目标卷积核滑过由词向量构成的表示矩阵过程中,确定位于当前滑动位置下的卷积窗口的词向量。
86.以输入对象为音频为例介绍:计算机设备在预训练神经网络模型中的卷积特征提取单元包括的多个卷积核中选取目标卷积核。计算机设备基于该目标卷积核的尺度,在目标卷积核滑过由语音帧的表示向量构成的表示矩阵过程中,确定位于当前滑动位置下的卷
积窗口的语音帧的表示向量。
87.以输入对象为图像为例介绍:计算机设备在预训练神经网络模型中的卷积特征提取单元包括的多个卷积核中选取目标卷积核。计算机设备基于该目标卷积核的尺度,在目标卷积核滑过由各像素点的等比例缩放后的数值构成的表示矩阵过程中,确定位于当前滑动位置下的卷积窗口的像素点的等比例缩放后的数值。
88.步骤s203,对于位于当前卷积窗口内的各个表示向量,以表示向量为第一级索引、目标卷积核的卷积核标识为第二级索引、表示向量在当前卷积窗口中的行位置为第三级索引,查询基于预训练神经网络模型生成的行卷积表,得到表示向量与目标卷积核相应行位置的行向量之间的行卷积结果。
89.其中,卷积核标识用于唯一表征对应的卷积核,例如第一卷积核可以用卷积核标识1表征、第二卷积核可以用卷积核标识2表征、第三卷积核可以用卷积核标识3表征、第四卷积核可以用卷积核标识4表征、第五卷积核可以用卷积核标识5表征、第六卷积核可以用卷积核标识6表征、以及第七卷积核可以用卷积核标识7表征。
90.卷积核所包括的参数,可以称为卷积核参数;卷积核是由卷积核参数构成的矩阵。如图3所示,为一个实施例中卷积核的结构示意图。参照图3,卷积核的矩阵的列方向可以用y表征,行方向可以用x表征。
91.表示向量在当前卷积窗口中的行位置,是该表示向量在当前卷积窗口沿行方向的位置。如图4所示,为一个实施例中基于三级索引的行卷积表的示意图。以文本为例,当前滑动位置下的卷积窗口内,沿x方向的词向量依次是token2、token3和token4,那么token2在当前卷积窗口中的行位置是第一行,token3在当前卷积窗口中的行位置是第二行,token4在当前卷积窗口中的行位置是第三行。表示向量在当前卷积窗口中的行位置可以理解为在当前卷积窗口中覆盖该表示向量的卷积核行向量在卷积核中的位置。卷积核行向量是指卷积核内位于同一行的一个或多个卷积核参数构成的向量。
92.行卷积表用于存储表示向量、预训练神经网络模型中卷积核的卷积核标识以及卷积核的行位置共同对应的行卷积结果,其中,行卷积结果是将表示向量与卷积核标识和行位置对应的卷积核行向量进行卷积运算得到的。计算机设备可以根据得到行卷积结果的表示向量、卷积核行向量在卷积核中的位置以及卷积核行向量所属的卷积核的卷积核标识,构建用于确定该行卷积结果的索引;该索引可以为三级索引,第一级索引为得到该行卷积结果的表示向量,第二级索引为得到该行卷积结果的卷积核行向量所属的卷积核的卷积核标识,第三级索引为得到该行卷积结果的卷积核行向量在卷积核中的位置。如果对象是文本,所构建的三级索引为图4所示的[表示向量_index][卷积核_index][行位置_index];其中,表示向量_index用于表征表示向量,卷积核_index用于表征卷积核,行位置_index用于表征卷积核行向量在卷积核中的位置(也可以理解为表示向量在卷积窗口中的位置)。
[0093]
卷积核标识和行位置对应的卷积核行向量是指:处于卷积核标识对应的卷积核内的行位置的卷积核参数构成的向量,例如,若卷积核标识为2且行位置为第二行,那么与卷积核标识2和第二行对应的卷积核行向量是第二卷积核的卷积核内的位于第二行的一个或多个卷积核参数构成的向量。
[0094]
各表示向量属于基于预训练神经网络模型生成的表示向量集合,也即各表示向量是由预训练神经网络模型的表示向量生成单元生成的。
[0095]
在离线阶段,每个表示向量分别与卷积核内不同的卷积核行向量进行卷积运算,得到各个行卷积结果。
[0096]
如图4所示,为一个实施例中基于三级索引的行卷积表的示意图。图4以文本为例介绍行卷积表。
[0097]
参照图4,计算机设备对文本进行分词,得到各词后,将各词输入至预训练神经网络的表示向量生成单元中,得到各词的表示向量(也即词向量),各词向量分别记为token0、token1、token2、

、tokenn。计算机设备可以对各词向量进行排列组合,得到文本的表示矩阵,该文本的表示矩阵可以记为embedding_dim(dim表示词向量的维度)。预训练神经网络模型的卷积特征提取单元包括的卷积核分别为第一卷积核、第二卷积核、第三卷积核和第四卷积核。各词向量分别与各卷积核的不同卷积核行向量进行卷积运算,得到对应的行卷积结果;行卷积结果对应于得到该行卷积结果的表示向量、卷积核、以及卷积核行向量在该卷积核中的行位置,例如词向量token0与第一卷积核的卷积核行向量进行卷积运算,得到对应的行卷积结果,该行卷积结果对应于token0、第一卷积核的卷积核标识1以及第一卷积核的第一行,计算机设备可以构建确定该行卷积结果的索引为[0][1][0];其中,索引[0][1][0]的各级索引依次表征token0、第一卷积核、token0在对应卷积窗口中的位置为第一卷积核的第一行(也即,与token0进行卷积运算的卷积核行向量是第一行的卷积核行向量)。同样地,词向量token0与第二卷积核的两个卷积核行向量进行卷积运算,得到对应的行卷积结果,其中一个行卷积结果对应于token0、第二卷积核的卷积核标识2以及第二卷积核的第一行,另一个行卷积结果对应于token0、第二卷积核的卷积核标识2以及第二卷积核的第二行,计算机设备可以构建确定该其中一个行卷积结果的索引为[0][2][0],构建确定该另一个行卷积结果的索引为[0][2][1]。
[0098]
在一些实施例中,对于位于目标卷积核的当前卷积窗口内的各个表示向量,若其中一个表示向量为词向量token1,且在当前卷积窗口内覆盖token1的卷积核行向量为第三卷积核的第三行的卷积核行向量,那么计算机设备可以以token1为第一级索引,第三卷积核的卷积核标识3为第二级索引,token1在当前卷积窗口中的行位置为第三级索引,得到的三级索引示例性为[1][3][2]。接着,计算机设备基于该三级索引[1][3][2],在图4所示的三级索引-行卷积表中确定对应的行卷积结果,并作为token1与第三卷积核的第三行的卷积核行向量的行卷积结果。
[0099]
步骤s204,将当前卷积窗口内的每个表示向量与目标卷积核相应行位置的行向量间的行卷积结果相加,得到目标卷积核在当前卷积窗口对应的卷积结果。
[0100]
其中,在目标卷积核滑过表示矩阵的过程中,各个卷积窗口对应的卷积结果用于生成输入对象的特征表示。例如,输入对象为图像,利用目标卷积核对图像的表示矩阵进行处理,可以提取到图像内的物体轮廓的边缘等特征表示。
[0101]
图5为一个实施例中对卷积窗口对应的行卷积结果求和的示意图。参照图5,以第三卷积核为目标卷积核,且位于第三卷积核的当前卷积窗口内的词向量为token0、token1和token2。其中,token0在当前卷积窗口的行位置是第一行、token1在当前卷积窗口的行位置是第二行、以及token2在当前卷积窗口的行位置是第三行。计算机设备基于步骤s203介绍的三级索引,可以从行卷积表中确定token0与第三卷积核的第一行的卷积核行向量之间的行卷积结果(该行卷积结果可以用[0][3][0]表征),从行卷积表中确定token1与第三卷
积核的第二行的卷积核行向量之间的行卷积结果(该行卷积结果可以用索引[1][3][1]表征),从行卷积表中确定token2与第三卷积核的第三行的卷积核行向量之间的行卷积结果(该行卷积结果可以用索引[2][3][2]表征),并将各行卷积结果进行相加,将相加得到的结果[0][3][0] [1][3][1] [2][3][2]作为第三卷积核的当前卷积窗口对应的卷积结果,该卷积结果可以用于生成输入文本的特征表示。
[0102]
同样地,若第三卷积核的滑动步长(stride)为1,第三卷积核滑动至下一位置时,位于下一位置的卷积窗口的词向量为token1、token2和token3,其中,token1在下一位置的卷积窗口的行位置是第一行、token2在下一位置的卷积窗口的行位置是第二行、以及token3在下一位置的卷积窗口的行位置是第三行。计算机设备基于步骤s203介绍的三级索引,可以从行卷积表中确定token1与第三卷积核的第一行的卷积核行向量之间的行卷积结果(该行卷积结果可以用索引[1][3][0]表征),从行卷积表中确定token2与第三卷积核的第二行的卷积核行向量之间的行卷积结果(该行卷积结果可以用其索引[2][3][1]表征),从行卷积表中确定token3与第三卷积核的第三行的卷积核行向量之间的行卷积结果(该行卷积结果可以用其索引[3][3][2]表征),并将各个行卷积结果进行相加,将相加得到的结果[1][3][0] [2][3][1] [3][3][2]作为第三卷积核的下一位置的卷积窗口对应的卷积结果,该卷积结果用于生成输入文本的特征表示。
[0103]
可以理解的是,当预训练神经网络的卷积特征提取单元包括多个卷积核时,计算机设备可以按照步骤s201至步骤s204,利用各卷积核对输入对象进行特征提取,得到输入对象的特征表示。
[0104]
上述对象处理方法中,对卷积运算进行离线和在线的拆分,离线阶段中,先利用行卷积表存储表示向量、预训练神经网络中卷积核的卷积核标识以及卷积核的行位置共同对应的行卷积结果。在线阶段中,在目标卷积核滑过输入对象的表示矩阵的过程中,针对位于目标卷积核的当前卷积窗口内的各个表示向量,以表示向量为第一级索引、目标卷积核的卷积核标识作为第二级索引、表示向量在当前卷积窗口中的行位置为第三级索引,查询离线阶段构建的行卷积表,得到表示向量与目标卷积核相应行位置的行向量之间的行卷积结果。上述离线阶段进行卷积的乘积运算得到行卷积结果,在线阶段通过查询行卷积表可以得到行卷积结果,且在线阶段只需对行卷积结果做简单的加法,就可以得到与当前卷积窗口对应的卷积结果,提高了卷积在线计算的速度,降低了卷积在线计算用时。
[0105]
在一些实施例中,计算机设备可以通过如下步骤确定输入对象的表示矩阵,具体包括:将输入对象分割成多个单元;获取基于预训练神经网络模型生成的表示向量集合;对于组成输入对象的每个单元,从表示向量集合查询用于表征单元的表示向量;根据每个单元对应的表示向量,确定输入对象的表示矩阵。
[0106]
表示向量集合中各表示向量用于表征组成对象的各个单元;表示向量集合中的表示向量是将组成对象的单元输入至预训练神经网络模型得到的,具体地,可以是将组成对象的单元输入至预训练神经网络的表示向量生成单元得到的。
[0107]
单元是能够表征对象的组成部分;通过不同单元之间的排列组合,可以得到相应的对象。如果对象是文本,文本的单元可以是字或词;如果对象是音频,音频的单元可以是语音帧;如果对象是图像,图像的单元可以是像素。
[0108]
计算机设备在得到输入对象后,将输入对象分割成多个单元,在基于预训练神经
网络模型的表示向量生成单元得到的表示向量集合中,确定各单元的表示向量,按照各单元在输入对象中的相对位置,得到各单元的表示向量构成的矩阵,将该矩阵作为输入对象的表示矩阵。
[0109]
上述实施例中,对输入对象分割得到的各单元的表示向量属于预训练神经网络模型生成的表示向量集合,因此,可以保证目标卷积核在基于各单元的表示向量构建得到的表示矩阵上滑动时,通过行卷积表查询到对应的行卷积结果,提升卷积运算的效率。
[0110]
在一些实施例中,计算机设备可以确定组成输入对象的各个单元在输入对象中的分布;将每个单元对应的表示向量按分布进行组合,得到输入对象的表示矩阵。
[0111]
其中,组成输入对象的各个单元在输入对象中的分布可以理解为组成输入对象的各个单元在输入对象中的相对位置。
[0112]
以文本为输入对象为例介绍:计算机设备在得到文本后,对文本进行分词,得到组成该文本的各个词。接着,计算机设备从基于预训练神经网络模型得到的表示向量集合中,确定各词对应的表示向量,得到词向量,并按照各词在文本中的相对位置,对词向量进行组合,得到矩阵,并将该矩阵作为该文本的表示矩阵。
[0113]
上述实施例中,基于组成输入对象的各单元在输入对象的分布,组合单元的表示向量,保证所得到的表示矩阵可以准确地反映输入对象。
[0114]
在一些实施例中,计算机设备还可以确定输入对象的表示矩阵中每个表示向量的表示向量标识;对于位于当前卷积窗口内的各个表示向量,以表示向量对应的表示向量标识为第一级索引、目标卷积核的卷积核标识为第二级索引、表示向量在当前卷积窗口中的行位置为第三级索引,查询基于预训练神经网络模型生成的行卷积表,得到表示向量与目标卷积核相应行位置的行向量之间的行卷积结果。其中,表示向量标识用于表征表示向量。
[0115]
以文本为输入对象、目标卷积核为第三卷积核且位于当前卷积窗口的表示向量为token0、token1和token2为例介绍:
[0116]
其中,token0在当前卷积窗口的行位置是第一行,也即第三卷积核的第一行的卷积核行向量覆盖token0;token1在当前卷积窗口的行位置是第二行,第三卷积核的第二行的卷积核行向量覆盖token1;token2在当前卷积窗口的行位置是第三行,第三卷积核的第三行的卷积核行向量覆盖token2。计算机设备在确定token0与第三卷积核的第一行的卷积核行向量之间的行卷积结果时,可以以token0作为第一级索引,以第三卷积核作为第二级索引,以第三卷积核的第一行作为第三级索引,得到对应的三级索引[0][3][0];其中,该三级索引[0][3][0]的各级索引依次表示token0、第三卷积核、第三卷积核的第一行的卷积核行向量。计算机设备基于该三级索引[0][3][0],可以从行卷积表中确定token0与第三卷积核的第一行的卷积核行向量之间的行卷积结果。
[0117]
同样地,计算机设备在确定token1与第三卷积核的第二行的卷积核行向量之间的行卷积结果时,可以将token1作为第一级索引,以第三卷积核作为第二级索引,以第三卷积核的第二行作为第三级索引,得到对应的三级索引[1][3][1];其中,该三级索引[1][3][1]的各级索引依次表示token1、第三卷积核、第三卷积核的第二行的卷积核行向量。计算机设备基于三级索引[1][3][1]从行卷积表中确定token1与第三卷积核的第二行的卷积核行向量之间的行卷积结果。
[0118]
计算机设备在确定token2与第三卷积核的第三行的卷积核行向量之间的行卷积
结果时,可以以token2作为第一级索引,以第三卷积核作为第二级索引,以第三卷积核的第三行作为第三级索引,得到对应的三级索引[2][3][2];其中,该三级索引[2][3][2]的各级索引依次表示token2、第三卷积核、第三卷积核的第三行的卷积核行向量。计算机设备基于对应的三级索引从行卷积表中确定token2与第三卷积核的第三行的卷积核行向量之间的行卷积结果。
[0119]
上述实施例中,针对位于目标卷积核的当前卷积窗口的各个表示向量,以表示向量的标识为第一级索引、目标卷积核的卷积核标识为第二级索引,表示向量在当前卷积窗口中的行位置为第三级索引,得到对应的三级索引,保证从行卷积表查询得到的行卷积结果的准确性。
[0120]
在一些实施例中,输入对象为输入文本,表示向量集合中各表示向量用于表征组成文本的各个词语,表示向量是将词语输入至用于处理文本的预训练神经网络模型所得到的词向量。
[0121]
其中,词语的表示向量可以是将词语输入至预训练神经网络模型的表示向量生成单元中,由表示向量生成单元输出的。
[0122]
在一些实施例中,输入对象为音频,表示向量集合中各表示向量用于表征组成音频的各个片段,表示向量是将片段输入至用于处理音频的预训练神经网络模型所得到的音频向量。
[0123]
其中,组成音频的各个片段可以称为语音帧,语音帧的表示向量可以是将语音帧输入至预训练神经网络模型的表示向量生成单元中,由表示向量生成单元输出的。
[0124]
上述实施例中,输入对象可以为文本或音频,在对文本或音频进行卷积运算时,可以通过行卷积表查询到对应的行卷积结果,提升文本识别和语音识别的卷积处理效率。
[0125]
在一些实施例中,计算机设备在构建行卷积表时,可以将组成样本对象的各个单元输入预训练神经网络模型,得到每个单元对应的表示向量,生成每个单元的单元标识或每个单元相应的向量标识;对于预训练神经网络模型的首个卷积层中的每个卷积核,确定每个卷积核的卷积核标识以及每个卷积核的卷积核行向量;卷积核行向量的维度与表示向量的维度相同;将每个表示向量分别与每个卷积核行向量进行卷积运算,得到行卷积结果;以表示向量对应的单元标识或向量标识为第一级索引、卷积核行向量所在的卷积核对应的卷积核标识为第二级索引、卷积核行向量在卷积核中的行位置为第三级索引,生成三级索引;将每个三级索引与相应的行卷积结果对应存储,生成行卷积表。
[0126]
其中,样本对象可以是在构建预训练神经网络模型的过程中所用的对象;样本对象的各单元输入至预训练神经网络模型的表示向量生成单元,表示向量生成单元生成各单元的表示向量。各单元有对应的单元标识,单元标识用于唯一表征单元。各单元的表示向量也有对应的向量标识,向量标识用于唯一表征单元的表示向量。
[0127]
在预训练神经网络模型中,输入至首个卷积层的表示向量是由表示向量生成单元输出的,输入至首个卷积层的表示向量相对固定,因此,可以对首个卷积层的卷积核与各表示向量进行预计算。输入至更深层次的卷积层的待卷积运算的数据,不仅与上一层的卷积核有关,也与输入至首个卷积层的表示向量有关,影响因素较多,此时,可以不对更深层次的卷积层的卷积核与输入至更深层次的卷积层的待卷积运算的数据进行预计算。
[0128]
设首个卷积层中的卷积核为第一卷积核、第二卷积核、第三卷积核和第四卷积核,
如图4所示,第一卷积核包括一个卷积核行向量,第二卷积核包括两个卷积核行向量,第三卷积核包括三个卷积核行向量,第四卷积核包括四个卷积核行向量。
[0129]
当对象为文本或音频时,表示向量的维度与首个卷积层的各卷积核的卷积核行向量的维度一致,例如卷积核行向量的维度为8维,卷积核行向量的维度也为8维。
[0130]
以对象为文本为例介绍:若文本的词向量包括token0、token1和token2,那么计算机设备可以将token0分别与第一卷积核包括的卷积核行向量、第二卷积核包括的卷积核行向量、第三卷积核包括的卷积核行向量和第四卷积核包括的卷积核行向量进行卷积运算,得到token0对应于不同卷积核行向量的行卷积结果。同样地,计算机设备可以将token1分别与第一卷积核包括的卷积核行向量、第二卷积核包括的卷积核行向量、第三卷积核包括的卷积核行向量和第四卷积核包括的卷积核行向量进行卷积运算,得到token1对应于不同卷积核行向量的行卷积结果。计算机设备可以将token2分别与第一卷积核包括的卷积核行向量、第二卷积核包括的卷积核行向量、第三卷积核包括的卷积核行向量和第四卷积核包括的卷积核行向量进行卷积运算,得到token2对应于不同卷积核行向量的行卷积结果。
[0131]
计算机设备在构建某个行卷积结果的索引时,可以根据得到该行卷积结果的表示向量的向量标识或单元标识为第一级索引,以卷积核行向量所在的卷积核对应的卷积核标识为第二级索引,以卷积核行向量在卷积核中的行位置为第三级索引,生成三级索引,并将三级索引与该行卷积结果对应存储,生成行卷积表。
[0132]
例如,计算机设备在构建token0与第一卷积核包括的卷积核行向量之间的行卷积结果的索引时,以token0的向量标识或token0对应的单元的单元标识作为第一级索引,以第一卷积核的卷积核标识1作为第二级索引,以卷积核行向量在第一卷积核中的行位置作为第三级索引,生成三级索引[0][1][0];计算机设备将该三级索引[0][1][0]与token0和第一卷积核包括的卷积核行向量之间的行卷积结果对应存储,得到行卷积表。
[0133]
针对组成样本对象的各单元,计算机设备将各单元输入至预训练神经网络模型的表示向量生成单元中,表示向量生成单元输出各单元的表示向量。计算机设备获取各单元的单元标识或单元的表示向量的向量标识。针对预训练神经网络的首个卷积层中的每个卷积核,确定每个卷积核的卷积核标识以及每个卷积核的卷积核行向量;将各单元的表示向量分别与每个卷积核行向量进行卷积运算,得到各单元的表示向量对应于不同卷积核行向量的行卷积结果。计算机设备在构建任一个行卷积结果对应的索引时,将得到该任一个行卷积结果的表示向量的向量标识或该表示向量对应的单元的单元标识作为第一级索引,将得到该任一个行卷积结果的卷积核行向量所在的卷积核的卷积核标识作为第二级索引,将得到该任一个行卷积结果的卷积核行向量在所在的卷积核中的行位置作为第三级索引,得到与该任一个行卷积结果对应的三级索引。计算机设备将该三级索引与相应的行卷积结果进行存储,得到三级索引的行卷积表。
[0134]
上述实施例中,样本对象的各单元的表示向量分别与预训练神经网络模型的首个卷积层的每个卷积核的卷积核行向量进行卷积运算,保证所得到的行卷积结果的全面性。并且,以表示向量对应的单元表示或向量标识为第一级索引、卷积核行向量所在的卷积核对应的卷积核标识作为第二级索引,卷积核行向量在卷积核中的行位置为第三级索引,保证在线查询得到的行卷积结果的准确性。
[0135]
在一些实施例中,计算机设备将每个表示向量分别与每个卷积核行向量进行卷积
运算得到行卷积结果时,可以遍历表示向量与预训练神经网络模型的首个卷积层中的卷积核;确定待进行卷积运算的表示向量与卷积核行向量;将表示向量与卷积核行向量中,对应相同位置的元素进行相乘,得到各位置的乘积结果;对各位置的乘积结果进行求和,得到待进行卷积运算的表示向量与卷积核行向量之间的行卷积结果。
[0136]
其中,表示向量可以包括按序排列的多个表示数据,卷积核行向量包括按序排列的多个卷积核参数。
[0137]
表示向量与卷积核行向量中对应相同位置的元素可以是指:卷积核参数所覆盖的表示数据。例如,词向量token0的按序排列的表示数据为[a1 a2 a3 a4 a5],卷积核行向量按序排列的卷积核参数为[b1 b2 b3 b4 b5],其中,b1对a1形成覆盖,b2对a2形成覆盖,b3对a3形成覆盖,b4对a4形成覆盖,b5对a5形成覆盖,因此,a1和b1为词向量token0与该卷积核向量中对应相同位置的元素,a2和b2为词向量token0与该卷积核向量中对应相同位置的元素,a3和b3为词向量token0与该卷积核向量中对应相同位置的元素,a4和b4为词向量token0与该卷积核向量中对应相同位置的元素,a5和b5为词向量token0与该卷积核向量中对应相同位置的元素。
[0138]
表示向量与卷积核行向量中对应相同位置的元素进行相乘,可以称为按位乘积。
[0139]
计算机设备获取到预训练神经网络模型的首个卷积层中的卷积核后,将各单元的表示向量分别与卷积核的卷积核行向量进行卷积运算。在单元的表示向量与任一个卷积核行向量进行卷积运算时,将单元的表示向量与该任一个卷积核行向量进行按位乘积,得到各位置的乘积结果,并将各位置的乘积结果进行求和,求和得到的结果为单元的表示向量与该任一个卷积核行向量之间的行卷积结果。
[0140]
上述实施例中,对待卷积运算的表示向量与卷积核行向量进行按位乘积并求和,保证所得到的行卷积结果的准确性。
[0141]
在一些实施例中,对象为文本,计算机设备构建行卷积表时,可以将组成样本文本的各个词语输入预训练神经网络模型,得到每个词语对应的词向量,生成每个词语的词语标识或相应的词向量标识;对于预训练神经网络模型的首个卷积层中的每个卷积核,确定每个卷积核的卷积核标识以及每个卷积核的卷积核行向量;卷积核行向量的维度与词向量的维度相同;将每个词向量分别与每个卷积核行向量进行卷积运算,得到行卷积结果;以词向量对应的词语标识或词向量标识为第一级索引、卷积核行向量所在的卷积核对应的卷积核标识为第二级索引、卷积核行向量在卷积核中的行位置为第三级索引,生成三级索引;将每个三级索引与相应的行卷积结果对应存储,生成行卷积表。
[0142]
样本文本可以是在构建预训练神经网络模型时所用的文本。计算机设备对样本文本进行分词后,得到样本文本的各词语,并将各词语输入预训练神经网络模型中,预训练神经网络模型的表示向量生成单元生成各词语的表示向量(各词语的表示向量可以称为词向量);计算机设备可以为各词向量生成对应的词语标识或词向量标识。预训练神经网络模型的卷积特征提取单元的首个卷积层包括多个卷积核(为方便说明,设图4所示的第一卷积核、第二卷积核、第三卷积核和第四卷积核为首个卷积层的卷积核),每个卷积核的卷积核行向量的维度与上述词向量的维度一致。计算机设备可以确定第一卷积核、第二卷积核、第三卷积核和第四卷积核各自的卷积核行向量,并将每个词向量分别与各卷积核行向量进行卷积运算,得到对应的行卷积结果。
[0143]
针对任一个行卷积结果,计算机设备可以将得到该任一个行卷积的词向量的词向量标识或对应的词语标识作为第一级索引(可以记为表示向量_index),将得到该任一个行卷积结果的卷积核行向量所在的卷积核的卷积核标识作为第二级索引(可以记为卷积核_index),将得到该任一个行卷积结果的卷积核行向量在所在的卷积核中的行位置作为第三级索引(可以记为行位置_index),得到与该任一个行卷积结果对应的三级索引,该三级索引包括[表示向量_index][卷积核_index][行位置_index]。计算机设备将该任一个行卷积结果与该任一个行卷积结果对应的三级索引存储至行卷积表中,得到应用于文本卷积处理的行卷积表。
[0144]
上述实施例中,预先将各样本文本的词向量与预训练神经网络模型的首个卷积层的卷积核的卷积核行向量进行卷积运算,并将得到的行卷积结果与对应的三级索引进行存储,保证后续对文本进行在线卷积处理时,可以从行卷积表中查询到准确的行卷积结果,并提高在线处理效率。
[0145]
在一些实施例中,计算机设备还可以确定当前卷积窗口在表示矩阵中的当前滑动位置,将当前卷积窗口对应的卷积结果,作为当前滑动位置对应的卷积结果;根据在目标卷积核滑过表示矩阵的过程中每个滑动位置对应的卷积结果,生成表示矩阵与目标卷积核的卷积结果。
[0146]
滑动位置可以理解为卷积窗口在表示矩阵中的位置。卷积核在表示矩阵上滑动的过程中,卷积窗口在表示矩阵终中处于不同位置,因此,滑动位置存在多个。
[0147]
计算机设备可以确定当前卷积窗口在表示矩阵中的当前滑动位置,并将当前卷积窗口对应的卷积结果作为当前滑动位置的卷积结果;同样地,卷积窗口滑动至下一位置时,计算机设备可以确定卷积窗口在表示矩阵中的下一滑动位置,并将下一滑动位置的卷积窗口对应的卷积结果作为下一滑动位置的卷积结果。
[0148]
计算机设备在得到各滑动位置对应的卷积结果后,按照各滑动位置的分布,对各滑动位置的卷积结果进行排列,排列得到的结果作为表示矩阵与目标卷积核的卷积结果。
[0149]
上述实施例中,将各滑动位置的卷积窗口对应的卷积结果作为各滑动位置对应的卷积结果,保证所得到的表示矩阵与目标卷积核的卷积结果的准确性。
[0150]
在一些实施例中,计算机设备还可以通过预训练神经网络中的池化层,对表示矩阵与目标卷积核的卷积结果进行池化处理,得到池化结果。
[0151]
池化处理可以是利用池化层的卷积核进行最大池化或平均池化。最大池化可以是:表示矩阵与目标卷积核的卷积结果包括多个滑动位置下的卷积结果,池化层的卷积核在表示矩阵与目标卷积核的卷积结果上滑动时,位于池化层的卷积核的当前卷积窗口内的多个滑动位置下的卷积结果中,选取最大的卷积结果作为池化层的卷积核的当前卷积窗口对应的结果,得到对应的池化结果。
[0152]
平均池化可以是:表示矩阵与目标卷积核的卷积结果包括多个滑动位置下的卷积结果,池化层的卷积核在表示矩阵与目标卷积核的卷积结果上滑动时,对位于池化层的卷积核的当前卷积窗口内的多个滑动位置下的卷积结果进行平均处理,将平均处理的结果作为池化层的卷积核的当前卷积窗口对应的结果,得到对应的池化结果。
[0153]
计算机设备在得到表示矩阵与目标卷积核的卷积结果后,利用预训练神经网络的池化层,对表示矩阵与目标卷积核的卷积结果进行平均池化处理或者最大池化处理,得到
对应的池化结果。
[0154]
上述实施例中,利用预训练神经网络的池化层,对表示矩阵与目标卷积核的卷积结果进行池化处理,减少待处理的数据量,提升处理效率。
[0155]
在一些实施例中,对象为图像时,计算机设备可以获取输入图像的像素矩阵;基于预训练神经网络模型中待与像素矩阵进行卷积运算的目标卷积核的尺度,在目标卷积核滑过像素矩阵的过程中,从像素矩阵中确定位于当前卷积窗口内的各个像素值;对于位于当前卷积窗口内的各个像素值,以像素值为第一级索引、目标卷积核的卷积核标识为第二级索引、像素值在当前卷积窗口中的位置为第三级索引,查询基于预训练神经网络模型生成的乘积表,得到像素值与目标卷积核中位置处的卷积核参数间的乘积结果;将当前卷积窗口内的每个像素值与目标卷积核中相应位置处的卷积核参数间的乘积结果相加,得到目标卷积核在当前卷积窗口对应的卷积结果。
[0156]
其中,乘积表存储像素值、预训练神经网络模型中卷积核的卷积核标识以及卷积核参数的位置共同对应的乘积结果,乘积结果是将像素值与卷积核标识所标识的卷积核中位置处的卷积核参数相乘得到的。
[0157]
在像素值、预训练神经网络模型中卷积核的卷积核标识以及卷积核参数的位置共同对应的乘积结果中,卷积核参数的位置可以理解为得到该乘积结果的卷积核参数在卷积核中的位置。由于卷积核是卷积核参数构成的矩阵,因此卷积核参数在卷积核中的位置可以包括卷积核参数在卷积核中的行位置以及该卷积核参数在卷积核中的列位置;其中,行位置是指卷积核参数沿图3示出的x方向的位置,列位置是指卷积核参数沿图3示出的y方向的位置。对应地,第三级索引细分为两个子级索引,分别是沿x方向的位置的索引以及沿y方向的位置的索引;此时,在与乘积结果进行对应存储的索引中,将该索引的第一级索引记为[像素值_index],第二级索引记为[卷积核_index],第三级索引的两个子级索引分别记为[行位置_index]和[列位置_index],因此,包括[像素值_index]、[卷积核_index]和第三级的两个子级索引的索引可以称为四级索引,对应的乘积表可以称为四级索引-乘积表。
[0158]
计算机设备在得到图像的像素矩阵后,将该像素矩阵的每个像素值分别与卷积核的各卷积核参数进行乘积,并将各个乘积结果与索引进行对应存储,得到乘积表。以下以图6示出的像素值pixel_00为例介绍上述过程:
[0159]
计算机设备获取到第五卷积核、第六卷积核和第七卷积核后,各卷积核在像素值pixel_00上滑动,以使各卷积核的每个卷积核参数与像素值pixel_00进行乘积运算,得到对应的卷积结果。其中,若第五卷积核的第一行第一列的卷积核参数与像素值pixel_00进行乘积运算,那么该像素值pixel_00在第五卷积核上的位置为第一行第一列。将第一行记为0,第一列记为0,那么第五卷积核的第一行第一列的卷积核参数与像素值pixel_00之间的乘积结果对应的索引为[00][5][0][0],其中[00]表示像素值pixel_00,[5]表示第五卷积核,[0][0]表示第一行第一列。
[0160]
计算机设备可以按照上述方式,存储像素值pixel_00与其他卷积核的各卷积核参数的乘积结果,以及存储图像像素矩阵的其他像素值与各卷积核的各卷积核参数的乘积结果。
[0161]
计算机设备在得到输入图像的像素矩阵后,可以将输入图像的像素矩阵输入预训练神经网络的表示向量生成单元中,以对像素矩阵的各像素值进行等比例的缩放处理。
[0162]
接着,计算机设备在预训练神经网络的卷积特征提取单元的卷积核中选取目标卷积核,目标卷积核在输入图像的像素矩阵上滑动过程中,可以确定位于当前卷积窗口内的各个像素值。针对位于当前卷积窗口内的各个像素值,各像素值在当前卷积窗口的位置为覆盖该像素值且待与该像素值进行乘积运算的卷积核参数在卷积核中的位置。接着,以像素值为第一级索引,目标卷积核的卷积核标识为第二级索引,像素值在当前卷积窗口的行位置以及像素值在当前卷积窗口的列位置作为第三级索引的子级索引,构建结构为[像素值_index][卷积核_index][行位置_index][列位置_index]的四级索引。计算机设备按照所构建的索引,查询四级索引-乘积表,得到与该所构建的索引对应的乘积结果,并将该乘积结果作为像素值与目标卷积核中位置处的卷积核参数之间的乘积结果。
[0163]
接着,计算机设备可以得到位于卷积窗口内的各个像素值与覆盖像素值的卷积核参数之间的乘积结果,将各乘积结果进行相加,将相加结果作为当前卷积窗口对应的卷积结果。
[0164]
在目标卷积核滑过输入图像的像素矩阵的过程中,各个卷积窗口对应的卷积结果是指各滑动位置下的卷积窗口对应的卷积结果。各个卷积窗口对应的卷积结果用于生成输入图像的特征表示,根据卷积核的特性,基于各个卷积窗口对应的卷积结果生成的输入图像的特征表示可以是图像内的物体边缘特征、对图像内的噪声进行平滑后的特征。
[0165]
上述实施例中,先利用乘积表存储像素值、预训练神经网络模型中卷积核的卷积核标识以及卷积核参数的位置共同对应的乘积结果,然后获取到输入图像的像素矩阵时,按照目标卷积核滑过像素矩阵的过程中,位于卷积窗口的像素值为第一级索引,目标卷积核的卷积核标识为第二级索引,像素值在当前卷积窗口中的位置为第三级索引,在乘积表中查询对应的乘积结果,无需进行乘积运算,提升对图像的卷积处理效率。
[0166]
本技术提供一种对象处理方法,可以应用于终端102或服务器104等计算机设备中,该方法包括如下步骤:
[0167]
步骤s601,将输入对象分割成多个单元;
[0168]
步骤s602,获取基于预训练神经网络模型生成的表示向量集合;
[0169]
步骤s603,对于组成输入对象的每个单元,从表示向量集合查询用于表征单元的表示向量;
[0170]
步骤s604,确定组成输入对象的各个单元在输入对象中的分布;
[0171]
步骤s605,将每个单元对应的表示向量按分布进行组合,得到输入对象的表示矩阵;
[0172]
步骤s606,基于预训练神经网络模型中待与表示矩阵进行卷积运算的目标卷积核的尺度,在目标卷积核滑过表示矩阵的过程中,从表示矩阵中确定位于当前卷积窗口内的各个表示向量;
[0173]
步骤s607,对于位于当前卷积窗口内的各个表示向量,以表示向量对应的表示向量标识为第一级索引、目标卷积核的卷积核标识为第二级索引、表示向量在当前卷积窗口中的行位置为第三级索引,查询基于预训练神经网络模型生成的行卷积表,得到表示向量与目标卷积核相应行位置的行向量之间的行卷积结果;
[0174]
步骤s608,将当前卷积窗口内的每个表示向量与目标卷积核相应行位置的行向量之间的行卷积结果相加,得到目标卷积核在当前卷积窗口对应的卷积结果;
[0175]
步骤s609,确定当前卷积窗口在表示矩阵中的当前滑动位置,将当前卷积窗口对应的卷积结果,作为当前滑动位置对应的卷积结果;
[0176]
步骤s610,根据在目标卷积核滑过表示矩阵的过程中每个滑动位置对应的卷积结果,生成表示矩阵与目标卷积核的卷积结果;
[0177]
步骤s611,通过预训练神经网络中的池化层,对表示矩阵与目标卷积核的卷积结果进行池化处理,得到池化结果;
[0178]
上述对象处理方法中,对卷积运算进行离线和在线的拆分,离线阶段中,先利用行卷积表存储词向量、预训练神经网络中卷积核的卷积核标识以及卷积核的行位置共同对应的行卷积结果。在线阶段中,在目标卷积核滑过输入文本的表示矩阵的过程中,针对位于目标卷积核的当前卷积窗口内的各个词向量,以词向量为第一级索引、目标卷积核的卷积核标识作为第二级索引、词向量在当前卷积窗口中的行位置为第三级索引,查询离线阶段构建的行卷积表,得到词向量与目标卷积核相应行位置的行向量之间的行卷积结果。上述离线阶段进行卷积的乘积运算得到行卷积结果,在线阶段通过查询行卷积表可以得到行卷积结果,且在线阶段只需对行卷积结果做简单的加法,就可以得到与当前卷积窗口对应的卷积结果,提高了卷积在线计算的速度,降低了卷积在线计算用时。
[0179]
本技术提供一种文本处理方法,可以应用于终端102或服务器104等计算机设备中,如图7所示,该方法包括:
[0180]
步骤s701,基于预训练神经网络模型,确定输入文本的表示矩阵。
[0181]
其中,输入文本的表示矩阵是根据输入文本中每个词的词向量得到的。
[0182]
计算机设备可以对输入文本进行分词后,得到组成输入文本的各个词,并将组成输入文本的各词输入预训练神经网络模型中,由预训练神经网络模型的表示向量生成单元生成各词的表示向量,各词的表示向量可以称为词向量。接着,计算机设备按照各词在输入文本的分布,对词向量进行排列,得到输入文本的表示矩阵。其中,各词向量沿矩阵的行方向进行排列,输入文本的表示矩阵的每行放置一个词向量;相邻行的两个词向量各自对应的词在输入文本是时相邻的。
[0183]
步骤s702,基于预训练神经网络模型中待与表示矩阵进行卷积运算的目标卷积核的尺度,在目标卷积核滑过表示矩阵的过程中,从表示矩阵中确定位于当前卷积窗口内的各个词向量。
[0184]
目标卷积核是预训练神经网络模型中的卷积特征提取单元包括的卷积核。卷积窗口与目标卷积核的尺度对应,例如,目标卷积核的尺度是2
×
2,那么目标卷积核的卷积窗口是2
×
2。
[0185]
计算机设备可以在预训练神经网络模型的卷积特征提取单元的卷积核中确定目标卷积核;在目标卷积核滑过输入文本的表示矩阵的过程中,确定表示矩阵中位于当前卷积窗口的各个词向量。
[0186]
其他相关介绍可以参照其他实施例的内容。
[0187]
步骤s703,对于位于当前卷积窗口内的各个词向量,以词向量为第一级索引、目标卷积核的卷积核标识为第二级索引、词向量在当前卷积窗口中的行位置为第三级索引,查询基于预训练神经网络模型生成的行卷积表,得到词向量与目标卷积核相应行位置的行向量之间的行卷积结果。
[0188]
其中,卷积核标识主要用于唯一表征对应的卷积核,例如图4示出的第一卷积核可以用卷积核标识1表征、第二卷积核可以用卷积核标识2表征、第三卷积核可以用卷积核标识3表征、第四卷积核可以用卷积核标识4表征。
[0189]
卷积核所包括的参数,可以称为卷积核参数;卷积核是由卷积核参数构成的矩阵(如图3所示)。其中,卷积核的矩阵中列方向可以用y表征,行方向可以用x表征。
[0190]
词向量在当前卷积窗口中的行位置是该词向量在当前滑动位置下的卷积窗口沿行方向的位置。例如,当前滑动位置下的卷积窗口内,沿x方向的词向量依次是token2、token3和token4,那么token2在当前卷积窗口中的行位置是第一行,token3在当前卷积窗口中的行位置是第二行,token4在当前卷积窗口中的行位置是第三行。
[0191]
词向量在当前卷积窗口中的行位置可以理解为在当前卷积窗口中覆盖该词向量的卷积核行向量在卷积核中的位置。卷积核行向量是指卷积核内位于同一行的一个或多个卷积核参数构成的向量。
[0192]
行卷积表存储词向量、预训练神经网络模型中卷积核的卷积核标识以及卷积核的行位置共同对应的行卷积结果,行卷积结果是将词向量与卷积核标识和行位置对应的卷积核行向量进行卷积运算得到的。计算机设备可以根据得到行卷积结果的词向量、卷积核行向量在卷积核中的行位置以及卷积核行向量所属的卷积核的卷积核标识,构建用于确定该行卷积结果的索引;该索引可以为三级索引,在该三级索引中,第一级索引用于表征得到该行卷积结果的词向量,第一级索引可以是词向量标识;第二级索引用于表征得到该行卷积结果的卷积核行向量所属的卷积核,第二级索引可以是卷积核标识;第三级索引用于表征得到该行卷积结果的卷积核行向量在卷积核中的行位置,第三级索引可以是行位置。具体地,该三级索引的结构为[词向量_index][卷积核_index][行位置_index];其中,词向量_index为词向量标识,词向量_index用于表征词向量,卷积核_index为卷积核标识,卷积核_index用于表征卷积核,行位置_index为行位置,行位置_index用于表征卷积核行向量在卷积核中的位置(也可以理解为表示向量在卷积窗口中的位置)。
[0193]
卷积核标识和行位置对应的卷积核行向量是指:处于卷积核标识对应的卷积核内的行位置的卷积核参数构成的向量,例如,若卷积核标识为2且行位置为第二行,那么与卷积核标识2和第二行对应的卷积核行向量是第二卷积核的卷积核内的位于第二行的一个或多个卷积核参数构成的向量。
[0194]
各词向量属于基于预训练神经网络模型生成的词向量集合,也即各表示向量是由预训练神经网络模型的表示向量生成单元生成的。
[0195]
若位于目标卷积核的当前卷积窗口内的表示向量的其中一个表示向量为词向量token1,且在当前卷积窗口内覆盖token1的卷积核行向量为第三卷积核的第三行的卷积核行向量,那么计算机设备可以以token1为第一级索引,第三卷积核的卷积核标识3为第二级索引,token1在当前卷积窗口中的行位置为第三级索引,得到的三级索引示例性为[1][3][2]。接着,计算机设备基于该三级索引[1][3][2],在图4所示的三级索引-行卷积表中确定对应的行卷积结果,并作为token1与第三卷积核的第三行的卷积核行向量的行卷积结果。
[0196]
步骤s704,将当前卷积窗口内的每个词向量与目标卷积核相应行位置的行向量之间的行卷积结果相加,得到目标卷积核在当前卷积窗口对应的卷积结果;
[0197]
其中,在目标卷积核滑过表示矩阵的过程中,各个卷积窗口对应的卷积结果用于
生成输入文本的特征表示。
[0198]
如图5所示,以第三卷积核为目标卷积核,且位于第三卷积核的当前卷积窗口内的词向量为token0、token1和token2。其中,token0在当前卷积窗口的行位置是第一行、token1在当前卷积窗口的行位置是第二行、以及token2在当前卷积窗口的行位置是第三行。计算机设备基于步骤s203介绍的三级索引,可以从行卷积表中确定token0与第三卷积核的第一行的卷积核行向量之间的行卷积结果(该行卷积结果用可以索引[0][3][0]表征),从行卷积表中确定token1与第三卷积核的第二行的卷积核行向量之间的行卷积结果(该行卷积结果可以用索引[1][3][1]表征),从行卷积表中确定token2与第三卷积核的第三行的卷积核行向量之间的行卷积结果(该行卷积结果可以用索引[2][3][2]表征),并将各行卷积结果进行相加,将相加得到的结果[0][3][0] [1][3][1] [2][3][2]作为第三卷积核的当前卷积窗口对应的卷积结果,该卷积结果用于生成输入文本的特征表示。
[0199]
上述文本处理方法中,对卷积运算进行离线和在线的拆分,离线阶段中,先利用行卷积表存储词向量、预训练神经网络中卷积核的卷积核标识以及卷积核的行位置共同对应的行卷积结果。在线阶段中,在目标卷积核滑过输入文本的表示矩阵的过程中,针对位于目标卷积核的当前卷积窗口内的各个词向量,以词向量为第一级索引、目标卷积核的卷积核标识作为第二级索引、词向量在当前卷积窗口中的行位置为第三级索引,查询离线阶段构建的行卷积表,得到词向量与目标卷积核相应行位置的行向量之间的行卷积结果。上述离线阶段进行卷积的乘积运算得到行卷积结果,在线阶段通过查询行卷积表可以得到行卷积结果,且在线阶段只需对行卷积结果做简单的加法,就可以得到与当前卷积窗口对应的卷积结果,提高了卷积在线计算的速度,降低了卷积在线计算用时。
[0200]
需要说明的是,上述文本处理方法的具体实施例,可以参照本技术提供的对象处理方法的实施例。
[0201]
为了更好地理解本技术提供的对象处理方法或文本处理方法,以下详细阐述一个应用实施例。
[0202]
针对预训练神经网络的卷积在线计算“高时延”的问题,本应用实施例提供一种分隔计算的方法,将卷积运算中的计算量较大部分转移到线下处理(也即离线运算),卷积运算中的计算量较小部分在在线处理,将卷积运算拆分为线下运行和在线运算两个部分。其中,卷积运算中转移到线下处理的部分是浮点数之间的乘积运算,在线处理的部分是加法运算,可以降低卷积在线计算用时。
[0203]
本应用实施例中,线下处理包括:构建三级索引-行卷积表,并将三级索引-行卷积表存储至数据库或文件中,在线处理包括:加载该三级索引-行卷积表或调用存储该三级索引-行卷积表数据库或文件。
[0204]
在图像识别、语音识别和文本处理等人工智能领域,虽然输入对象是随机,但对机器而言,组成输入对象的单元集合是确定的,例如组成图像的像素集合、组成音频的语音帧集合以及组成文本的文字单元集合(文字单元可以称为词或词语)。以文本为例:文字单元是最细粒度能够表示文本的组成部分,如中文里的字和词、又如英文里的字符和单词等。预训练神经网络模型中,一般任务是通过机器学习的方法对标注训练数据集做参数拟合,用拟合后的模型在待预测数据集上做预测。
[0205]
以文本为例,为了加快用人工神经网络对文本进行预测的在线响应速度,在离线
情况下,对每个词语的词向量与卷积核的卷积核行向量进行卷积计算并存储所得到的行卷积结果,并构建三级索引-行卷积表;在线对输入文本进行预测时,可以查找三级索引-行卷积表,得到对应的行卷积结果,并对行卷积结果进行相加等处理,得到预训练神经网络模型的卷积特征提取单元的输出结果。
[0206]
线下处理具体包括:在构建得到预训练神经网络模型后,将词表的各个词向量与各卷积核的卷积核行向量进行卷积运算(该卷积运算属于预计算),存储得到的行卷积结果,将构建得到的三级索引-行卷积表以文本形式进行存储,或存储至数据库中。
[0207]
具体来说,词表包括n 1个词向量,每个词向量依次与上述四个卷积核里的每个卷积核行向量进行卷积运算(按位乘积求和),如token0的8位数据为x0~x7,第一卷积核的第一行的卷积核行向量的8位数据为f00~f07,对token0与第一卷积核的第一行的卷积核行向量进行按位乘积求和,得到的结果x0
×
f00 x1
×
01 x2
×
f02 x3
×
f03 x4
×
f04 x5
×
f05 x6
×
f06 x7
×
f07作为行卷积结果。
[0208]
将词表的各词向量分别与各卷积核的各卷积核行向量进行卷积运算,得到对应的行卷积结果后,构建各行卷积结果的三级索引,该三级索引的结构为[词向量_index][卷积核_index][行位置_index];其中,词向量_index为词向量标识,词向量_index用于表征词向量,卷积核_index为卷积核标识,卷积核_index用于表征卷积核,行位置_index为行位置,行位置_index用于表征卷积核行向量在卷积核中的位置(也可以理解为表示向量在卷积窗口中的位置)。基于各行卷积结果和行卷积结果对应的三级索引,得到三级索引-行卷积表并存储至数据库中,待在线计算使用。
[0209]
基于预训练神经网络模型的表示向量生成单元生成的各词向量构成的词表如图4所示,该词表包括n 1个词向量,分别是token0、token1、token2、

、tokenn,各个词向量的维度是8;预训练神经网络模型的卷积特征提取单元的卷积核包括第一卷积核、第二卷积核、第三卷积核和第四卷积核,各卷积核的尺度大小不同,对应的卷积窗口也不同。
[0210]
在构建得到预训练神经网络模型后,将词表的各个词向量与各卷积核的卷积核行向量进行卷积运算(该卷积运算属于预计算),存储得到的行卷积结果,将构建得到的三级索引-行卷积表以文本形式进行存储,或存储至数据库中。
[0211]
具体来说,词表包括n 1个词向量,每个词向量依次与上述四个卷积核里的每个卷积核行向量进行卷积运算(按位乘积求和),如token0的8位数据为x0~x7,第一卷积核的第一行的卷积核行向量的8位数据为f00~f07,对token0与第一卷积核的第一行的卷积核行向量进行按位乘积求和,得到的结果x0
×
f00 x1
×
01 x2
×
f02 x3
×
f03 x4
×
f04 x5
×
f05 x6
×
f06 x7
×
f07作为行卷积结果。
[0212]
将词表的各词向量分别与各卷积核的各卷积核行向量进行卷积运算,得到对应的行卷积结果后,构建各行卷积结果的三级索引,该三级索引的结构为[词向量_index][卷积核_index][行位置_index];其中,词向量_index为词向量标识,词向量_index用于表征词向量,卷积核_index为卷积核标识,卷积核_index用于表征卷积核,行位置_index为行位置,行位置_index用于表征卷积核行向量在卷积核中的位置(也可以理解为表示向量在卷积窗口中的位置)。基于各行卷积结果和行卷积结果对应的三级索引,得到三级索引-行卷积表并存储至数据库中,待在线计算使用。
[0213]
在线处理具体包括:对输入文本进行分词,得到组成输入文本的各词;对每个词,
通过查询基于预训练神经网络构建的词表,得到各词的表征向量(以下称为词向量);将各词向量组合排列,得到输入文本的表示矩阵(该表示矩阵可以是二维的,表示矩阵的行方向的长度表征组成输入文本的词的数量,表示矩阵的列方向的长度表征词向量的维度);获取预训练神经网络的卷积特征提取单元的多个卷积核,各卷积核的大小可以不同;将各卷积核与输入文本的表示矩阵做卷积运算(按位乘积再求和),得到卷积结果,并对卷积结果进行池化等其他处理。
[0214]
具体地,在输入文本进入预训练神经网络模型的卷积特征提取单元进行特征提取前,会先对输入文本进行分词,得到组成输入文本的各词,然后通过查词表的方式,确定各词的词向量,并对各词的词向量进行排列,得到输入文本的表示矩阵。假设组成输入文本的词的数量为n个,通过查词表,找到各词的词向量。其中,各词的词向量属于基于预训练神经网络模型的表示向量生成单元生成的维数固定(如dim维)的向量。按照各词在输入文本中的顺序,对各词的词向量进行排列,得到输入文本的n
×
dim的表示矩阵,再将该表示矩阵与卷积核进行卷积运算(卷积运算包括浮点数等类型数据之间的乘法、浮点数等类型数据之间的加法等),将得到的卷积结果传入后面层(如池化层等),直至最后输出计算结果。
[0215]
如图8所示,在线运算部分,计算机设备所执行的步骤包括:
[0216]
步骤s801,对输入文本进行分词处理;
[0217]
步骤s802,获取每个词的词向量,得到输入文本的表示矩阵;
[0218]
步骤s803,按照各词向量在卷积窗口中的行位置,查询三级索引-行卷积表,得到各词向量与对应行位置的卷积核行向量之间的行卷积结果;
[0219]
也就是说,卷积核在表示矩阵上滑动的过程中,通过查找三级索引-行卷积表,确定位于当前卷积窗口的各词向量与对应位置的卷积核行向量之间的行卷积结果。
[0220]
步骤s804,对同一卷积窗口的行卷积结果进行求和,得到该同一卷积窗口的卷积结果,以得到对应卷积核与输入文本的表示矩阵的卷积结果;
[0221]
计算机设备在确定位于当前卷积窗口的各词向量与对应位置的卷积核行向量之间的行卷积结果后,对各行卷积结果进行求和,得到当前卷积窗口对应的卷积结果。按照滑动位置,对同一卷积核在各个滑动位置下的卷积结果进行排列,得到该卷积核与图5示出的文本的表示矩阵的卷积结果,以输入至池化层中进行池化处理。
[0222]
示例性地,若组成输入文本的词的数量为5个,如图5所示,各词的词向量分别为token0、token1、token2、token3和token4;各词向量依次与四个卷积核里的每个卷积核行向量进行卷积运算。
[0223]
其中,第一卷积核包括一个卷积核行向量,第一卷积核滑过图5示出的文本的表示矩阵后,行卷积结果共有5个,分别为每个词向量与第一卷积核的卷积核行向量之间的卷积运算结果,各行卷积结果对应的三级索引分别为:[0][1][0]、[1][1][0]、[2][1][0]、[3][1][0]、[4][1][0]。
[0224]
第二卷积核包括两个卷积核行向量,第二卷积核滑过图5示出的文本的表示矩阵后,行卷积结果共有8个,各行卷积结果对应的三级索引分别为:[0][2][0]、[1][2][0]、[2][2][0]、[3][2][0]、[1][2][1]、[2][2][1]、[3][2][1]、[4][2][1];其中,对应于同一卷积窗口的行卷积结果进行求和,得到[0][2][0] [1][2][1]、[1][2][0] [2][2][1]、[2][2][0] [3][2][1]、[3][2][0] [4][2][1]。
[0225]
针对第三卷积核和第四卷积核各自与图5示出的文本的表示矩阵的卷积运算,与上述过程类似,这里不赘述。
[0226]
本应用实施例应用到真实线上系统中,可以有效地降低卷积的在线计算响应时长,因搜索、推荐、对话系统等短文本计算领域涉及较多浅层神经网络应用,应用本实施例提供的方案所提升的计算效率尤其突出,与不使用本实施例提供的方案相比,线上系统吞吐量提升10倍以上。卷积在线计算时间可以大幅降低,在线计算不涉及浮点数等类型数据之间的乘法运算;且本实施例提供过的方案具有较高的可移植性,不涉及计算机硬件与操作系统层面的改动与适配,灵活性很高,普及性高。
[0227]
应该理解的是,虽然图2至图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0228]
在一些实施例中,如图9所示,提供了一种对象处理装置,包括:
[0229]
第一表示矩阵确定模块901,用于基于预训练神经网络模型,确定输入对象的表示矩阵;
[0230]
第一卷积核滑动模块902,用于基于所述预训练神经网络模型中待与所述表示矩阵进行卷积运算的目标卷积核的尺度,在所述目标卷积核滑过所述表示矩阵的过程中,从所述表示矩阵中确定位于当前卷积窗口内的各个表示向量;
[0231]
第一结果查询模块903,用于对于位于当前卷积窗口内的各个表示向量,以所述表示向量为第一级索引、所述目标卷积核的卷积核标识为第二级索引、所述表示向量在所述当前卷积窗口中的行位置为第三级索引,查询基于所述预训练神经网络模型生成的行卷积表,得到所述表示向量与所述目标卷积核相应行位置的行向量间的行卷积结果;
[0232]
第一结果处理模块904,用于将所述当前卷积窗口内的每个表示向量与所述目标卷积核相应行位置的行向量间的行卷积结果相加,得到所述目标卷积核在所述当前卷积窗口对应的卷积结果;其中,在所述目标卷积核滑过所述表示矩阵的过程中,各个卷积窗口对应的卷积结果用于生成所述输入对象的特征表示。
[0233]
在一些实施例中,所述第一表示矩阵确定模块901,用于将所述输入对象分割成多个单元;获取基于所述预训练神经网络模型生成的表示向量集合;所述表示向量集合中各表示向量用于表征组成对象的各个单元;所述表示向量集合中的表示向量是将组成对象的单元输入至所述预训练神经网络模型得到的;对于组成所述输入对象的每个单元,从所述表示向量集合查询用于表征所述单元的表示向量;根据所述每个单元对应的表示向量,确定所述输入对象的表示矩阵。
[0234]
在一些实施例中,所述第一表示矩阵确定模块901,还用于确定组成所述输入对象的各个单元在所述输入对象中的分布;将所述每个单元对应的表示向量按所述分布进行组合,得到所述输入对象的表示矩阵。
[0235]
在一些实施例中,所述装置还包括:表示向量表示确定模块,用于确定所述输入对
象的表示矩阵中每个表示向量的表示向量标识;
[0236]
所述第一结果查询模块903,还用于对于位于当前卷积窗口内的各个表示向量,以所述表示向量对应的表示向量标识为第一级索引、所述目标卷积核的卷积核标识为第二级索引、所述表示向量在所述当前卷积窗口中的行位置为第三级索引,查询基于所述预训练神经网络模型生成的行卷积表,得到所述表示向量与所述目标卷积核相应行位置的行向量间的行卷积结果。
[0237]
在一些实施例中,所述输入对象为输入文本,所述表示向量集合中各表示向量用于表征组成文本的各个词语,所述表示向量是将词语输入至用于处理文本的所述预训练神经网络模型所得到的词向量;或,所述输入对象为音频,所述表示向量集合中各表示向量用于表征组成音频的各个片段,所述表示向量是将片段输入至用于处理音频的所述预训练神经网络模型所得到的音频向量。
[0238]
在一些实施例中,所述装置还包括:行卷积表构建模块,用于将组成样本对象的各个单元输入所述预训练神经网络模型,得到每个单元对应的表示向量,生成每个单元的单元标识或每个单元相应的向量标识;对于所述预训练神经网络模型的首个卷积层中的每个卷积核,确定每个卷积核的卷积核标识以及每个所述卷积核的卷积核行向量;所述卷积核行向量的维度与所述表示向量的维度相同;将每个表示向量分别与每个卷积核行向量进行卷积运算,得到行卷积结果;以所述表示向量对应的单元标识或向量标识为第一级索引、所述卷积核行向量所在的卷积核对应的卷积核标识为第二级索引、所述卷积核行向量在所述卷积核中的行位置为第三级索引,生成三级索引;将每个所述三级索引与相应的行卷积结果对应存储,生成行卷积表。
[0239]
在一些实施例中,所述行卷积表构建模块,还用于遍历表示向量与所述预训练神经网络模型的首个卷积层中的卷积核;确定待进行卷积运算的表示向量与所述卷积核行向量;将所述表示向量与所述卷积核行向量中,对应相同位置的元素进行相乘,得到各位置的乘积结果;对所述各位置的乘积结果进行求和,得到所述待进行卷积运算的表示向量与所述卷积核行向量之间的行卷积结果。
[0240]
在一些实施例中,所述对象为文本,行卷积表构建模块,用于将组成样本文本的各个词语输入所述预训练神经网络模型,得到每个词语对应的词向量,生成每个词语的词语标识或相应的词向量标识;对于所述预训练神经网络模型的首个卷积层中的每个卷积核,确定每个卷积核的卷积核标识以及每个所述卷积核的卷积核行向量;所述卷积核行向量的维度与所述词向量的维度相同;将每个词向量分别与每个卷积核行向量进行卷积运算,得到行卷积结果;以所述词向量对应的词语标识或词向量标识为第一级索引、所述卷积核行向量所在的卷积核对应的卷积核标识为第二级索引、所述卷积核行向量在所述卷积核中的行位置为第三级索引,生成三级索引;将每个所述三级索引与相应的行卷积结果对应存储,生成行卷积表。
[0241]
在一些实施例中,所述装置还包括:卷积结果确定模块,用于确定当前卷积窗口在所述表示矩阵中的当前滑动位置,将所述当前卷积窗口对应的卷积结果,作为所述当前滑动位置对应的卷积结果;根据在所述目标卷积核滑过所述表示矩阵的过程中每个滑动位置对应的卷积结果,生成所述表示矩阵与所述目标卷积核的卷积结果。
[0242]
在一些实施例中,所述装置还包括:池化处理模块,用于通过所述预训练神经网络
中的池化层,对所述表示矩阵与所述目标卷积核的卷积结果进行池化处理,得到池化结果。
[0243]
在一些实施例中,所述对象为图像时,所述装置还包括:图像卷积处理模块,用于获取输入图像的像素矩阵;基于所述预训练神经网络模型中待与所述像素矩阵进行卷积运算的目标卷积核的尺度,在所述目标卷积核滑过所述像素矩阵的过程中,从所述像素矩阵中确定位于当前卷积窗口内的各个像素值;对于位于当前卷积窗口内的各个像素值,以所述像素值为第一级索引、所述目标卷积核的卷积核标识为第二级索引、所述像素值在所述当前卷积窗口中的位置为第三级索引,查询基于所述预训练神经网络模型生成的乘积表,得到所述像素值与所述目标卷积核中所述位置处的卷积核参数间的乘积结果;将所述当前卷积窗口内的每个像素值与所述目标卷积核中相应位置处的卷积核参数间的乘积结果相加,得到所述目标卷积核在所述当前卷积窗口对应的卷积结果;其中,所述乘积表存储像素值、所述预训练神经网络模型中卷积核的卷积核标识以及所述卷积核参数的位置共同对应的乘积结果,所述乘积结果是将所述像素值与所述卷积核标识所标识的卷积核中所述位置处的卷积核参数相乘得到的;在所述目标卷积核滑过所述像素矩阵的过程中,各个卷积窗口对应的卷积结果用于生成所述输入图像的特征表示。
[0244]
上述对象处理装置中,对卷积运算进行离线和在线的拆分,离线阶段中,先利用行卷积表存储表示向量、预训练神经网络中卷积核的卷积核标识以及卷积核的行位置共同对应的行卷积结果。在线阶段中,在目标卷积核滑过输入对象的表示矩阵的过程中,针对位于目标卷积核的当前卷积窗口内的各个表示向量,以表示向量为第一级索引、目标卷积核的卷积核标识作为第二级索引、表示向量在当前卷积窗口中的行位置为第三级索引,查询离线阶段构建的行卷积表,得到表示向量与目标卷积核相应行位置的行向量之间的行卷积结果。上述离线阶段进行卷积的乘积运算得到行卷积结果,在线阶段通过查询行卷积表可以得到行卷积结果,且在线阶段只需对行卷积结果做简单的加法,就可以得到与当前卷积窗口对应的卷积结果,提高了卷积在线计算的速度,降低了卷积在线计算用时。
[0245]
关于对象处理装置的具体限定可以参见上文中对于对象处理方法的限定,在此不再赘述。上述对象处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0246]
在一些实施例中,如图10所示,提供了一种文本处理装置,包括:
[0247]
第二表示矩阵确定模块1001,用于基于预训练神经网络模型,确定输入文本的表示矩阵;所述输入文本的表示矩阵是根据所述输入文本中每个词的词向量得到的;
[0248]
第二卷积核滑动模块1002,用于基于所述预训练神经网络模型中待与所述表示矩阵进行卷积运算的目标卷积核的尺度,在所述目标卷积核滑过所述表示矩阵的过程中,从所述表示矩阵中确定位于当前卷积窗口内的各个词向量;
[0249]
第二结果查询模块1003,用于对于位于当前卷积窗口内的各个词向量,以所述词向量为第一级索引、所述目标卷积核的卷积核标识为第二级索引、所述词向量在所述当前卷积窗口中的行位置为第三级索引,查询基于所述预训练神经网络模型生成的行卷积表,得到所述词向量与所述目标卷积核相应行位置的行向量间的行卷积结果;
[0250]
第二结果处理模块1004,用于将所述当前卷积窗口内的每个词向量与所述目标卷积核相应行位置的行向量间的行卷积结果相加,得到所述目标卷积核在所述当前卷积窗口
对应的卷积结果;其中,在所述目标卷积核滑过所述表示矩阵的过程中,各个卷积窗口对应的卷积结果用于生成所述输入文本的特征表示。
[0251]
上述文本处理装置中,对卷积运算进行离线和在线的拆分,离线阶段中,先利用行卷积表存储词向量、预训练神经网络中卷积核的卷积核标识以及卷积核的行位置共同对应的行卷积结果。在线阶段中,在目标卷积核滑过输入文本的表示矩阵的过程中,针对位于目标卷积核的当前卷积窗口内的各个词向量,以词向量为第一级索引、目标卷积核的卷积核标识作为第二级索引、词向量在当前卷积窗口中的行位置为第三级索引,查询离线阶段构建的行卷积表,得到词向量与目标卷积核相应行位置的行向量之间的行卷积结果。上述离线阶段进行卷积的乘积运算得到行卷积结果,在线阶段通过查询行卷积表可以得到行卷积结果,且在线阶段只需对行卷积结果做简单的加法,就可以得到与当前卷积窗口对应的卷积结果,提高了卷积在线计算的速度,降低了卷积在线计算用时。
[0252]
关于文本处理装置的具体限定可以参见上文中对于文本处理方法的限定,在此不再赘述。上述文本处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0253]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1示出的终端102或服务器104,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储对象处理方法或文本处理方法的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备还包括输入输出接口,输入输出接口是处理器与外部设备之间交换信息的连接电路,它们通过总线与处理器相连,简称i/o接口。该计算机程序被处理器执行时以实现一种上述对象处理方法或上述文本处理方法。
[0254]
本领域技术人员可以理解,图11中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0255]
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述各个方法实施例中的步骤。
[0256]
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
[0257]
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
[0258]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0259]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0260]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0261]
以上的实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献