• ReadingTime-十一月


    这个月主要是要学习pytorch和一些CV baseline的复现,搞搞毕设雏形🆙
    以后还是把笔记写纸上要么写博客,不放本地了😨


    0x1105 CAViT:用于视频对象重识别的上下文对齐视觉Transformer, ECCV2022

    中科院 | 京东 | 西湖大学
    Code
    在这里插入图片描述

    • reID关键是如何充分利用时空相互作用来提取更准确的表示,但是目前:

      • 3D解决方案对时空相互作用进行建模经常受到相邻帧未对准的困扰
      • 2D解决方案针对未对准采取分而治之策略,但不能利用时空相互作用
    • 上下文对准视觉Transformer,CAViT,用于与2D solution进行时空交互:

      • MPE,多形状补丁嵌入.保留空间语义信息,防止由于姿势、遮挡或检测错误而导致的未对齐;
      • TSA,时间转移注意力.实现上下文空间语义特征对齐,代替transformer的self-attention机制;
      • RPE,残差位置嵌入,来指导TSA在连续帧之间聚焦于时间显著性信息.
    • 在LSVID实现89.3%rank1的性能,在PRID2011实现 了95.7%rank1的性能

      • 在视频行人重识别的数据集上证明了CAViT的优越性,
      • 对视频车辆重识别有效.

    0x1106 GoogLeNet-V2 | Batch Normalization, 2015

    在这里插入图片描述

    背景

    ICS现象:输入数据分布变化,导致的模型训练困难,对深度神经网络影响极大。

    之前的措施:
    白化(whitening):一种数据预处理措施,去除输入数据的冗余信息,使得数据特征之间相关性较低,所有特征具有相同方差
    通常将数据变为0均值,1标准差的形式实现白化。

    BN层的优点

    1. 可以用更大学习率,加速模型收敛
    2. 不用精心设计权值初始化
    3. 一定情况下不用dropout或较小的dropout
    4. 不用L2或者较小的权重衰减(weight decay)
    5. 不用LRN(local response normalization)

    GoogLeNet-V2没有广泛应用,只是对于GoogLeNet_V1作出一点改进:

    • 激活函数之前加入BN
    • 5x5卷积替换为2个3x3卷积堆叠(借鉴VGG)
    • 第一个Inception模块增加一个Inception结构
    • 增多5x5卷积核
    • 尺寸变化采用步长为2的卷积
    • 增加9层(10-1),深度达到31(22+9)层

    实验结果

    1. 在MNIST显示了带有BN层数据分布稳定,模型收敛更快;
    2. 在ILSRC上显示GoogLeNet-V2更快、精度更高;
    3. 模型集成后,效果超越人类精度。

    0x1127 Activation Function

    没有get的知识应当反复阅读🐒
    👉深度学习必知10大激活函数 +《Neural Networks and Deep Learning》.Michael Nielsen

    什么是激活函数?
    百度百科定义为在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输入端。
    激活函数的使用,给神经元引入了非线性因素,使得神经网络可以任意逼近任何函数,即“神经网络可以计算任何函数”。

    下面介绍深度学习中几种常用的激活函数:

    Sigmoid

    定义:
    σ ( z ) = 1 1 + e − z \sigma(z)=\frac{1}{1+e^{-z}} σ(z)=1+ez1
    sigmoid function

    sigmoid神经元和感知机(perceptron)之间一个很大的区别就是sigmoid神经元不仅仅输出0或1,而是能够输出0到1之间的任何实数。

    因此这个‘S’曲线适用将预测概率作为输出的模型;
    单调可微,并且其输出值在z=0附近变化很陡;
    但也存在缺点,即容易梯度消失。
    可以看看其导数图像:
    在这里插入图片描述
    该导数在0.25时达到峰值,
    如果使用标准方法来初始化神经网络中的权重(均值为0,标准差为1的高斯分布),因此所有权重通常会满足绝对值小于1,那么再乘上该导(梯度计算)就会满足小于0.25,计算完全部乘积之后结果肯定呈指数级下降,即容易梯度消失。
    因此改进👇

    Tanh/双曲正切激活函数

    t a n h ( x ) = 2 ∗ s i g m o i d ( 2 x ) − 1 tanh(x)=2*sigmoid(2x)-1 tanh(x)=2sigmoid(2x)1
    在这里插入图片描述
    tanh函数更加陡峭,而且以0为中心,权重更新效率更高。

    sigmoid和tanh一般用于二分类任务,tanh常用在隐藏层,sigmoid常用在输出层。

    ReLU

    f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)
    在这里插入图片描述
    因此主要优点就是他不会同时激活所有神经元,用ReLU得到的SGD收敛速度会比前面两个函数快很多。

    但在训练过程中很脆弱,大部分神经元会在训练中死亡;梯度值为零在反向传播过程中,一些神经元的权重和偏差没得更新,产生再也不会被激活的神经元。

    Softmax

    softmax函数通常被描述为多个sigmoid的组合,所以常用于多类分类问题。
    softmax将输入向量归一化映射到一个类别概率分布,所以常常被用在网络中的最后一层,用来进行分类和归一化。
    在这里插入图片描述
    softmax函数的分母结合了原始输出值的所有因子,这意味着softmax获得的各种概率彼此相关;
    不同于max函数的是,softmax确保较小的值有较小的概率,而不是仅输出最大值。

    主要缺点:
    1、在零点不可微
    2、负输入梯度为零,这意味对于该区域的激活,权重不会在反向传播期间更新,因此也会产生不再被激活的神经元(死亡)

    0x1130 遮挡行人重识别 | FPC

    在这里插入图片描述
    遮挡行人重识别的动态特征剪裁与整合, 华中科技大学
    Code
    提出一种稀疏编码器,利用注意力图上的相关属性,有效地处理遮挡和背景。

    问题

    目前对于Occluded Person Re-Identification存在两个挑战:
    1、被遮挡的特征也被错误地加入推理中;
    2、基本目标特征的部分或完全缺少。

    方法

    特征剪枝、匹配和巩固框架(FPC),可以自适应消除来自遮挡物和背景的干扰,并巩固关联特征。
    首先,将query图像发送到一个具有token稀疏化的Transformers编码器中,以去除干扰token(通常是与遮挡物和背景相关),同时保留注意力token;

    然后,根据与query图像的相似度对图库中的完整token进行排序。通过与训练一个标准的视觉Transformer来获得包含token和patch token的gallery memory。
    匹配的相似性度量定义为图像级别的余弦距离和patch级别的EMD的线性组合,用于弥合gallery memory中稀疏查询特征和全局特征之间的domain gap;

    最后,我们为每个query选择k个最近邻。通过将query和所选邻居的平均token和相应的patch token级联来构造多视图特征,将其发送到Transformer编码器进行特征合并。
    Overview👇
    在这里插入图片描述

    效果

    在Occluded-Duke、DukeMTMC-reID实现SOTA性能等:
rank-1 76.7、92.3,mAP 72.8、86.5

    在这里插入图片描述

    [25] Ramprasaath R Selvaraju, Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, and Dhruv Batra. Grad-cam: Visual explanations from deep networks via gradient-based localization, ICCV2017.

  • 相关阅读:
    入门力扣自学笔记279 C++ (题目编号:1123)
    python 自动化操作必备函数功能
    【LeetCode】【剑指offer】【栈的压入、弹出序列】
    安卓机调用 audio.play()时 报错:API can only be initiated by a user gesture
    都说行情不好,自考本科的我却拿到了年包50W+的offer
    国家保密局令2020年第1号:涉密信息系统集成资质管理办法
    【记事本 】dom操作的类型
    【Linux】I/O多路复用-SELECT/POLL/EPOLL
    Asp-Net-Core开发笔记:快速在已有项目中引入EFCore
    level=warning msg=“failed to retrieve runc version: signal: segmentation fault“
  • 原文地址:https://blog.csdn.net/bocaiaichila/article/details/127705463