面向跨界大数据分析的对抗迁移学习方法及系统与流程

文档序号:14266442阅读:324来源:国知局
面向跨界大数据分析的对抗迁移学习方法及系统与流程

本发明涉及数据分析技术领域,更具体地,涉及一种面向跨界大数据分析的对抗迁移学习方法及系统。



背景技术:

在众多的机器学习任务处理中,深度神经网络方法为目前效果最好的方法。但深度神经网络只有在获得了足够丰富的有标签数据后,经过监督学习训练才能获得很好的任务效果。为了在目标领域的已标注数据较少的情况下,仍能获得效果较好的用于完成目标任务的深度神经网络,通常采用跨领域学习,将源领域丰富的已标注数据用于目标领域的深度神经网络的获取。基于源领域丰富的已标注数据获取的深度神经网络下,源领域的数据与目标领域的数据存在分布偏移的问题,因而该深度神经网络应用目标领域完成目标任务时效果不佳。

针对这一问题,通常采用迁移学习方法解决,即训练一个鉴别器用于调整深度神经网络的参数,使得参数调整后的深度神经网络下,源领域的数据与目标领域的数据间的分布偏移减小,从而深度神经网络应用目标领域完成目标任务时有较佳的效果。其中,对抗迁移学习方法是目前效果最好的迁移学习方法之一,其通过根据深度神经网络中间层的单个数据层的数据向量,构建鉴别器的损失函数,最小化该鉴别器的损失函数获取该鉴别器的参数,并固定该鉴别器的损失函数的参数,最小化深度神经网络的损失函数与该鉴别器的损失函数之差,获取深度神经网络的参数这一方式不断调整深度神经网络的参数直至收敛。

通过对抗迁移学习方法,参数调整后的深度神经网络顶层的若干数据层下,源领域的数据与目标领域的数据可能仍然存在数据分布偏移,进而深度神经网络应用目标领域完成目标任务时效果可能不佳。尤其,当源领域与目标领域的数据分布呈现多模式的复杂结构时,根据深度神经网络中间层的单个数据层的数据向量,构建鉴别器的损失函数用于调整深度神经网络的参数,参数调整后的深度神经网络的可能难以捕捉繁杂的数据分布特征以将分布细粒度对齐,使得源领域与目标领域的数据分布偏移仍较大,深度神经网络应用目标领域完成目标任务时效果不佳。



技术实现要素:

本发明提供一种面向跨界大数据分析的对抗迁移学习方法及系统,以克服现有对抗迁移学习方法得到的深度神经网络顶层的若干数据层下,源领域的数据与目标领域的数据可能仍然存在数据分布偏移,以及当源领域与目标领域的数据分布呈现多模式的复杂结构时,得到深度神经网络可能难以捕捉繁杂的数据分布特征以将分布细粒度对齐,使得源领域与目标领域的数据分布偏移仍较大,应用目标领域完成目标任务时效果不佳的问题。

根据本发明的第一方面,提供一种面向跨界大数据分析的对抗迁移学习方法,该方法包括:步骤1,将源领域和目标领域各自的未标注数据集输入至预设深度神经网络并正向传播,获取所述源领域和目标领域各自的未标注数据集对应的张量集;所述张量集中张量为对应未标注数据作为输入时,所述预设深度神经网络中预设数据层集合中所有数据层的数据向量的张量积;步骤2,将所述源领域和目标领域各自的未标注数据集对应的张量集中每个张量对应的随机多线性融合表示,代入鉴别器的原始损失函数,得到鉴别器的当前损失函数,并利用反向传播调整所述鉴别器的参数,以最小化所述当前损失函数,作为所述鉴别器的当前最佳损失函数;步骤3,利用反向传播,将所述预设深度神经网络在所述源领域的损失函数减去平衡参数与所述当前最佳损失函数的乘积后最小化,得到所述预设深度神经网络的新参数,用所述新参数更新所述预设深度神经网络的参数并再次进行所述正向传播以再一次更新所述预设深度神经网络的参数,直至参数收敛;所述平衡参数为所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的平衡参数。

其中,所述步骤1具体包括:步骤11,将所述源领域和目标领域各自的未标注数据集中的每个未标注数据依次输入至预设深度神经网络并正向传播,获取所述每个未标注数据下所述预设深度神经网络中预设数据层集合中每个数据层的数据向量;步骤12,计算所述数据向量的张量积,将所述张量积作为所述每个未标注数据对应的张量;步骤13,根据所述源领域的未标注数据集中每个未标注数据对应的张量,得到所述源领域的未标注数据集对应的张量集,并根据所述目标领域的未标注数据集中每个未标注数据对应的张量,得到所述目标领域的未标注数据集对应的张量集。

其中,在步骤1中,所述预设数据层集合由所述预设深度神经网络顶层和中间层中的若干数据层构成。

其中,在步骤2中,所述鉴别器为一个输入为d维向量、输出在区间[0,1]上的全连接预设深度神经网络鉴别器;所述鉴别器的原始损失函数设定为:

其中,分别为所述源领域和所述目标领域的未标注数据集对应的张量集,分别为所述源领域和所述目标领域的第i个未标注数据的张量,ns和nt分别为所述源领域和所述目标领域的未标注数据集中未标注数据的数目,分别为所述源领域和所述目标领域的第i个未标注数据的张量的随机多线性融合表示;为所述预设数据层集合,z为张量,⊙是阿达马积,是一个维度为的随机矩阵,是数据层的维度,d为鉴别器输入向量的维度,为数据层的数据向量。

其中,在步骤3中,所述预设深度神经网络在所述源领域的损失函数为在所述源领域的已标注数据集中所有已标注数据的交叉熵损失的均值。

其中,所述预设深度神经网络在所述源领域的损失函数设定为:

其中,ns为所述源领域的已标注数据集中已标注数据的数目,为所述源领域的第i个已标注数据的特征向量,为所述预设深度神经网络的决策函数,为所述源领域的第i个已标注数据的标签,j(·,·)是交叉熵损失函数。

根据本发明的第二方面,提供一种面向跨界大数据分析的对抗迁移学习系统,其特征在于,包括:张量集获取模块和鉴别器的当前最佳损失函数获取模块和更新模块;所述张量集获取模块,用于将源领域的未标注数据集和目标领域的未标注数据集输入至预设深度神经网络并正向传播,获取所述源领域的未标注数据集对应的张量集和所述目标领域的未标注数据集对应的张量集;所述张量集中张量为对应未标注数据作为输入时,所述预设深度神经网络中预设数据层集合中所有数据层的数据向量的张量积;所述鉴别器的当前最佳损失函数获取模块,用于将所述源领域和所述目标领域的未标注数据集对应的张量集中每个张量对应的随机多线性融合表示代入鉴别器的原始损失函数,得到鉴别器的当前损失函数,并利用反向传播,调整所述鉴别器的参数,以最小化所述当前损失函数,作为所述鉴别器的当前最佳损失函数;所述更新模块,用于利用所述反向传播,最小化所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的权衡量之差,得到所述预设深度神经网络的新参数,用所述新参数更新所述预设深度神经网络的参数并再次进行所述正向传播以再一次更新所述预设深度神经网络的参数,直至参数收敛;所述当前最佳损失函数的权衡量为所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的平衡参数乘以所述当前最佳损失函数。

根据本发明的第三方面,提供一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如第一方面所述的方法。

根据本发明的第四方面,提供一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的方法。

本发明提出的面向跨界大数据分析的对抗迁移学习方法及系统,通过将预设深度神经网络中预设数据层集合中所有数据层的数据向量的张量积作为输入数据对应的张量,将所述源领域和所述目标领域的未标注数据集对应的张量集中每个张量对应的随机多线性融合表示代入鉴别器的原始损失函数,得到鉴别器的当前损失函数,进而基于该鉴别器的当前损失函数对预设深度神经网络的参数进行更新,使得得到的预设深度神经网络预设数据层集合中多个数据层的联合分布偏移减小,应用于目标领域完成目标任务时效果较佳,同时,对张量采用随机多线性融合表示,大大减小了后续数据计算量,加快了对抗迁移学习过程。此外,本发明避免了基于现有迁移学习方法得到的预设深度神经网络顶层的若干数据层可能仍存在的数据分布偏移,同时,也避免了当源领域与目标领域的数据分布呈现多模式的复杂结构时,基于现有迁移学习方法得到的预设深度神经网络难以捕捉繁杂的数据分布特征以将分布细粒度对齐,导致数据分布偏移较大,应用于目标领域完成目标任务时效果不佳。

附图说明

图1为根据本发明实施例的一种面向跨界大数据分析的对抗迁移学习方法流程图;

图2为根据本发明实施例的源领域和目标领域各自的未标注数据集下鉴别器的当前损失函数的获取流程图;

图3为根据本发明实施例的一种面向跨界大数据分析的对抗迁移学习系统流程图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

如图1所示,本发明实施例提供一种面向跨界大数据分析的对抗迁移学习方法,该方法包括:

步骤1,将源领域和目标领域各自的未标注数据集输入至预设深度神经网络并正向传播,获取所述源领域和目标领域各自的未标注数据集对应的张量集;所述张量集中张量为对应未标注数据作为输入时,所述预设深度神经网络中预设数据层集合中所有数据层的数据向量的张量积。

在本实施例中,预设深度神经网络可应用于众多机器学习任务,如:图像识别和语音识别等。以非监督图像识别迁移学习任务为例,可在caffe深度学习框架下实现预设深度神经网络alexnet或resnet,为了提高预设深度神经网络的性能,可在进行迁移学习之前先使用已标注的imagenet数据集对预设深度神经网络进行预训练;目标领域的未标注数据集为待分类图像的特征向量集。

在本实施例中,具体地,将源领域和目标领域各自的未标注数据集中的每个未标注数据依次输入至预设深度神经网络并正向传播,获取所述预设深度神经网络中预设数据层集合中每个数据层的数据向量。计算所述数据向量的张量积,将所述张量积作为输入的未标注数据对应的张量。根据所述源领域的未标注数据集中每个未标注数据对应的张量,得到所述源领域的未标注数据集对应的张量集,并根据所述目标领域的未标注数据集中每个未标注数据对应的张量,得到所述目标领域的未标注数据集对应的张量集。其中,所述预设数据层集合由所述预设深度神经网络顶层和中间层中的若干数据层构成。例如,当预设深度神经网络为alexnet时,设定预设数据层集合当预设深度神经网络为resnet时,设定预设数据层集合

根据将源领域和目标领域各自的未标注数据集输入至预设深度神经网络并正向传播,获取所述源领域和目标领域各自的未标注数据集在预设数据层集合的各数据层下的数据向量的过程如图2所示。其中,xs为源领域的未标注数据集,xt为目标领域的未标注数据集,zsi为源领域的未标注数据集在预设数据层集合的第i个数据层下的数据向量,zti为目标领域的未标注数据集在预设数据层集合的第i个数据层下的数据向量。

步骤2,将所述源领域和目标领域各自的未标注数据集对应的张量集中每个张量对应的随机多线性融合表示,代入鉴别器的原始损失函数,得到鉴别器的当前损失函数,并利用反向传播调整所述鉴别器的参数,以最小化所述当前损失函数,作为所述鉴别器的当前最佳损失函数。

在本实施例中,所述鉴别器为一个输入为d维向量、输出在区间[0,1]上的全连接预设深度神经网络鉴别器。所述鉴别器的原始损失函数设定为:

其中,分别为所述源领域和所述目标领域的未标注数据集对应的张量集,分别为所述源领域和所述目标领域的第i个未标注数据的张量,ns和nt分别为所述源领域和所述目标领域的未标注数据集中未标注数据的数目,分别为所述源领域和所述目标领域的第i个未标注数据的张量的随机多线性融合表示;为所述预设数据层集合,z为张量,⊙是阿达马积,是一个维度为的随机矩阵,是数据层的维度,d为鉴别器输入向量的维度,为数据层的数据向量。对于随机矩阵每一个矩阵元的分布需要满足可用的矩阵元分布包括高斯分布,伯努利分布和一致分布。

所述源领域和目标领域各自的未标注数据集在预设数据层集合的各数据层下的张量,代入鉴别器的原始损失函数,得到鉴别器的当前损失函数的过程如图2所示。其中,ri为预设数据层集合的第i个数据层对应的随机矩阵,⊙是阿达马积,d为鉴别器的当前损失函数。ys为源领域的未标注数据集对应的输出集,yt为目标领域的未标注数据集对应的输出集。

在本实施例中,得到鉴别器的当前损失函数后,利用反向传播调整所述鉴别器的参数,以最小化所述当前损失函数,作为所述鉴别器的当前最佳损失函数的过程中采用小批量随机梯度下降并将冲量设为0.9。在随机梯度下降的每一轮迭代中,学习速率为其中,参数p随着迭代轮数线性从0增长到1,η0=0.01,α=10,β=0.75。

步骤3,利用反向传播,将所述预设深度神经网络在所述源领域的损失函数减去平衡参数与所述当前最佳损失函数的乘积后最小化,得到所述预设深度神经网络的新参数,用所述新参数更新所述预设深度神经网络的参数并再次进行所述正向传播以再一次更新所述预设深度神经网络的参数,直至参数收敛;所述平衡参数为所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的平衡参数。

在本实施例中,所述预设深度神经网络在所述源领域的损失函数为在所述源领域的已标注数据集中所有已标注数据的交叉熵损失的均值,所述预设深度神经网络在所述源领域的损失函数设定为:

其中,ns为所述源领域的已标注数据集中已标注数据的数目,为所述源领域的第i个已标注数据的特征向量,为所述预设深度神经网络的决策函数,为所述源领域的第i个已标注数据的标签,j(·,·)是交叉熵损失函数。

在本实施例中,所述预设深度神经网络在所述源领域的损失函数减去平衡参数与所述当前最佳损失函数的乘积为:

其中,λ为所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的平衡参数。

在本实施例中,利用所述反向传播,最小化所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的权衡量之差的过程中,采用小批量随机梯度下降并将冲量设为0.9。在随机梯度下降的每一轮迭代中,学习速率为其中,参数p随着迭代轮数线性从0增长到1,η0=0.01,α=10,β=0.75。平衡参数λ同样设定为渐变参数,其中δ=10。在此过程中,具体调整了预设深度神经网络f(x)的所有卷积数据层、池化数据层和分类器数据层,且分类器数据层的学习速率是其它数据层的10倍。

本发明提出的面向跨界大数据分析的对抗迁移学习方法,通过将预设深度神经网络中预设数据层集合中所有数据层的数据向量的张量积作为输入数据对应的张量,将所述源领域和所述目标领域的未标注数据集对应的张量集中每个张量对应的随机多线性融合表示代入鉴别器的原始损失函数,得到鉴别器的当前损失函数,进而基于该鉴别器的当前损失函数对预设深度神经网络的参数进行更新,使得得到的预设深度神经网络预设数据层集合中多个数据层的联合分布偏移减小,应用于目标领域完成目标任务时效果较佳,同时,对张量采用随机多线性融合表示,大大减小了后续数据计算量,加快了对抗迁移学习过程。此外,本发明避免了基于现有迁移学习方法得到的预设深度神经网络顶层的若干数据层可能仍存在的数据分布偏移,同时,也避免了当源领域与目标领域的数据分布呈现多模式的复杂结构时,基于现有迁移学习方法得到的预设深度神经网络难以捕捉繁杂的数据分布特征以将分布细粒度对齐,导致数据分布偏移较大,应用于目标领域完成目标任务时效果不佳。

如图3所示,本发明实施例提供一种面向跨界大数据分析的对抗迁移学习系统,包括:张量集获取模块和鉴别器的当前最佳损失函数获取模块和更新模块;所述张量集获取模块,用于将源领域的未标注数据集和目标领域的未标注数据集输入至预设深度神经网络并正向传播,获取所述源领域的未标注数据集对应的张量集和所述目标领域的未标注数据集对应的张量集;所述张量集中张量为对应未标注数据作为输入时,所述预设深度神经网络中预设数据层集合中所有数据层的数据向量的张量积;所述鉴别器的当前最佳损失函数获取模块,用于将所述源领域和所述目标领域的未标注数据集对应的张量集中每个张量对应的随机多线性融合表示代入鉴别器的原始损失函数,得到鉴别器的当前损失函数,并利用反向传播,调整所述鉴别器的参数,以最小化所述当前损失函数,作为所述鉴别器的当前最佳损失函数;所述更新模块,用于利用所述反向传播,最小化所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的权衡量之差,得到所述预设深度神经网络的新参数,用所述新参数更新所述预设深度神经网络的参数并再次进行所述正向传播以再一次更新所述预设深度神经网络的参数,直至参数收敛;所述当前最佳损失函数的权衡量为所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的平衡参数乘以所述当前最佳损失函数。

本发明提出的面向跨界大数据分析的对抗迁移学习系统,通过将预设深度神经网络中预设数据层集合中所有数据层的数据向量的张量积作为输入数据对应的张量,将所述源领域和所述目标领域的未标注数据集对应的张量集中每个张量对应的随机多线性融合表示代入鉴别器的原始损失函数,得到鉴别器的当前损失函数,进而基于该鉴别器的当前损失函数对预设深度神经网络的参数进行更新,使得得到的预设深度神经网络预设数据层集合中多个数据层的联合分布偏移减小,应用于目标领域完成目标任务时效果较佳,同时,对张量采用随机多线性融合表示,大大减小了后续数据计算量,加快了对抗迁移学习过程。此外,本发明避免了基于现有迁移学习方法得到的预设深度神经网络顶层的若干数据层可能仍存在的数据分布偏移,同时,也避免了当源领域与目标领域的数据分布呈现多模式的复杂结构时,基于现有迁移学习方法得到的预设深度神经网络难以捕捉繁杂的数据分布特征以将分布细粒度对齐,导致数据分布偏移较大,应用于目标领域完成目标任务时效果不佳。

本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述方法实施例所提供的方法,例如包括:将源领域的未标注数据集和目标领域的未标注数据集输入至预设深度神经网络并正向传播,获取所述源领域的未标注数据集对应的张量集和所述目标领域的未标注数据集对应的张量集;所述张量集中张量为对应未标注数据作为输入时,所述预设深度神经网络中预设数据层集合中所有数据层的数据向量的张量积;将所述源领域和所述目标领域的未标注数据集对应的张量集中每个张量对应的随机多线性融合表示代入鉴别器的原始损失函数,得到鉴别器的当前损失函数,并利用反向传播,调整所述鉴别器的参数,以最小化所述当前损失函数,作为所述鉴别器的当前最佳损失函数;利用所述反向传播,最小化所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的权衡量之差,得到所述预设深度神经网络的新参数,用所述新参数更新所述预设深度神经网络的参数并再次进行所述正向传播以再一次更新所述预设深度神经网络的参数,直至参数收敛;所述当前最佳损失函数的权衡量为所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的平衡参数乘以所述当前最佳损失函数。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述方法实施例所提供的方法,例如包括:将源领域的未标注数据集和目标领域的未标注数据集输入至预设深度神经网络并正向传播,获取所述源领域的未标注数据集对应的张量集和所述目标领域的未标注数据集对应的张量集;所述张量集中张量为对应未标注数据作为输入时,所述预设深度神经网络中预设数据层集合中所有数据层的数据向量的张量积;将所述源领域和所述目标领域的未标注数据集对应的张量集中每个张量对应的随机多线性融合表示代入鉴别器的原始损失函数,得到鉴别器的当前损失函数,并利用反向传播,调整所述鉴别器的参数,以最小化所述当前损失函数,作为所述鉴别器的当前最佳损失函数;利用所述反向传播,最小化所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的权衡量之差,得到所述预设深度神经网络的新参数,用所述新参数更新所述预设深度神经网络的参数并再次进行所述正向传播以再一次更新所述预设深度神经网络的参数,直至参数收敛;所述当前最佳损失函数的权衡量为所述预设深度神经网络在所述源领域的损失函数与所述当前最佳损失函数的平衡参数乘以所述当前最佳损失函数。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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