zoukankan      html  css  js  c++  java
  • Temporal Ensembling for Semi-Supervised Learning

    Laine, Samuli, and Timo Aila. "Temporal Ensembling for Semi-Supervised Learning." arXiv preprint arXiv:1610.02242 (2016).

    这篇论文投在ICLR 2017上:https://openreview.net/forum?id=BJ6oOfqge&noteId=BJ6oOfqge

    Github: https://github.com/smlaine2/tempens

    这篇论文提出了利用ensembling(组合)的方法来完成半监督学习(semi-supervised learning)的任务。

    模型:

    作者提出了两个模型:,暂且翻译为 双模型 和 时序组合模型

    首先介绍 双模型:

    作者让同一个图片输入网络两次,由于有一些随机的因素(dropout, augmentation等),会使得两次的隐藏层的输出(也就是z)会不一样,作者把两个不同的z做差,然后求l2,作为loss的一部分,当然loss的另一部分就是那些有标签数据的交叉熵(cross entropy)。另外,由于模型最开始时是很不准确的,所以产生的z可能没有多大意义,所以需要先对有label的数据进行训练,也就是需要把两次不同的z比较的loss进行屏蔽。作者这里设置了一个随时间变化的变量w(t),在t=0时,设置w(t)为0,也是z比较的loss权重为0,然后w(t)随着时间增大而增大。

     然后介绍时序组合模型:

    时序组合模型和双模型的不同点在于,比较的z来源不同。在双模型中,两个z都是来自同一迭代时间内产生的两次结果。但在时序组合模型中,一个z来自上次迭代周期产生的结果,一个z来自当前迭代时间内产生的结果,也就是比较了两次不同时间内产生的z。在时序组合模型中,由于一次迭代期间内,只用产生一次z,那么相比于双模型,它就有了两倍的加速。作者在论文中说,他们使用的以前的z,并不是恰恰上次迭代的z,而是历史z的加权和,即(这个看着和reinforcement learning 中的reward的更新类似)。这样做的好处是能够保留历史信息,衰减长远历史信息和稳定当前值。

     

    实验:

    作者做了半监督学习和监督学习的实验,都取得了不错的效果。作者还说他们的这个模型具有鲁棒性,也就是对错标的数据有一定的容忍性。

    评语:方法简单实用

  • 相关阅读:
    EasyUI:Easyui parser的用法
    解决ajax 遇到session失效后自动跳转的问题
    PHP 解决同一个IP不同端口号session冲突的问题
    Linux 使用crontab定时备份Mysql数据库
    Easyui validatebox后台服务端验证
    window之间、iframe之间的JS通信
    Nginx和Apache服务器上配置反向代理
    Linux下安装并配置SSH服务
    Mac下载Navicat premium提示文件损坏的解决方案
    优酷项目整体架构
  • 原文地址:https://www.cnblogs.com/huangshiyu13/p/6634215.html
Copyright © 2011-2022 走看看