MLP-Mixer: An all-MLP Architecture for Vision
2024-09-07 19:52:45
概
CNN, Transformer, 现在直接用全连接层就可以了. 真的乱.
主要内容
如上图所示:
Input: 和ViT一样, 首先将图片切割成一个个patch, 然后通过全连接层将每个patch映射为其对于的embeddings:
\[X \in \mathbb{R}^{B \times T \times D},
\]其中\(B\)是batch size, \(T\)即为patches的数目, \(D\)便是图中channels的大小.
将其通过Mixer Layer N次, 并经过global average pooling得到特征, 再通过全连接层得到logits.
输出类别.
其中, Mixer Layer的流程如下(考虑一个batch):
对每个patch进行独立的处理, 假设\(x_i\)为第\(i\)个patch(行向量):
\[u_i = x_i + \sigma(\mathrm{LayerNorm}(x_i)W_1) W_2.
\]此时得到\(U \in \mathbb{R}^{B \times T \times D}\), 再假设\(u_j \in \mathbb{R}^T\)为第i个channel:
\[y_j = u_j + \sigma(\mathrm{LayerNorm}(u_j)W_3) W_4.
\]最后得到输出\(Y\).
可以发现, MLP-Mixer 实际上将channel-wise和spatial-wise的操作拆分开来了, 这样即可获得很好的效果.
代码
最新文章
- socket.io中emit和on的用法
- 4、解决native库不兼容
- 编程范式 episode3 and 4,5
- Arduino 学习
- webkit特有的css属性
- ASP.NET中使用DropDownList实现无刷新二级联动详细过程
- Oracle学习之简单查询
- Java基础之创建窗口——使用边界布局管理器(TryBorderLayout)
- C实现面向对象封装、继承、多态
- BZOJ1715: [Usaco2006 Dec]Wormholes 虫洞
- 精确覆盖DLX算法模板另一种写法
- Codeforces 549F Yura and Developers
- [Codeforces543D]Road Improvement
- 【Teradata】日期类型计算
- idea 最新破解亲测有效
- plink:ped格式转换为bed格式
- Metaprogramming
- linux驱动编写(pwm驱动)【转】
- nodejs-hook 开发
- $\rm{NOIp}$板子整理
热门文章
- MapReduce03 框架原理InputFormat数据输入
- 日常Java 2021/10/30
- Spark(七)【RDD的持久化Cache和CheckPoint】
- canal从mysql拉取数据,并以protobuf的格式往kafka中写数据
- Notepad++【远程操作linux文件】
- HDFS【Java API操作】
- 【leetcode】721. Accounts Merge(账户合并)
- CentOS 7.3安装完整开发环境
- Linux基础命令---smbpasswd管理samba密码
- Static data members in C++