CN111105028B - 一种神经网络的训练方法、装置及序列预测方法 - Google Patents

一种神经网络的训练方法、装置及序列预测方法 Download PDF

Info

Publication number
CN111105028B
CN111105028B CN201811258926.5A CN201811258926A CN111105028B CN 111105028 B CN111105028 B CN 111105028B CN 201811258926 A CN201811258926 A CN 201811258926A CN 111105028 B CN111105028 B CN 111105028B
Authority
CN
China
Prior art keywords
sequence
kth
probability distribution
probability
prefix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811258926.5A
Other languages
English (en)
Other versions
CN111105028A (zh
Inventor
白帆
程战战
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201811258926.5A priority Critical patent/CN111105028B/zh
Publication of CN111105028A publication Critical patent/CN111105028A/zh
Application granted granted Critical
Publication of CN111105028B publication Critical patent/CN111105028B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种神经网络的训练方法、装置及序列预测方法,属于人工智能技术领域。方法:在将n个样本数据输入至待训练的神经网络后,获取待训练的神经网络输出的n个概率分布列序列,第k个概率分布列序列包括m个概率分布列,第k个概率分布列序列中第g个概率分布列为,第k个样本数据的第g个单元数据的类别的概率分布,n、k、m和g均为整数,1≤k≤n,1≤g≤m;确定第k个概率分布列序列到第k个标定序列的编辑概率,第k个概率分布列序列到第k个标定序列的编辑概率为,通过编辑操作将第k个概率分布列序列生成第k个标定序列的概率;基于n个概率分布列序列中各个概率分布列序列到相应标定序列的编辑概率,对待训练的神经网络进行优化。

Description

一种神经网络的训练方法、装置及序列预测方法
技术领域
本发明涉及人工智能技术领域,特别涉及一种神经网络的训练方法、装置及序列预测方法。
背景技术
随着神经网络的发展,神经网络已经被广泛应用。输出为序列的神经网络,例如应用在语音识别的神经网络,神经网络的输入为音频片段,神经网络的输出为,用于预测音频对应的转录(例如字符序列)的序列。这种以序列为输入又以序列为输出的神经网络的训练过程,也称序列到序列学习(Sequence to Sequence Learning),通常包括:首先,输入样本数据,例如音频样本X=[x1,x2,...,xt],至待训练的神经网络;其中,假设音频样本X的真实转录为字符序列Y=[y1,y2,...,yu];其次,待训练的神经网络对X进行识别、转换和分类,输出预测的概率分布列序列Y'=[Z1,Z2,...],Z1为第1个概率分布列,Z1为y1’对应的类别的概率分布,y1’为第一个预测字符,Z2为第2个概率分布列,Z2为y2’对应的类别的概率分布,y2’为第二个预测字符,以此类推;然后,计算Y'到Y的偏差;最后,基于Y'到Y的偏差,对待训练的神经网络进行优化。
目前,计算Y'到Y的偏差是采用交叉熵(Cross-Entropy)计算。交叉熵的原理包括:将Y'中包括的各个概率分布列Z分别与Y包括的各个元素y逐一比较,计算各个概率分布列Z到各个元素y的偏差,并将计算的偏差求和得到Y'到Y的偏差。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:交叉熵的运算是以各个概率分布列Z与标定序列的各个元素y对齐为前提,一旦输出的概率分布列序列中的概率分布列Z相对于标定序列的元素y发生增多或缺失,即Z的数量发生改变,可能大于标定序列的元素数量u,也可能小于u,这样,将导致在计算Y'到Y的偏差时概率分布列Z与元素y的对应发生错位,比如,假设对应y3的概率分布列缺失,概率分布列Z3对应的实际元素为y4,但交叉熵在比较时,是将Z3中各个概率与y3进行比较,计算的是Z3与y3的偏差,并且,由于Z3与y3的错位,Z3之后的概率分布列与y3之后的元素也相应发生错位,这样计算出的偏差是错误的,基于错误的偏差进行优化,将导致错误的优化,这将严重影响训练效率,还降低了训练出的神经网络的准确性。
发明内容
本发明实施例提供了一种神经网络的训练方法、装置及序列预测方法,能够提高神经网络的训练效率和提高训练出的神经网络的准确性。所述技术方案如下:
一方面,提供了一种神经网络的训练方法,所述方法包括:
在将n个样本数据输入至待训练的神经网络后,获取所述待训练的神经网络输出的n个概率分布列序列,所述n个概率分布列序列中第k个概率分布列序列包括m个概率分布列,所述第k个概率分布列序列中第g个所述概率分布列为,所述n个样本数据中第k个样本数据的第g个单元数据的类别的概率分布,n、k、m和g均为整数,1≤k≤n,1≤g≤m;
确定所述第k个概率分布列序列到第k个标定序列的编辑概率,所述第k个概率分布列序列到第k个标定序列的编辑概率为,通过编辑操作将所述第k个概率分布列序列生成所述第k个标定序列的概率,所述第k个标定序列为所述第k个样本数据的标定序列;
基于所述n个概率分布列序列中各个所述概率分布列序列到相应标定序列的编辑概率,对所述待训练的神经网络进行优化。
可选地,所述确定所述第k个概率分布列序列到第k个标定序列的编辑概率,包括:
分别计算所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、所述第k个概率分布列序列到所述第k个标定序列的第s-1个前缀的编辑概率、以及所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的编辑概率,所述第k个概率分布列序列的第j个前缀为,从所述第k个概率分布列序列的第0个概率分布列到所述第k个概率分布列序列的第j个概率分布列构成的分布列序列,所述第k个标定序列的第i个前缀为,从所述第k个标定序列的第0个元素到所述第k个标定序列的第i个元素构成的序列,j和i均为自然数,0≤j≤m-1,0≤i≤s-1;所述第k个概率分布列序列的第0个概率分布列为空单元数据的类别的概率分布列,所述第k个标定序列的的第0个元素为空元素;
根据所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、所述第k个概率分布列序列到所述第k个标定序列的第s-1个前缀的编辑概率、以及所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的编辑概率,计算所述第k个概率分布列序列到所述第k个标定序列的编辑概率。
可选地,所述计算所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率,包括:
当j=0、且i=0时,所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率等于1;
当0<j≤m-1、且i=0时,根据所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率;
当j=0、且0<i≤s-1时,根据所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率;
当1≤j≤m-1、且1≤i≤s-1时,根据所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述根据所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率,包括:
获取所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率,所述第j个概率分布列发生所述删除操作为,删除所述第j个概率分布列;
基于所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述根据所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率,包括:
获取所述第k个概率分布列序列中第j个概率分布列发生***操作的概率,所述第j个概率分布列发生所述***操作为,在所述第k个概率分布列序列中第j-1个概率分布列与所述第j个概率分布列之间***概率分布列;
获取所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生***操作的概率、所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率、以及所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述根据所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率,包括:
基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率;
基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的***概率;
基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的删除概率;
基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率、***概率、以及删除概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率,包括:
获取所述第k个概率分布列序列中第j个概率分布列发生保留操作的概率,所述第j个概率分布列发生所述保留操作为,对所述第j个概率分布列不做编辑;
获取所述第j个所述概率分布列中与所述第k个标定序列中的第i个元素对应的类别的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生保留操作的概率、所述第j个所述概率分布列中与所述第k个标定序列中的第i个元素对应的类别的概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率。
可选地,所述基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的***概率,包括:
获取所述第k个概率分布列序列中第j个概率分布列发生***操作的概率;
获取所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生***操作的概率、所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率、以及所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的***概率。
可选地,所述基于第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的删除概率,包括:
获取所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的删除概率。
可选地,所述计算第k个概率分布列序列到所述第k个标定序列的第s-1个前缀的编辑概率,包括:
当i=0时,基于所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列到所述第k个标定序列的第i个前缀的编辑概率;
当0<i≤s-1时,基于所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、所述第k个概率分布列序列到所述第k个标定序列的第i-1个前缀的编辑概率、以及所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述计算第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的编辑概率,包括:
当j=0时,基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第s-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的编辑概率;
当0<j≤m-1时,基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的编辑概率。
可选地,所述基于所述n个概率分布列序列中各个所述概率分布列序列到相应标定序列的编辑概率,对所述待训练的神经网络进行优化,包括:
基于所述n个概率分布列序列中各个所述概率分布列序列到相应标定序列的编辑概率,计算各个所述概率分布列序列与各个所述概率分布列序列对应的标定序列的偏差总和;
基于各个所述概率分布列序列与各个所述概率分布列序列对应的标定序列的偏差总和,对所述待训练的神经网络各层的权重参数进行更新。
第二方面,提供了一种序列预测方法,所述方法包括:
将待测数据输入神经网络,所述神经网络是采用前述神经网络的训练方法训练出的;
获取所述神经网络输出的预测的概率分布列序列;
基于所述神经网络输出的预测的概率分布列序列,确定所述待测数据对应的预测序列。
可选地,所述基于所述神经网络输出的预测的概率分布列序列,确定所述待测数据对应的预测序列,包括:
确定通过编辑操作将所述预测的概率分布列序列生成序列库中各个序列的概率;
基于所述通过编辑操作将所述预测的概率分布列序列生成序列库中各个序列的概率,确定所述待测数据对应的预测序列,所述待测数据对应的预测序列为,通过编辑操作将所述预测的概率分布列序列生成所述序列库中各个序列的概率中最大概率对应的序列。
第三方面,提供了一种神经网络的训练装置,所述装置包括:
获取模块,用于在将n个样本数据输入至待训练的神经网络后,获取所述待训练的神经网络输出的n个概率分布列序列,所述n个概率分布列序列中第k个概率分布列序列包括m个概率分布列,所述第k个概率分布列序列中第g个所述概率分布列为,所述n个样本数据中第k个样本数据的第g个单元数据的类别的概率分布,n、k、m和g均为整数,1≤k≤n,1≤g≤m;
确定模块,用于确定所述第k个概率分布列序列到第k个标定序列的编辑概率,所述第k个概率分布列序列到第k个标定序列的编辑概率为,通过编辑操作将所述第k个概率分布列序列生成所述第k个标定序列的概率,所述第k个标定序列为所述第k个样本数据的标定序列;
优化模块,用于基于所述n个概率分布列序列中各个所述概率分布列序列到相应标定序列的编辑概率,对所述待训练的神经网络进行优化。
可选地,所述确定模块用于,
分别计算所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、所述第k个概率分布列序列到所述第k个标定序列的第s-1个前缀的编辑概率、以及所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的编辑概率,所述第k个概率分布列序列的第j个前缀为,从所述第k个概率分布列序列的第0个概率分布列到所述第k个概率分布列序列的第j个概率分布列构成的分布列序列,所述第k个标定序列的第i个前缀为,从所述第k个标定序列的第0个元素到所述第k个标定序列的第i个元素构成的序列,j和i均为自然数,0≤j≤m-1,0≤i≤s-1;所述第k个概率分布列序列的第0个概率分布列为空单元数据的类别的概率分布列,所述第k个标定序列的的第0个元素为空元素;
根据所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、所述第k个概率分布列序列到所述第k个标定序列的第s-1个前缀的编辑概率、以及所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的编辑概率,计算所述第k个概率分布列序列到所述第k个标定序列的编辑概率。
可选地,所述确定模块用于,
当j=0、且i=0时,所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率等于1;
当0<j≤m-1、且i=0时,根据所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率;
当j=0、且0<i≤s-1时,根据所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率;
当1≤j≤m-1、且1≤i≤s-1时,根据所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述确定模块用于,
获取所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率,所述第j个概率分布列发生所述删除操作为,删除所述第j个概率分布列;
基于所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述确定模块用于,
获取所述第k个概率分布列序列中第j个概率分布列发生***操作的概率,所述第j个概率分布列发生所述***操作为,在所述第k个概率分布列序列中第j-1个概率分布列与所述第j个概率分布列之间***概率分布列;
获取所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生***操作的概率、所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率、以及所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述确定模块用于,
基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率;
基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的***概率;
基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的删除概率;
基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率、***概率、以及删除概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述确定模块用于,
获取所述第k个概率分布列序列中第j个概率分布列发生保留操作的概率,所述第j个概率分布列发生所述保留操作为,对所述第j个概率分布列不做编辑;
获取所述第j个所述概率分布列中与所述第k个标定序列中的第i个元素对应的类别的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生保留操作的概率、所述第j个所述概率分布列中与所述第k个标定序列中的第i个元素对应的类别的概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率。
可选地,所述确定模块用于,
获取所述第k个概率分布列序列中第j个概率分布列发生***操作的概率;
获取所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生***操作的概率、所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率、以及所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的***概率。
可选地,所述确定模块用于,
获取所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的删除概率。
可选地,所述确定模块用于,
当i=0时,基于所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列到所述第k个标定序列的第i个前缀的编辑概率;
当0<i≤s-1时,基于所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、所述第k个概率分布列序列到所述第k个标定序列的第i-1个前缀的编辑概率、以及所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列到所述第k个标定序列的第i个前缀的编辑概率。
可选地,所述确定模块用于,
当j=0时,基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第s-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的编辑概率;
当0<j≤m-1时,基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的编辑概率。
可选地,所述优化模块用于,
基于所述n个概率分布列序列中各个所述概率分布列序列到相应标定序列的编辑概率,计算各个所述概率分布列序列与各个所述概率分布列序列对应的标定序列的偏差总和;
基于各个所述概率分布列序列与各个所述概率分布列序列对应的标定序列的偏差总和,对所述待训练的神经网络各层的权重参数进行更新。
第四方面,提供了一种序列预测装置,所述装置包括:
输入模块,用于将待测数据输入神经网络,所述神经网络是采用前述神经网络的训练方法训练出的;
获取模块,用于获取所述神经网络输出的预测的概率分布列序列;
确定模块,用于基于所述神经网络输出的预测的概率分布列序列,确定所述待测数据对应的预测序列。
可选地,所述确定模块用于,
确定通过编辑操作将所述预测的概率分布列序列生成序列库中各个序列的概率;
基于所述通过编辑操作将所述预测的概率分布列序列生成序列库中各个序列的概率,确定所述待测数据对应的预测序列,所述待测数据对应的预测序列为,通过编辑操作将所述预测的概率分布列序列生成所述序列库中各个序列的概率中最大概率对应的序列。
第五方面,提供了一种神经网络的训练装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现前述神经网络的训练方法所执行的操作。
第六方面,提供了一种序列预测装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现前述序列预测方法所执行的操作。
第七方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现前述神经网络的训练方法所执行的操作。
第八方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现前述序列预测方法所执行的操作。
本发明实施例提供的技术方案带来的有益效果是:通过在将n个样本数据输入至待训练的神经网络后,获取待训练的神经网络输出的n个概率分布列序列;确定第k个概率分布列序列到第k个标定序列的编辑概率,该编辑概率为,通过编辑操作将所述第k个概率分布列序列生成第k个样本数据的标定序列的概率;在当第k个概率分布列序列中概率分布列与标定序列的元素之间的对应位置不是一一对应而发生错位时,意味着概率分布列序列中概率分布列发生了缺失或者多余,这时,对于编辑概率小的概率分布列序列,表明该概率分布列序列中概率分布列可能存在缺失或者多余的现象,对于编辑概率大的概率分布列序列,表明该概率分布列序列中概率分布列可能不存在错位的现象,从而不论概率分布列与标定序列的元素是否发生错位,编辑概率均可以准确估计概率分布列序列与标定序列之间的偏差,因此,基于编辑概率,对待训练的神经网络进行优化,能够避免将概率分布列序列中包括的各个概率分布列分别与标定序列包括的各个元素逐一比较而导致的错误的优化;对待训练的神经网络进行优化后,能够提高待训练的神经网络的准确性和提高训练效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的神经网络的训练方法适用的***架构示意图;
图2是本发明实施例提供的第k个概率分布列序列的示意图;
图3-图7分别是本发明实施例提供的一种神经网络的训练方法的流程图;
图8是本发明实施例提供的编辑概率的计算原理的示意图;
图9和图10分别是本发明实施例提供的一种序列预测方法的流程图;
图11是本发明实施例提供的一种神经网络的训练装置的结构示意图;
图12是本发明实施例提供的一种序列预测装置的结构示意图;
图13是本发明实施例提供的一种神经网络的训练装置的结构示意图;
图14是本发明实施例提供的一种序列预测装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为便于理解本发明实施例提供的技术方案,首先对本实施例中涉及的一些名词进行解释。
数据序列,是一个元素或者多个元素构成的集合。当有多个元素时,多个元素之间具有一定的排列顺序。元素为数字或字母等。
标定序列,与样本数据对应,为包含样本数据中各个单元数据的真实类别对应的元素的数据序列。
概率分布列序列,是神经网络对输入数据进行识别和转换后输出的。在识别和转换时,神经网络先将输入数据分为若干单元数据,再对各个单元数据进行识别和转换,最后得到概率分布列序列。概率分布列序列包括若干概率分布列。概率分布列与单元数据一一对应,一个单元数据对应一个概率分布列,不同单元数据对应的概率分布列不同。概率分布列包括,相应单元数据的类别的概率分布。通过概率分布列序列,可以估算输入数据对应的预测序列。预测序列可以是数据序列。
编辑操作,是指针对概率分布列施加的编辑操作。编辑操作包括***操作、删除操作和保留操作。***操作指,在一个概率分布列之前***另一个概率分布列。删除操作指,删除概率分布列。保留操作指,对一个概率分布列不作编辑。
编辑概率,是通过编辑操作将一个概率分布列序列生成一个标定序列的概率。
上述名词解释中,未详尽描述的地方可以参见下文对***架构、概率分布列序列、以及神经网络的训练方法的介绍。
下面结合图1介绍一下本发明实施例提供的神经网络的训练方法适用的***架构。参见图1,在训练阶段,其***架构可以分为3个部分:神经网络部分10、编辑概率计算部分Ep(T⊕#,A)13、以及反向传播部分14。神经网络部分10包括第一模型f(x)11和第二模型H(f(x))12。f(x)11可以由编码器和解码器构成。编码器用于对输入数据X进行特征提取,得到特征表示,解码器用于对特征表示进行解码。H(f(x))12可以由三个softmax(柔性最大值激活函数)层或者归一化层构成,softmax层是分类器。三个softmax层分别输出A、I和R。A为神经网络部分10对输入数据X进行预测所得到的概率分布列序列。概率分布列序列A包括输入数据X中各个单元数据的类别的概率分布。预测序列T基于神经网络输出的概率分布列序列A得到。R包括***操作概率分布列R(1)、删除操作概率分布列R(2)和保留操作概率分布列R(3)。R(1)包括A中各个概率分布列发生***操作的概率。R(2)包括A中各个概率分布列发生删除操作的概率。R(3)包括A中各个概率分布列发生保留操作的概率。I为类别***概率分布列。I包括概率分布列序列A中各个概率分布列发生***操作时***各个可能类别的概率。可能类别可以是,输出A的softmax层的分类器的所有类别。Ep(T⊕#,A)13用于根据A、I、R、以及样本数据X的标定序列T计算通过编辑操作将A转换为T的编辑概率。反向传播部分14基于Ep(T⊕#,A)13计算的编辑概率确定神经网络的损失函数J,并基于J进行反向传播,实现神经网络的优化。
本实施例不限制f(x)11的结构,示例性地,编码器可以是CNN(ConvolutionalNeural Network,卷积神经网络),也可以是RNN(Recurrent Neural Network,循环神经网络)。解码器可以是RNN,还可以是基于注意力(Attention)机制的神经网络。RNN可以是LSTM(Long Short-Term Memory,长短期记忆网络),也可以是GRU(Gated Recurrent Unit,门控循环单元)。需要说明的是,反向传播部分14并不一定是独立的结构,反向传播部分14可以属于神经网络部分10。本实施例中的神经网络部分10为任何以序列作为输出的神经网络,这里的序列为概率分布列序列。基于神经网络部分10输出的序列可以估算输入数据X对应的预测序列,预测序列包括字母序列、字符序列、以及语音序列。
需要说明的是,在训练神经网络时,一般是采用训练集进行训练。训练集包括样本数据和样本数据的标定序列。样本数据不同时,样本数据的标定序列的长度可以相同也可以不同,样本数据的标定序列包含的元素也可以不同。各个标定序列包含的各个元素均属于元素集(例如字母表或中文字典)。其中,分类器的类别与元素之间存在映射关系。元素一定有相应的类别,类别却不一定有相应的元素。当输入的数据为图片或语音数据时,元素可以是字母表中各个字母或者字典中各个字符,类别可以是具体数字。本实施例提供的方法适用以下领域的神经网络的训练:OCR(Optical Character Recognition,光学字符识别)、语音识别、自然语言合成和机器翻译等领域。
图2示出了神经网络部分10输出的n个概率分布列序列中第k个概率分布列序列Ak。示例性地,该神经网络的训练适用OCR,基于此,假设第k个输入数据Xk为一幅图片。编码器对该图片进行特征提取,得到Xk特征数据。为了方便理解概率分布列序列,将Xk特征数据划分为若干单元数据,单元数据的数量与神经网络输出的概率分布列序列中包含的概率分布列的数量相同。请参见图2,Ak包括6个概率分布列,即概率分布列数量m=6,分别为第1个概率分布列第2个概率分布列/>第6个概率分布列/> 为第k个样本数据中第1个单元数据的类别的概率分布。其中,第1个单元数据的类别可以是5个类别中的任何一个类别,该5个类别对应的元素依次为D、O、V、E和#,#为特殊元素,表示一个标定序列的结束。在训练的过程中,各个标定序列的最后一个元素均为#。/>中,元素D对应的类别的概率最大(图2中,类别越大,该类别对应的元素所在方块的颜色越深),元素E对应的类别的概率次大,元素O对应的类别的概率最小。由于元素D对应的类别的概率最大,因此第k个预测序列的第1个元素可能被预测为元素D。/>为第k个样本数据中第2个单元数据的类别的概率分布。其中,第k个样本数据中第2个单元数据的类别也可以是该5个类别中的任何一个类别。中,元素V对应的类别的概率最大,元素D对应的类别和元素#对应的类别的概率最小。由于元素V对应的类别的概率最大,因此第k个预测序列的第2个元素可能被预测为元素V。依次类推,Ak的第3-6个概率分布列分别可能被预测为元素E、元素#、元素#和元素#。那么,通过Ak可能得到预测序列:“DVE#”(图2中3个结束符可以视为1个结束符)。在第k个样本数据的标定序列为“DOVE#”时,预测序列的第2个元素至第4个元素实际与第k个样本数据的标定序列的第3个元素至第5个元素对齐,相当于说,Ak缺失了一个概率分布列,缺失的概率分布列为,对应预测序列的第2个元素的概率分布列。
需要说明的是,图2未示出Ak的第0个概率分布列。概率分布列序列Ak的第0个概率分布列为空单元数据的类别的概率分布列。概率分布列序列的第0个概率分布列仅用于计算编辑概率,不被实际输出,即不在实际输出的概率分布列序列中。同样地,标定序列的第0个元素不在标定序列中,第k个标定序列的的第0个元素为空元素。
图3示出了本发明实施例提供的一种神经网络的训练方法,适用于任何以序列作为输出的神经网络的训练。参见图3,该方法流程包括如下步骤。
步骤101、在将n个样本数据输入至待训练的神经网络后,获取待训练的神经网络输出的n个概率分布列序列。
其中,n个概率分布列序列中第k个概率分布列序列包括m个概率分布列。第k个概率分布列序列中第g个概率分布列为,第k个样本数据的第g个单元数据的类别的概率分布。n、k、m和g均为整数,1≤k≤n,1≤g≤m。
需要说明的是,以序列为输出的神经网络输出的最终结果即为概率分布列序列,样本数据的预测序列通过概率分布列序列得到。
示例性地,n个概率分布列序列中各个概率分布列序列均包括m个概率分布列。m大于各个样本数据的标定序列包含的元素数量。
步骤102、确定第k个概率分布列序列到第k个标定序列的编辑概率。
其中,第k个概率分布列序列到第k个标定序列的编辑概率为,通过编辑操作将第k个概率分布列序列生成第k个标定序列的概率。第k个标定序列为第k个样本数据的标定序列。第k个样本数据的标定序列为,包含第k个样本数据中各个单元数据的真实类别对应的元素的序列。示例性地,第k个样本数据可以是包含商标为“DOVE”的商品包装袋图片,第k个样本数据中各个单元数据分别为包含“D”的图片、包含“O”的图片、包含“V”的图片、以及包含“E”的图片。第k个样本数据的标定序列为“DOVE”。包含“D”的图片的真实类别对应标定序列中元素“D”,包含“O”的图片的真实类别对应标定序列中元素“O”,包含“V”的图片的真实类别对应标定序列中元素“V”,包含“E”的图片的真实类别对应标定序列中元素“E”。
步骤103、基于n个概率分布列序列中各个概率分布列序列到相应标定序列的编辑概率,对待训练的神经网络进行优化。
本发明实施例通过在将n个样本数据输入至待训练的神经网络后,获取待训练的神经网络输出的n个概率分布列序列;确定第k个概率分布列序列到第k个标定的编辑概率,编辑概率为,通过编辑操作将第k个概率分布列序列生成第k个样本数据的标定序列的概率;在当第k个概率分布列序列中概率分布列与标定序列的元素之间的对应位置不是一一对应而发生错位时,这时,对于编辑概率小的概率分布列序列,表明该概率分布列序列中概率分布列可能出现了错位,对于编辑概率大的概率分布列序列,表明该概率分布列序列中概率分布列可能未出现错位,从而不论概率分布列与标定序列的元素是否发生错位,编辑概率均可以准确估计概率分布列序列与标定序列之间的偏差,因此,基于编辑概率,对待训练的神经网络进行优化,能够避免将概率分布列序列中包括的各个概率分布列分别与标定序列包括的各个元素逐一比较而导致的错误的优化,从而能够提高训练效率、以及提高训练出的神经网络的准确性。
图4示出了本发明实施例提供的一种神经网络的训练方法。参见图4,该方法流程包括如下步骤。
步骤201、从训练集数据库中选择n个样本数据,并将n个样本数据输入至待训练的神经网络。
其中,n大于1。作为可选的实施方式,n可以大于等于32。
训练集数据库包括海量训练集。各个训练集包括样本数据和样本数据的标定序列。训练集数据库为预先建立的数据库。样本数据和标定序列的类型由待训练的神经网络的功能决定。示例性地,当待训练的神经网络用于自然场景图片的文本识别时,样本数据为自然场景图片,标定序列为文本。当待训练的神经网络用于语音识别时,样本数据为语音片段,标定序列为文本。训练集的获取方法包括人工生成和基于公开的训练集获取。示例性地,n个样本数据的选择方式可以是在训练集数据库中随机选择。可以同时将n个样本数据分别输入至待训练的神经网络。
参见图1,H(f(x))12中第一个softmax层输出n个概率分布列序列。
步骤202、获取待训练的神经网络输出的n个概率分布列序列。
其中,第k个概率分布列序列用于生成第k个样本数据的预测序列。第k个概率分布列序列包括m个概率分布列。第k个概率分布列序列中第j个概率分布列为,第k个样本数据的第g个单元数据的类别的概率分布。n、k、m和g均为整数,1≤k≤n,1≤g≤m。
步骤203、计算第k个概率分布列序列的第m-1个前缀到第k个标定序列的第s-1个前缀的编辑概率。
其中,第k个概率分布列序列的第j个前缀为,从第k个概率分布列序列的第0个概率分布列到第k个概率分布列序列的第j个概率分布列构成的分布列序列。第k个概率分布列序列的第0个概率分布列为空单元数据的类别的概率分布列。第k个标定序列的第i个前缀为,从第k个标定序列的第0个元素到第k个标定序列的第i个元素构成的序列。第k个标定序列的的第0个元素为空元素。j和i均为自然数。0≤j≤m-1,0≤i≤s-1。
当j=m-1时,第k个概率分布列序列的第m-1个前缀为,从第k个概率分布列序列的第0个概率分布列到第k个概率分布列序列的第m-1个概率分布列构成的分布列序列。当i=s-1时,第k个标定序列的第s-1个前缀为,从第k个标定序列的第0个元素到第k个标定序列的第s-1个元素构成的序列。第k个概率分布列序列的第0个概率分布列为空单元数据的类别的概率分布列,第k个标定序列的的第0个元素为空元素。
步骤203可以包括以下四种情形。
第一种情形:当j=0、且i=0时,第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率等于1。当m=1且s=1时,满足第一种情形,这时,第k个概率分布列序列的第m-1个前缀到第k个标定序列的第s-1个前缀的编辑概率为1。
第二种情形:当0<j≤m-1、且i=0时,根据第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。当m>1且s=1时,满足第二种情形。
第三种情形:当j=0、且0<i≤s-1时,根据第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。当m=1且s>1时,满足第三种情形。
第四种情形:当1≤j≤m-1、且1≤i≤s-1时,根据第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i-1个前缀的编辑概率、第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。当m>1且s>1时,满足第四种情形。
第二种情形下,由于第k个标定序列的第0个前缀为空元素,因此,需通过删除操作让任何一个第k个概率分布列序列的前缀生成空元素,***操作和保留操作不需要执行,即***操作和保留操作在第二种情形下是无效的。示例性地,第二种情形下的计算方式包括如下步骤。
步骤2-1-1、获取第k个概率分布列序列中第j个概率分布列发生删除操作的概率。
其中,第j个概率分布列发生删除操作为,删除第j个概率分布列。
参见图1,H(f(x))12中第二个softmax层输出R,R包括n个删除操作概率分布列R(2)。第k个删除操作概率分布列包括第k个概率分布列序列中各个概率分布列分别发生删除操作的概率。从第k个删除操作概率分布列可以获取第k个概率分布列序列中第j个概率分布列发生删除操作的概率。
步骤2-1-2、基于第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。
可以按照公式(1)计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率
公式(1)中,表示第k个标定序列的第i个前缀;/>表示第k个概率分布列序列的第j-1个前缀。/>表示第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率。/>表示第k个概率分布列序列中第j个概率分布列发生删除操作的概率。
第三种情形下,由于第k个概率分布列序列的第0个前缀为空单元数据的概率分布,因此,需通过***操作让第k个概率分布列序列的第0个前缀生成第k个标定序列的第i个前缀,删除操作和保留操作可以不需要执行,即删除操作和保留操作在第三种情形下是无效的。示例性地,第三种情形下的计算方式包括如下步骤。
步骤3-1-1、获取第k个概率分布列序列中第j个概率分布列发生***操作的概率。
其中,第j个概率分布列发生***操作为,在第j-1个概率分布列与第j个概率分布列之间***概率分布列。
参见图1,H(f(x))12中第二个softmax层输出R,R包括n个***操作概率分布列R(1);第k个***概率分布列包括第k个概率分布列序列中各个概率分布列分别发生***操作的概率。从第k个***概率分布列中可以获取第j个概率分布列发生***操作的概率。
步骤3-1-2、获取第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率。
参见图1,H(f(x))12中第三个softmax层输出n个类别***概率分布列I,第k个类别***概率分布列包括第k个概率分布列序列中各个概率分布列分别发生***操作时***第一个softmax层的各个类别的概率。从第k个类别***概率分布列中可以获取第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率。
步骤3-1-3、基于第k个概率分布列序列中第j个概率分布列发生***操作的概率、第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率、以及第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。
可以按照公式(2)计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率
/>
公式(2)中,表示第k个标定序列的第i-1个前缀;/>表示第k个概率分布列序列的第j个前缀。/>表示第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,/>表示第k个概率分布列序列中第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率,/>表示第k个概率分布列序列中第j个概率分布列发生***操作的概率。
第四种情形下,按照编辑概率的定义,需要分别计算通过***操作、删除操作和保留操作将第k个概率分布列序列的第j个前缀生成第k个标定序列的第i个前缀的概率。示例性地,第四种情形下的计算方式包括如下步骤2031-步骤2034。
步骤2031、基于第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的保留概率。
第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的保留概率可以是,第k个概率分布列序列的第j个前缀中各个概率分布列分别与第k个标定序列的第i个前缀中各个元素对齐的概率。
请参见图5,本步骤2031可以包括如下步骤2031a-步骤2031c。
步骤2031a、获取第k个概率分布列序列中第j个概率分布列发生保留操作的概率。
其中,第k个概率分布列序列中第j个概率分布列发生保留操作为,对第j个概率分布列不做编辑。第j个概率分布列发生保留操作,含义可以是,第j个概率分布列与第k个标定序列中第j个元素对齐。
参见图1,H(f(x))12中第二个softmax层输出R,R包括n个保留操作概率分布列R(3)。第k个保留概率分布列包括第k个概率分布列序列中各个概率分布列分别发生保留操作的概率。从第k个保留概率分布列中可以获取第j个概率分布列发生保留操作的概率。
步骤2031b、获取第j个概率分布列中与第k个标定序列中的第i个元素对应的类别的概率。
第j个概率分布列包括第k个样本数据的第j个单元数据的类别的概率分布。从第j个概率分布列可以获取到第k个标定序列中的第i个元素对应的类别的概率。
步骤2031c、基于第k个概率分布列序列中第j个概率分布列发生保留操作的概率、第j个概率分布列中与第k个标定序列中的第i个元素对应的类别的概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i-1个前缀的编辑概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的保留概率。
本步骤2031c可以包括:按照如下公式(3)确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的保留概率。
公式(3)中,epC,i,j表示第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的保留概率。表示第k个标定序列的第i-1个前缀;/>表示第k个概率分布列序列的第j-1个前缀;/>表示第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i-1个前缀的编辑概率,/>表示第k个概率分布列序列中第j个概率分布列发生保留操作的概率,/>表示第k个概率分布列序列中第j个概率分布列中与第k个标定序列中的第i个元素对应的类别的概率。
步骤2032、基于第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的***概率。
第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的***概率可以是,第k个概率分布列序列的第j个前缀中的概率分布列出现概率分布列缺失所造成的,第k个概率分布列序列的第j个前缀中的概率分布列与第k个标定序列的第i个前缀中的元素未对齐的概率。
参见图6,步骤2032可以包括步骤2032a-步骤2032c。
步骤2032a、获取第k个概率分布列序列中第j个概率分布列发生***操作的概率。
其中,第j个概率分布列发生***操作为,在第j-1个概率分布列与第j个概率分布列之间***概率分布列。
本步骤2032a同步骤3-1-1,在此不再赘述。
步骤2032b、获取第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率。
本步骤2032b同步骤3-1-2,在此不再赘述。
步骤2032c、基于第k个概率分布列序列中第j个概率分布列发生***操作的概率、第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率、以及第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的***概率。
步骤2032c可以包括:按照如下公式(4)确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的***概率。
公式(4)中,epI,i,j表示第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的***概率。表示第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,/>表示第k个概率分布列序列中第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率,/>表示第k个概率分布列序列中第j个概率分布列发生***操作的概率。
步骤2033、基于第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的删除概率。
第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的删除概率可以是,第k个概率分布列序列的第j个前缀中的概率分布列出现概率分布列增多所造成的,第k个概率分布列序列的第j个前缀中的概率分布列与第k个标定序列的第i个前缀中元素未对齐的概率。
参见图7,步骤2033可以包括步骤2033a和步骤2033b。
步骤2033a、获取第k个概率分布列序列中第j个概率分布列发生删除操作的概率。
第j个概率分布列发生删除操作包括,删除第j个概率分布列。
本步骤2033a同步骤2-1-1,在此不再赘述。
步骤2033b、基于第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的删除概率。
步骤2033b可以包括:按照如下公式(5)确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的删除概率。
公式(5)中,epD,i,j表示第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的删除概率。表示第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率。/>表示第k个概率分布列序列中第j个概率分布列发生删除操作的概率。
步骤2034、基于第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的保留概率、***概率、以及删除概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。
具体的,按照如下公式(6)计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。
在计算编辑概率时,由于考虑了概率分布列序列中概率分布列与标定序列中元素对齐的情形、概率分布列序列中概率分布列出现缺失的情形、以及概率分布列序列中概率分布列出现增多的情形;因此,通过编辑概率对待训练的神经网络进行优化后,可以避免在概率分布列序列中概率分布列出现增多和缺失的情形下、将概率分布列序列中包括的各个概率分布列分别与标定序列包括的各个元素逐一比较而导致的错误的优化,从而能够提高训练效率、以及提高训练出的神经网络的准确性。
下面介绍编辑概率的计算原理。参见图8,i按照从上往下的方向依次递增,j按照从左往右的方向依次递增,i、j分别从0开始计数,位于第i行第j列的实心圆表示ep(T1:i,A1:j),ep(T1:i,A1:j)为概率分布列序列第j个前缀A1:j到相应标定序列的第i个前缀T1:i的编辑概率。其中,随着i从0开始增大,实心圆左侧的字符串依次与标定序列的各个前缀对应,当i=0时,标定序列的第0个元素为空元素;图8中,用符号“”表示空元素。位于第0行的各个实心圆分别表示概率分布列序列中各个概率分布列分别到空元素的概率。位于第0列的实心圆分别表示空元素到标定序列中各个元素的概率。从图8可以看出,概率分布列序列中概率分布列的位置序号与标定序列中各个元素的位置序号接近的,其对应的实心圆填充的黑点密度越大,而概率分布列序列中概率分布列的位置序号与标定序列中各个元素的位置序号偏差较远的,其对应的实心圆填充的黑点密度越小。
第2行第2列的实心圆(图8中虚线单圈标出)表示ep(T1:2,A1:2),即概率分布列序列第2个前缀A1:2到标定序列的第2个前缀T1:2的编辑概率。ep(T1:2,A1:2)左上方的实心圆表示ep(T1:1,A1:1)(图8中虚线单方框标出)。ep(T1:2,A1:2)与ep(T1:1,A1:1)用对角箭头连接,且对角箭头指向ep(T1:2,A1:2)。T1:1为标定序列的第1个前缀,A1:1为概率分布列序列的第1个前缀,假设A1:2到顺序序列T1:2是对齐的,那么,从ep(T1:1,A1:1)到ep(T1:2,A1:2)是通过保留操作,因此,对角箭头表示A1:2通过保留操作生成T1:2的概率。
ep(T1:2,A1:2)上方的实心圆表示ep(T1:1,A1:2)(图8中虚线双圈标出)。ep(T1:2,A1:2)与ep(T1:1,A1:2)用竖直箭头连接,且竖直箭头指向ep(T1:2,A1:2)。假设概率分布列序列的第2个前缀A1:2到标定序列的第1个前缀T1:2由于概率分布列的缺失出现了错位,基于ep(T1:1,A1:2),缺失的概率分布列应对应T中第2个元素(从0计数),那么,从ep(T1:1,A1:2)到ep(T1:2,A1:2)是通过***操作,因此,竖直箭头表示A1:2通过***操作生成T1:2的概率。
ep(T1:2,A1:2)左侧的实心圆表示ep(T1:2,A1:1)(图8中虚线双方框标出)。ep(T1:2,A1:2)与ep(T1:2,A1:1)用水平箭头连接,且水平箭头指向ep(T1:2,A1:2)。假设A1:2到T1:2由于概率分布列的增多出现了错位,基于ep(T1:2,A1:1),增多的概率分布列应对应T中第2个元素(从0计数),那么,从ep(T1:2,A1:1)到ep(T1:2,A1:2)是通过删除操作,因此,水平箭头表示A1:2通过删除操作生成T1:2的概率。
参见图8,前述第一种情形描述的是图8中左上角第1个小圆点。前述第二种情形描述的是图8中第一行小圆点(第一行中第1个小圆点和第一行中最后一个小圆点除外),当前小圆点由左侧小圆点(水平箭头连接)通过删除操作得到。前述第三种情形描述的是图8中第一列小圆点(第一列中第1个小圆点和第一列中最后一个小圆点除外),当前小圆点由上方小圆点(竖直箭头连接)通过***操作得到。前述第四种情形描述的是图8中除外面一圈小圆点之外的小圆点,当前小圆点由左斜上方小圆点(对角箭头连接)、正上方小圆点(竖直箭头连接)、以及左侧小圆点(水平箭头连接)分别通过保留操作、删除操作、以及***操作得到。
步骤204、计算第k个概率分布列序列到第k个标定序列的第s-1个前缀的编辑概率。
步骤204包括以下两种情况。
第一种情况:当i=0时,基于第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的第i个前缀的编辑概率。
第二种情况:当0<i≤s-1时,基于第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i-1个前缀的编辑概率、第k个概率分布列序列到第k个标定序列的第i-1个前缀的编辑概率、以及第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的第i个前缀的编辑概率。
第一种情况与步骤203中第二种情形类似。参见图8,第一种情况描述的是图8中最后一列小圆点中第1个小圆点(即右上角小圆点),该小圆点由左侧小圆点(水平箭头连接)通过删除操作得到。示例性地,第一种情况下的计算方式包括如下步骤。
步骤1-2-1、获取第k个概率分布列序列中第m个概率分布列发生删除操作的概率。
本步骤1-2-1同步骤2-1-1,在此不再赘述。
步骤1-2-2、基于第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的第i个前缀的编辑概率。
可以按照公式(7)计算第k个概率分布列序列到第k个标定序列的第i个前缀的编辑概率
公式(7)中,表示第k个标定序列的第i个前缀;/>表示第k个概率分布列序列。表示第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i个前缀的编辑概率。/>表示第k个概率分布列序列中第m个概率分布列发生删除操作的概率。
第二种情况与步骤203中第四种情形类似。参见图8,第二种情况描述的是图8中最后一列小圆点中,除第1个小圆点和右下角小圆点之外的小圆点,当前小圆点由左斜上方小圆点(对角箭头连接)、正上方小圆点(竖直箭头连接)、以及左侧小圆点(水平箭头连接)分别通过保留操作、删除操作、以及***操作得到。示例性地,第二种情况下的计算方式包括如下步骤。
步骤2-2-1、基于第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i-1个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的第i个前缀的保留概率。
按照如下公式(8)计算第k个概率分布列序列到第k个标定序列的第i个前缀的保留概率epC,i,m
公式(8)中,表示第k个标定序列的第i-1个前缀;/>表示第k个概率分布列序列的第m-1个前缀;/>表示第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i-1个前缀的编辑概率,/>表示第k个概率分布列序列中第m个概率分布列发生保留操作的概率,/>表示第k个概率分布列序列中第m个概率分布列中与第k个标定序列中的第i个元素对应的类别的概率。
步骤2-2-2、基于第k个概率分布列序列到第k个标定序列的第i-1个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的第i个前缀的***概率。
按照如下公式(9)计算第k个概率分布列序列到第k个标定序列的第i个前缀的***概率epI,i,m
公式(9)中,表示第k个概率分布列序列到第k个标定序列的第i-1个前缀的编辑概率,/>表示第k个概率分布列序列中第m个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率。
步骤2-2-3、基于第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的第i个前缀的删除概率。
按照如下公式(10)计算第k个概率分布列序列到第k个标定序列的第i个前缀的删除概率epD,i,m
公式(10)中,表示第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i个前缀的编辑概率。/>表示第k个概率分布列序列中第m个概率分布列发生删除操作的概率。
步骤2-2-4、基于第k个概率分布列序列到第k个标定序列的第i个前缀的保留概率、***概率、以及删除概率,确定第k个概率分布列序列到第k个标定序列的第i个前缀的编辑概率。
具体的,按照如下公式(11)确定第k个概率分布列序列到第k个标定序列的第i个前缀的编辑概率
步骤205、计算第k个概率分布列序列的第m-1个前缀到第k个标定序列的编辑概率。
步骤205包括以下两种状况。
第一种状况:当j=0时,基于第k个概率分布列序列的第j个前缀到第k个标定序列的第s-1个前缀的编辑概率,得到第k个概率分布列序列的第j个前缀到第k个标定序列的编辑概率。
第二种状况:当0<j≤m-1时,基于第k个概率分布列序列的第j-1个前缀到第k个标定序列的第s-1个前缀的编辑概率、第k个概率分布列序列的第j个前缀到第k个标定序列的第s-1个前缀的编辑概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的编辑概率,得到第k个概率分布列序列的第j个前缀到第k个标定序列的编辑概率。
第一种状况与步骤203中第三种情形类似。参见图8,第一种状况描述的是图8中最后一行小圆点中第1个小圆点(即左下角小圆点),该小圆点由上方小圆点(竖直箭头连接)通过***操作得到。示例性地,第一种状况包括如下步骤。
步骤1-2-1、获取第k个概率分布列序列中第j个概率分布列发生***操作的概率。
步骤1-2-1同步骤3-1-1,在此不再赘述。
步骤1-2-2、获取第j个概率分布列发生***操作时***第k个标定序列中第s个元素对应的类别的概率。
步骤1-2-2同步骤3-1-2,在此不再赘述。
步骤1-2-3、基于第k个概率分布列序列中第j个概率分布列发生***操作的概率、第j个概率分布列发生***操作时***第k个标定序列中第s个元素对应的类别的概率、以及第k个概率分布列序列的第j个前缀到第k个标定序列的第s-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的编辑概率。
可以按照公式(12)计算第k个概率分布列序列的第j个前缀到第k个标定序列的编辑概率
公式(12)中,表示第k个标定序列;/>表示第k个概率分布列序列的第j个前缀。/>表示第k个标定序列的第s-1个前缀。/>表示第k个概率分布列序列的第j个前缀到第k个标定序列的第s-1个前缀的编辑概率,/>表示第k个概率分布列序列中第j个概率分布列发生***操作时***第k个标定序列中第s个元素对应的类别的概率,表示第k个概率分布列序列中第j个概率分布列发生***操作的概率。
第二种状况与步骤203中第四种情形类似。参见图8,第二种状况描述的是图8中最后一行小圆点中,除第1个小圆点和最后1个小圆点(即右下角小圆点)之外的小圆点,当前小圆点由左斜上方小圆点(对角箭头连接)、正上方小圆点(竖直箭头连接)、以及左侧小圆点(水平箭头连接)分别通过保留操作、删除操作、以及***操作得到。示例性地,第二种状况包括如下步骤。
步骤2-3-1、基于第k个概率分布列序列的第j-1个前缀到第k个标定序列的第s-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的保留概率。
按照如下公式(13)计算第k个概率分布列序列的第j个前缀到第k个标定序列的保留概率epC,s,j
公式(13)中,表示第k个标定序列的第s-1个前缀;/>表示第k个概率分布列序列的第j-1个前缀;/>表示第k个概率分布列序列的第j-1个前缀到第k个标定序列的第s-1个前缀的编辑概率,/>表示第k个概率分布列序列中第j个概率分布列发生保留操作的概率,/>表示第k个概率分布列序列中第j个概率分布列中与第k个标定序列中的第s个元素对应的类别的概率。第k个标定序列中的第s个元素为标定序列的最后一位元素,表示标定序列结束,在本实施例中,用符号‘#’表示各个标定序列的最后一位元素。
步骤2-3-2、基于第k个概率分布列序列的第j个前缀到第k个标定序列的第s-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的***概率。
按照如下公式(14)计算第k个概率分布列序列的第j个前缀到第k个标定序列的***概率epI,s,j
公式(14)中,表示第k个概率分布列序列的第j个前缀到第k个标定序列的第s-1个前缀的编辑概率,/>表示第k个概率分布列序列中第j个概率分布列发生***操作时***第k个标定序列中第s个元素对应的类别的概率。/>表示第k个概率分布列序列中第j个概率分布列发生***操作的概率。
步骤2-3-3、基于第k个概率分布列序列的第j-1个前缀到第k个标定序列的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的删除概率。
按照如下公式(15)计算第k个概率分布列序列的第j个前缀到第k个标定序列的删除概率epD,s,j
/>
公式(15)中,表示第k个概率分布列序列的第j-1个前缀到第k个标定序列的编辑概率。
步骤2-3-4、基于第k个概率分布列序列的第j个前缀到第k个标定序列的保留概率、***概率、以及删除概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的编辑概率。
具体的,按照如下公式(16)确定第k个概率分布列序列的第j个前缀到第k个标定序列的编辑概率
步骤206、根据第k个概率分布列序列的第m-1个前缀到第k个标定序列的第s-1个前缀的编辑概率、第k个概率分布列序列到第k个标定序列的第s-1个前缀的编辑概率、以及第k个概率分布列序列的第m-1个前缀到第k个标定序列的编辑概率,计算第k个概率分布列序列到第k个标定序列的编辑概率。
示例性地,步骤206包括如下步骤2061-2064。
步骤2061、基于第k个概率分布列序列的第m-1个前缀到第k个标定序列的第s-1个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的保留概率。
按照如下公式(17)计算第k个概率分布列序列到第k个标定序列的保留概率epC,s,m
公式(17)中,表示第k个标定序列的第s-1个前缀;/>表示第k个概率分布列序列的第m-1个前缀;/>表示第k个概率分布列序列的第m-1个前缀到第k个标定序列的第s-1个前缀的编辑概率,/>表示第k个概率分布列序列中第j个概率分布列发生保留操作的概率,/>表示第k个概率分布列序列中第m个概率分布列中与第k个标定序列中的第s个元素对应的类别的概率。第k个概率分布列序列中第m个概率分布列为概率分布列序列的最后一个概率分布列,是第k个样本数据的最后一个单元数据的类别的概率分布。第k个标定序列中的第s个元素为标定序列的最后一位元素,表示标定序列结束,在本实施例中,用符号‘#’表示各个标定序列的最后一位元素。
步骤2062、基于第k个概率分布列序列到第k个标定序列的第s-1个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的***概率。
按照如下公式(18)计算第k个概率分布列序列到第k个标定序列的***概率epI,s,m
公式(18)中,表示第k个概率分布列序列。/>表示第k个概率分布列序列到第k个标定序列的第s-1个前缀的编辑概率,/>表示第k个概率分布列序列中第m个概率分布列发生***操作时***第k个标定序列中第s个元素对应的类别的概率。
步骤2063、基于第k个概率分布列序列的第m-1个前缀到第k个标定序列的编辑概率,计算第k个概率分布列序列到第k个标定序列的删除概率。
按照如下公式(19)计算第k个概率分布列序列到第k个标定序列的删除概率epD,s,m
公式(19)中,表示第k个标定序列。/>表示第k个概率分布列序列的第m-1个前缀到第k个标定序列的编辑概率。
步骤2064、基于第k个概率分布列序列到第k个标定序列的保留概率、***概率、以及删除概率,确定第k个概率分布列序列到第k个标定序列的编辑概率。
具体的,按照如下公式(20)确定第k个概率分布列序列到第k个标定序列的编辑概率
通过步骤203~步骤206实现了,确定第k个概率分布列序列到第k个标定序列的编辑概率。基于公式(1)-公式(20),可以推导出计算第k个概率分布列序列到第k个标定序列的编辑概率的总公式,如公式(21)所示。
其中,j=m时,/>表示第k个概率分布列序列,即从第k个概率分布列序列的第0个概率分布列到第m个概率分布列构成的序列。表示i=s,当i=s时,/>表示第k个标定序列,即从第k个标定序列的第0个元素到第s个元素构成的序列。
步骤207、基于n个概率分布列序列中各个概率分布列序列到相应标定序列的编辑概率,计算各个概率分布列序列与各个概率分布列序列对应的标定序列的偏差总和。
步骤207可以包括,通过损失函数计算各个概率分布列序列与各个概率分布列序列对应的标定序列的偏差总和。损失函数如公式(22)所示。
公式(22)中,J表示偏差总和,EP_k表示第k个概率分布列序列到第k个标定序列的编辑概率。需要说明的是,在本实施例中,损失函数计算得到的偏差总和为负数,这是为了便于后续求偏导。
步骤208、基于各个概率分布列序列与各个概率分布列序列对应的标定序列的偏差总和,对待训练的神经网络各层的权重参数进行更新。
对神经网络进行训练,就是为了优化神经网络各层的权重参数。参见图1,神经网络部分10的权重参数包括f(x)11和H(f(x))12的权重参数。可以通过梯度下降法对待训练的神经网络各层的权重参数进行更新。下面介绍一下梯度下降法的工作原理。
首先,确定各个权重参数分别对偏差总和的影响。
如果权重参数对偏差总和的影响比较大,证明该权重对偏差总和的影响大,那么需要对它调整的步伐也就大。反之,则稍微调整一下就可以了。单个权重参数对于偏差总和起到多大的影响,在数学上,就是求偏差总和对相应权重参数的偏导数。偏导数的含义为,在当前位置上,如果权重移动一小段偏差,会引起偏差总和的变化的大小。在计算偏差总和对各个权重参数的偏导数时,可以运用链式法则解算。
假设W为H(f(x))12的权重参数,J为偏差之和,则权重参数W对偏差之和J的影响为在计算/>时,可以依据链式法则解算。具体地,可以通过如下公式(23)至公式(31)计算/>
其次,基于各个权重参数分别对偏差总和的影响,确定各个更新后的权重参数。
可以按照如下公式(32)确定各个更新后的权重参数。
其中,Wnew为更新后的权重参数,W为更新前的权重参数,η为学习速率值,J为偏差总和。η用于调节权重参数的更新幅度,η为设定值,可以基于经验设置η。
通过步骤207和步骤208实现了,基于n个概率分布列序列中各个概率分布列序列到相应标定序列的编辑概率,对待训练的神经网络进行优化。
需要说明的是,步骤201~步骤208仅为1次完整的神经网络的训练过程。神经网络的训练次数一般为百万次以上。示例性地,训练次数可以大于或者等于200万次。也就是说,需要执行步骤201-步骤208达到200万次以上,才能完成神经网络的训练。
图9示出了本发明实施例提供的一种序列预测方法,参见图9,该方法包括如下步骤。
步骤301、将待测数据输入神经网络。
其中,神经网络可以是采用图3-图7中任一示出的神经网络的训练方法训练出的。
步骤302、获取神经网络输出的预测的概率分布列序列。
预测的概率分布列序列包括多个概率分布列,各个概率分布列包括多个概率。
步骤303、基于神经网络输出的预测的概率分布列序列,确定待测数据对应的预测序列。
本发明实施例通过将待测数据输入神经网络,并获取神经网络输出的预测的概率分布列序列;该神经网络的训练过程包括,首先,在将n个样本数据输入至待训练的神经网络后,获取待训练的神经网络输出的n个概率分布列序列;其次,确定第k个概率分布列序列到第k个标定的编辑概率,编辑概率为,通过编辑操作将第k个概率分布列序列生成第k个样本数据的标定序列的概率;其次,基于编辑概率,对待训练的神经网络进行优化;在当第k个概率分布列序列中概率分布列与标定序列的元素之间的对应位置不是一一对应而发生错位时,这时,对于编辑概率小的概率分布列序列,表明该概率分布列序列中概率分布列可能出现了错位,对于编辑概率大的概率分布列序列,表明该概率分布列序列中概率分布列可能未出现错位,从而不论概率分布列与标定序列的元素是否发生错位,编辑概率均可以准确估计概率分布列序列与标定序列之间的偏差,因此,基于编辑概率,对待训练的神经网络进行优化,能够避免将概率分布列序列中包括的各个概率分布列分别与标定序列包括的各个元素逐一比较而导致的错误的优化,从而能够提高训练效率、以及提高训练出的神经网络的准确性;在神经网络的准确性较高时,预测的概率分布列序列的准确性也比较高,这样,基于神经网络输出的预测的概率分布列序列,确定出的待测数据对应的预测序列的准确性也比较高。
图10示出了本发明实施例提供的一种序列预测方法,参见图10,该方法包括如下步骤。
步骤401、将待测数据输入神经网络。
其中,神经网络可以是采用图3-图7中任一示出的神经网络的训练方法训练出的。
步骤402、获取神经网络输出的预测的概率分布列序列。
步骤403、基于神经网络输出的预测的概率分布列序列,确定待测数据对应的预测序列。
示例性地,本发明实施例提供两种方式确定待测数据对应的预测序列。
第一种方式:首先,从预测的概率分布列序列中,确定各个概率分布列中最大概率;其次,确定各个最大概率对应的元素;最后,基于各个最大概率对应的元素,确定预测序列。预测序列中的元素包括各个最大概率对应的元素,并且,各个元素是按照元素对应的概率分布列在预测的概率分布列序列中的顺序排列的。
第二种方式:获取序列库的各个序列,并基于获取的各个序列、以及神经网络输出的预测的概率分布列序列,确定待测数据对应的预测序列。序列库中存储有若干序列,若干序列包括待测数据对应的真实序列。示例性地,神经网络适用于OCR场景时,序列库可以是词典。第二种方式可以包括如下步骤4031-步骤4032。
步骤4031、确定预测的概率分布列序列分别到序列库中各个序列的编辑概率。
其中,预测的概率分布列序列到序列库中第t个序列的编辑概率为,通过编辑操作将预测的概率分布列序列生成第t个序列的概率。
预测的概率分布列序列分别到序列库中各个序列的编辑概率的确定方式可以参见图4示出的实施例中步骤203~步骤206,在此不赘述。
步骤4032、基于预测的概率分布列序列分别到序列库中各个序列的编辑概率,确定待测数据对应的预测序列。
其中,待测数据对应的预测序列可以为,预测的概率分布列序列分别到序列库中各个序列的编辑概率中,最大编辑概率对应的序列。
示例性地,参见图1,假设序列库C中各个序列为C1、C2、…,通过编辑操作将概率分布列序列生成各个序列的概率中,概率分布列序列生成序列Ct的概率最大,则预测序列T为Ct。
本发明实施例通过将待测数据输入神经网络,并获取神经网络输出的预测的概率分布列序列;该神经网络是采用图3至图7中任一示出的神经网络的训练方法训练出的,准确性较高,输出的预测的概率分布列序列的准确性也比较高,这样,基于神经网络输出的预测的概率分布列序列,确定出的待测数据对应的预测序列的准确性也比较高。
图11示出了本发明实施例提供的一种神经网络的训练装置,参见图11,该装置50包括:获取模块501、确定模块502和优化模块503。
获取模块501,用于在将n个样本数据输入至待训练的神经网络后,获取待训练的神经网络输出的n个概率分布列序列,n个概率分布列序列中第k个概率分布列序列包括m个概率分布列,第k个概率分布列序列中第g个概率分布列为,n个样本数据中第k个样本数据的第g个单元数据的类别的概率分布,n、k、m和g均为整数,1≤k≤n,1≤g≤m。
确定模块502,用于确定第k个概率分布列序列到第k个标定序列的编辑概率,第k个概率分布列序列到第k个标定序列的编辑概率为,通过编辑操作将第k个概率分布列序列生成第k个标定序列的概率,第k个标定序列为第k个样本数据的标定序列;
优化模块503,用于基于n个概率分布列序列中各个概率分布列序列到相应标定序列的编辑概率,对待训练的神经网络进行优化。
示例性地,确定模块502用于,分别计算第k个概率分布列序列的第m-1个前缀到第k个标定序列的第s-1个前缀的编辑概率、第k个概率分布列序列到第k个标定序列的第s-1个前缀的编辑概率、以及第k个概率分布列序列的第m-1个前缀到第k个标定序列的编辑概率,第k个概率分布列序列的第j个前缀为,从第k个概率分布列序列的第0个概率分布列到第k个概率分布列序列的第j个概率分布列构成的分布列序列,第k个标定序列的第i个前缀为,从第k个标定序列的第0个元素到第k个标定序列的第i个元素构成的序列,j和i均为自然数,0≤j≤m-1,0≤i≤s-1;第k个概率分布列序列的第0个概率分布列为空单元数据的类别的概率分布列,第k个标定序列的的第0个元素为空元素;根据第k个概率分布列序列的第m-1个前缀到第k个标定序列的第s-1个前缀的编辑概率、第k个概率分布列序列到第k个标定序列的第s-1个前缀的编辑概率、以及第k个概率分布列序列的第m-1个前缀到第k个标定序列的编辑概率,计算第k个概率分布列序列到第k个标定序列的编辑概率。
示例性地,确定模块502用于,当j=0、且i=0时,第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率等于1;当0<j≤m-1、且i=0时,根据第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率;当j=0、且0<i≤s-1时,根据第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率;当1≤j≤m-1、且1≤i≤s-1时,根据第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i-1个前缀的编辑概率、第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。
示例性地,确定模块502用于,获取第k个概率分布列序列中第j个概率分布列发生删除操作的概率,第j个概率分布列发生删除操作为,删除第j个概率分布列;基于第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。
示例性地,确定模块502用于,获取第k个概率分布列序列中第j个概率分布列发生***操作的概率,第j个概率分布列发生***操作为,在第k个概率分布列序列中第j-1个概率分布列与第j个概率分布列之间***概率分布列;获取第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率;基于第k个概率分布列序列中第j个概率分布列发生***操作的概率、第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率、以及第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。
示例性地,确定模块502用于,基于第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的保留概率;基于第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的***概率;基于第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的删除概率;基于第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的保留概率、***概率、以及删除概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的编辑概率。
示例性地,确定模块502用于,获取第k个概率分布列序列中第j个概率分布列发生保留操作的概率,第j个概率分布列发生保留操作为,对第j个概率分布列不做编辑;获取第j个概率分布列中与第k个标定序列中的第i个元素对应的类别的概率;基于第k个概率分布列序列中第j个概率分布列发生保留操作的概率、第j个概率分布列中与第k个标定序列中的第i个元素对应的类别的概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i-1个前缀的编辑概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的保留概率。
示例性地,确定模块502用于,获取第k个概率分布列序列中第j个概率分布列发生***操作的概率;获取第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率;基于第k个概率分布列序列中第j个概率分布列发生***操作的概率、第j个概率分布列发生***操作时***第k个标定序列中第i个元素对应的类别的概率、以及第k个概率分布列序列的第j个前缀到第k个标定序列的第i-1个前缀的编辑概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的***概率。
示例性地,确定模块502用于,获取第k个概率分布列序列中第j个概率分布列发生删除操作的概率;基于第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的第i个前缀的编辑概率,确定第k个概率分布列序列的第j个前缀到第k个标定序列的第i个前缀的删除概率。
示例性地,确定模块502用于,当i=0时,基于第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的第i个前缀的编辑概率;当0<i≤s-1时,基于第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i-1个前缀的编辑概率、第k个概率分布列序列到第k个标定序列的第i-1个前缀的编辑概率、以及第k个概率分布列序列的第m-1个前缀到第k个标定序列的第i个前缀的编辑概率,计算第k个概率分布列序列到第k个标定序列的第i个前缀的编辑概率。
示例性地,确定模块502用于,当j=0时,基于第k个概率分布列序列的第j个前缀到第k个标定序列的第s-1个前缀的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的编辑概率;当0<j≤m-1时,基于第k个概率分布列序列的第j-1个前缀到第k个标定序列的第s-1个前缀的编辑概率、第k个概率分布列序列的第j个前缀到第k个标定序列的第s-1个前缀的编辑概率、以及第k个概率分布列序列的第j-1个前缀到第k个标定序列的编辑概率,计算第k个概率分布列序列的第j个前缀到第k个标定序列的编辑概率。
示例性地,优化模块503用于,基于n个概率分布列序列中各个概率分布列序列到相应标定序列的编辑概率,计算各个概率分布列序列与各个概率分布列序列对应的标定序列的偏差总和;基于各个概率分布列序列与各个概率分布列序列对应的标定序列的偏差总和,对待训练的神经网络各层的权重参数进行更新。
本发明实施例通过在将n个样本数据输入至待训练的神经网络后,获取待训练的神经网络输出的n个概率分布列序列;确定第k个概率分布列序列到第k个标定的编辑概率,编辑概率为,通过编辑操作将第k个概率分布列序列生成第k个样本数据的标定序列的概率;在当第k个概率分布列序列中概率分布列与标定序列的元素之间的对应位置不是一一对应而发生错位时,这时,对于编辑概率小的概率分布列序列,表明该概率分布列序列中概率分布列可能出现了错位,对于编辑概率大的概率分布列序列,表明该概率分布列序列中概率分布列可能未出现错位,从而不论概率分布列与标定序列的元素是否发生错位,编辑概率均可以准确估计概率分布列序列与标定序列之间的偏差,因此,基于编辑概率,对待训练的神经网络进行优化,能够避免将概率分布列序列中包括的各个概率分布列分别与标定序列包括的各个元素逐一比较而导致的错误的优化,从而能够提高训练效率、以及提高训练出的神经网络的准确性。
图12示出了本发明实施例提供的一种序列预测装置,参见图12,该装置60包括:输入模块601、获取模块602和确定模块603。
输入模块601,用于将待测数据输入神经网络,神经网络是采用图3至图7示出的神经网络的训练方法训练出的。
获取模块602,用于获取神经网络输出的预测的概率分布列序列。
确定模块603,用于基于神经网络输出的预测的概率分布列序列,确定待测数据对应的预测序列。
示例性地,确定模块603用于,确定通过编辑操作将预测的概率分布列序列生成序列库中各个序列的概率;基于通过编辑操作将预测的概率分布列序列生成序列库中各个序列的概率,确定待测数据对应的预测序列,待测数据对应的预测序列为,通过编辑操作将预测的概率分布列序列生成序列库中各个序列的概率中最大概率对应的序列。
本发明实施例通过将待测数据输入神经网络,并获取神经网络输出的预测的概率分布列序列;该神经网络是采用图3至图7示出的神经网络的训练方法训练出的,准确性较高,输出的预测的概率分布列序列的准确性也比较高,这样,基于神经网络输出的预测的概率分布列序列,确定出的待测数据对应的预测序列的准确性也比较高。
图13示出了本发明实施例提供的一种神经网络的训练装置。该神经网络的训练装置可因配置或性能不同而产生比较大的差异,具体来讲,神经网络的训练装置可以是计算机1800。计算机1800可以包括中央处理单元(CPU)1801、包括随机存取存储器(RAM)1802和只读存储器(ROM)1803的***存储器1804,以及连接***存储器1804和中央处理单元1801的***总线1805。计算机1800还包括用于存储操作***1813、应用程序1814和其他程序模块1815的大容量存储设备1807。
大容量存储设备1807通过连接到***总线1805的大容量存储控制器(未示出)连接到中央处理单元1801。大容量存储设备1807及其相关联的计算机可读介质为计算机1800提供非易失性存储。也就是说,大容量存储设备1807可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器1804和大容量存储设备1807可以统称为存储器。
根据本发明的各种实施例,计算机1800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机1800可以通过连接在***总线1805上的网络接口单元1811连接到网络1812,或者说,也可以使用网络接口单元1811来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU 1801执行。当CPU 1801执行存储器中的程序时,可以实现图3~图7示出的方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由计算机1800的中央处理单元1801加载并执行以完成图3~图7示出的方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图14示出了本发明实施例提供的一种序列预测装置。该序列预测装置可因配置或性能不同而产生比较大的差异,具体来讲,序列预测装置可以是计算机1900。计算机1900可以包括中央处理单元(CPU)1901、包括随机存取存储器(RAM)1902和只读存储器(ROM)1903的***存储器1904,以及连接***存储器1904和中央处理单元1901的***总线1905。计算机1900还包括用于存储操作***1913、应用程序1914和其他程序模块1915的大容量存储设备1907。
大容量存储设备1907通过连接到***总线1905的大容量存储控制器(未示出)连接到中央处理单元1901。大容量存储设备1907及其相关联的计算机可读介质为计算机1900提供非易失性存储。也就是说,大容量存储设备1907可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器1904和大容量存储设备1907可以统称为存储器。
根据本发明的各种实施例,计算机1900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机1900可以通过连接在***总线1905上的网络接口单元1911连接到网络1912,或者说,也可以使用网络接口单元1911来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU 1901执行。当CPU 1901执行存储器中的程序时,可以实现图9~图10示出的方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由计算机1900的中央处理单元1901加载并执行以完成图9~图10示出的方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种获取神经网络的方法,其特征在于,所述方法包括:
在将从训练集数据库中选择的n个样本数据输入至待训练的神经网络后,获取所述待训练的神经网络对所述n个样本数据进行识别和转换后输出的n个概率分布列序列,所述n个概率分布列序列中第k个概率分布列序列包括m个概率分布列,所述第k个概率分布列序列中第g个所述概率分布列为,所述n个样本数据中第k个样本数据的第g个单元数据的类别的概率分布,n、k、m和g均为整数,1≤k≤n,1≤g≤m,所述训练集数据库中的训练集包括样本数据和所述样本数据的标定序列,所述样本数据包括图片或语音,所述标定序列为文本序列;
确定所述第k个概率分布列序列到第k个标定序列的编辑概率,所述第k个概率分布列序列到第k个标定序列的编辑概率为,通过编辑操作将所述第k个概率分布列序列生成所述第k个标定序列的概率,所述第k个标定序列为所述第k个样本数据的标定序列,所述第k个样本数据的标定序列为,包含所述第k个样本数据中各个单元数据的真实类别对应的元素的序列;
基于所述n个概率分布列序列中各个所述概率分布列序列到相应标定序列的编辑概率,对所述待训练的神经网络进行优化,得到用于预测图片或者语音对应的文本序列的神经网络。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第k个概率分布列序列到第k个标定序列的编辑概率,包括:
分别计算所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、所述第k个概率分布列序列到所述第k个标定序列的第s-1个前缀的编辑概率、以及所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的编辑概率,所述第k个概率分布列序列的第j个前缀为,从所述第k个概率分布列序列的第0个概率分布列到所述第k个概率分布列序列的第j个概率分布列构成的分布列序列,所述第k个标定序列的第i个前缀为,从所述第k个标定序列的第0个元素到所述第k个标定序列的第i个元素构成的序列,j和i均为自然数,0≤j≤m-1,0≤i≤s-1;所述第k个概率分布列序列的第0个概率分布列为空单元数据的类别的概率分布列,所述第k个标定序列的的第0个元素为空元素;
根据所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率、所述第k个概率分布列序列到所述第k个标定序列的第s-1个前缀的编辑概率、以及所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的编辑概率,计算所述第k个概率分布列序列到所述第k个标定序列的编辑概率。
3.根据权利要求2所述的方法,其特征在于,所述计算所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第s-1个前缀的编辑概率,包括:
当j=0、且i=0时,所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率等于1;
当0<j≤m-1、且i=0时,根据所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率;
当j=0、且0<i≤s-1时,根据所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率;
当1≤j≤m-1、且1≤i≤s-1时,根据所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率,包括:
基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率;
基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的***概率;
基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的删除概率;
基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率、***概率、以及删除概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的编辑概率。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率,包括:
获取所述第k个概率分布列序列中第j个概率分布列发生保留操作的概率,所述第j个概率分布列发生所述保留操作为,对所述第j个概率分布列不做编辑;
获取所述第j个所述概率分布列中与所述第k个标定序列中的第i个元素对应的类别的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生保留操作的概率、所述第j个所述概率分布列中与所述第k个标定序列中的第i个元素对应的类别的概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的保留概率。
6.根据权利要求4所述的方法,其特征在于,所述基于所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的***概率,包括:
获取所述第k个概率分布列序列中第j个概率分布列发生***操作的概率;
获取所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生***操作的概率、所述第j个概率分布列发生所述***操作时***所述第k个标定序列中第i个元素对应的类别的概率、以及所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i-1个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的***概率。
7.根据权利要求4所述的方法,其特征在于,所述基于第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的删除概率,包括:
获取所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率;
基于所述第k个概率分布列序列中第j个概率分布列发生删除操作的概率、以及所述第k个概率分布列序列的第j-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,确定所述第k个概率分布列序列的第j个前缀到所述第k个标定序列的第i个前缀的删除概率。
8.根据权利要求2所述的方法,其特征在于,所述计算第k个概率分布列序列到所述第k个标定序列的第s-1个前缀的编辑概率,包括:
当i=0时,基于所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列到所述第k个标定序列的第i个前缀的编辑概率;
当0<i≤s-1时,基于所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第i-1个前缀的编辑概率、所述第k个概率分布列序列到所述第k个标定序列的第i-1个前缀的编辑概率、以及所述第k个概率分布列序列的第m-1个前缀到所述第k个标定序列的第i个前缀的编辑概率,计算所述第k个概率分布列序列到所述第k个标定序列的第i个前缀的编辑概率。
9.一种序列预测方法,其特征在于,所述方法包括:
将待测数据输入神经网络,所述神经网络是采用如权利要求1-8中任一项权利要求所述的神经网络的训练方法训练出的,所述待测数据包括图片或者语音,所述神经网络用于预测所述图片或者语音对应的文本序列;
获取所述神经网络对所述待测数据进行识别和转换后输出的预测的概率分布列序列,所述预测的概率分布序列包括多个概率分布列,各个概率分布列包括多个概率;
基于所述神经网络输出的预测的概率分布列序列,确定所述待测数据对应的预测序列,所述预测序列为文本序列。
10.一种神经网络的训练装置,其特征在于,所述装置包括:
获取模块,用于在从训练集数据库中选择的将n个样本数据输入至待训练的神经网络后,获取所述待训练的神经网络对所述n个样本数据进行识别和转换后输出的n个概率分布列序列,所述n个概率分布列序列中第k个概率分布列序列包括m个概率分布列,所述第k个概率分布列序列中第g个所述概率分布列为,所述n个样本数据中第k个样本数据的第g个单元数据的类别的概率分布,n、k、m和g均为整数,1≤k≤n,1≤g≤m,所述训练集数据库所中的训练集包括样本数据和所述样本数据的标定序列,所述样本数据包括图片或语音,所述标定序列为文本;
确定模块,用于确定所述第k个概率分布列序列到第k个标定序列的编辑概率,所述第k个概率分布列序列到第k个标定序列的编辑概率为,通过编辑操作将所述第k个概率分布列序列生成所述第k个标定序列的概率,所述第k个标定序列为所述第k个样本数据的标定序列,所述第k个样本数据的标定序列为,包含所述第k个样本数据中各个单元数据的真实类别对应的元素的序列;
优化模块,用于基于所述n个概率分布列序列中各个所述概率分布列序列到相应标定序列的编辑概率,对所述待训练的神经网络进行优化,得到用于预测图片或者语音对应的文本序列的神经网络。
CN201811258926.5A 2018-10-26 2018-10-26 一种神经网络的训练方法、装置及序列预测方法 Active CN111105028B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811258926.5A CN111105028B (zh) 2018-10-26 2018-10-26 一种神经网络的训练方法、装置及序列预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811258926.5A CN111105028B (zh) 2018-10-26 2018-10-26 一种神经网络的训练方法、装置及序列预测方法

Publications (2)

Publication Number Publication Date
CN111105028A CN111105028A (zh) 2020-05-05
CN111105028B true CN111105028B (zh) 2023-10-24

Family

ID=70418364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811258926.5A Active CN111105028B (zh) 2018-10-26 2018-10-26 一种神经网络的训练方法、装置及序列预测方法

Country Status (1)

Country Link
CN (1) CN111105028B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015003436A1 (en) * 2013-07-10 2015-01-15 Tencent Technology (Shenzhen) Company Limited Method and device for parallel processing in model training
WO2016117854A1 (ko) * 2015-01-22 2016-07-28 삼성전자 주식회사 음성 신호를 기초로 한 텍스트 편집 장치 및 텍스트 편집 방법
US9600764B1 (en) * 2014-06-17 2017-03-21 Amazon Technologies, Inc. Markov-based sequence tagging using neural networks
CN107392311A (zh) * 2016-05-17 2017-11-24 阿里巴巴集团控股有限公司 序列切分的方法和装置
CN108229474A (zh) * 2017-12-29 2018-06-29 北京旷视科技有限公司 车牌识别方法、装置及电子设备
CN108288078A (zh) * 2017-12-07 2018-07-17 腾讯科技(深圳)有限公司 一种图像中字符识别方法、装置和介质
CN108596011A (zh) * 2017-12-29 2018-09-28 中国电子科技集团公司信息科学研究院 一种基于组合深度网络的人脸属性识别方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3430577A1 (en) * 2016-03-18 2019-01-23 Google LLC Globally normalized neural networks
US10983853B2 (en) * 2017-03-31 2021-04-20 Microsoft Technology Licensing, Llc Machine learning for input fuzzing
US10776697B2 (en) * 2017-04-18 2020-09-15 Huawei Technologies Co., Ltd. System and method for training a neural network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015003436A1 (en) * 2013-07-10 2015-01-15 Tencent Technology (Shenzhen) Company Limited Method and device for parallel processing in model training
US9600764B1 (en) * 2014-06-17 2017-03-21 Amazon Technologies, Inc. Markov-based sequence tagging using neural networks
WO2016117854A1 (ko) * 2015-01-22 2016-07-28 삼성전자 주식회사 음성 신호를 기초로 한 텍스트 편집 장치 및 텍스트 편집 방법
CN107392311A (zh) * 2016-05-17 2017-11-24 阿里巴巴集团控股有限公司 序列切分的方法和装置
CN108288078A (zh) * 2017-12-07 2018-07-17 腾讯科技(深圳)有限公司 一种图像中字符识别方法、装置和介质
CN108229474A (zh) * 2017-12-29 2018-06-29 北京旷视科技有限公司 车牌识别方法、装置及电子设备
CN108596011A (zh) * 2017-12-29 2018-09-28 中国电子科技集团公司信息科学研究院 一种基于组合深度网络的人脸属性识别方法和装置

Also Published As

Publication number Publication date
CN111105028A (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN112163426B (zh) 一种基于注意力机制与图长短时记忆神经网络结合的关系抽取方法
CN111310443B (zh) 一种文本纠错方法和***
CN110418210B (zh) 一种基于双向循环神经网络和深度输出的视频描述生成方法
WO2023024412A1 (zh) 基于深度学习模型的视觉问答方法及装置、介质、设备
CN105205448A (zh) 基于深度学习的文字识别模型训练方法和识别方法
CN112836496B (zh) 一种基于bert和前馈神经网络的文本纠错方法
CN111709242B (zh) 一种基于命名实体识别的中文标点符号添加方法
Mathur et al. Camera2Caption: a real-time image caption generator
CN111966812B (zh) 一种基于动态词向量的自动问答方法和存储介质
WO2022051838A1 (en) Method and system for identifying citations within regulatory content
KR20200017573A (ko) 객체 인식 장치, 이를 포함하는 전자 장치 및 객체 인식 방법
CN113220876B (zh) 一种用于英文文本的多标签分类方法及***
CN110516240B (zh) 一种基于Transformer的语义相似度计算模型DSSM技术
CN113657098B (zh) 文本纠错方法、装置、设备及存储介质
CN111400494A (zh) 一种基于GCN-Attention的情感分析方法
CN111931813A (zh) 一种基于cnn的宽度学习分类方法
CN115510864A (zh) 一种融合领域词典的中文农作物病虫害命名实体识别方法
CN114359938A (zh) 一种表格识别方法及装置
CN110059705B (zh) 一种基于建模的ocr识别结果判决方法和设备
CN115064154A (zh) 混合语言语音识别模型的生成方法及装置
CN113297374B (zh) 一种基于bert和字词特征融合的文本分类方法
CN111105028B (zh) 一种神经网络的训练方法、装置及序列预测方法
CN109753966A (zh) 一种文字识别训练***及方法
CN111507103B (zh) 一种利用部分标注集的自训练神经网络分词模型
CN112488111A (zh) 一种基于多层级表达引导注意力网络的指示表达理解方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant