半监督学习算法——ATDA(Asymmetric Tri-training for Unsupervised Domain Adaptation)

Asymmetric Tri-training for Unsupervised Domain Adaptation (2017 ICML)论文笔记

  • Abstract

Tri-training(周志华,2005, 无监督学习领域最经典、知名度最高的做法)利用三个分类器按照“少数服从多数”的原则来为无标签的数据生成伪标签,但这种方法不适用于无标签的目标域与有标签的源数据不同的情况。

ATDA要解决的问题是:源数据有标签,目标域没有标签,目标域与源域属于不同的域,如何生成目标域的表达?

需要一个与Tri-training或者Co-training有所不同的非对称方法—>ATDA

核心: 非对称地使用三个神经网络,非对称的意思是说,与Tri-training不同,其中的两个来为无标签数据生成伪标签,还有一个来学习伪标签的特征表达。

  • Introduction

首先讲CNN的发展,但是这些神经网络面临一个必然的共同问题:当测试数据的分布和训练数据的分布相同时,神经网络表现优秀,但是神经网络在测试时并不能识别来自不同分布的样本。(因为传统的神经网络训练的本质就是在训练集上对目标进行拟合,这种问题是难免而且必然的)

过去的那些半监督学习方法旨在通过最小化域之间的差异以及源域上的category loss来获得域不变特征(domain-invariant features)。理论上,一般不存在在目标域与源域都表现好的分类器。直接对目标域的判别特征进行学习是很困难的,所以从伪标签学习入手。

本文针对无监督的域适应提出了一种Tri-train的方法。

  • Method & Core
    示意图
    方法架构图:
    在这里插入图片描述
    F为共享的特征抽取层,F1、F2为生成伪标签的两个分类器,Ft为学习目标域的特征表达的分类器。
    Loss Function:
    组成部分为(F1+F)与y的交叉熵,(F2+F)与y的交叉熵,为了保证两个分类器尽量从不同的视角来训练,加入正则项 W1T*W2,W1、W2为全链接层的权重。这个思想就是在优化Loss Function的过程中,用W1T*W2的大小进行约束,会让W1、W2尽量正交,收敛于不同的局部最小值
    在这里插入图片描述

训练过程

1.首先,用源数据S训练F1、F2、Ft,其中F1、F2的训练用上述的Loss Function,Ft用其与y的交叉熵(这里我的理解相当于一个初始化)。

2.训练完之后用F1、F2 为目标域生成伪标签,有两个条件,当两个分类器生成的标签一致的时候该标签成立,或者某一个分类器生成的标签的置信度大于一定的阈值如0.95时成立。其目的在于让生成的伪标签尽量真,分类器需要达到一定的置信度。为了缓和在伪标签上的过拟合的问题,其中用到了重采样等方法。生成伪标签的训练集。

  1. 用伪标签的训练集训练Ft。

整体训练过程如下:
在这里插入图片描述

扫描二维码关注公众号,回复: 3998435 查看本文章

猜你喜欢

转载自blog.csdn.net/Madazy/article/details/83821575