首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学习无监督学习规则

论文分享

作者:陈禹

编辑整理:萝卜兔

无监督学习的主要目标之一是在没有训练标签的情况下,发现对后续任务有用的数据表示。最小化代理损失函数是实现这个目标的典型方法,如,生成模型的负对数似然。本文提出通过元学习(meta-learning)直接针对后续期望任务学习一个无监督学习规则,使通过该规则学到的数据表示对任务有用。期望任务(元目标)即是数据表示在半监督分类上执行,通过元学习得到一个算法,该算法能产生在这个元目标(meta-objective)上效果良好的数据表示。

元学习

大部分元学习算法由两个级别的循环组成,内部循环:包含某些形式的学习过程,如,优化过程;外部循环:元学习循环,改变元参数以优化内部循环的某些方面。我们称内部循环某些方面通过外部循环的元参数(meta-parameters)改变。内部循环的计算表现通过元目标(meta-objective)来量化。之后元优化(meta-objective)调整元参数使得内部循环在元目标上更好的执行。元学习方法由这两部分组成,计算执行在内部循环(主要领域),和外部循环优化,选择元参数,如图1。

图1

模型设计

我们考虑带参数Φt的多层感知机f(;Φt)作为基本模型。元学习的内部循环通过我们学习到的优化器来执行基本模型的训练。在标准的监督学习中,“学习到的”优化器通常为SGD。一个监督损失L(x,y)被关联到这个模型,x为最小批量输入,y为对应标签。

基本模型的参数Φt通过执行SGD被迭代地更新。监督更新规则能被写为Φt+1=SupervisedUpdate(Φt,xt,yt,Ɵ)。Ɵ为优化器的元参数,通常由超参数组成,如学习率和动量。

本文中,我们的学习优化器是一个参数更新过程,这个过程不依赖标签信息Φt+1=UnsupervisedUpdate(Φt,xt,Ɵ)。这个更新规则的形式是通用的。

在传统无监督学习中,专家知识或简单超参数搜索来决定Ɵ通常需要手工的元参数,如学习率和正则化常量。相比之下,我们的更新规则由更多数量级的元参数,包括神经网络的权重。我们通过在元目标的和上执行SGD来训练元参数,以找到最优的Ɵ*。

以最小化在训练任务集合上的元目标。

基本模型

我们的基本模型由标准的多层感知机组成,包含batch norm,ReLU。记前非线性激活z1,...,zL,和后非线性激活x,...,xL,L是总层数,x=x是网络原始输入。参数Φ={W1,b1,V1,...,WL,bL,VL},W1和b1为l层的权重和偏置,V1为对应反向传播的权重。

学习的更新规则

UnsupervisedUpdate(;Ɵ)

为了建立更新,在基本模型中每一层l的每一个神经i都有一个输出hil(;Φ)。所有的更新网络共享元参数Φ,并且hil只在无监督训练阶段评估。评估每一批数据的单元激活统计量在监督学习中被证明有帮助,同时在手工设计的无监督学习中也被证明。因此我们在每一个训练批次中让hil积累统计量。

在一个无监督训练步中,基本模型首先运行一个标准前向传播,得到xibl,zibl,b是训练批次的索引。在一个监督学习中,误差的信号δibl通过网络被反向传播。不像监督学习,这里的误差信号由对应的更新网络生成,对于每个单元δiblhil(;Φ),并且反向传播使用一套学得的“反向权重”(VI)T,是前向权重转置的逆。

再次地,在监督学习中,权重更新是前后突触信号的乘积。与监督学习不同,这些信号通过更新网络生成:

更新网络的输入由每个单元的前后激活,及反向传递误差信号组成。更新网络的反向权重也被更新。

元目标MetaObjective(Φ)

元目标决定了无监督表示的质量,为了在SGD上元训练,损失函数必须可微。元目标是建立在对带有少量数据点的标记示例进行线性回归的基础上。为了鼓励特征学习具有良好的泛化能力,我们在一个有K个数据点的小批量{xa,ya}上评估线性回归权重,在第二个K个数据点的小批量{xb,yb}上评估分类效果。

ua,ub是基本模型从数据xa,xb中抽取的特征。

详细设计

a.) 元训练,元参数Φ通过元优化器(SGD)更新。

b.) 关于Ɵ的元目标梯度通过UnsupervisedUpdate对应任务在反向传播中计算。

c.) UnsupervisedUpdate使用小批量数据更新基本模型参数Φ。

d.) 每一个UnsapervisedUpdate应用都包含了通过基本模型的前向后向传播的计算。后向过程使用了从基本模型各层通过元学习函数得到的误差信号δ。

e.) 权重更新通过卷积网络计算,使用δ和x作为前后突出神经元。

实验结果

在数据集和领域上的泛化

我们在有少量类别的任务上比较性能,每个类别有10个样本,我们在14x14, 28x28两种分辨率下,分别评价了在MNIST和Fashion MNIST数据集上的测试表现。在相同基本模型结构下,我们学到的UnsupervisedUpdate比变分自编码器,有标签的监督学习,带训练读出层的随机初始化表现更好。

左图:学习到的UnsupervisedUpdate泛化到未见到的数据集。学到的更新规则产生的表示比随机初始化和变分自编码器更合适,超过完全监督学习,图中显示标准差。

右图:在元训练的早期,无监督的更新能够在双向文本分类数据集IMDB上学习有用的功能,尽管只从图像数据集进行训练。稍后在元训练中,由于域不匹配,性能下降。误差线显示10次运行的标准误差。

在网络结构上的泛化

本文用学到的优化器训练不同深度和不同单元数的模型,并在不同的点比较训练结果。我们发现尽管训练的网络从2层到5层,每层单元数从64到512,但学习规则泛化到11层,10000个单元每层。

上图:学得的UnsupervisedUpdate能够优化元训练机制外带有隐层尺寸和深度的基本模型。由于增加了每一层的单元数,学到的模型能够利用这种额外的能力。

下图:学到的UnsupervisedUpdate的使用多种没有在训练中见到的激活函数进行泛化。

参考链接:

https://arxiv.org/pdf/1804.00222.pdf

>

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190219A067WD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券