当前位置:网站首页>7种视觉MLP整理(下)
7种视觉MLP整理(下)
2022-07-17 05:10:00 【byzy】
一、RepMLP
原文链接:https://arxiv.org/pdf/2105.01883.pdf
RepMLP(re-parameterized MLP)是考虑到FC层比起卷积来说不擅长捕捉局部信息的特点而提出的。其训练和推断是不同的。
训练阶段由全局感知器,partition感知器和局部感知器组成。

全局感知器

将feature map分割为partition。为了捕捉partition之间的交互,使用平均池化处理每个partition,输入到BN和2层的MLP,然后reshape,加到partition map上。
partition感知器

由一个FC层和BN层组成,以partition map作为输入。FC层为类似group卷积的group FC以减少参数。
group FC在编程时采用group
卷积实现,步骤如下:(1)将
reshape为空间维度为
的feature map;(2)使用
分组的
卷积处理;(3)将处理后的feature map reshape为
。即:
RS表示reshape,gMMUL表示group FC。
为group FC的权重矩阵(大小应为
),
表示
转换的group卷积核(
个核,每个核大小为
),
和
分别为FC层输入和输出的维度。且应有
,
,
。
局部感知器

将partition map通过多个并行的卷积层(保持分辨率大小和输入一致,后接BN),卷积组数
应和Partition感知器中相同
最后所有卷积输出和Partition感知器的输出相加,还原形状,得到最终输出。
推断阶段会把RepMLP转化为3个FC层。

关键是两步:
1.将BN merge到之前的卷积中:
2.将卷积转化为FC层(
为维的单位矩阵):

其中
为padding,
为卷积核,
为FC层的权重。
这样可以把FC3和局部感知器的卷积合并。
二、ResMLP
原文链接:https://arxiv.org/pdf/2105.03404.pdf
Res表示residual。
模型结构

首先将原图分割为
个patch,然后通过线性层得到
维特征,输入到ResMLP中。图中的A为按列的仿射变换;T为转置。
Residual Multi-Perceptron层
线性层+前馈层。没有使用LN,而采用对每一列进行仿射变换:

这个变换在每个残差块进行两次(两次分别称为为pre和post)。它们在推断时会整合到线性层。
前馈网络和Transformer一样,为双层MLP,激活函数变为GELU。

其中
为线性层权重,
为
维,
为
维,
为
维。
三、S²-MLPv2
原文链接:https://arxiv.org/pdf/2108.01072.pdf
S²-MLP
patch embedding层+数个S²-MLP块+分类头
patch embedding层将图像分割成
的patch,然后通过FC得到
维向量。
S²-MLP块

4个作用于通道维度的MLP+空间移位层。
空间移位:将
沿通道方向分成4份,然后沿长和宽的正负方向分别平移1个单位。

split attention
设
个大小为
的feature map
;其中
为patch数,
为通道数。沿空间维度进行求和得到
维向量
:

其中
为全为1的行向量。
然后
通过MLP把维度变为(
,
为GELU),再reshape为
矩阵
,沿第一维度softmax后得到
,按照下面的公式生成新的feature map
。
![\hat{X}[i,:]=\sum_{k=1}^KX_k[i,:]\odot \bar{A}[k,:]](http://img.inotgo.com/imagesLocal/202201/01/202201010542134947_5.gif%5Bi%2C%3A%5D%3D%5Csum_%7Bk%3D1%7D%5EKX_k%5Bi%2C%3A%5D%5Codot%20%5Cbar%7BA%7D%5Bk%2C%3A%5D)
其中
为按元素乘法。
S²-MLPv2:patch embedding层+数个S²-MLPv2块+分类头

S²-MLPv2块包含S²-MLPv2 component和channel-mixing MLP (CM-MLP)。CM-MLP结构和前面MLP-Mixer(见7种视觉MLP整理(上)中的二)中的结构相同。
S²-MLPv2块结构

将
的维度变为
。然后分为3个维度为
的feature map,其中两个按下图做空间移位,另一个不变。

然后将3个feature map
reshape为
的矩阵,通过split attention后再通过
。
边栏推荐
- 2021-04-18
- Face detection based on OpenCV and face interception
- pymongo模糊查询
- 7. Data warehouse environment preparation for data warehouse construction
- Object to map
- 对比学习用于图像语义分割(两篇文章)
- Time difference calculation
- Bottomsheetdialogfragment imitation Tiktok comment box
- Using C language to realize guessing games
- DEEP JOINT TRANSMISSION-RECOGNITION FOR POWER-CONSTRAINED IOT DEVICES
猜你喜欢

Geo_CNN(Tensorflow版本)

E-commerce user behavior real-time analysis system (flink1.10.1)

2. Technology selection of Neusoft cross border e-commerce data warehouse project

Unable to determine Electron version. Please specify an Electron version

微信小程序之计算器

记录:YOLOv5模型剪枝轻量化

C language implementation of iteration and binary search

USB to TTL ch340 module installation (win10)

6. Data warehouse design for data warehouse construction

DEEP JOINT TRANSMISSION-RECOGNITION FOR POWER-CONSTRAINED IOT DEVICES
随机推荐
SnackBar source code analysis and packaging
软件过程与管理总复习
Table field attribute query
[first launch in the whole network] will an abnormal main thread cause the JVM to exit?
用facenet源码进行人脸识别测试过程中的一些问题
记录:YOLOv5模型剪枝轻量化
Pointnet++代码详解(三):query_ball_point函数
用C语言实现猜数游戏
MySQL 服务正在启动 . MySQL 服务无法启动
In VS, error c4996: 'scanf': this function or variable may be unsafe Solutions.
微信小程序的常用組件
微信小程序中的WXML模板语法
软件过程与管理复习(七)
10. DWD layer construction of data warehouse construction
Some problems in face recognition testing with facenet source code
Paddle的OCR标签转化为TXT格式
CV-Model【3】:VGG16
List and map
Face detection based on OpenCV and face interception
Pointnet++代码详解(二):square_distance函数
卷积实现,步骤如下:(1)将
reshape为空间维度为
。即:

为group FC的权重矩阵(大小应为
),
表示
个核,每个核大小为
),
和
,
,
。