一种模型训练方法、计算机可读存储介质及计算设备与流程

文档序号:17066091发布日期:2019-03-08 22:55阅读:133来源:国知局
一种模型训练方法、计算机可读存储介质及计算设备与流程

本发明实施例涉及深度学习技术领域,特别涉及一种模型训练方法、计算机可读存储介质及计算设备。



背景技术:

在机器学习和相关领域,人工神经网络的计算模型灵感来自动物的中枢神经系统(尤其是脑),并且被用于估计或可以依赖于大量的输入和一般的未知近似函数。人工神经网络通常呈现为相互连接的“神经元”,神经元即一个函数,它可以对一个或多个输入信号进行函数变换然后产生一个唯一的输出。多个神经元彼此连接,一个神经元的输出是另一个神经元的输入,由此构成的网络就是“神经元网络”。在训练一个神经元网络时,我们一般采用以下方法:输入一个样本,产生一个输出,然后根据输出和期望输出(即我们希望的输出结果)之间的差异,调整神经元网络的参数(即神经元所代表的函数的参数,如果有的话),从而达到优化整个网络,促使网络的输出逐渐逼近期望值的目的。

然而,发明人发现现有技术中至少存在如下问题:神经网络训练的一个特点就是需要大量的真实样本,往往需要耗费大量的人力、物力以及财力,随着人工成本的增加,样本收集的成本也越来越高。



技术实现要素:

本发明实施方式的目的在于提供一种模型训练方法、计算机可读存储介质及计算设备,实现了少样本训练神经网络,降低了训练神经网络的样本收集成本。

为解决上述技术问题,本发明的实施方式提供了一种模型训练方法,包括:获取包含多个真实样本的样本集合;从样本集合中每次随机取出两个真实样本作为样本对,并将样本对输入待训练的神经网络模型中进行结伴学习。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实上述模型训练方法。

本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的模型训练方法。

本发明实施方式相对于现有技术而言提供了一种模型训练的方法,包括:获取包含多个真实样本的样本集合;从样本集合中每次随机取出两个真实样本作为样本对,并将样本对同时输入待训练的神经网络模型中进行结伴学习。通过每次随机地从样本集合中取出两个真实样本作为样本对,根据排列组合原理可以得知在样本集合中真实样本数量足够多的情况下,实际的样本对数量远远多于样本集合中真实样本的数量。因此,在训练神经网络时,将每次取出的样本对输入待训练的神经网络模型中一起进行训练——结伴学习,大大减少了训练模型时对真实样本数量的依赖,无需大量真实样本也可以实现多样本对训练,实现了少样本训练,同时大大降低了训练神经网络时收集真实样本的成本。

另外,待训练的神经网络模型为复制模型;将样本对输入待训练的神经网络模型中进行结伴学习的步骤,具体包括:将每次取出的两个真实样本同时输入复制模型中,得到两个复制样本;将两个真实样本和两个复制样本输入损失函数中,得到损失函数值;以每次得到的损失函数值为依据训练复制模型。该方案提出了一种利用样本对训练复制模型的实现方式,两个样本结伴学习训练复制模型,不存在现有的利用对抗学习的方法训练生成器时出现的模型坍塌问题。且对抗学习在训练时需要生成器和辨别器达成一致,在实际中难以达成妥协,通用性不高,而两个样本结伴学习训练复制模型的训练方法较为简单,不存在难以达成妥协的情况,通用性较高。

另外,损失函数具体为:

其中,l1为损失函数值,m为样本集合中样本对的数目、为第i组样本对中第一个真实样本、为第i组样本对中第二个真实样本、为第一个复制样本、为第二个复制样本。该方案给出了损失函数的具体表达式,损失函数不仅考虑到真实样本和复制样本之间的差距,还考虑了两个真实样本之间的差距,从而以此种损失函数为依据训练的复制模型对于真实样本的区分能力更强

另外,以每次得到的损失函数值为依据训练复制模型具体为:以每次得到的损失函数值为依据调整复制模型的参数,以降低复制模型的相似度损失程度。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明第一实施方式的模型训练方法的的流程示意图;

图2是根据本发明第二实施方式的模型训练方法的的流程示意图;

图3是根据本发明第二实施方式的对抗学习示意图;

图4是根据本发明第二实施方式的复制模型示意图;

图5是根据本发明第四实施方式的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种模型训练方法。

随着人工智能的发展,人们对于机器学习等的相关领域研究也日益深入,而人工神经网络成为了人们研究机器学习及相关领域的重要部分。人工神经网络的计算模型灵感来自动物的中枢神经系统(尤其是脑),并且被用于估计或可以依赖于大量的输入和一般的未知近似函数。人工神经网络通常呈现为相互连接的“神经元”,神经元即一个函数,它可以对一个或多个输入信号进行函数变换然后产生一个唯一的输出。多个神经元彼此连接,一个神经元的输出是另一个神经元的输入,由此构成的网络就是“神经元网络”。“神经元网络”中存在一种特殊的神经元网络模型——深度神经网络模型,模型中神经元分为若干层次,每一层都有多个神经元,同一层次神经元之间没有连接,不同层次的神经元之间才有连接。整个网络分为输入层、隐藏层和输出层三个部分,其中,隐藏层有多层,这样的模型称为深度学习模型。

所有的神经网络模型都需要利用真实样本对神经网络模型进行训练,这一过程称之为“学习”。“学习”的目的是使得神经网络模型对任意一个合法的输入能输出事先期望的结果。其中,事先预期的输出根据神经网络模型的功能不同而有所区分。例如,神经网络模型为复制模型时,如果输入的是一张图片,则期望的输出是和输入的图片一样的图片;神经网络模型的功能是判断性别时,时如果输入一张人脸照片,则期望的输出是照片中人的性别。

在训练一个神经元网络时,一般采用以下方法:输入一个样本,产生一个输出,然后根据输出和期望输出之间的差异来调整神经元网络的参数(即神经元所代表的函数的参数),从而达到优化整个网络,促使网络的输出逐渐逼近期望值的目的。此外,在训练神经网络时,还可以一次输入多个样本,进行批量学习。但不论是逐个输入样本进行学习,还是批量学习都需要大量的真实样本来训练神经元网络,从而造成带来了成本的增加。

本实施方式中的模型训练方法的流程示意图如图1所示,具体包括:

步骤101:获取包含多个真实样本的样本集合。

步骤102:从样本集合中每次随机取出两个真实样本作为样本对。

步骤103:将样本对输入待训练的神经网络模型中进行结伴学习。

针对上述步骤,具体地说,本实施方式中获取真实样本的方式与现有的获取真实样本的方式相同,但相较于现有的需要大量真实样本来训练神经网路模型,本实施方式中训练神经网路模型的真实样本数量可以大大减少。这是由于本实施方式中给出了一种“学习”的新理念——结伴学习,即每次随机从真实样本集合中取出两个真实样本作为样本对,将样本对输入待训练模型中进行结伴学习。如此,根据排列组合原理可以得知在样本集合中真实样本数量足够多的情况下,实际的样本对数量远远多于样本集合中真实样本的数量。

假设样本集合中的真实样本数量为100,那么如果是现有的逐个输入样本进行学习,则其可输入样本数量等于真实样本数量。但如果是结伴学习,则其可输入样本数量为:大约为真实样本数量的50倍。假设样本集合中真实样本数量为1000,那么可输入样本数量为499500,大约相当于真实样本的500倍。在此不进行过多的数据举例,可以看出,在训练神经网络模型时,利用结伴学习的方式其可输入样本数量远远大于真实样本数量,且随着真实样本数量的增多,神经网络模型的可输入样本数量急剧增加。

如此,若在训练神经网络模型时需要50万的真实样本进行训练,不论是按照逐个输入样本的方式进行学习,还是按照批量学习的方式进行训练均需要50万的真实样本。而依照本实施方式中的结伴学习的方式进行训练,则仅需要大约1000多的真实样本。我们可以看到利用结伴学习进行训练时,对于降低需要收集的真实样本数量有显著的优势,从而大大降低了手机大量样本所带来的人力、物力以及财力成本。

因此,在训练神经网络时,将每次取出的样本对输入待训练的神经网络模型中一起进行训练——结伴学习。大大减少了训练模型时对庞大数量的真实样本的依赖,无需大量真实样本也可以实现多样本对训练,实现了少样本训练,同时大大降低了训练神经网络时收集真实样本的成本。

与现有技术相比,本发明实施方式,提供了一种模型训练的方法,包括:获取包含多个真实样本的样本集合;从样本集合中每次随机取出两个真实样本作为样本对,并将样本对同时输入待训练的神经网络模型中进行结伴学习。通过每次随机地从样本集合中取出两个真实样本作为样本对,根据排列组合原理可以得知在样本集合中真实样本数量足够多的情况下,实际的样本对数量远远多于样本集合中真实样本的数量。因此,在训练神经网络时,将每次取出的样本对输入待训练的神经网络模型中一起进行训练——结伴学习,大大减少了训练模型时对真实样本数量的依赖,无需大量真实样本也可以实现多样本对训练,实现了少样本训练,同时大大降低了训练神经网络时收集真实样本的成本。

本发明的第二实施方式涉及一种模型训练方法。第二实施方式与第一实施方式大致相同,不同之处在于,该方案提出了一种利用样本对训练复制模型的实现方式,两个样本结伴学习训练复制模型,不存在现有的利用对抗学习的方法训练生成器时出现的模型坍塌问题。且对抗学习在训练时需要生成器和辨别器达成一致,在实际中难以达成妥协,通用性不高,而两个样本结伴学习训练复制模型的训练方法较为简单,不存在难以达成妥协的情况,通用性较高。

本实施方式中的模型训练方法的流程示意图如图2示,具体包括:

步骤201:获取包含多个真实样本的样本集合。

步骤202:从样本集合中每次随机取出两个真实样本作为样本对。

上述步骤201和步骤202与第一实施方式中的步骤101和102大致相同,在此不再进行赘述。

在进行复制模型(在gan(生成式对抗网络)中可以理解为是生成器)训练时,一般采用对抗学习方式。对抗学习是gan中所用到的学习方法,gan的目的是生成满足用户要求的图形图像(比如随机生成莫奈风格的油画或者人脸照片)。gan的基本结构如图3所示,其训练过程如下:步骤1:利用真实样本训练判别器,使真实样本能够被识别;步骤2:生成器生成假样本(即生成样本);步骤3:利用假样本训练判别器,使假样本得以被识别;步骤4:如果生成的样本被判别器拒绝,则生成器会自动调整,以争取下次能够混过判别器的判别;步骤5:如果判别器判断失误,判别器会自动调整以便下次判断正确。

可以看出,对抗学习的特点在于:判别器总是试图对真实样本说“是”,对生成样本(即生成器生成的样本)说“否”。而生成器总是试图生成一个很像真实样本的假样本。判别器不断提高判别能力,这就迫使生成器不断提高生成质量。相互对抗的结果就是生成的样本越来越像真实样本,而判别器也越来越分不清真实样本和生成样本。其本质就是令生成器和判别器相互对抗,从而达到相互提高的目的。

但对抗学习存在很多的缺点:

(1)对抗学习以生成器和判别器相互妥协为终止条件。但实践表明,这种妥协并不容易达成。比如,由于真实样本与生成样本之间的巨大差异,判别器相对于生成器具有了压倒性的优势,从而阻止妥协的达成。因此,由于对抗学习技术本身的难度使得其在图像领域的发展还不够成熟,也并未应用到其他领域,通用性不高;

(2)gan存在一个模型坍塌问题,即生成器把任何一个输入随机向量都转化为同一个类似真实样本的样本,该样本能够混过判别器的判别。但这显然不是我们所希望的,我们希望不同的随机向量转化为不同的样本;

(3)对抗学习仍然需要大量的真实样本对gan进行训练,没有解决少样本学习的困难;获取样本成本较高;

(4)对抗学习的真正目的是获得生成器,所以训练完毕之后,辨别器就几乎没有什么用处了,造成浪费。

针对上述的缺点,gan有很多改进和变种,但是这些改进都没有从根本上改进gan的这一系列缺点。

步骤203:将每次取出的两个真实样本同时输入复制模型中,得到两个复制样本。

具体地说,如图4所示:神经元网络的功能是对输入样本的复制,本实施方式中称为复制模型。从样本基合中每次随机取出两个真实样本,并将两个真实样本(真实样本1和真实样本2)同时输入复制模型中,以得到两个复制样本(复制样本1和复制样本2)。

步骤204:将两个真实样本和两个复制样本输入损失函数中,得到损失函数值。

具体的说,损失函数用于比较输入样本与输出数据之间的相似度,在此处则用于比较真实样本和复制样本之间的相似度,复制样本和真实样本越相似,损失函数值越小;反之,损失函数值越大。在对抗学习中,损失函数仅仅与输入样本以及输出数据有关。而在结伴学习中,损失函数必须与两个输入和两个输出都相关。

本实施方式提供了一种具体的损失函数的表达式具体为:

其中,l1为损失函数值,m为样本集合中样本对的数目、为第i组样本对中第一个真实样本、为第i组样本对中第二个真实样本、为第一个复制样本、为第二个复制样本。该步骤中给出了损失函数的具体表达式,本实施方式中损失函数不仅考虑到真实样本和复制样本之间的差距(从上述表达式中的可以看出),还考虑了两个真实样本之间的差距(从表达式中的可以看出),从而以此种损失函数为依据训练的复制模型对于真实样本的区分能力更强。

将复制样本得到的以及输入上述损失函数中,便可得到对应的损失函数值。

步骤205:以每次得到的损失函数值为依据训练复制模型。

具体的说,以每次得到的损失函数值为依据调整复制模型的参数,以降低复制模型的相似度损失程度。以损失函数值作为评判该复制模型是否被训练成功的依据。训练的目的即是为了降低复制模型的损失函数至预期的值,也就是降低复制模型的相似度损失程度,使得复制模型根据真实样本生成的复制样本与真实样本很相像。当然,本领域技术人员可以理解的是,本实施方式中的损失函数仅为一种表达式,只要损失函数能够表示真实样本和复制样本之间的相似度、与两个真实样本和两个复制样本有关且不等于0,满足上述条件的损失函数的其他表达式均在本实施方式的保护范围之内。

与现有技术相比,本发明实施方式中提出了一种利用样本对训练复制模型的实现方式,两个样本结伴学习训练复制模型,不存在现有的利用对抗学习的方法训练生成器时出现的模型坍塌问题。且对抗学习在训练时需要生成器和辨别器达成一致,在实际中难以达成妥协,通用性不高,而两个样本结伴学习训练复制模型的训练方法较为简单,不存在难以达成妥协的情况,通用性较高。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明的第三实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实上述任一实施方式的模型训练方法。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明第四实施方式涉及一种电子设备,如图5所示,包括至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器401执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行上述任一实施方式的模型训练方法。

其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器302的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。

处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器302可以被用于存储处理器在执行操作时所使用的数据。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1