[迁移学习]预训练和微调

news2024/10/5 14:04:06

一、概述

        一般的有监督迁移学习分为以下三种:

                ①将训练好的模型作为特征抽取模块(例如以resnet进行特征提取)

                ②在一个相关的任务中训练后直接后直接使用(例如gpt)

                ③在训练好的模型基础上进行微调

        此外还有无监督学习的方式

                zero-shot:没有任何标签信息

                few-shot:仅能获取少量标签信息

二、微调

        一般来说,神经网络可以分为两个部分:编码器(Encoder)和解码器(Decoder)。编码器的作用是将原始的像素转换为语义空间中线性可分的语义特征(特征嵌入);解码器的作用是将编码器的语义特征映射为标号(线性分类器)。

         预训练模型(Pre-trained model):在一个较大的数据集上训练的模型(如ImageNet),该模型一般拥有较好的泛化能力。作为对比,一般从零开始训练神经网络,网络中的参数都是随机初始化,很难调优。

        具体做法如下:

                ①构建一个新的模型,该模型的架构应该与预训练模型一致

                ②新模型初始化时,编码器(Encoder)直接加载预训练模型中的权重,解码器(Decoder)使用随机初始化。

                 ③-1限制搜索空间:控制训练轮次和学习率(因为预训练模型本身就在最优解附近,需要避免偏移过多)

                ③-2冻结底层:底层网络一般学习到一些局部特征,而越往上层学习到的东西越是全面。具体做法是将下面几层进行冻结(学习率置0)

三、预训练模型的获取

        以Pytorch为例,可以在访问此网站:Pytorch预训练模型,同时模型转换可以参考之前的文章

[PyTorch]预训练权重的转换https://blog.csdn.net/weixin_37878740/article/details/130259766        或者直接调用timm

import timm
from torch import nn

model = timm,create_model('resnet50',pretrained=True)
model.fc = nn.Linear(model.fc.in_features,n_classes)

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

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

相关文章

jmeter004:察看结果树

元件添加路径:线程组>监听器>察看结果树 取样器结果: ps:取样器是可以显示变量所对应的值的 Thread Name:线程组名称 Sample Start:运行的开始时间 Load time:加载的时间、持续的时间 Connect Time&a…

从零玩转系列之微信支付开篇

一、前言 halo各位大佬很久没更新了最近在搞微信支付,因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序进行关联,至此微信支付Native支付完成.此篇文章过长我将分几个阶段的文章发布(项目源码都有,小程序和PC端) 二、演示 微信支付Native案例 微信支付JSAPI案…

【MySQL】数据表的基本操作

目录 1. 创建表 2. 创建表案例 2.1 创建一个users表 2.2 查看表结构 2.3 修改表 3. 删除表 MySQL🌷 1. 创建表 语法: CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype ) character set 字符集 collate 校验规则 engine 存储…

Blogger空闲短域名搜索代码

Blogger是一个由Google提供的(收购的公司)免费博客平台,旨在使个人博客创建变得容易。用户可以使用Blogger创建自己的博客并将其托管在Google的服务器上。它不需要任何费用,并提供简单易用的编辑器和主题来帮助用户轻松地创建博客…

网络安全学术顶会——SP 2023 议题清单、摘要与总结(下)

注:本文由ChatGPT与Claude联合生成 121、QueryX: Symbolic Query on Decompiled Code for Finding Bugs in COTS Binaries 可扩展的静态检查工具,如Sys和CodeQL,成功地发现了源代码中的错误。这些工具允许分析人员编写应用程序特定的规则&…

虚拟机角度下的线程

虚拟机角度下的线程 jvm与线程 一个 Java 应用程序通常只包含一个 JVM 进程(Java Virtual Machine,Java虚拟机),但在某些情况下可能会有多个 JVM 进程。 一个 Java 应用通常是一个进程,这个进程就是jvm,编…

从Cookie到Session: Servlet API中的会话管理详解

文章目录 一. Cookie与Session1. Cookie与Session2. Servlet会话管理操作 二. 登录逻辑的实现 一. Cookie与Session 1. Cookie与Session 首先, 在学习过 HTTP 协议的基础上, 我们需要知道 Cookie 是 HTTP 请求报头中的一个关键字段, 本质上是浏览器在本地存储数据的一种机制,…

基本类型转换和引用类型转换

文章目录 前言基本类型转换自动数据类型转换强制数据类型转换 引用数据类型转换向上转型向下转型 前言 提示:这里可以添加本文要记录的大概内容: Java 中的类型转换可以分为基本类型转换和引用类型转换两种。 基本类型转换指的是将一种基本数据类型转换…

Koa学习3:用户添加、错误处理

模型 在src目录下创建model目录,用来存放模型 创建用户模型 user.model.js 注意: UUID类型是无法自增的,将id设置为UUID类型时只需要为其指定默认值即可 // 数据类型 const { DataTypes } require(sequelize); // 导入已经连接了数据库…

集合导题、刷题、考试全套完整流程,专业强大的功能,提高刷题学习效率和企业的培训效率

土著刷题微信小程序v1.15,主要是迭代了考试模块的进阶功能,对考试模块进行了一次升级改造。 由于在v1.15开发期间,收到了违规内容整改的通告,为了遵守相关法律法规,让小程序能够平稳安全地运营下去,我们特此…

我说用count(*)统计行数,面试官让我回去等消息...

前言 1 count(*)为什么性能差? 2 如何优化count(*)性能? 2.1 增加redis缓存 2.2 加二级缓存 2.3 多线程执行 2.4 减少join的表 2.5 改成ClickHouse 3 count的各种用法性能对比 前言 最近我在公司优…

Consul单机集群

一、准备工作 1、下载consul consul各版本下载地址,点击如下连接前往: Consul Versions | HashiCorp Releases 本案例使用版本:Consul v1.15.0 ;下载的文件解压皆可,consul为可执行文件。 2、创建目录&#xff1a…

移动安全app渗透测试之渗透流程、方案及测试要点讲解

被产品经理分到了个app测试的活,(话说为啥是产品经理给派活,我不是归技术总监管么),包含安卓端的和ios端的,有点懵逼,说好的web渗透测试和服务器端渗透测试呢,虽然懵逼,不…

【V4L2】v4l2框架分析之video_device

文章目录 🔺一、video_device分析(1-1)struct video_device结构(1-2)struct v4l2_ioctl_ops结构(1-3)v4l2_file_operations结构 🔺二、注册video设备🔺三、卸载清除video…

华为OD机试真题B卷 JavaScript 实现【自守数】,附详细解题思路

一、题目描述 自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 625,76^2 5776,9376^2 87909376。请求出n(包括n)以内的自守数的个数。 数据范围: 1≤n≤10000 二、输入描述 int型整数。 三、输出描述 n以内…

Maven了解及使用

套用一下常用的what, why, how 对maven进行了解。 首先,what? maven是什么? 1、Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecy…

《C# 教程》菜鸟教程学习笔记

学习地址 ######C#有用的网站 C# Programming Guide - 介绍了有关关键的 C# 语言特征以及如何通过 .NET 框架访问 C# 的详细信息。Visual Studio - 下载作为 C# 集成开发环境的 Visual Studio 的最新版本。Go Mono - Mono 是一个允许开发人员简单地创建跨平台应用程序的软件平台…

I.MX6ull GPT高精度定时器

一 简介 GPT的全称是General Purpose Timer,它是一个32位的向上的定时器, GPT 定时器也可以跟一个值进行比较,当计数器值和这个值相等的话就发生比较事件,产生比较中断。GPT 定时器有一个 12 位的分频器,可以对 GPT 定…

sqli-labs靶场通关(1-10)

这次的靶场主要为sql注入的练习,在练习靶场前我们需要了解以下mysql数据库。 数据库是一个用于存储和管理数据的仓库。数据按照特定的格式存储,可以对数据库中的数据进行增加、修改、删除和查询操作。数据库的本质是一个文件系统,按照一定的…

2023年腾讯云618年中大促活动整理汇总

2023年腾讯云618年中大促活动正在进行中,目前正是腾讯云最优惠的时候,小编给大家整理汇总了腾讯云618活动时间、活动入口、活动内容,大家记得抓住上云好时机! 一、2023年腾讯云618活动时间 2023年05月25日-2023年6月30日 二、20…