CV
文章平均质量分 72
Rainylt
这个作者很懒,什么都没留下…
展开
-
What makes training multi-modal classification networks hard?
起因是作者发现在视频分类任务上,多模态模型反而不如单模态模型如上图,A是Audio,OF是光流(optical flow)。用的模型都是差不多的,举个例子,A+RGB就是在单RGB的基础上加了Audio的Encoder,然后把两个feature concat在一起,通过分类器分类。而单RGB就是直接RGB过encoder,然后过分类器分类。话说这里似乎没有在concat后增加transformer用来fuse?fuse模块或许可以一定程度上解决这个问题?...原创 2022-08-08 16:51:26 · 982 阅读 · 0 评论 -
Balanced Multimodal Learning via On-the-fly Gradient Modulation(CVPR2022 oral)
paper: https://arxiv.org/pdf/2203.15332.pdf一句话总结:解决多模态训练时主导模态训得太快导致辅助模态没训充分的问题交叉熵损失函数:其中,f(x)为解耦一下:其中,a表示audio模态,v表示visual模态,f(x)为softmax前的两个模态联合输出的logits。在这个任务中a为主导模态,即对于gt类别,a模态输出的logits更大以WaW^aWa为例,L对WaW^aWa求导:可以看到,根据链式求导法则,φa\varphi^aφa是与a模态相原创 2022-07-05 19:43:31 · 497 阅读 · 0 评论 -
Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and
paper: Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and Semantic Segmentation一句话总结: 认为前景和背景feature天然相似度较低,且相同纹理的前/背景feature相似度高,因此直接在feature后接分割头预测前背景分数,与feature相乘取出前/背景feature。在一个batch内降低前-背景pair的相似度,提高前景原创 2022-06-28 18:59:41 · 758 阅读 · 0 评论 -
Dreaming to distill(Deep Inversion, data free distill)
文章链接:https://arxiv.org/abs/1912.08795CVPR2020上做data-free蒸馏的。什么是Data-free=》就是没有数据,只能自己生成数据一提到生成数据,就想到GAN:输入噪声,过GAN生成数据,数据过Teacher得到结果,求损失来训练GAN,使得GAN能生成和原数据集分布一致的数据,然后就可以去训student了。什么样的loss能使得GAN生成和原数据集分布一致的数据呢?经过观察发现:(图像先验)1、生成图的方差小2、生成图的L2范数小因.原创 2022-05-20 16:15:25 · 277 阅读 · 1 评论 -
梯度下降法的原理
之前一直就只知道朝着负梯度的方向走就能降Loss,却不知道是为什么,今天看了人工智能的课才明白了。首先假设损失函数f(x)f(x)f(x),下一步xxx的移动方向与距离Δx\Delta{x}Δx,则有移动后的损失f(x+Δx)f(x+\Delta{x})f(x+Δx),我们来思考怎样能让损失降低,也就是使得f(x+Δx)<f(x)f(x+\Delta{x})<f(x)f(x+Δx)<f(x)首先对f(x+Δx)f(x+\Delta{x})f(x+Δx)泰勒展开:将f(x)f(x)f原创 2022-05-04 23:20:53 · 468 阅读 · 0 评论 -
矩阵乘法的计算复杂度
结论:A∗B=(i,m)∗(m,j)A*B=(i, m)*(m, j)A∗B=(i,m)∗(m,j)的计算复杂度为O(i∗j∗m)O(i*j*m)O(i∗j∗m)怎么来的:输出矩阵C为(i,j)(i, j)(i,j),遍历输出矩阵,C矩阵中的每个元素由A,B矩阵中对应的m对数字相乘相加而来,遍历m对数做相乘相加的复杂度为O(m)O(m)O(m),所以总共三轮循环,复杂度为O(i∗j∗m)O(i*j*m)O(i∗j∗m)实际实现:a = [[1, 2, 3], [4, 5, 6]]b原创 2022-05-01 19:54:56 · 2525 阅读 · 0 评论 -
MLP三部曲——其二:gMLP
gMLP论文链接:https://arxiv.org/pdf/2105.08050.pdf与其说是去掉了self-attn,不如说是另一种形式的self-attn我们先回一下self-attn是啥?在Transformer里面,Q*K后得到Attn矩阵,再乘上V,相当于将所有token混合,每个token都由所有token线性表出(突然感觉大学线代里学到的这个词用在这里十分合理),其中,线性表出的矩阵就是Attn矩阵。所以self-attn实际上就是attn矩阵*V,这个attn矩阵可以由Q*原创 2022-04-30 23:59:53 · 2464 阅读 · 1 评论 -
MLP三部曲(MLP-Mixer -> gMLP -> MAXIM)——其一
其一:MLP-Mixer参考一文教你彻底理解Google MLP-Mixer(附代码) - 月球上的人的文章 - 知乎https://zhuanlan.zhihu.com/p/372692759论文链接:https://arxiv.org/abs/2105.01601先看总体结构:乍一看和Vit特别像,先把图片分Patch,然后拉平过全连接变成Embedding。...原创 2022-04-30 00:11:46 · 2556 阅读 · 0 评论 -
CV中的LN与NLP中的BN
CV中的BN:(N, C, H, W),以(N, H, W)为单位求均值与方差CV中的LN:由于在LN初始化的时候需要输入参数normalized_shape,即规范化的单位(目的是为了给单位内部的所有element设置不同的gamma和beta,详情参见我的上一篇文章),因此如果按照图中的这种做法:normalized_shape=[C,H,W]eg.>>> # Image Example>>> N, C, H, W = 20, 5, 10, 10&g原创 2022-04-13 22:17:00 · 897 阅读 · 0 评论 -
LN与BN实现上的巨大差异
参考https://ugirc.blog.csdn.net/article/details/121877901做规范化的目的减均值,除方差,实际上就是压缩原数据的分布,使得均值为0,方差为1,差不多全集中在(-1,1)之间这样有几个好处:(1)如果激活函数是Sigmoid的话,如果值稍微大一点或者小一点都会变成-1或1,导致”饱和“,即很多值过激活函数后都变成了相同的值,规范化之后可以减轻这种”饱和“的情况。(2)使得每一层的特征分布都差不多,有利于收敛#待补充规范化公式都是一样的,减均.原创 2022-04-13 21:51:46 · 278 阅读 · 0 评论 -
Layer Norm
参考ConvNeXt中的Layer Normalization(LN) - 海斌的文章 - 知乎https://zhuanlan.zhihu.com/p/481901798Layer Norm本来是一个样本norm自己,如图所示:也就是说,在[C,H,W]维进行归一化而ConvNeXt中是这样:也就是在C的维度归一化,即单一像素的所有channel做归一化。两者实现方式上有所不同。可以用F.layer_norm实现,也可以用nn.layer_norm实现,这里选用F.layer_nor.原创 2022-04-07 17:37:05 · 4620 阅读 · 0 评论 -
ResNeXt与分组卷积
ResNeXt两点:(1)Inception v4的所有分支结构统一(2)inception block前后增加shortcut分支分支结构统一与shortcut左边是Inception结构,不同分支用不同的结构。右边是ResNeXt的Block,每个分支都是1x1,3x3,1x1的BottleNeck结构,所以叫统一分支。(1)为什么要统一分支?因为左边的结构是人为设计的,所以想用稍微自然一点的结构。(有ablation study吗?)增加shortcut发现效果更好具体实现看右边的原创 2022-03-20 22:10:53 · 3125 阅读 · 0 评论