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

开源仓库

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.mzph.cn/pingmian/29704.shtml

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

相关文章

python学习笔记-07

python内置函数 内置函数就是python自带的函数,不需要我们再去定义的,如print等直接使用即可,内置函数官方文档:官链。 1.数学运算 #数学运算: print(------abs()是绝对值函数------) a-1.1 print({}的绝对值是{}.fo…

QT day04

一、思维导图 二、登录界面优化 代码: 界面: *{background-color: rgb(255, 255, 255); }QFrame#frame{border-image: url(:/Logo/shanChuan.jpg);border-radius:15px; }#frame_2{background-color: rgba(110, 110, 110, 120);border-radius:15px; }Q…

使用芯片为ZYNQ—7020,基于野火FPGA ZYNQ开发板

使用芯片为ZYNQ—7020,基于野火FPGA ZYNQ开发板 肤色模型简介 YCrCb也称为YUV,主要用于优化彩色视频信号的传输。与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视频信号同时传输)。其…

国内如何高速下载hugginging face模型

国内如何高速下载hugginging face模型 背景 如今开源大模型很多,相较于线上的调用接口,本地部署更有吸引力。这就免不了需要去Huggingface上下载模型,但因为国内管制要求,huggingface 并不能直接访问,或者下载速度很…

统计学一(术语,正态)

目录 一,常用术语 二,正态分布(Normal Distribution) 三,中心极限定理(Central Limit Theorem) 一,常用术语 population(族群):要统计的总的 populationSize(族群数量):要统计的总…

使用高斯混合模型(GMM)进行猫狗音频聚类(Kaggle Audio Cats and Dogs)

Audio Cats and Dogs | Kaggle 目录 一、实验目标 二、数据分析 三、实验结果 四、改进方向 一、实验目标 数据集包括164个标注为猫的.wav文件,总共1323秒和113个标注为狗叫声的.wav文件,总共598秒,要求判别每个音频是狗叫还是猫叫 二、…

反激开关电源保险丝以及热敏电阻的选型

保险丝(2A/250V) 保险丝的选型及计算 1、保险丝的作用就是在电路出现故障造成过流甚至短路时能及时切断电路电源的联系。( 保护后 级电路,一旦出现故障,由于电流过大温度过高,保险丝熔断 ) 2、…

6月18日 Qtday4

作业day4.1 作业4.2

SpringBoot快速入门-上

Apache Tomcat Apache Tomcat是一个开源的Servlet 或 web容器,它实现了Java Servlet、JavaServer Pages (JSP)、Java Unified Expression Language (JUEL) 和 Java WebSocket 规范。 使用 官网下载 安装:绿色版 , 直接解压 卸载:直接删除目录 改编码: # conf/l…

多路h265监控录放开发-(1)建立head窗口并实现鼠标拖动整个窗口

头文件: //鼠标事件 用于拖动窗口//一下三个函数都是QWidget的可重载成员函数void mouseMoveEvent(QMouseEvent* ev) override;void mousePressEvent(QMouseEvent* ev) override;void mouseReleaseEvent(QMouseEvent* ev) override; 源文件: / /// 鼠标…

玩了两年黑苹果+两年MBP,macOS究竟好在哪?

注:本文仅为个人观点,仅供参考。 前言 今天比较无聊,小白突然盘点了一下自己使用macOS系统的点点滴滴,这也算是一个闲聊帖子吧。 首先,本帖子无任何广告行为,纯属唠嗑文。 声明一下,以防有小…

如何评价2023年亚太杯数学建模竞赛?

APMCM亚太数学建模大赛的含金量在数学建模比赛中虽然不是最高水平,但是也属于比较高的水平了,值得参加试一试。 比如本次C题, 问题一:研究分析影响中国新能源汽车发展的主要因素,建立数学模型,描述这些因…

[14] CUDA_使用Opencv处理图像

CUDA_使用Opencv处理图像 1. Opencv中的图像表示 Opencv 提供了Mat 类来存储图像,如下: cv::Mat img; imgcv::imread("cameraman.tif);定义图像的示例: //定义单通道图像 cv::Mat img(6,6,CV_8UC1); //32位浮点型 Mat img2(256,256,…

sharePoint-基于sharepoint列表中的其他列值自动更新值列

首先进入网站,点击网站内容 点击想要操作的数据表后面的按钮,点击设置 点击创建栏 填写栏名,类型选择计算值,公式用于对列表或库中的值执行计算,然后点击右下角的确定就添加成功了 公式参考: 公式SharePoi…

Windows系统下制作Windows 11系统U盘启动及安装指导

Windows系统下制作Windows 11系统U盘启动及安装指导 一、准备工作 U盘不得小于8G(推荐使用usb3.0接口);下载好对应的系统镜像;下载RUFUS或者软通碟U盘制作启动软件; 二、Windows操作系统下制作U盘启动(这里以使用RUFUS软件为例&…

Chromium 开发指南2024 Mac篇-安装和配置depot_tools工具(三)

1.引言 在前两篇指南中,我们详细介绍了在 macOS 环境下编译 Chromium 所需的硬件要求和系统依赖,并具体讲解了如何正确安装和配置 Xcode。通过这些步骤,您已经为编译 Chromium 打下了坚实的基础。然而,编译 Chromium 还需要配置一…

电路分析期末总结笔记上

电流,电压定义及单位 电流(Current) 的定义是单位时间内通过导体横截面的电荷量。 电压(Voltage),又称作电势差或电位差,是衡量单位电荷在静电场中由于电势不同而产生的能量差的物理量。 参考…

如何将Postman API测试转换为JMeter以进行扩展

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客跳槽涨薪的朋友们有福了,今天给大家推荐一个软件测试面试的刷题小程序。​编辑https://…

Apache Royale

Apache Royale 顶级项目 Apache Royale 之前adobe的flex,由于浏览器flash,安全沙箱问题,逐步退出市场,当年flex也就是AS3,浏览器统一兼容问题又停止了。 接着要说明一点,HTML5的自适应是在flex之后&#x…

shell编程中的运算符的讲解

在Linux操作系统中也可以使用expr来进行一些数值的运算,expr接受表达式作为参数,并打印计算结果。 对于某些复杂的表达式或早期不支持内嵌算术表达式的Shell环境,expr 仍然是一个可行的选择。 如上图所示,是使用变量sum来承接加和…