论文阅读:Temporal Ensembling for Semi-supervised Learning

论文的翻译就不放了,这里给出这篇论文的链接,大家感兴趣的可以去看原文。https://arxiv.org/abs/1610.02242

论文简介:这是半监督领域比较早的一篇论文,主要提出来了两个模型,一个是π model,一个是Temporal Ensembling。

体现的原则:一致性原则,就是模型对未标记数据的输出应该具有一致性的正则。是对伪标签那篇论文的拓展,与之前伪标签论文的区别是伪标签中第二项的loss是针对的无标签数据,而temporal ensembling是针对的全部数据

  • π model:
    基本思想:让模型对未标记数据进行两次预测,将两次预测的结果之间的均方误差作为无监督的loss损失。
    对于一个未标记的数据,由于随机的数据增强以及dropout等随机因素,两次预测的结果可能会不同,但是一个好的模型对于同一个数据的预测值应该是变化不大的(一致性原则),所以最小化均方误差作为无监督的损失项。对于标记数据使用交叉熵计算损失,总的损失是这两个损失的结合,权重w(t)
    π model的无监督代价是对同一个输入在不同的正则和数据增强的条件下的一致性,即要求在不同的条件下,模型的估计也近似一致,从而鼓励网络学习数据内在的不变性。缺点也很明显,每个迭代周期要对同一个输入在不同正则和数据增强的条件下预测两次,相对耗时。

  • Temporal Ensembling:
    temporal ensembling模型是对每一次迭代期的预测进行移动平均来构造更好的target然后用这个target来计算无监督的loss。然后更新网络。缺点是计算移动平均的target需要较多的空间,但是也可以收集其他的信息比如二阶原始距。此外, temporal ensembling还对标签噪声具有鲁棒性,即使有标签的数据有误,无监督的损失也可以去平滑这种错误标签的影响。
    模型只采取模型的一次预测作为重构项可能会有较大的误差,所以这个模型的特点是将多次的结果集成,作为重构的目标。

  • 总结一下二者的区别:
    在π model中,隐藏层的输出的两个z来自于同一个迭代产生的两次结果,但是在temporal ensembling中,一个z来自于上次迭代周期产生的结果,一个z来自于当前迭代周期产生的结果,也就是比较了两次不同时间产生的z。在论文中提到的,这个上次迭代产生的z,并不是仅仅包含上次的z,其实是历史z的一个加权和,这样能保存历史信息,衰减长远的历史信息保存稳定的当前值。具体的模型流程图如下所示:
    模型示意图

  • 分析一下两个模型的算法流程:
    π model的算法描述
    前面几行是关于算法的各种准备的符号说明,再补充一个C,代表类别的种类的个数。所以对每个batch B来说,首先是通过两次的dropout和增强得到两个隐藏层的输出z,然后计算loss,这里的loss分为监督学习部分的loss具体是交叉熵,针对的是带标签的数据,在无监督部分,针对的是全部的数据,使用的是均方误差。

temporal ensembling的算法描述
对于这个temporal ensembling来说,与前面模型的区别是首先计算损失的这里,与前面的πmodel相同,然后是获得z的方式,第一个获得zi的式子是通过增强输入获得一个zi,然后通过a去计算一个集成的预测结果,这里集成的是历次的结果,a是一个介于0-1之间的数值,用来衰减长远的历史信息保存稳定的当前值,其实就是乘了一个比例(我认为),然后再通过一个除法得到当前的一个target vector。

以上是我的理解,其中借鉴了多篇博客的内容,由于没有记录链接,所以希望原作者看到海涵!

半监督小白学习上路ing…O(∩_∩)O哈哈~

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Temporal Ensembling是一种半监督学习方法,它使用了时间上的一致性来提高模型的性能。该方法通过对未标记数据进行预测,并将预测结果与之前的预测结果进行平均,从而获得更加稳定和准确的预测结果。同时,该方法还使用了一个噪声注入技术来增加模型的鲁棒性。该方法已经在图像分类、语音识别等领域取得了很好的效果。 ### 回答2: Temporal Ensembling是一种半监督学习方法。它主要通过使用同一批数据的多个副本,在单批数据上进行迭代学习来提高预测模型的准确性。这种方法能够很好地利用已有数据中的潜在信息,同时也能避免因缺乏大量标注数据而损失准确性的问题。 Temporal Ensembling的核心思想是使用模型的历史预测结果来生成新的虚拟标签。在训练期间,模型不断地更新,同时不断生成新的“标注”,并将这些新的“标注”与原始标注数据一起训练。这样,模型可以从大量带有“标注”的数据中学习并逐渐提高其准确性。 Temporal Ensembling方法在许多学习任务中都展现出优良的性能,比如图像分类、物体识别、图像分割、语音识别等。其中,与其他半监督学习方法相比,Temporal Ensembling在半监督图像分类中的性能最为出色。 尽管Temporal Ensembling的性能非常出色,但是其中的一些问题仍需要解决。 首先,这种方法需要大量的GPU计算力和存储空间,并且需要复杂的算法设计。其次,由于该方法是基于生成虚拟标签的,因此,如果模型在未来预测错误而不正确地生成了虚拟标签,那么可能会产生负面影响。 总之,Temporal Ensembling是一种有效的半监督学习方法,其取得的结果显示出高水平的准确性。与其他方法相比,Temporal Ensembling具有更好的稳健性及效能。也因此,它在深度学习领域中被广泛应用。 ### 回答3: Temporal Ensembling是一种半监督学习技术,可以用于训练深度神经网络。该技术旨在利用未标记的数据来改善模型的泛化能力。在传统的监督学习中,我们需要分类器预测每个样本的标签,并将其与真实标签进行比较以计算损失函数。然而,在许多现实世界的场景中,标记数据的数量通常是有限的,这使得监督学习变得更加困难和昂贵。相反,在半监督学习中,我们将未标记的数据与标记数据结合在一起进行训练。 Temporal Ensembling的实现是基于一个假设,即相似的输入应该具有相似的潜在表示形式。具体来说,该技术通过在连续训练周期中收集了单次训练中的模型预测,通过将这些预测结果整合成一个移动平均版本来构建模型共识。这可以看作是把模型的预测提供给下一个周期的训练,让模型逐渐整合起来,在连续的训练周期中收集了对训练数据更准确的表示。在训练过程中,我们不仅使用真实标签来计算损失函数,还将平均预测意味着的交叉熵添加到损失函数中。这使得模型学习时能够尽可能地匹配模型共识中的数据。 虽然在许多情况下,半监督学习可以增加模型学习任务的效果,但它依赖于许多因素,包括未标记样本的数量、分布和标记样本之间的相似性。使用Temporal Ensembling时,需要做好降噪处理,适当选择数据能够真正提高该技术效果。此外,需要注意的是,Temporal Ensembling只能在没有过度拟合数据集时才能有效,因为此技术基于模型共识构建。在实际应用中,可以将Temporal Ensembling与其他半监督学习技术结合使用,以提高模型性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值