[全连接神经网络]Transformer代餐,用MLP构建图像处理网络

本文主要是介绍[全连接神经网络]Transformer代餐,用MLP构建图像处理网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、MLP-Mixer

        使用纯MLP处理图像信息,其原理类似vit,将图片进行分块(patch)后展平(fallten),然后输入到MLP中。理论上MLP等价于1x1卷积,但实际上1x1卷积仅能结合通道信息而不能结合空间信息。根据结合的信息不同分为channel-mixing MLPs和token-mixing MLPs。

       总体结构如下图,基本上可以视为以mlp实现的vit。

 二、RepMLP

        传统卷积仅能处理局部领域信息,不具备捕获长程依赖的能力,其特性被称为归纳偏置(inductive bias)或局部先验性质(local prior)。而Transformer虽然可以使用自注意力捕获长程依赖,却无法有效获取局部先验信息。全连接(FC)结构与Transformer类似,可以捕获长程依赖(每个输入和输出都有连接)但是缺乏局部先验性质。而RepVGG则是通过将MLP和CNN的优点结合在一起实现高质量的特征提取。其核心是结构重参数技术(structural reparameterization technique)。

        训练时的RepMLP与预测时截然不同。训练时,每一层都会添加平行的卷积+BN分支,而预测时会将卷积分支等效为MLP分支。

        训练阶段由三部分组成:Global Perceptron、Partition Perceptron、Local Perceptron。其中Global Perceptron相当于vit中的patch-embed,通过将特征图分成7x7的小块来节省运算开销。但是这种切割会让每个patch失去位置信息,所以使用两个FC为patch添加位置信息;其操作如下:①使用avgpool将每个分区池化得到一个像素;②送入带一个BN的两层MLP中;将结果reshape后与原特征图相加,流程如下:

        Partition Perceptron层包含FC和BN,由Global Perceptron切割后的特征图还会经过一组1x1的组卷积进一步降低参数量,然后由FC3进行处理后最终得到输出特征图。

       Local Perceptron类似一个ASPP空洞卷积组,可以丰富特征图的空间信息,得到的结果与Partition Perceptron的特征图相加即可得到完整的输出。其结构如下:

三、ResMLP

        ResMLP仅使用Linear Layers和GELU,不适用任何正则化层(Batch Norm)和自注意力(self-attention)。每个Block由sublayer+feedforward sublayer组成。

       Sublayer由线性层和残差链接组成,即上图左边的部分;而feedforward sublayer则是上图右边的部分,由两个线性层和残差链接组成,中间使用GELU作为激活。其可以描述为下面公式:

        其中sublayer中包含两次转置操作,其原因是要将channel维度换道最后一维以进行融合,融合过后再换回来。

       ResMLP Block分为两种形式(一种全尺寸和一种轻量化结构),结构如图,全尺寸ResMLP效果略好于ResNet,轻量化Block效果持平ResNet。

 四、gMLP

        gMLP的g代表gating(闸门),论文提出在视觉领域自注意力机制并不是那么重要,gMLP的性能可以与基于Transformer的DeiT模型相当。gMLP的Block结构如下图所示:

        gMLP为同向网络(具有相同结构),就其模块结构而言,Channel Projection可以获取通道信息,Spatial Gating Unit可以获取空间信息。

五、CycleMLP

        CycleMLP的特点是构建基于密集预测的MLP架构。传统的诸如MLP-Mixer,ResMLP,gMLP存在一些问题:①均为同向性网络,不会产生金字塔结构,也不会产生多尺度特征图;②spatial FC的计算复杂度与尺寸呈平方关系,难以训练高分图。

        如上图所示,Cycle FC层类似于Spatial FC,且棋遵循金字塔结构(即随着层数的加深,特征分辨率逐渐减少,也就是token不断减少)

这篇关于[全连接神经网络]Transformer代餐,用MLP构建图像处理网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/626406

相关文章

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

java连接opcua的常见问题及解决方法

《java连接opcua的常见问题及解决方法》本文将使用EclipseMilo作为示例库,演示如何在Java中使用匿名、用户名密码以及证书加密三种方式连接到OPCUA服务器,若需要使用其他SDK,原理... 目录一、前言二、准备工作三、匿名方式连接3.1 匿名方式简介3.2 示例代码四、用户名密码方式连接4

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性