Transformer and set Trasformer

1.Transformer

在这里插入图片描述
在这里插入图片描述

  • multihead attention block: M A B ( X , Y ) = L a y e r N o r m ( H + r F F ( H ) ) H = L a y e r N o r m ( X + m u l t i h e a d ( X , Y , Y ; ω ) MAB(X,Y)=LayerNorm(H+rFF(H))\\ H=LayerNorm(X+multihead(X,Y,Y;\omega) MAB(X,Y)=LayerNorm(H+rFF(H))H=LayerNorm(X+multihead(X,Y,Y;ω)
    * Attention: A t t ( Q , K , V l ; ω ) = ω ( Q K T ) V Att(Q,K,Vl;\omega)=\omega(QK^T)V Att(Q,K,Vl;ω)=ω(QKT)V
    * multi: m u l t i h e a d ( Q , K , V ; λ , ω ) = c o n c a t ( O 1 , . . . , O h ) W O multihead(Q,K,V;\lambda,\omega)=concat(O_1,...,O_h)W^O multihead(Q,K,V;λ,ω)=concat(O1,...,Oh)WO

  • self-attention

    • self-attention: Q = W q x ; K = W k x ; V = W v x Q=W_qx;K=W_kx;V=W_vx Q=Wqx;K=Wkx;V=Wvx
  • Mask:解码第i个单词,只知道第i-1及之前的信息,然后与self-attention 一致

    • 被mask的为1:因为att+softmax之后会变成0
      在这里插入图片描述
  • encoder-decorder Attention

    • K,V使用encoder,Q用上一层的输出
  • 除根号:
    在这里插入图片描述
    在这里插入图片描述

1.1 PE

在这里插入图片描述

1.2优点

  • 并行
  • 无PE则是词袋模型
  • 重点self-attention

set transformer

1.1 19年ICML::Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks

  • problem:set-input
  • 需求:
    • 排列不变性
    • 可输入任意尺寸集合
  • 与transformer区别:
    • 不输入PE
    • decoder第一个self-attention改为:pooling
  • 公式
    • S A B ( X ) = M A B ( X , X ) SAB(X)=MAB(X,X) SAB(X)=MAB(X,X)–说是set attention实际是self-attention?$
      • 时间复杂度O(n^2)$
    • 改进,降低空间复杂度 I S A B ( X ) = M A B ( X , H ) ∈ R n × d w h e r e H = M A B ( I , X ) ∈ R m × d , I 是 可 训 练 参 数 ISAB(X)=MAB(X,H)\in R^{n\times d}\\ where H=MAB(I,X)\in R^{m\times d},I是可训练参数 ISAB(X)=MAB(X,H)Rn×dwhereH=MAB(I,X)Rm×d,I
      • 时间复杂度 O ( m n ) O(mn) O(mn)
      • 降维了大概
    • Pooling,可训练的: P M A k ( Z ) = M A B ( S , r F F ( Z ) ) , S ∈ R k × d , Z 是 e n c o d e r 的 输 出 PMA_k(Z)=MAB(S,rFF(Z)),S\in R^{k\times d},Z是encoder的输出 PMAk(Z)=MAB(S,rFF(Z))SRk×d,Zencoder

1.2 pool:另一种pool的方式

  • code
  • ICLR2020: FSPOOL: LEARNING SET REPRESENTATIONS WITH FEATUREWISE SORT POOLING
  • loss:排序后可用 MSE

1.2.1集合输出的损失函数

  • 都具有排列不变性
  • O ( n 3 ) O(n^3) O(n3)的匈牙利算法:找最优匹配
    • Joint Entity and Relation Extraction with Set Prediction Networks用的也是这个?
      在这里插入图片描述
  • O(n^2):找最像的
    在这里插入图片描述

1.2.2排序使得模型具备排列不变性:feature sort pooling

  • 先对每一维度的特征排序,将排序后的特征加权求和。
  • 排序后就无需再计算loss前进行分配,而分配的复杂度高
  • why 按行排序???为什么不对object排序??
  • 因为这样可以忽略object的个数问题。
1.2.2.1 fixed-size sets
  • 先按行排序(对特征排序),这样每一列不能单独代表一个object,但是特征是解耦的,所以排序不会丢失信息
    • 排序不可微分,但可以梯度反传(像最大池化一样)

在这里插入图片描述在这里插入图片描述

1.2.2.2 VARIABLE-SIZE SETS

在这里插入图片描述

  • W:是个固定长度的向量
    在这里插入图片描述
    在这里插入图片描述
1.2.3 decoder
  • 自编码器,使用逆排序对齐x
  • loss

1.2 对抗学习的set transformer:loss

参考

【1】transformer
【2】set transformer
【3】fs pool

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值