基于CNN的掩码自编码器微调用于分类任务

news2024/10/6 1:45:33

开源仓库

JJLi0427/CNN_Masked_Autoencoder: Design a patches masked autoencoder by CNN (github.com)icon-default.png?t=N7T8https://github.com/JJLi0427/CNN_Masked_Autoencoder

CNN自编码器

前面的文章中我们模仿MAE的思路用CNN做了一个掩码自编码器

动手小实验,用CNN来构建Maseked Autoencoder_用cnn做编码器和解码器-CSDN博客文章浏览阅读843次,点赞19次,收藏14次。CNN实现带掩码的Autoencoder,利用手写数字数据集做实验_用cnn做编码器和解码器https://blog.csdn.net/lijj0304/article/details/136597791

下游任务

我们的CNN_Masked_Autoencoder是通过手写数字数据集训练的,那我们就继续沿用,拿来做一点改造,实现手写数字的分类

网络架构设计

为了实现比简单的线性分类网络更强的精度,我决定先使用一个Autoencoder来先学习图片的特征。于是这个分类器的构建可以看作是两个阶段的任务,第一个阶段是对掩码图像编码学习还原图像,另外一个阶段是通过预训练编码器编码完整图片信息训练线性分类器。对此我设计的网络结构如下:

图中红色的数据流代表预训练阶段,这个阶段先对输入的图片做随机的掩码,然后用卷积网络对掩码后的图片做卷积,这里面同时调用了残差块,然后再用一个对称的网络对图片做界面,直接解码输出的是还原的图像(这是与MAE设计的一个不同点,原本的MAE输出未被掩码的区域,但是这里用的不是注意力机制,卷积核只能顾及一块的区域,如果只单独输出Patch的话效果会不太好,模型不能很好理解块之间的关系)。还原图像与生成的图像做MSELoss。绿色数据流是分类网络训练阶段,这里调用的是训练好的encoder,其中的参数都是固定的,对encoder的输出展开然后用一个简单的二层线性网络做图片分类预测,这一步分网络是可训练的,这一块利用的是交叉熵损失。

训练和验证

Autoencoder预训练

左图是训练过程中记录的训练和测试的loss,可以发现40epoch过后loss就没有出现明显下降,处于波动状态。右侧图是每过10轮保存一次的还原可视化结果,可以看到后期模型已经可以比较准确还原图片。

微调训练分类网络

使用预训练100个epoch后的encoder做100轮的微调训练。左图是线性分类器训练时的交叉熵,可以看测试的loss到也是20epoch后就趋于平稳。在训练时程序10轮保存一次模型,右侧是每个模型的各项指标。下面的大图是可视化分类器的结果

线性分类器对照实验

制作了一个类似参数量的线性网络,网络直接把每张图片28*28的像素展开然后输入类似架构的三层线性网络(28*28:10:10),输出做预测,训练100个epoch后各项指标对比如下:

Accuracy

Precision

Recall

F1

参数量

带预训练编码器

0.9296

0.9305

0.9296

0.9296

1W

简单线性模型

0.9127

0.9126

0.9127

0.9124

7W

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1836857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++语法01 基本框架

目录 什么是 C ? 新建源程序 保存源程序 程序基本框架 #include using namespace std; int main() return 0; 编译 运行 什么是 C ? C语言,是基本的程序设计语言之一【程序设计语言,简单的来说就是编写代码来操控计…

【漏洞复现】Jenkins文件读取漏洞(CVE-2024-23897)

简介 jenkins是啥? 简单理解就是:一个开源的、用于方便代码管理、部署的基于web的平台,用于提高团队开发效率(生产力)。 Jenkins CLI 任意文件读取漏洞 CVE-2024-23897 是怎么回事? Jenkins提供了一个命令…

哈喽GPT-4o——对GPT-4o 文本创作的思考与看法

目录 用法1:创作小说用法2:创作散文用法3:创作诗歌1、古诗2、现代诗 用法4:创作儿童故事用法5:创作剧本 大家好,我是哪吒。 都说ChatGPT4o是目前文本创作的最强大模型,它都可以用于哪些方面的文…

Mac 安装HomeBrew(亲测成功)

1、终端安装命令: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"执行后,没有安装git,会先安装,安装后再执行一下命令。 2、根据中文选择源安装 3、相关命令 查看版本号&a…

Maven下载安装、环境配置(超详细)(包括Windows、IDEA)

目录 一、引言 二、下载和安装 Maven (1)首先保证 Java 的环境是正常的。 1、电脑桌面上右击 " 此电脑 ",点击属性。 2、点击高级系统设置。 3、点击环境变量。 4、找到系统变量中的 Path。 5、点击新建,然后把…

win10重装系统如何操作,附上详细系统重装图文教程(2024年新)

win10重装系统如何操作呢?电脑使用时间长了,会出现各种各样的问题,如重要的系统文件被删除导致电脑无法正常运行,电脑运行内存空间不足,电脑卡顿等。Win10重装系统很简单,这里分享超详细的重装系统方法&…

20240611-WWDC2024-visionOS 2/Apple Intelligence/ARKit

目录 1 visionOS 2 1)从2D图像提取左右眼的视角,生成空间照片——利用机器学习 2)提供丰富的API和框架 2 Apple Intelligence 1)自动对通知优先级排序、缩略通知、专注模式 2)Siri可以根据屏幕内容执行相关操作 …

AI赋能——六月转折点的高效赋能策略

致所有内容创作者的2024财富密钥:六月转折点的高效赋能策略 随着六月的脚步渐近,我们正站在一个前所未有的时代转折点上——一个由人工智能引领的变革时代。在这个关键时期,我们诚挚地向您推荐一套专为自媒体量身定制的效率提升方案&#xf…

用python克隆了前男友的声音

声音克隆开源项目推荐:MockingBird 项目简介 MockingBird 是一个由开源社区开发的声音克隆项目,托管在 GitHub 上。该项目旨在通过深度学习技术实现高质量的声音克隆,使用户能够合成任意人的声音,并生成自然、流畅的语音输出。M…

温湿度采集与OLED显示

目录 一、什么是软件I2C 二、什么是硬件I2C 三、STM32CubeMX配置 1、RCC配置 2、SYS配置 3、I2C1配置 3、I2C2配置 4、USART1配置 5、TIM1配置 6、时钟树配置 7、工程配置 四、设备链接 1、OLED连接 2、串口连接 3、温湿度传感器连接 五、每隔2秒钟采集一次温湿…

这个开源软件,送给爱读书的你!!【送源码】

对于喜欢阅读的人来说,一定经历过从一本厚厚的修仙书籍到MP3、MP4的阅读时代,再到现今的手机软件。 但是现在的阅读软件经常会遇见以下问题:比如广告弹窗太多,排版乱,甚至很多的APP都进入会员时代,再加上一…

Python爬虫实战案例之——MySql数据入库

Hello大家好,我是你们的南枫学长,咱们今天来学——爬虫之MySql数据入库。 话不多说,导入咱们的老朋友: Pymysql就是我们Python里面的mysql库,主要功能就是用来连接MySql数据库,那么下载还是一样的操作去进…

报表开发工具DevExpress Reporting v23.2 - 增强PDF导出、多平台打印等

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。 DevExpress Reporting控件日前正式发布了v23.2…

05、部署 YUM 仓库及NFS 共享服务

目录 5.1 部署YUM软件仓库 5.1.1 准备网络安装源(服务器端) 1、准备软件仓库目录 2、安装并启用vsftpd服务 5.1.2 配置软件仓库位置(客户端) 5.2 使用yum工具管理软件包 5.2.1 查询软件包 1、yum list——查询软件包列表 …

JavaScript日期对象、DOM节点操作(查找、增加、克隆、删除)

目录 1. 日期对象2. DOM节点操作2.1 查找节点2.2 增加节点2.3 克隆节点2.4 删除节点 1. 日期对象 实例化日期对象: 获取当前时间: new Date()获取指定时间: new Date(2023-12-1 17:12:08) 日期对象方法: 方法作用说明getFullYear()获得年份获取四位年份getMonth…

建筑学跑路:揭秘热门转行新选择!

话说建筑学真的是我见过最关心同行的专业,每个建筑学跑路的帖子下面都有人问:你跑哪里去了? 很多人表示,我也想跑 当然不仅建筑学,园林的、城规的、土木的也会来凑热闹: 很多小伙伴分享了自己的转行经历&a…

【免费分享】全国shp数据汇总(中国湖泊、县界、公路、河流、铁路、国界线、经纬线、省会城市、省级行政区、县城驻地、线状省界)

ESRI Shapefile(shp),或简称shapefile,该文件格式已经成为了地理信息软件界的开放标准,也是重要的交换格式,能够在ESRI与其他公司的产品之间进行数据互操作。 Shapefile属于一种矢量图形格式,它…

电脑硬盘文件隐藏了怎么恢复数据?轻松上手不求人

在数字化时代,电脑硬盘中存储的数据对于个人和企业而言都至关重要。然而,有时我们可能会遇到一些意想不到的情况,比如硬盘中的文件突然消失了或者变成了隐藏状态。这种情况不仅让人感到困惑,还可能对日常工作和生活造成不小的影响…

cesium按照参数绘制不同形状的船舶

俺们公司之前有个自创的所谓前端GIS框架,是用Cesium搞的。我对该框架不熟悉,用它在地图上作画,画船舶符号,看以前的代码,感觉十分艰深晦涩,什么材质、纹理,令人头大如斗。我4年前用过一阵Cesium…

Multi-Head RAG:多头注意力的激活层作为嵌入进行文档检索

现有的RAG解决方案可能因为最相关的文档的嵌入可能在嵌入空间中相距很远,这样会导致检索过程变得复杂并且无效。为了解决这个问题,论文引入了多头RAG (MRAG),这是一种利用Transformer的多头注意层的激活而不是解码器层作为获取多方面文档的新…