周报2022-8-4

周报2022-8-4

一、MoE(Mixture of Experts)相关论文

Adaptive mixtures of local experts, Neural Computation’1991

  • 参考:https://zhuanlan.zhihu.com/p/542465517
  • 期刊/会议:Neural Computation (1991)
  • 论文链接:https://readpaper.com/paper/2150884987
  • 代表性作者:Michael Jordan, Geoffrey Hinton
  • Main Idea:
      提出了一种新的监督学习过程,一个系统中包含多个分开的网络,每个网络去处理全部训练样本的一个子集。这种方式可以看做是把多层网络进行了模块化的转换。
      假设我们已经知道数据集中存在一些天然的子集(比如来自不同的domain,不同的topic),那么用单个模型去学习,就会受到很多干扰(interference),导致学习很慢、泛化困难。这时,我们可以使用多个模型(即专家,expert)去学习,使用一个门网络(gating network)来决定每个数据应该被哪个模型去训练,这样就可以减轻不同类型样本之间的干扰。
      其实这种做法,也不是该论文第一次提出的,更早就有人提出过类似的方法。对于一个样本c,第i个 expert 的输出为 o i c o_i^c oic理想的输出是 d c d^c dc,那么损失函数就这么计算:
    在这里插入图片描述
      其中 p i c p_i^c pic是 gating network 分配给每个 expert 的权重,相当于多个 expert 齐心协力来得到当前样本 c c c的输出。
    这是一个很自然的设计方式,但是存在一个问题——不同的 expert 之间的互相影响会非常大,一个expert的参数改变了,其他的都会跟着改变,即所谓牵一发而动全身。这样的设计,最终的结果就是一个样本会使用很多的expert来处理。于是,这篇文章设计了一种新的方式,调整了一下loss的设计,来鼓励不同的expert之间进行竞争:
    在这里插入图片描述
    就是让不同的 expert 单独计算 loss,然后在加权求和得到总体的 loss。这样的话,每个专家,都有独立判断的能力,而不用依靠其他的 expert 来一起得到预测结果。下面是一个示意图:
    在这里插入图片描述
    在这种设计下,我们将 experts 和 gating network 一起进行训练,最终的系统就会倾向于让一个 expert 去处理一个样本。
    上面的两个 loss function,其实长得非常像,但是一个是鼓励合作,一个是鼓励竞争。这一点还是挺启发人的。
    论文还提到另外一个很启发人的 trick,就是上面那个损失函数,作者在实际做实验的时候,用了一个变体,使得效果更好:
    在这里插入图片描述
    对比一下可以看出,在计算每个 expert 的损失之后,先把它给指数化了再进行加权求和,最后取了log。这也是一个我们在论文中经常见到的技巧。这样做有什么好处呢,我们可以对比一下二者在反向传播的时候有什么样的效果,使用 E c E^c Ec对第 i i i个 expert 的输出求导,分别得到:
    在这里插入图片描述
    可以看到,前者的导数,只会跟当前 expert 有关,但后者则还考虑其他 experts 跟当前 sample c的匹配程度。换句话说,如果当前 sample 跟其他的 experts 也比较匹配,那么 E c E^c Ec对 第 i i i个 expert 的输出的导数也会相对更小一下。(其实看这个公式,跟我们现在遍地的对比学习loss真的很像!很多道理都是相通的)

在这里插入图片描述

二、Perceiver相关

在这里插入图片描述

optical flow

在这里插入图片描述

  • Task definition:Transfer
  • Problem: No large-scale realistic training data!
  • Typical protocol:
        - Train on highly synthetic scenes(AutoFlow)
        - Transfer to more realistic scenes(Sintel,KITTI)

三、多模态ViLT

特色:多模态论文,去除掉目标检测领域的Region Feature。在ViT之前,针对图像像素的处理,VLP主要选择目标检测器,使密集的图像像素生成为特征性强、离散化的表示。ViLT核心思路为参考ViT,将图像划分为patch,通过线性映射的方式将patch转换为embedding,避免繁琐的图像特征抽取的过程。
在这里插入图片描述

  • ViLT is the simplest architecture by far for a vision-and-language model as it commissions the transformer module to extract and process visual features in place of a separate deep visual embedder. This design inherently leads to significant runtime and parameter efficiency.
  • For the first time, we achieve competent performance on vision-and-language tasks without using region features or deep convolutional visual embedders in general.
  • Also, for the first time, we empirically show that whole word masking and image augmentations that were unprecedented in VLP training schemes further drive downstream performance.
    在这里插入图片描述
    多模态需要保持文本和图像的匹配。所以在进行图像和文本的数据增强时,需要保持一致。

建议:读近期论文future work看是否有坑可以填。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值