迁移学习《Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Network

Posted Blair

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迁移学习《Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Network相关的知识,希望对你有一定的参考价值。

论文信息

论文标题:Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks
论文作者:Dong-Hyun Lee
论文来源:2013——ICML
论文地址:download 
论文代码:download
视屏讲解:click

1 介绍

   本文提出了一种简单有效的深度神经网络半监督学习方法。本文所提出的网络是在监督方式下同时使用标记和未标记数据进行训练。对于未标记数据,$\\textPseudo-Label$ 是选择具有最大预测概率的类,假设他们形如真实标签。

  伪标签等同于熵正则化,它有利于类之间的低密度分离,这是半监督学习通常假设的先验。

2 方法

  $\\textPseudo-Label$ 模型作为一个简单、有效的半监督学习方法早在 2013年就被提出,其核心思想包括两步:

    • 第一步:运用训练好的模型给予无标签数据一个伪标签,可以用概率最高的类别作为无标签数据的伪标签;
    • 第二步:运用 $\\textentropy regularization$ 思想,将无监督数据转为目标函数(Loss)的正则项。实际中,就是将拥有伪标签的无标签数据视为有标签的数据,然后用交叉熵来评估误差大小;

  目标函数:

    $L=\\frac1n \\sum_m=1^n \\sum_i=1^C L\\left(y_i^m, f_i^m\\right)+\\alpha(t) \\frac1n^\\prime \\sum_m=1^n^\\prime \\sum_i=1^C L\\left(y_i^\\prime m, f_i^\\prime m\\right)$

  其中,左边第一项为交叉熵,用来评估有标签数据的误差。第二项即为 $\\textentropy regularization$ 项,用来从无标签的数据中获取训练信号;

  为了平衡有标签数据和无标签数据的信号强度,引入时变参数 $\\alpha(t)$,随着训练时间的增加,$\\alpha(t)$ 将会从零开始线性增长至某个饱和值。背后的核心想法也很直观,早期模型预测效果不佳,因此 $\\textentropy regularization$ 产生信号的误差也较大,因而 $\\alpha(t)$ 应该从零开始,由小逐渐增大;

     $\\alpha(t)=\\left\\\\beginarrayll0 & t<T_1 \\\\\\fract-T_1T_2-T_1 \\alpha_f & T_1 \\leq t<T_2 \\\\\\alpha_f & T_2 \\leq t\\endarray\\right.$

   其中,$\\alpha_f=3$、$T_1=100$、$T_2=600$。

3 为什么伪标签有效

低密度分离

  聚类假设指出决策边界应位于低密度区域以提高泛化性能。

 熵正则化

  该方案通过最小化未标记数据的类概率的条件熵来支持类之间的低密度分离,而无需对密度进行任何建模。

    $H\\left(y \\mid x^\\prime\\right)=-\\frac1n^\\prime \\sum_m=1^n^\\prime \\sum_i=1^C P\\left(y_i^m=1 \\mid x^\\prime m\\right) \\log P\\left(y_i^m=1 \\mid x^\\prime m\\right)$

  熵是类重叠的量度,随着类别重叠的减少,决策边界处的数据点密度会降低。

使用伪标签作为熵正则化进行训练

  可视化结果:
  

  在使用神经网络进行分类时, $y^u=f_\\theta^*^*\\left(x^u\\right)$ , 其中 $y_u$ 是 one-hot 编码。现在我们并不限制其必须是某个类 别, 而是将其看做1个分布, 我们希望这个分布越集中越好("非黑即白"), 因为分布越集中时它的含义就是样本 $x^u$ 属于某类别的概率很大属于其它类别的概率很小。
我们可以使用 Entropy 评估分布 $ y^\\mu$ 的集中程度 $ E\\left(y^\\mu\\right)=-\\sum_m=1^5 y_m^\\mu \\ln \\left(y_m^\\mu\\right)$ , 假设是5分类, 其值越小则表示分布 $ y^\\mu$ 越集中。

  如下图左侧所示, 上面两个的 $E$为 0 , 所以  $\\mathrmy$  的分布很集中; 最后一个  $\\mathrmE=1 / 5 $, 比上面两个大, 我们 只管也可以看出, 他的分布不那么集中。

    

 

参考

python 信息熵(含联合熵、条件熵)

Sebastian Ruder : NLP 领域知名博主博士论文面向自然语言处理的神经网络迁移学习

Sebastian Ruder 博士的答辩 PPT《Neural Transfer Learning for Natural Language Processing》介绍了面向自然语言的迁移学习的动机、研究现状、缺陷以及自己的工作。

Sebastian Ruder 博士在 PPT 中阐述了使用迁移学习的动机:

state-of-the-art 的有监督学习算法比较脆弱:

易受到对抗样本的影响

易受到噪音数据的影响

易受到释义的影响

现实中的自然语言处理面临着多领域、多语种上的多种类型的任务,为每个任务都单独进行数据标注是不大可行的,而迁移学习可以将学习的知识迁移到相关的场景下

许多基础的前沿的 NLP 技术都可以被看成是迁移学习:

潜在语义分析 (Latent semantic analysis)

Brown clusters

预训练词向量(Pretrained word embeddings)

已有的迁移学习方法往往有着下面的局限性:

过度约束:预定义的相似度指标,硬参数共享

设置定制化:在一个任务上进行评价,任务级别的共享策略

弱 baseline:缺少和传统方法的对比

脆弱:在领域外表现很差,依赖语种、任务的相似性

低效:需要更多的参数、时间和样本

因此,作者认为研究迁移学习需要解决下面的这些问题:

克服源和目标之间的差距

引起归纳偏置

结合传统和现有的方法

在 NLP 任务中跨层次迁移

泛化设置

作者围绕迁移学习做了 4 个方面的工作:

领域适应(Domain Adaption)

跨语种学习(Cross-lingual learning)

多任务学习(Multi-task learning)

序列迁移学习(Sequential transfer learning)

具体内容可在 Sebastian Ruder 博士的完整答辩 PPT 中查看。

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

以上是关于迁移学习《Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Network的主要内容,如果未能解决你的问题,请参考以下文章

报错 raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc)

迁移学习

Sebastian Ruder : NLP 领域知名博主博士论文面向自然语言处理的神经网络迁移学习

迁移学习《mixup: Beyond Empirical Risk Minimization》

PyTorch基础——迁移学习

CVPR 2018Domain Adaptive Faster R-CNN for Object Detection in the Wild