一种基于元学习器逐步梯度校正的元学习算法的制作方法

文档序号:17994819发布日期:2019-06-22 01:06阅读:384来源:国知局
一种基于元学习器逐步梯度校正的元学习算法的制作方法

本发明属于深度神经网络技术领域,涉及元学习算法,特别涉及一种基于元学习器逐步梯度校正的元学习算法。



背景技术:

深度神经网络由于其对复杂输入模式的强大建模能力,最近在不同的应用当中取得了引人瞩目的应用效果。尽管如此,深度神经网络很容易在包含噪音标注的训练数据上过拟合,从而在预测过程中出现泛化较差的问题。在实践中,这一噪音标注的鲁棒学习问题往往由于高质量标注的匮乏而难以避免。典型的例子如利用众包系统或者搜索引擎进行数据收集时,往往会产生大量的错误标记,从而导致低质量的训练数据。所以对蕴含噪音标记的数据进行有效的学习是机器学习领域一个十分重要而富有挑战的问题。

样本重加权方法是解决这个问题最常使用的方法。其核心方法论为针对具体的任务和模型对样本设计合适的加权机制,从而对干净标注样本的作用进行增强,对错误标注样本的负面影响进行压制。早期的方法通过利用合适的先验知识嵌入模型从而获得样本权重,然后极小化训练样本的加权损失,从而获得鲁棒的学习效果。然而,这种模式过于依赖先验,不具有数据的灵活性与针对性。之后,多个在学习过程中动态更新样本权值的重加权方法被提出,其主要的加权信息来源于训练过程中样本的损失值。这类方法主要可以分为两类。第一类方法更多强调更大损失的样本,这是由于此类样本更可能是位于分类边界的难样本,其可能包含更多区分类别的信息。典型的方法包含adaboost,hardnegativemining,focalloss等。另一类方法认为具有更小损失的样本更重要,因为其更可能是拥有干净标记的高置信度样本。典型的方法包括自步学习,迭代重加权等。这种动态加权的方法相比于预设的加权方法,具有更加灵活和合理的特点。但是这些方法仍然需要具体的假设去构建模型,不可避免的存在超参数需预设的调参问题。这显著增加了这些方法处理现实问题的困难性。

最近,元学习技术成为处理这类问题一种新的方式。该方法首先需要收集少量无偏的具有干净标签的元数据集用来模拟正确的数据样本-标签分布,作为潜在元知识的代表性信息;然后同时设计针对噪音标注训练数据集上的学生网络(分类器),及其在元数据集上的老师网络(元学习器)。然后通过教学生网络与老师网络参数互相进行反馈改善,交叉迭代,从而达到教学互长的学习目的。采用这种元学习模式,超参数的学习将被有效嵌入到学习过程中进行自动化确定与调整,从而实现了自动化调参与鲁棒性学习的目标。然而为了保证很强的超参数学习能力,当前的方法一般需要构造很复杂的元学习器。这降导致这些元学习算法很难理解和难于重现。



技术实现要素:

为了克服当前元学习技术的缺点,本发明的目的在于提供一种基于元学习器逐步梯度校正(progressivegradientcorrectingbymeta-learner,简称meta-pgc)的元学习算法,是一种在有噪音标记的数据集上训练深度网络的鲁棒学习方法,对当前的元学习算法进行增强改进,使得新的元学习算法具有易于用户理解、实现和可解释性等特点。

为了实现上述目的,本发明采用的技术方案是:

一种基于元学习器逐步梯度校正的元学习算法,包括如下步骤:

步骤s1:获取训练数据集以及元数据集其中xi,yi表示第i个训练数据及其对应的标签,表示第i个元数据及其对应的标签,n为训练数据尺寸,m为元数据尺寸,m<<n,设定批尺寸大小n<n,m<m。所述训练数据指含有噪音标记的脏数据,元数据为少量的无偏的干净数据,旨在代表潜在真实数据-标签分布的元知识。设置最大迭代次数t;

步骤s2:相对于在训练数据集上建立的分类器,即学生网络f(x;w),在元数据集上建立一个元学习器,即老师网络其中x表示分类器的输入(训练数据),w是学生网络的参数,是老师网络的输入(第i个训练数据的损失值),l是分类损失,θ是老师网络的参数。初始化学生网络模型参数w(0)和老师网络模型参数θ(0)

步骤s3:分别从训练数据集d和元数据集随机选取mini-batch数据样本:sampleminibatch(d;n)和

步骤s4:利用sampleminibatch(d;n)使用随机梯度下降策略,获得学生网络参数更新函数公式;

步骤s5:利用使用随机梯度下降策略,更新老师网络参数;

步骤s6:根据老师网络输出的权值,重新利用sampleminibatch(d;n),利用学生网络参数更新函数公式,更新学生网络参数;

步骤s7:重复步骤s3-s6,经过t次停机,输出学生网络及参数。

所述步骤s2中,学生网络指在训练数据集d上希望学习得到的分类器,其可以是任何形式的机器学习模型,在这里设置为目前复杂分类问题常用的深度网络模型;老师网络试图通过元学习的学习方式,自动学习加权函数的参数,避免手动设计加权函数和参数预设的问题。不同于当前元学习中元学习器需要较为复杂的结构,老师网络(即元学习器)结构要求十分简单,一般取包含100个节点的单隐层mlp网络,即1-100-1的结构,每个隐层节点的激活函数设置为relu函数,输出节点的激活函数设置为sigmoid函数,以保证输出范围在[0,1]之间。

在训练数据集d上极小化期望损失函数以获取学生网络f(x;w)最优的网络参数w*,当训练数据集d的标签包含噪音,通过对每个数据样本嵌入加权函数即老师网络则学生网络的最优参数通过极小化如下加权损失获得:

所述老师网络最优的参数θ*通过在元数据集上极小化如下元损失函数获得:

其中

所述步骤s3,学生网络和老师网络通过随机梯度下降进行更新,算法在每次重复s3-s6过程中,从总的训练数据集d里面随机选取mini-batch的数据样本进行学习。

所述步骤s4中,为了更新学生网络,需要计算公式(1)中w*的梯度,然后通过梯度下降策略改善学生网络,当使用随机梯度下降策略,且每次迭代选取mini-batch训练数据样本{(xi,yi),1≤i≤n},n<<n是批尺寸大小时,得到以老师网络参数θ为自变量的学生网络参数更新函数公式如下:

其中α是步长,w(t)表示迭代t步学生网络参数。

所述步骤s5中,为了更新老师网络,当老师网络接收到学生网络的更新参数计算公式(2)中θ*的梯度,然后通过梯度下降策略改善老师网络,当使用随机梯度下降时,每次迭代选取mini-batch训练数据样本m<<m是批尺寸大小时,老师网络参数更新为:

其中β是步长,θ(t)表示迭代t步老师网络参数。

所述步骤s6中,更新的老师网络输出的权重传输到公式(3)的用来矫正梯度重新更新学生网络参数:

公式(3)和公式(5)w(t+1)可以直接通过自动可微的技术计算,θ(t+1)的计算可以根据如下推导:

其中,

将公式(6)(7)代入公式(4),可以得到老师网络参数更新为:

所述公式(8)中更新网络参数,梯度包含两部分:其中可以直接利用自动求导技术计算;对于如果学生网络是传统的分类器,如svm等,则可以直接计算;如果是深度网络,则采用如下的方法近似计算:

具体地,考虑如下损失函数:

其中,∈=(∈1,∈2,…,∈n)是扰动变量,则对w进行一步梯度更新有:

同样的,最优的∈可以通过极小化下面的损失函数得到:

进行如下推导,有:

公式(14)可以通过对公式(11)对∈j进行一步梯度更新得到:

其中,γ是下降步长,最终得到以下近似计算:

对公式(16)用近似逼近在实践中,需要对一个训练batch里的数据样本进行归一化,即要求||u||1=1,这样可以对学习率的设定进行固定:

其中,如果a=0,δ(a)=τ,τ是一个大于0的常数;否则,δ(a)=0。

与现有技术相比,本发明是一种在噪音标记数据上训练分类器的元学习方法,其主要有三个特点:

1)本发明的元学习器,称之为v-net,是一个只有一个隐层的多层感知器网络;该学习器结构简单,参数量少。

2)本发明的元学习算法的工作机制十分契合实际的教学过程,即在元知识的指导下,老师逐步矫正学生的学习方式(有偏训练损失的梯度),使其朝着正确的方向学习。因此,其计算步骤比较容易让人理解。

3)本发明的元学习算法的工作机制能够被很好的解释,即元学习器的更新可以很好的解释为改善与元知识相合的样本的权重,而压制与元知识背离的样本的权重。这符合本领域对含有噪音标记问题的常识:强调那些和真实的样本分布相似的样本,同时弱化那些和真实的样本分布有偏的样本。

附图说明

图1为本发明的流程图。

图2展示的是本发明的算法在uniformnoise上的性能表现。

图3展示的是本发明的算法在flipnoise上的性能表现。

图4展示的是本发明的算法在uniformnoise上训练准确率和测试准确率随着迭代次数改变的曲线图。

图5展示的是本发明的算法在uniformnoise上学习到的训练数据的样本权重分布。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

如图1所示,本发明一种基于元学习器逐步梯度校正的元学习算法,用来在有噪音标记的训练数据上训练分类器,具有易于用户理解、实现和可解释性等特点,使其能够鲁棒的适用于蕴含噪声标记的实际数据场景。首先,获取有噪音标记的训练数据集以及少量干净无偏的元数据集;相对于在训练数据集上建立的分类器(学生网络),在元数据集上建立一个元学习器(老师网络);利用随机梯度下降联合更新学生网络和老师网络参数。即通过学生网络梯度下降格式得到学生网络参数梯度更新函数;将其反馈给老师网络,并利用元数据得到老师网络参数更新,从而得到矫正的学生网络参数梯度格式;然后利用此矫正格式完成学生网络参数更新。据此,学生网络参数能够在矫正的方向上实现更好的学习,减弱了对噪音标记的过拟合问题。

本发明算法具体可通过如下步骤和公式详细描述。

步骤s1:获取训练数据集元数据集其中n,m分别为训练数据与元数据尺寸。设定批尺寸大小n<n,m<m,最大迭代次数t;考虑一个分类问题,训练数据指含有噪音标记的脏数据,元数据指少量的无偏的干净数据,表示真实的数据样本-标签分布的元知识。

步骤s2:初始化学生网络模型参数w(0)和老师网络模型参数θ(0)

学生网络指在训练数据集d上希望学习得到的分类器f(x;w),其可以是任何形式的机器学习模型,在这里设置为目前复杂分类问题常用的深度网络模型;老师网络试图通过元学习的学习方式,自动学习加权函数的参数,避免手动设计加权函数和参数预设的问题。不同于当前元学习中元学习器需要较为复杂的结构,这里的老师网络(元学习器)结构要求十分简单,一般取包含100个节点的单隐层mlp网络,即1-100-1的结构。每个隐层节点的激活函数设置为relu函数,输出节点的激活函数设置为sigmoid函数,以保证输出范围在[0,1]之间。

为获取最优的网络参数w*,一般在训练数据集d上极小化期望损失函数l是一般的分类损失,例如交叉熵损失。为了记号简便,记当训练集的标签包含噪音,通过对每个数据样本嵌入加权函数此时学生网络的最优参数可通过极小化下面的加权损失获得:

对于老师网络假定存在少量无偏的元数据集则最优的参数θ*可通过在元数据集上极小化以下元损失函数获得:

其中

步骤s3:分别从训练数据d和元数据集随机选取mini-batch数据样本:sampleminibatch(d;n)和

学生网络和老师网络通过随机梯度下降进行更新,在每步迭代过程中,从总的训练数据里面随机选取mini-batch的数据样本进行学习。

步骤s4:利用sampleminibatch(d;n)使用随机梯度下降策略,获得学生网络参数更新函数公式;

为了更新学生网络,需要计算公式(1)的梯度,然后通过梯度下降策略改善学生网络。当使用随机梯度下降策略,且每次迭代选取mini-batch训练数据样本{(xi,yi),1≤i≤n},n<<n时,可得到以下学生网络参数更新函数公式(以老师网络参数θ为自变量):

其中α是步长。

步骤s5:利用使用随机梯度下降策略,更新老师网络参数;

为了更新老师网络,当老师网络接收到学生网络的更新参数通过计算(2)的梯度,然后通过梯度下降策略改善老师网络。当使用随机梯度下降时,每次迭代选取mini-batch训练数据样本1≤i≤m},此时老师网络参数更新为:

其中β是步长。

步骤s6:根据老师网络输出的权值,重新利用sampleminibatch(d;n),利用学生网络参数更新函数公式,更新学生网络参数;

更新的老师网络输出的权重传输到公式(3),用来矫正梯度更新学生网络参数:

公式(3)(5)可以直接通过自动可微的技术计算,公式(4)的计算可以根据如下推导:

其中,

将公式(6)(7)带入(4),可以得到老师网络参数更新为:

对于公式(8)所述的更新网络参数,梯度包含两部分:其中可以直接利用自动求导技术计算。对于如果学生网络是传统的分类器,如svm等,可以直接计算;如果是深度网络,可以采用如下的方法近似计算。具体地,考虑如下损失函数:

其中,∈=(∈1,∈2,…,∈n)是扰动变量,则对w进行一步梯度更新有:

同样的,最优的∈可以通过极小化下面的损失函数:

进行如下推导,有:

公式(14)可以通过对公式(11)对∈j进行一步梯度更新得到:

其中,γ是下降步长。所以,本发明有以下近似计算:

利用公式(16)用近似逼近在实践中,需要对一个训练batch里的数据样本进行归一化,即要求||u||1=1,这样可以对学习率的设定进行固定:

其中,如果a=0,δ(a)=τ,τ是一个大于0的常数;否则,δ(a)=0。

步骤s7:重复步骤s3-s6,当迭代次数大于t停机,输出学生网络及参数。

在本发明的前两个实例试图验证针对不同的噪音类型下噪音水平对本发明设计的算法的影响及性能的优越性。

在本发明的一个实施例中,数据集选取cifar-10和cifar-100,其中训练数据集选取的各个数据集的训练集部分,元数据集从各个数据集的验证集中选取1000个样本(下同)。学生网络使用wideresnet-28-10(wrn-28-10)网络。采用随机梯度下降(sgd)训练学生网络,设置sgd的momentum为0.9,权重衰减系数为10-4,初始学习率为0.1,总迭代步数为20k,在迭代步数为18k和19k学习率分别除以10.basemodel表示直接将学生网络在噪音标记的训练数据集上训练,fine-tuning表示将basemodel在干净的元数据集上微调,self-paced表示传统的样本重加权方法,mentornet和l2rw表示利用元学习的样本重加权方法(下同),利用本发明算法在uniformnoise(选取噪音比率的样本,将其样本标记均匀打乱到所有的类标记)上的性能表现(在测试集上的准确率)如图2所示(噪音水平设置为0%,40%,60%),可以看出本发明的技术对噪音的鲁棒性强于对比的方法,即随着噪音水平的增加,在测试集上的准确率下降的最少;并且本发明的技术达到了最好的性能。

在本发明的第二个实施例中,数据集选取cifar-10和cifar-100(同上),学生网络使用resnet2网络。采用随机梯度下降(sgd)训练学生网络,设置sgd的momentum为0.9,权重衰减系数为10-4,初始学习率为0.1,总迭代步数为30k,在迭代步数为20k和25k学习率分别除以10.利用本发明算法在flipnoise(选取噪音比率的样本,将其样本标记打乱到指定的类标记)上的性能表现如图3所示(噪音水平设置为0%,40%,60%),可以看出本发明的技术对噪音的鲁棒性强于对比的方法,即随着噪音水平的增加,在测试集上的准确率下降的最少;并且本发明的技术达到了最好的性能。

在本发明的第三个实施例中,主要验证本发明设计的算法对拟合噪音的鲁棒性能力以及背后加权机制的理解。数据集选取cifar-10和cifar-100(同上),噪音水平取40%和60%,实验设置与第一个实验实例相同。利用本发明算法在uniformnoise上训练准确率和测试准确率随着迭代次数改变的曲线图如图4所示,可以看出basemode很容易过拟合到训练集的噪音数据,在算法第一次学习率降低时,其在测试集的准确率快速下降。而本发明设计的算法对训练数据的噪音数据具有较强的鲁棒性,其在测试集的准确率能够一直稳定。在uniformnoise上学习到的训练数据的样本权重分布如图5所示,可以看出老师网络(v-net)输出的权重倾向于对大的损失值产生小的权重,而对小的损失值产生大的权重,这个结果可以合理地解释为我们应该更加强调那些跟干净样本相似的高置信样本,而降低那些与干净样本差异较大样本的影响。

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