念两句诗

挑选中...

ViT模型训练实验 置顶

一、背景介绍:

自2017年Google提出的Transformer结构以来,迅速引发一波热潮,最初《Attention is all you need》这篇论文的提出是针对于NLP领域的,通过自注意力机制代替传统处理序列数据时采用的循环神经网络结构,不仅实现了并行训练,提升了训练的效率,同时也在应用中取得很好的结果。之后的一段时间中,各种基于Transformer改进的网络结构涌现出来,在不同领域中都达到SOTA的效果。

2020年Google又提出了《AN IMAGE IS WORTH 16X16 WORDS : TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》这篇论文,该文章已经被收录于ICLR 2021。首次提出Vision Transformer(ViT)将Transformer结构应用在了CV领域图像分类中,论文中表明,与当前效果最好的卷积神经网络结构相比,ViT仍然取得很好的成绩,同时需要更少的计算资源。

本次实验内容是复现ViT模型,并将该模型应用在CIFAR10数据集上进行实验,与原论文中的实验结果做比较和分析。

阅读更多...

注意力机制 置顶

最近在看注意力机制,开始是从Google 2017年的那篇Attention is all you need的论文读起,在大概了解了自注意力机制以后,还是有很多疑问,所以就查阅了很多资料,试图梳理一下注意力机制的发展脉络。下面列出的参考资料都是我认为很不错的内容,统一在开篇列出。本文并不涉及太多深入的讲解,更多的是想从宏观的角度出发,对注意力机制的发展过程做一个简要的梳理,比如每一个阶段遇到什么问题?是如何解决的?解决的方案本身又存在什么问题?正是这些问题推动了它的进一步的发展。

阅读更多...

git学习笔记

Git学习笔记

1、Git基本配置:

配置用户名和邮箱信息:

git config --global user.name 'Yore'
git config --global user.email 'dy_yore@126.com'

参数说明:

--local  : 只对某个仓库有效
--global : 对当前用户所有仓库有效(常用)
--system : 对系统所有登录用户有效(不推荐)

生成SSH密钥:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

2、Git基本命令:

git --version:

​ 查看版本号

阅读更多...

MAC使用指南

MAC 初始化配置

初次使用MAC,对于一些使用上的设置还有安装的相关APP进行了记录。

1、基本设置:

触控板

2、软件工具安装:

Homebrew:

终端执行如下命令,从国内中科大镜像源下载安装:(安装过程中会提示安装git)

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装完成后,终端执行brew -v出现如下信息:

homebrew

意思是homebrew的根目录没有信任列出的这两项

阅读更多...

VideoMAE

VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training

收录:NeurIPS-2022

代码:https://github.com/MCG-NJU/VideoMAE

参考资料:

​ https://arxiv.org/abs/2203.12602

​ https://blog.csdn.net/moxibingdao/article/details/125025960

​ https://zhuanlan.zhihu.com/p/575573336

​ https://zhuanlan.zhihu.com/p/446761025

一、背景介绍:

​ Transformer在NLP领域大放异彩,ViT的出现将Transformer带入了视觉领域,又改进了一系列视觉相关的任务,例如:图像分类、目标检测、语义分割、行为识别等等。但是呢,我们一般都需要在超大规模数据集上做预训练,然后在相对较小的数据集上实现最佳性能。在本文中,作者证明了视频掩码自动编码器(VideoMAE)是用于自监督视频预训练(self-supervised video pre-training [SSVP])的数据高效学习器。

关于SSVP,作者提出的三个重要发现:

1、 视频数据存在时间冗余性,所以在极高比例的遮挡下(90%-95%),VideoMAE依然可以产生良好的性能。

2、VIdeoMAE无需使用额外数据,在比较小的数据集上也能取得非常好的效果。

3、VideoMAE表明,对于SSVP,数据质量比数据量更重要。

下图是论文方法和部分方法在UCF101和HMDB51两个数据集上的top1精度的比较

image-20221205162027840

ViT通常依赖大规模监督数据集,比如ImageNet,对于Video Transformer来说,通常依赖于ViT,也就是依赖大规模图像数据的预训练模型。如何不依赖任何预训练模型或者额外的数据,能够有效的训练一个Video Transformer模型是一个挑战。

阅读更多...

SlowFast Networks for Video Recognition

SlowFast Networks for Video Recognition [ICCV-2019]

一、背景介绍:

​ 首先作者提出的想法: 我们一般处理2D图像的时候,很自然地会对称的处理两个维度x,y,但如果是加了时间维度的视频呢?运动是方向的时空对应物,但所有时空方向的可能性都不相等 慢动作比快动作更有可能发生,这个有生物学依据:作者提到论文中的方法是受灵长类生物 细胞生物学研究的启发,存在两类细胞,P细胞和M细胞,M细胞在高时间频率下工作,对快速的时间变化做出反应,而P细胞在低时间频率下提供精细的空间细节和颜色。

举例: 例如,在挥舞动作的过程中,挥手不会改变他们的“手”身份,一个人总是属于“人”类别,即使他/她可以从走路过渡到跑步。因此,分类语义的识别(以及它们的颜色、纹理、光照等)可以相对缓慢地刷新。另一方面,被执行的动作可以比他们的主体身份进化得更快,比如拍手、挥手、摇晃、行走或跳跃。可以期望使用快速刷新帧(高时间分辨率)来有效地模拟潜在的快速变化的运动。

如果时间和空间方向上的可能性不同,那么我们就没有理由对称的处理空间和时间维度,基于这种直觉,作者提出了一种用于视频识别的双路径SlowFast模型(图1)。其中一种路径旨在捕捉图像或少量稀疏帧提供的语义信息,其运行速度较低,刷新速度较慢。相比之下,另一种路径负责捕捉快速变化的运动,刷新速度快,时间分辨率高。

这种方法和双流算法的区别在哪里?

1、 双流算法的两个流采用相同的主干结构

2、双流算法需要计算光流信息、论文中提出的网络模型是从原始数据中端到端学习

阅读更多...

MySQL note

一、基础知识:

1.1 SQL分类:

  • 数据查询语言(DQL-Data Query Language)

    带有select关键字的都是查询语句

  • 数据操纵语言(DML-Data Manipulation Language)

    DML操作的是表中的数据。比如:insert、delete、update

  • 数据定义语言(DDL-Data Definition Language)

    DDL主要操作的是表的结构。比如: create、drop、alter

  • 事务控制语言(TCL-Transactional Control Language)

    事务提交:commit 事务回滚:rollback

  • 数据控制语言(DCL-Data Control Language)

    比如: 授权grant、撤销权限revoke

阅读更多...

kafka note

一、基础知识:

1.1 kafka介绍:

Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统。Kafka具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。

Kafka提供了什么功能:

  • 发布(写)和订阅(读)流事件
  • 存储持久和可靠的事件流
  • 支持实时离线的事件流处理

Kafka有什么特性:

  • 分布式、高吞吐、高可用、可扩展
  • 数据持久化
  • 支持多消费者
阅读更多...

设计模式

一、6大设计原则:

1.1 单一职责原则:

单一职责原则 (Single Responsibility Principle) SRP的定义: 应该有且仅有一个原因引起类的变更

单一职责原则适用于接口、类,同样适用于方法,一个方法尽可能只做一件事情,但是该原则最难划分的就是职责。一般建议来看,接口的设计一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。

1.2 里氏替换原则:

(Liskov Substitution Principle) LSP

4层含义:

1. 子类必须完全实现父类的方法
2. 子类可以有自己的个性
3. 覆盖或者实现父类的方法时输入参数可以被**放大**
4. 覆写或者实现父类的方法时输出结果可以被**缩小**
阅读更多...

请我喝杯咖啡吧~

支付宝
微信