本发明涉及深度学习神经网络技术领域,特别是涉及一种期望与反期望深度学习方法和神经网络系统。
背景技术:
深度学习神经网络通过输入数据和输出数据对深度学习神经网络进行训练。如果有的输入数据在不同场景下既能产生属性相反的输出数据(这是有可能的,假如还有影响输出结果的其他条件数据没有包括在输入数据中,那么就有可能因为其他条件数据的变化,而产生不同的输出数据),此时就会在训练过程中引起深度学习神经网络结构的动荡,不利于深度学习神经网络的训练,而且也不利于深度学习神经网络的使用,因为无法得知输出数据的可信度是多少。
例如,深度学习神经网络判断一个人是不是男的,输入不同人的人脸特征,同样脸部特征的人可能是男的,也可能是女的,此时就会在训练过程中引起深度学习神经网络结构的动荡。
技术实现要素:
基于此,有必要针对产生深度学习神经网络当存在属性相反的输出数据时结构动荡的问题,提供一种期望与反期望深度学习方法和神经网络系统。
一种期望与反期望深度学习方法,包括以下步骤:获取训练数据中的输出数据的期望标签和反期望标签;其中,所述反期望标签是与所述期望标签的属性相反的标签;初始化与期望标签对应的深度学习神经网络,得到期望深度学习神经网络,初始化与反期望标签对应的深度学习神经网络,得到反期望深度学习神经网络;分别对所述期望深度学习神经网络和反期望深度学习神经网络进行训练。
所述的深度学习方法,分别对所述期望深度学习神经网络和反期望深度学习神经网络进行训练的步骤包括:通过训练数据中的输入数据分别对期望深度学习神经网络和反期望深度学习神经网络进行无监督训练;从训练数据中获取与期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对期望深度学习神经网络进行有监督训练,并从训练数据中获取与期望标签及反期望标签都不一致的输出标签对应的输入数据,将该输入数据作为输入,将0作为预期输出,对期望深度学习神经网络进行有监督训练;从训练数据中获取与反期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对反期望深度学习神经网络进行有监督训练,并从训练数据中获取与期望标签及反期望标签都不一致的输出标签对应的输入数据,将该输入数据作为输入,将0作为预期输出,对反期望深度学习神经网络进行有监督训练。
所述的深度学习方法,从训练数据中获取与期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对期望深度学习神经网络进行有监督训练的步骤之后还包括:从训练数据中获取与期望标签一致的第一输出数据及其对应的第一输入数据;从每一第一输入数据中筛选出第一预设比例的数据,得到对应的每一第二输入数据;将每一第二输入数据作为输入,将所述第一预设比例作为预期输出,对期望深度学习神经网络进行有监督训练。
所述的深度学习方法,从训练数据中获取与反期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对反期望深度学习神经网络进行有监督训练的步骤之后还包括:将所述训练数据中与反期望标签一致的输出标签对应的输入数据作为第三输入数据;从每一第三输入数据中筛选出第二预设比例的数据,得到对应的每一第四输入数据;将每一第四输入数据作为输入,将对应的第二预设比例作为预期输出,对反期望深度学习神经网络进行有监督训练。
所述的深度学习方法,在分别对所述期望深度学习神经网络和反期望深度学习神经网络进行训练之后,还包括以下步骤:计算输入数据对应的输出属于期望标签的可信度及输入数据对应的输出属于反期望标签的可信度。
所述的深度学习方法,计算输入数据对应的输出属于期望标签的可信度及输入数据对应的输出属于反期望标签的可信度的步骤包括:将输入数据输入期望深度学习神经网络,得到期望深度学习神经网络的输出数据;将输入数据输入反期望深度学习神经网络,得到反期望深度学习神经网络的输出数据;根据期望深度学习神经网络的输出数据与反期望深度学习神经网络的输出数据得到输入数据对应的输出属于期望标签的可信度及输入数据对应的输出属于反期望标签的可信度。
所述的深度学习方法,根据期望深度学习神经网络的输出数据与反期望深度学习神经网络的输出数据得到输入数据对应的输出属于期望标签的可信度及输入数据对应的输出属于反期望标签的可信度的步骤包括:将期望深度学习神经网络的输出数据作为输出属于期望标签的概率a,将反期望深度学习神经网络的输出数据作为输出属于反期望标签的概率b;将输入数据对应的输出属于期望标签或反期望标签的可信度f记为(a+b)/2;输入数据对应的输出属于期望标签的可信度为f×a,属于相反标签的可信度为f×b,属于其他标签的可信度为1-f。
一种神经网络系统,包括:标签获取模块,用于获取训练数据中的输出数据的期望标签和反期望标签;其中,所述反期望标签是与所述期望标签的属性相反的标签;初始化模块,用于初始化与期望标签对应的深度学习神经网络,得到期望深度学习神经网络,初始化与反期望标签对应的深度学习神经网络,得到反期望深度学习神经网络;训练模块,用于分别对所述期望深度学习神经网络和反期望深度学习神经网络进行训练。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的期望与反期望深度学习方法。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的期望与反期望深度学习方法。
上述期望与反期望深度学习方法和神经网络系统,通过输出数据的期望标签和反期望标签构造2个深度学习神经网络,分别对与期望标签对应的深度学习神经网络和与反期望标签对应的深度学习神经网络进行训练,避免了深度学习神经网络当存在属性相反的输出数据时结构动荡的问题,提高了深度学习神经网络训练的可靠性。
附图说明
图1为一个实施例的期望与反期望深度学习方法流程图;
图2为一个实施例的神经网络系统的结构示意图。
具体实施方式
下面结合附图对本发明的技术方案进行说明。
如图1所示,本发明提供一种期望与反期望深度学习方法,可包括以下步骤:
s1,获取训练数据中的输出数据的期望标签和反期望标签;其中,所述反期望标签是与所述期望标签的属性相反的标签;
例如,获取输出数据的期望标签“男人”和反期望标签“女人”。
s2,初始化与期望标签对应的深度学习神经网络,得到期望深度学习神经网络,初始化与反期望标签对应的深度学习神经网络,得到反期望深度学习神经网络;
其中,期望标签对应的深度学习神经网络的输入格式初始化为训练数据中的输入数据格式;反期望标签对应的深度学习神经网络的输入格式也初始化为训练数据中的输入数据格式。期望深度学习神经网络的输出格式初始化为为0到1之间的数,输出为1时,表示输出为期望标签,输出为0时,表示输出不是期望标签,输出为0到1之间的数时,表示输出有可能是期望标签。反期望深度学习神经网络的输出格式初始化为为0到1之间的数,输出为1时,表示输出为反期望标签,输出为0时,表示输出不是反期望标签,输出为0到1之间的数时,表示输出有可能是反期望标签。同时,获取已有同类深度学习神经网络的配置信息(预设配置信息包括:预设层数、每层预设节点数、各网络连接的预设权值)作为期望标签对应的深度学习神经网络的配置信息对期望标签对应的深度学习神经网络进行配置,同时也将该配置信息作为反期望标签对应的深度学习神经网络的配置信息对反期望标签对应的深度学习神经网络进行配置。
例如,初始化与期望标签“男人”和反期望标签“女人”对应的2个深度学习神经网络,称为期望标签“男人”深度学习神经网络、反期望标签“女人”深度学习神经网络。
s3,分别对所述期望深度学习神经网络和反期望深度学习神经网络进行训练。
在一个实施例中,本步骤可以采用以下方式实现:
s3.1,通过训练数据中的输入数据分别对期望深度学习神经网络和反期望深度学习神经网络进行无监督训练;
例如,通过训练数据中的输入数据人脸图像分别对期望标签“男人”深度学习神经网络、反期望标签“女人”深度学习神经网络进行无监督训练。值得说明的是,对期望深度学习神经网络、反期望深度学习神经网络进行无监督训练,可采用同样的输入数据集合。
s3.2,从训练数据中获取与期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对期望深度学习神经网络进行有监督训练,并从训练数据中获取与期望标签及反期望标签都不一致的输出标签对应的输入数据,将该输入数据作为输入,将0作为预期输出,对期望深度学习神经网络进行有监督训练;
进一步地,可以将所述训练数据中与期望标签一致的输出标签对应的输入数据作为第一输入数据;从第一输入数据中筛选出第一预设比例(假设为p%,p为0到100之间的实数)的第一输入数据,得到对应的每一第二输入数据(即将第一输入数据中p%的数据保留,其余数据清空,得到对应的每一第二输入数据);将每一第二输入数据作为输入,将所述第一预设比例作为预期输出,对期望深度学习神经网络进行有监督训练。
可以理解的是,之所以不进行“从训练数据中获取与反期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将0作为预期输出,对期望深度学习神经网络进行有监督训练”,是因为与反期望标签一致的输出标签所对应的输入数据有可能与与期望标签一致的输出标签所对应的输入数据类似(例如有的男人和女人的脸部特征很像),从而导致类似的输入数据,在同一个深度学习神经网络中产生不同的输出标签,进而会对期望深度学习神经网络的训练效果产生负面影响。
例如,从训练数据中获取与期望标签“男人”一致的输出标签(预期输出为1)及其对应输入数据人脸图像对期望标签“男人”深度学习神经网络进行有监督训练;从训练数据中获取与期望标签“男人”及反期望标签“女人”都不一致的输出标签(预期输出为0)及其对应输入数据(例如动物头像)对期望标签“男人”深度学习神经网络进行有监督训练;从训练数据中获取与期望标签“男人”一致的输出标签(预期输出为1)及其对应输入数据人脸图像,将输入数据人脸图像中60%的部分保留(可随机选择,也可以均匀选择,或按照一定预设方式进行选择需要保留的部分),其余40%的部分从图像中清除(可随机选择,也可以均匀选择,或按照一定预设方式进行选择需要保留的部分),然后将处理后的输入数据人脸图像作为新输入数据人脸图像,将输出数据1变为新输出数据60%即0.6,对期望标签“男人”深度学习神经网络进行有监督训练。
s3.3,从训练数据中获取与反期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对反期望深度学习神经网络进行有监督训练,并从训练数据中获取与期望标签及反期望标签都不一致的输出标签对应的输入数据,将该输入数据作为输入,将0作为预期输出,对反期望深度学习神经网络进行有监督训练。
进一步地,可以将所述训练数据中与反期望标签一致的输出标签对应的输入数据作为第三输入数据;从每一第三输入数据中筛选出第二预设比例(假设为p%,p为0到100之间的实数)的数据,得到对应的每一第四输入数据(即将每一第三输入数据中p%的数据保留,其余数据清空,得到对应的每一第四输入数据);将每一第四输入数据作为输入,将对应的第二预设比例作为预期输出,对反期望深度学习神经网络进行有监督训练。
可以理解的是,之所以不进行“从训练数据中获取与期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将0作为预期输出,对反期望深度学习神经网络进行有监督训练”,是因为与期望标签一致的输出标签所对应的输入数据有可能与与反期望标签一致的输出标签所对应的输入数据类似(例如有的男人和女人的脸部特征很像),从而导致类似的输入数据,在同一个深度学习神经网络中产生不同的输出标签,进而会对反期望深度学习神经网络的训练效果产生负面影响。
例如,从训练数据中获取与反期望标签“女人”一致的输出标签(预期输出为1)及其对应输入数据人脸图像对反期望标签“女人”深度学习神经网络进行有监督训练;从训练数据中获取与期望标签“男人”及反期望标签“女人”都不一致的输出标签(预期输出为0)及其对应输入数据(例如动物头像)对期望标签“女人”深度学习神经网络进行有监督训练。
从训练数据中获取与反期望标签“女人”一致的输出标签(预期输出为1)及其对应输入数据人脸图像,将输入数据人脸图像中60%的部分保留(可随机选择,也可以均匀选择,或按照一定预设方式进行选择需要保留的部分),其余40%的部分从图像中清除(可随机选择,也可以均匀选择,或按照一定预设方式进行选择需要保留的部分),然后将处理后的输入数据人脸图像作为新输入数据人脸图像,将输出数据1变为新输出数据60%即0.6,对反期望标签“女人”深度学习神经网络进行有监督训练。
进一步地,在分别对所述期望深度学习神经网络和反期望深度学习神经网络进行训练之后,还可以计算输入数据对应的输出属于期望标签的可信度及输入数据对应的输出属于反期望标签的可信度。具体地,可以将输入数据输入期望深度学习神经网络,得到期望深度学习神经网络的输出数据;将输入数据输入反期望深度学习神经网络,得到反期望深度学习神经网络的输出数据;根据期望深度学习神经网络的输出数据与反期望深度学习神经网络的输出数据得到输入数据对应的输出属于期望标签的可信度及输入数据对应的输出属于反期望标签的可信度。
例如,获取输入数据人脸图像,将输入数据人脸图像输入期望深度学习神经网络,得到期望深度学习神经网络的输出数据,该输出数据为0到1之间的数,越接近1,则表明输出为期望标签的概率越大;将输入数据输入反期望深度学习神经网络,得到反期望深度学习神经网络的输出数据,该输出数据为0到1之间的数,越接近1,则表明输出为反期望标签的概率越大。
在计算可信度时,可以将期望深度学习神经网络的输出数据作为输出属于期望标签的概率(记为a),将反期望深度学习神经网络的输出数据作为输出属于反期望标签的概率(记为b);将输入数据对应的输出属于期望标签或反期望标签的可信度(记为f),则f=(a+b)/2;输入数据对应的输出属于期望标签的可信度为f×a,属于相反标签的可信度为f×b,属于其他标签的可信度为1-f。
例如,如果这个人是男人或女人,那么这个人是男人的概率是f×a,作为这个人是男人的可信度,是女人的概率是f×b,作为这个人是女人的可信度;属于其他标签的概率为1-f,作为这个人既不是男人又不是女人的可信度。
例如,深度学习神经网络判断一个人是不是男的,训练数据中输入头像图像,如果训练数据中输出数据是男的,则用“男人”标签对应的深度学习神经网络进行训练,例如用输出1代表是男人,用0代表不是男人(例如是动物);如果训练数据中输出数据是女的,则用“女人”标签对应的深度学习神经网络进行训练,例如用输出用0到1之间的数来代表是女人的可能性大小,1代表是女人,用0代表不是女人(例如是动物);如果训练数据中输出数据是跟男人、女人无关的,例如动物,则“男人”标签对应的深度学习神经网络和用“女人”标签对应的深度学习神经网络同时进行训练。
在使用时,输入一个数据到“男人”标签对应的深度学习神经网络和用“女人”标签对应的深度学习神经网络同时计算,如果“男人”标签对应的深度学习神经网络输出0.8;如果“女人”标签对应的深度学习神经网络输出0.5,则输出是“男人”或“女人”的可信度是(0.8+0.5)/2=0.65=65%,输出不是“男人”或“女人”的可信度是1-65%=35%,输出是“男人”的可信度是65%*0.8=52%,输出是“女人”的可信度是65%*0.5=32.5%,相对而言是“男人”的可信度更高,所以判断为“男人”。
本发明通过输出数据的期望标签和反期望标签构造2个深度学习神经网络,然后如果训练数据中输出数据与期望标签一致,则对与期望标签对应的深度学习神经网络进行训练;如果训练数据中输出数据与反期望标签一致,则对与反期望标签对应的深度学习神经网络进行训练;如果训练数据中输出数据与属性无关(当然也与反期望标签无关),则同时对期望标签及反期望标签对应的2个深度学习神经网络进行训练。训练得到2个深度学习神经网络,在应用中将输入数据同时输入这2个深度学习神经网络,得到2个输出数据,然后综合2个输出数据得到输出数据属于期望标签的可信度及属于反期望标签的可信度,避免了深度学习神经网络当存在属性相反的输出数据时结构动荡的问题,提高了深度学习神经网络训练的可靠性。
如图2所示,本发明还提供一种神经网络系统,可包括:
标签获取模块10,用于获取训练数据中的输出数据的期望标签和反期望标签;其中,所述反期望标签是与所述期望标签的属性相反的标签;
初始化模块20,用于初始化与期望标签对应的深度学习神经网络,得到期望深度学习神经网络,初始化与反期望标签对应的深度学习神经网络,得到反期望深度学习神经网络;
训练模块30,用于分别对所述期望深度学习神经网络和反期望深度学习神经网络进行训练。
在一个实施例中,训练模块可以采用以下方式实现深度学习神经网络训练:
例如,通过训练数据中的输入数据人脸图像分别对期望标签“男人”深度学习神经网络、反期望标签“女人”深度学习神经网络进行无监督训练。说明:对期望深度学习神经网络、反期望深度学习神经网络进行无监督训练,可采用同样的输入数据集合。
s3.2,从训练数据中获取与期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对期望深度学习神经网络进行有监督训练,并从训练数据中获取与期望标签及反期望标签都不一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对期望深度学习神经网络进行有监督训练;
进一步地,可以将所述训练数据中与期望标签一致的输出标签对应的输入数据作为第一输入数据;从第一输入数据中筛选出第一预设比例(假设为p%,p为0到100之间的实数)的第一输入数据,得到对应的每一第二输入数据(即将第一输入数据中p%的数据保留,其余数据清空,得到对应的每一第二输入数据);将与期望标签一致的第一输出数据乘以所述第一预设比例,得到第二输出数据;将每一第二输入数据作为输入,将所述第一预设比例作为预期输出,对期望深度学习神经网络进行有监督训练。
可以理解的是,之所以不进行“从训练数据中获取与反期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对期望深度学习神经网络进行有监督训练”,是因为与反期望标签一致的输出标签所对应的输入数据有可能与与期望标签一致的输出标签所对应的输入数据类似(例如有的男人和女人的脸部特征很像),从而导致类似的输入数据,在同一个深度学习神经网络中产生不同的输出标签,进而会对期望深度学习神经网络的训练效果产生负面影响。
s3.3,从训练数据中获取与反期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对反期望深度学习神经网络进行有监督训练,并从训练数据中获取与期望标签及反期望标签都不一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对反期望深度学习神经网络进行有监督训练。
进一步地,可以将所述训练数据中与反期望标签一致的输出标签对应的输入数据作为第三输入数据;从第三输入数据中筛选出第二预设比例(假设为p%,p为0到100之间的实数)的第三输入数据,得到对应的每一第四输入数据(即将第三输入数据中p%的数据保留,其余数据清空,得到对应的每一第四输入数据);将每一第四输入数据作为输入,将对应的第二预设比例作为预期输出,对反期望深度学习神经网络进行有监督训练。
可以理解的是,之所以不进行“从训练数据中获取与期望标签一致的输出标签对应的输入数据,将该输入数据作为输入,将1作为预期输出,对反期望深度学习神经网络进行有监督训练”,是因为与期望标签一致的输出标签所对应的输入数据有可能与与反期望标签一致的输出标签所对应的输入数据类似(例如有的男人和女人的脸部特征很像),从而导致类似的输入数据,在同一个深度学习神经网络中产生不同的输出标签,进而会对反期望深度学习神经网络的训练效果产生负面影响。
本发明通过输出数据的期望标签和反期望标签构造2个深度学习神经网络,然后如果训练数据中输出数据与期望标签一致,则对与期望标签对应的深度学习神经网络进行训练;如果训练数据中输出数据与反期望标签一致,则对与反期望标签对应的深度学习神经网络进行训练;如果训练数据中输出数据与属性无关(当然也与反期望标签无关),则同时对期望标签及反期望标签对应的2个深度学习神经网络进行训练。训练得到2个深度学习神经网络,在应用中将输入数据同时输入这2个深度学习神经网络,得到2个输出数据,然后综合2个输出数据得到输出数据属于期望标签的可信度及属于反期望标签的可信度。
进一步地,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述的期望与反期望深度学习方法。该程序被处理器执行时实现的期望与反期望深度学习方法与上述期望与反期望深度学习方法的实施例相同,此处不再赘述。
进一步地,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述的期望与反期望深度学习方法。所述处理器执行所述程序时实现的期望与反期望深度学习方法与上述期望与反期望深度学习方法的实施例相同,此处不再赘述。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。