计算机视觉"新"范式:Transformer | NLP和CV能用同一种范式来表达吗?( 五 )


经过上面的解释 , 我们知道 和 的点乘是为了得到一个attention score 矩阵 , 用来对 进行提炼 。和 使用不同的 , 来计算 , 可以理解为是在不同空间上的投影 。
正因为有了这种不同空间的投影 , 增加了表达能力 , 这样计算得到的attention score矩阵的泛化能力更高 。
这里解释下我理解的泛化能力 , 因为 和 使用了不同的 , 来计算 , 得到的也是两个完全不同的矩阵 , 所以表达能力更强 。
但是如果不用, 直接拿 和 点乘的话 , attention score 矩阵是一个对称矩阵 , 所以泛化能力很差 , 这个矩阵对 进行提炼 , 效果会变差 。
详细分析可以看链接文章
如何Position Embedding更好?
目前还是一个开放问题 , 知乎上有一些优质的讨论 , 详细分析可以看链接文章
NLP:
CV:
ViT为什么要增加一个[CLS]标志位? 为什么将[CLS]标志位对应的向量作为整个序列的语义表示?
和BERT相类似 , ViT在序列前添加一个可学习的[CLS]标志位 。 以BERT为例 , BERT在第一句前添加一个[CLS]标志位 , 最后一层该标志位对应的向量可以作为整句话的语义表示 , 从而用于下游的分类任务等 。
将[CLS]标志位对应的向量作为整个文本的语义表示 , 是因为与文本中已有的其它词相比 , 这个无明显语义信息的符号会更“公平”地融合文本中各个词的语义信息 , 从而更好的表示整句话的语义 。
归纳偏好是什么?
归纳偏置在机器学习中是一种很微妙的概念:在机器学习中 , 很多学习算法经常会对学习的问题做一些假设 , 这些假设就称为归纳偏好(Inductive Bias) 。
归纳偏置可以理解为 , 从现实生活中观察到的现象中归纳出一定的规则(heuristics) , 然后对模型做一定的约束 , 从而可以起到“模型选择”的作用 , 即从假设空间中选择出更符合现实规则的模型 。 可以把归纳偏好理解为贝叶斯学习中的“先验” 。
在深度学习中 , 也使用了归纳偏好 。 在CNN中 , 假设特征具有局部性(Locality)的特点 , 即把相邻的一些特征融合到一起 , 会更容易得到“解”;在RNN中 , 假设每一时刻的计算依赖于历史计算结果;还有attention机制 , 也是从人的直觉、生活经验归纳得到的规则 。
而Transformer可以避免CNN的局部性归纳偏好问题 。 举一个DETR中的例子 。
计算机视觉"新"范式:Transformer | NLP和CV能用同一种范式来表达吗?文章插图
训练集中没有超过13只长颈鹿的图像 , DETR实验中创建了一个合成的图像来验证DETR的泛化能力 , DERT可以完全找到合成的全部24只长颈鹿 。 这证实了DETR避免了CNN的归纳偏好问题 。
二分图匹配? 匈牙利算法?
给定一个二分图G , 在G的一个子图M中 , M的边集{E}中的任意两条边都不依附于同一个顶点 , 则称M是一个匹配 。 求二分图最大匹配可以用匈牙利算法 。
详细分析可以看链接文章
BETR的positional embedding、object queries和slot三者之间有何关系?
计算机视觉"新"范式:Transformer | NLP和CV能用同一种范式来表达吗?文章插图
DETR可视化decoder预测得到的20个slot 。 可以观察到每个slot学习到了特定区域的尺度大小 。 Object queries从这个角度看 , 其实有点像Faster-RCNN等目标检测器的anchor , 结合encoder的positional embedding信息让每个slot往学习到的特定区域去寻找目标 。
Transformer相比于CNN的优缺点?
优点:
Transformer关注全局信息 , 能建模更加长距离的依赖关系 , 而CNN关注局部信息 , 全局信息的捕捉能力弱 。
Transformer避免了CNN中存在的归纳偏好问题 。
缺点:
Transformer复杂度比CNN高 , 但是ViT和Deformable DETR给出了一些解决方法来降低Transformer的复杂度 。


推荐阅读