当前位置: 首页 > news >正文

学习记录(11):训练图片分类的算法


文章目录

  • 一、卷积神经网络(CNN)架构
    • 1. ResNet(Residual Networks)
    • 2. DenseNet(Densely Connected Convolutional Networks)
    • 3. EfficientNet
    • 4. MobileNet
  • 二、变换器(Transformer)架构
    • 1. Vision Transformer(ViT)
    • 2. Swin Transformer
  • 三、混合架构
    • 1. ConvNeXt
    • 2. CoAtNet(Convolutional Attention Network)
  • 四、自监督学习和对比学习
    • 1. SimCLR(Simple Framework for Contrastive Learning of Visual Representations)
    • 2. BYOL(Bootstrap Your Own Latent)
  • 五 、大规模预训练学习
    • 1. CLIP(Contrastive Language–Image Pretraining)
    • 2. DINO(Self-Distillation with No Labels)


一、卷积神经网络(CNN)架构

1. ResNet(Residual Networks)

特点:引入了残差连接(skip connections),解决了深层网络中的梯度消失问题。
代表模型:ResNet-50、ResNet-101、ResNet-152。
优势:在ImageNet等大型数据集上表现优异,训练稳定。

2. DenseNet(Densely Connected Convolutional Networks)

特点:每一层都与前面的所有层直接连接,增强了特征复用。
代表模型:DenseNet-121、DenseNet-169、DenseNet-201。
优势:参数更少,特征传递和梯度流动更好。

3. EfficientNet

特点:通过复合缩放方法(compound scaling)系统地缩放网络的深度、宽度和分辨率。
代表模型:EfficientNet-B0到EfficientNet-B7。
优势:在参数量和计算量较少的情况下,达到了更高的准确率。

4. MobileNet

特点:设计轻量级网络,适用于移动和嵌入式设备。
代表模型:MobileNetV1、MobileNetV2、MobileNetV3。
优势:计算效率高,适合资源受限的环境。

二、变换器(Transformer)架构

1. Vision Transformer(ViT)

特点:将图像分割成固定大小的patches,然后将这些patches作为输入序列,使用标准的Transformer架构进行处理。
优势:在大规模数据集上训练时,能够达到或超过传统CNN的性能。

2. Swin Transformer

特点:引入了层次化的窗口注意力机制,能够在不同尺度上捕捉图像特征。
优势:在多个视觉任务中表现出色,包括图像分类、目标检测和语义分割。

三、混合架构

1. ConvNeXt

特点:结合了CNN和Transformer的优点,采用了现代化的设计理念,如LayerNorm、GELU激活函数等。
优势:在保持CNN高效性的同时,提升了模型的性能。

2. CoAtNet(Convolutional Attention Network)

特点:结合了卷积和注意力机制,利用卷积捕捉局部特征,利用注意力机制捕捉全局特征。
优势:在多个视觉任务中表现优异,具有较好的泛化能力。

四、自监督学习和对比学习

1. SimCLR(Simple Framework for Contrastive Learning of Visual Representations)

特点:通过对比学习方法,在没有标签的数据上进行预训练,然后在有标签的数据上进行微调。
优势:能够在没有大量标注数据的情况下,学习到高质量的特征表示。

2. BYOL(Bootstrap Your Own Latent)

特点:通过自我监督学习方法,不需要负样本对,直接优化特征表示。
优势:在多个数据集上表现出色,训练稳定。

五 、大规模预训练学习

1. CLIP(Contrastive Language–Image Pretraining)

特点:通过对比学习,将图像和文本嵌入到同一个向量空间中,能够处理多模态任务。
优势:在多个下游任务中表现优异,包括图像分类、图像生成、文本生成等。

2. DINO(Self-Distillation with No Labels)

特点:通过自监督学习方法,利用教师-学生模型进行特征提取。
优势:在没有标签的数据上进行预训练,然后在有标签的数据上进行微调,表现出色。

总结
目前,图像分类领域的最先进算法主要集中在深度学习模型,特别是卷积神经网络(CNN)和变换器(Transformer)架构上。选择合适的模型需要根据具体的应用场景、数据规模、计算资源等因素来决定。对于大规模数据集和高性能需求,可以考虑使用Vision Transformer(ViT)或Swin Transformer等变换器架构;对于资源受限的环境,可以考虑使用MobileNet或EfficientNet等轻量级模型。

相关文章:

学习记录(11):训练图片分类的算法

文章目录 一、卷积神经网络(CNN)架构1. ResNet(Residual Networks)2. DenseNet(Densely Connected Convolutional Networks)3. EfficientNet4. MobileNet 二、变换器(Transformer)架…...

上网防泄密,这些雷区不要碰!九招教你如何防泄密

李明:“最近看到不少关于信息泄露的新闻,真是让人担忧。咱们在工作中,稍有不慎就可能触碰到泄密的雷区啊。” 王芳:“确实,网络安全无小事。尤其是我们这种经常需要处理敏感信息的岗位,更得小心谨慎。那你…...

数据库篇--八股文学习第十五天| 一条SQL查询语句是如何执行的?,事务的四大特性有哪些?,数据库的事务隔离级别有哪些?

1、一条SQL查询语句是如何执行的? 答: 连接器:连接器负责跟客户端建立连接、获取权限、维持和管理连接。查询缓存: MySQL 拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。之前执行过的语句及其结果可能会以…...

elk + filebeat + kafka实验和RSync同步

elk filebeat kafka实验和RSync同步 elk filebeat kafka实验 filebeatkafkaELK实验的操作步骤: #在装有nginx的主机上解压filebeat压缩包 [roottest4 opt]# tar -xf filebeat-6.7.2-linux-x86_64.tar.gz #将解压后的压缩包更改名字 [roottest4 opt]# mv file…...

子类到底能继承父类中的哪些内容?

...

【超详细公式】曝光值(EV)、光圈(AV)、快门(TV)、感光度(SV)、照度(Lux)

文章目录 术语 E V A V T V − S V EV AV TV - SV EVAVTV−SV L u x 2.5 2 E V Lux 2.5 \times 2^{EV} Lux2.52EV通常环境光照度参照表 术语 术语全称中文名EVExposure Value曝光值AVAperture Value光圈值TVTime Value快门值SVSensitive Value感光值BVBrightness Value…...

【Java】增强for遍历集合。

增强for遍历 增强for底层就是迭代器。所有的单列集合和数组才能使用增强for遍历。 在循环过程中无法对集合中的元素进行修改。 package demo;import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class submit {public static void …...

【Qt】管理创建子项目

新建项目 打开是这样,无法添加子项目 pro添加 TEMPLATE subdirs有了 点击添加子项目 其他项目-子目录项目 (空的子项目,只有pro,无h、cpp) 子目录名字 直接创建子目录下子项目 选择有无界面或者其他类型项目 …...

力扣——238.移动零

题目 思路 利用双指针,先找到第一个为0的地方指向,指针2指向下一个,指针1之前是已经处理好的数据,指针2进行遍历,遇到非零则与指针1数据交换,然后指针1。 代码 class Solution { public:void moveZeroes(…...

编程的魅力

在数字化时代,编程已不仅仅是计算机科学家的专属领地,它正逐渐渗透到我们生活的每一个角落,成为连接现实与虚拟、创新与传统的重要桥梁。编程,这一门融合了逻辑、创造与解决问题的艺术,正以其独特的魅力引领着新一轮的…...

想提升跨境电商运营?浏览器多开为你助力!

在日常生活中,我们在使用浏览器访问网站时,可能会遇到一个尴尬的情况:无法同时登录一个网站的多个账号。对于跨境电商卖家来说,这种情况更为常见。例如,当我们需要在亚马逊管理店铺时,我们可能已经使用A账号…...

使用QML的ListView自制树形结构图TreeView

背景 感觉QML自带的TreeView不是很好用,用在文件路径树形结构比较多,但是想用在自己数据里,就不太方便了,所以自己做一个。 用‘ListView里迭代ListView’的方法,制作树形结构,成果图: 代码…...

2.MySQL面试题之索引

1. 为什么索引要用 B树来实现呢,而不是 B 树? MySQL 选择使用 B 树来实现索引,而不是 B 树,主要是基于以下几个原因: 1.1 数据存储和访问效率 B 树:在 B 树中,数据和索引都存储在每个节点中。…...

复制CodeIgniter新版的array_group_by辅助函数

很需要php数组的group_by功能,发现codeIgniter4.5新版中已有这个辅助函数,但我用的codeIgniter4.14没有,又不想升级php等一系列东西,就想把把codeIgniter4.5中array_group_by函数复制过来用。 先试着把新版本的array_helper文件及…...

合并两个 ES (Elasticsearch) 的数据

要将两个 Elasticsearch 实例中的同一个索引(/test_index)的数据合并到一个实例中,你可以按照以下步骤操作: 假设 Elasticsearch 1 (ES1) 和 Elasticsearch 2 (ES2) 都有相同的索引 /test_index。希望将 ES2 中的数据合并到 ES1 中。步骤 导出 ES2 的数据:使用 Elasticse…...

Linux网络协议.之 tcp,udp,socket网络编程(四).之网络转换函数htonl,ntohs等介绍

字节转换函数 把给定系统所采用的字节序称为主机字节序,为了避免不同类别主机之间在数据交换时由于对于字 节序的不同而导致的差错,引入了网络字节序。 主机字节序到网络字节序 u_long htonl(u_long hostlong); u_short htons(u_short short); 网络字节…...

LXC和udev知识点

1 POSIX pthread_create原理 1)fork()、pthread_create()、vfork()对应的系统调用分别是sys_fork()、sys_clone()、sys_vfork(),它们在内核中都是通过do_fork()实现的。 2)系统中所有的进程都组织在init_task.tasks链表下面,每个进…...

基于springboot+vue+uniapp的智慧校园管理系统小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…...

论文辅导 | 基于概率密度估计与时序Transformer网络的风功率日前区间预测

辅导文章 模型描述 本文所提出的时序优化Transformer 结构,该模型从结构上看由三部分组成:向量映射、编码器和解码器。编码器输入为数值天气预报数据以及相应的时间编码。解码器输入为预测日之前输出功率历史数据以及相应的时间编码。这些数据在经过向量…...

金蝶云星空单据体数量汇总-分组列信息

文章目录 金蝶云星空单据体数量汇总-分组列信息BOS配置效果展示 金蝶云星空单据体数量汇总-分组列信息 BOS配置 效果展示...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

区块链技术概述

区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...