论文阅读笔记《Meta-learning with Latent Embedding Optimization》

小样本学习&元学习经典论文整理||持续更新

核心思想

  本文提出一种基于参数优化的小样本学习算法(LEO),与MAML,Meta-SGD算法相比,本文最重要的改进就是引入了一个低维的隐空间(Latent Space)。为了方便理解本文,我们首先回顾一下MAML算法,其目标是通过元训练得到一个好的初始化模型 θ \theta θ,使得模型能够通过少量样本的微调训练就能快速的适应任务需求,得到任务 T i \mathcal{T}_i Ti对应的模型参数 θ i ′ \theta_i' θi。为了实现这一目标,MAML算法通过两个层次的训练,内层循环(inner loop)是由一个随机初始化的 θ \theta θ开始,为每个任务 T i \mathcal{T}_i Ti都更新得到一个参数 θ i ′ \theta_i' θi,更新过程如下
在这里插入图片描述
完成一个内层循环后,能够获得若干个任务对应的模型参数 θ i ′ \theta_i' θi,然后再对初始化参数 θ \theta θ进行更新(外层循环,outer loop),更新过程如下
在这里插入图片描述
经过多次内外循环迭代后,得到最终模型参数 θ \theta θ。值得注意的是,这一系列的更新过程,都是在模型的参数空间 Θ \Theta Θ中进行的,这是一个巨大的高维空间,包含了整个模型的所有参数。此外每个任务对应的模型参数 θ i ′ \theta_i' θi都是一个实例化的模型(假设模型是一个卷积神经网络,我们知道这个模型的每个卷积核中的每个权重参数,就是得到了一个实例化模型,并且对于每个任务我们都有相对应的实例化模型)。
  了解了MAML后,我们再来看看本文LEO做了那些改进,算法流程如下图所示
在这里插入图片描述
可以看到本文首先利用一个编码器 ϕ e \phi_e ϕe和关系网络 ϕ r \phi_r ϕr将元训练集中的样本 x n k x_n^k xnk投影到一个低维的隐空间 z \mathbf{z} z中,得到每个任务对应的隐向量 z ′ z' z,然后再利用解码器 ϕ d \phi_d ϕd将隐向量 z ′ z' z转化为高维的模型参数 θ i ′ \theta_i' θi,用于类别预测并计算损失。在内层循环中,不再直接对模型参数 θ i ′ \theta_i' θi进行更新,而是对隐向量 z ′ z' z进行更新,更新过程如下
在这里插入图片描述
完成一个内层循环后,同样可以获得多个任务对应的模型参数 θ i ′ \theta_i' θi,然后在外层循环中,对编码器 ϕ e \phi_e ϕe,关系网络 ϕ r \phi_r ϕr,解码器 ϕ d \phi_d ϕd和学习率 α \alpha α等参数进行更新,更新过程如下
在这里插入图片描述
  LEO算法的整体思路已经明确了,下面我们具体介绍下编码器 ϕ e \phi_e ϕe,关系网络 ϕ r \phi_r ϕr和解码器 ϕ d \phi_d ϕd是怎样实现的。其中编码器 ϕ e \phi_e ϕe比较简单就是一个常规的特征提取网络,将输入的样本投影到一个编码空间中。对于任务 T i \mathcal{T}_i Ti,其包含 N N N各类别,每个类别包含 K K K个样本,因此经过编码后能够得到 N K NK NK个编码(特征向量),将所有的编码,两两配对级联起来,可以得到 ( N K ) 2 (NK)^2 (NK)2组编码,将其输入到关系网络 ϕ r \phi_r ϕr中,并将输出的参数按照类别进行分组,每组再求平均值,得到 N N N个类别对应的输出结果,计算过程如下
在这里插入图片描述
可以看到关系网络输出的参数其实是一个多维高斯混合分布的均值 μ n e \mu_n^e μne和方差 σ n e \sigma_n^e σne,共有 2 × N 2\times N 2×N个参数,然后在这个分布中进行采样,得到每个类别对应的隐向量 z n z_n zn。将隐变量 z n z_n zn输入到解码器中,得到另一个多维高斯混合分布的均值 μ n d \mu_n^d μnd和方差 σ n d \sigma_n^d σnd,从中采样得到模型参数权重 w n w_n wn,计算过程如下
在这里插入图片描述
本文中的模型就是一个 N N N维的softmax分类器,所以模型参数 θ i ′ = { w n ∣ n = 1 , . . . , N } \theta_i'=\left \{w_n|n=1,...,N\right \} θi={wnn=1,...,N},因此得到了 w n w_n wn就得到了模型参数 θ i ′ \theta_i' θi。但是与MAML得到的实例化模型不同,本文得到的其实是一个条件概率分布,并从中随机采样得到每个任务对应的模型参数 θ i ′ \theta_i' θi

实现过程

网络结构

  分类器,编码器,关系网络,解码器均采用3层MLP。

损失函数

  内存循环采用交叉熵损失函数,计算过程如下
在这里插入图片描述
外层循环采用的损失函数包含四个部分,计算过程如下
在这里插入图片描述
第一项 L T i v a l \mathcal{L}_{\mathcal{T}_i}^{val} LTival仍采用交叉熵损失函数;第二项是一个加权KL散度,其中 p ( z n ) ∼ N ( 0 , I ) p(z_n)\sim N(0,I) p(zn)N(0,I)是一个标准正态分布,这一项是用于正则化隐空间,鼓励生成模型(解码器)通过去除隐空间中梯度维度之间的联系,来简化LEO的内层循环更新过程;第三项的目的是为了鼓励编码器和关系网络生成的参数初始化尽可能地接近适当的编码,这将降低自适应过程的负担;最后一项是一个L2正则化损失项,计算过程如下
在这里插入图片描述

训练策略

  算法的训练过程如下
在这里插入图片描述

算法推广

  与MAML一样,本文的算法也可以引入到其他领域如强化学习,NLP等,但本文没有做进一步的探讨。

创新点

  • 在MAML的基础上,引入了隐空间,并且在隐空间内实现参数的内层循环更新
  • 不是直接利用编码器或解码器得到对应的隐变量或模型权重参数,而是得到一个条件概率分布,通过随机采样的方式,来间接的获得参数

算法评价

  本文是在MAML的基础上进一步进行研究,首先对每一个新任务的模型进行参数初始化时,其参数都是采样自一个与训练数据相关的条件概率分布( w n w_n wn采样自条件概率分布 p ( w ∣ z n ) p(w|z_n) p(wzn),而 z n z_n zn又是采样自 p ( z ∣ D n t r ) p(z|\mathcal{D}^{tr}_n) p(zDntr)),因此每个任务模型的起点都是与任务相关的,这有利于自适应更新过程。其次,利用关系网络能够更好地考虑到所有输入数据的之间关系。然后,在低维的隐空间内进行参数更新,这种方式能更有效地适应模型的行为。最后,通过随机采样的方式获取模型参数,这使得整个过程都是随机的,能够表达出小样本条件下的不确定性。

如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。在这里插入图片描述

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Stable-Diffusion是一种用于图像生成、插值和修复的深度学习模型。其中,Latent Diffusion是Stable-Diffusion模型的一部分,用于对图像的低维表示进行扰动和采样,从而实现图像生成和插值。 具体来说,Latent Diffusion是一种基于扰动的采样方法,用于对图像的低维表示进行采样。在Latent Diffusion中,我们将原始的低维向量表示视为一个潜在状态,然后对这个潜在状态进行扰动,得到一系列新的潜在状态。接着,我们可以使用这些新的潜在状态来生成新的图像。 Latent Diffusion的作用是实现对图像低维表示的随机采样,从而实现图像生成和插值。通过对低维表示进行扰动,我们可以生成出多个不同的潜在状态,从而实现多样化的图像生成和插值。此外,Latent Diffusion还可以应用于图像修复,例如在图像中添加噪声或遮挡时,我们可以使用Latent Diffusion来恢复原始图像。 举个例子,假设我们想要生成一张全新的室内场景图像,我们可以使用Stable-Diffusion模型和Latent Diffusion来实现。首先,我们可以使用训练好的Stable-Diffusion模型生成一个初始的低维向量表示,并对这个低维向量表示进行扰动,得到一系列新的低维向量表示。接下来,我们可以使用Autoencoder模型对这些新的低维向量表示进行解码,生成一系列新的室内场景图像。这样,我们就可以生成出多样化的、具有室内场景特征的图像。同时,我们也可以使用Latent Diffusion来实现图像插值,例如将两个不同的低维向量表示进行线性插值,得到两张室内场景图像之间的中间图像。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深视

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值