机器学习——压缩网络作业

文章目录

    • 任务描述
    • 介绍
      • 知识蒸馏
      • 网络设计
    • Baseline
    • 实践

任务描述

在这里插入图片描述

  • 网络压缩:使用小模型模拟大模型的预测/准确性。
  • 在这个任务中,需要训练一个非常小的模型来完成HW3,即在food-11数据集上进行分类。

在这里插入图片描述

介绍

在这里插入图片描述
有许多种网络/模型压缩的类型,这里介绍两种:

  • 知识蒸馏:让小模型通过观察大模型学习时的行为(预测)来学习得更好。(字面上:让小模型从大模型中提取知识)
  • 设计架构:使用更少的参数来表示原始层。(例如,普通卷积 - 深度卷积和逐点卷积)
  • 如果对网络剪枝感兴趣,可以查看ML-Spring2020-HW7中的Colab教程。

知识蒸馏

在这里插入图片描述

  • 在训练小模型时,添加大模型的一些信息(例如预测的概率分布)以帮助小模型更好地学习
  • 提供了一个训练良好的网络,以帮助您进行知识蒸馏(准确率约为0.855)
  • 请注意,在写作业时,只能使用我们提供的预训练模型

网络设计

在这里插入图片描述

  • 深度卷积和逐点卷积层(MobileNet中提出)
    • 可以将原始卷积视为密集/线性层,但每行/每个权重是一个滤波器,原始乘法变成了卷积操作。(输入权重 - 输入滤波器)
    • 深度卷积depthwise:让每个通道首先通过各自的滤波器,然后让每个像素通过共享权重的密集/线性层。
    • 逐点卷积pointwise:是一个1x1卷积。
  • 强烈建议使用类似的技术来设计您的模型。 ( N M k k / N k k + N M ) (NMkk / Nkk+NM) NMkk/Nkk+NM
    参数量变少很多

Baseline

在这里插入图片描述

  • 简单基准(2分,准确率≥0.59856,2小时)
    • 只需运行代码并提交答案。
  • 中等基准(2分,准确率≥0.65412,2小时)
    • 完成知识蒸馏中的损失并控制 alpha 和 T。
  • 强基准(1.5分,准确率≥0.72819,4小时)
    • 通过深度和逐点卷积层修改模型架构。
      • 可以从 MobileNet、ShuffleNet、DenseNet、SqueezeNet、GhostNet 等获取优秀的想法。
    • 在 HW3 - CNN 中学到的任何技术和方法。例如,加强数据增强,修改半监督学习等。

在这里插入图片描述

  • Boss Baseline (0.5 pts, acc ≥ 0.81003)
    • 让教师网络更加强大。
      • 如果教师网络太强大,可以考虑TAKD技术。
    • 实施其他高级知识蒸馏。
      • 例如,DML,关系KD …
    • 如果模型参数数量略大于约束值(100,000),可以使用网络剪枝。
    • 如果对之前的技术感到困惑,可以查看去年TA的课程。(幻灯片,视频)

实践

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • group convolution: 类似于Alexnet,分成一组一组的,alexnet里面是一半一半

在这里插入图片描述

  • depthwise,需要将groups设置成in_chs
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 语料要干净
  • 由于有一个学习过的大模型,让它教导其他小模型。在实现中,让训练目标为大模型的预测,而不是地面真相。

为什么有效?

  • 如果数据不干净,那么大模型的预测可能会忽略带有错误标记数据的噪声。
  • 标签可能具有某些关系。例如,数字8更类似于6、9、0,而不是1、7。
    在这里插入图片描述
  • hard loss + soft loss
    在这里插入图片描述
    教师模型设置
  • 提供一个经过良好训练的教师模型,以帮助进行知识蒸馏到学生模型。请注意,如果想更改转换函数,应该考虑是否适合这个经过良好训练的教师模型。
  • 如果无法成功下载,请更改链接(在此Colab教程的底部提供了备用链接)。

在这里插入图片描述
在未标记的数据中生成伪标签是一种半监督学习的技术,它可以帮助利用未标记数据来提高模型的性能。生成伪标签的一般步骤如下:

  1. 使用已训练的模型进行推理:首先,使用已经在标记数据上训练好的模型对未标记数据进行推理,得出模型对这些数据的预测结果。

  2. 选择置信度阈值:为了生成可靠的伪标签,需要设置一个置信度阈值。只有当模型对样本的预测置信度高于这个阈值时,才会为该样本生成伪标签。

  3. 生成伪标签:对于那些置信度高于阈值的样本,将模型的预测结果作为它们的伪标签。

  4. 结合标记数据和伪标签数据:将生成的伪标签与已有的标记数据结合起来,形成一个扩充的训练集。

  5. 重新训练模型:使用包含标记数据和伪标签数据的扩充训练集重新训练模型,以提高模型性能和泛化能力。

需要注意的是,在生成伪标签时要谨慎选择置信度阈值,以确保伪标签的质量和对模型性能的提升有益处。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Java并发

目录 线程 什么是线程 进程和线程的区别 线程的生命周期 什么是多线程 并发与并行 多线程的三种实现方式 继承Thread类 1.创建类继承Thread类 2.重写run()方法 3.创建对象启动线程 实现Runnable接口 1.自己定义一个类实现Runnable接口 2.重…

由浅到深认识C语言(14):枚举

该文章Github地址:https://github.com/AntonyCheng/c-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.csdn…

python毕业设计基于flask应急救援调度系统django

此系统设计主要采用的是python语言来进行开发,采用flask框架技术,框架分为三层,分别是控制层Controller,业务处理层Service,持久层dao,能够采用多层次管理开发,对于各个模块设计制作有一定的安全…

动态规划题目练习

基础知识: 动态规划背包问题-CSDN博客 动态规划基础概念-CSDN博客 题目练习: 题目1:过河卒 题目描述 棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马…

WebGIS管线在线编辑器(电力、水力、燃气、热力、热能管线)

随着GIS等信息技术的发展,地下管线管理也从二维平面向三维立体管理迈进。传统管线信息管理系统将管线及其附属设施抽象成二维平面内的点、要素,并使用各类点符号、不同颜色线段进行表达。虽能一定程度上满足城市智慧运行的需要,但不能很直观的…

【Linux】文件描述符 - fd

文章目录 1. open 接口介绍1.1 代码演示1.2 open 函数返回值 2. 文件描述符 fd2.1 0 / 1 / 22.2 文件描述符的分配规则 3. 重定向3.1 dup2 系统调用函数 4. FILE 与 缓冲区 1. open 接口介绍 使用 man open 指令查看手册&#xff1a; #include <sys/types.h> #include …

02. Java 中的关键字、标识符、运算符、分隔符和注释

关键字 Java 的关键字(keyword、保留字)是 Java 语言中具有特殊含义的单词&#xff0c;它们被保留供 Java 自身使用&#xff0c;不能被用作标识符。例如 public、class、void、int 等都是关键字。 关键字在 Java 语法中起着重要的作用&#xff0c;它们定义了编程的结构、控制…

Python 深度学习第二版(GPT 重译)(一)

前言 序言 如果你拿起这本书&#xff0c;你可能已经意识到深度学习在最近对人工智能领域所代表的非凡进步。我们从几乎无法使用的计算机视觉和自然语言处理发展到了在你每天使用的产品中大规模部署的高性能系统。这一突然进步的后果几乎影响到了每一个行业。我们已经将深度学…

【数据结构与算法】(13):冒泡排序和快速排序

&#x1f921;博客主页&#xff1a;Code_文晓 &#x1f970;本文专栏&#xff1a;数据结构与算法 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多数据结构与算法点击专栏链接查看&…

揭秘2024云渲染平台优惠陷阱!有些看似划算实则很坑

近年来&#xff0c;随着云渲染技术的飞速发展&#xff0c;越来越多的人开始关注并使用云渲染平台。然而其中隐藏着一些消费陷阱&#xff0c;需要我们谨慎小心。有时候一些平台看似优惠&#xff0c;实际上可能是一个深不见底的坑。 今天小编就来对比分析2024年市面上主流的五款云…

MT管理器 使用手册

MT管理器 论坛&#xff1a;https://bbs.binmt.cc/ 使用技巧系列教程&#xff1a;https://www.52pojie.cn/thread-1259872-1-1.html MT管理器 使用手册 &#xff1a;https://mt2.cn/guide/&#xff1a;https://www.bookstack.cn/read/mt-manual/80b8084f6be128c0.md&#xff…

外包干了5天,技术退步明显。。。。

说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&a…

exporter方式监控达梦数据库

蓝鲸监控 随着国产化和信创的深入&#xff0c;开始普遍使用国产化数据库–如达梦数据库&#xff0c;蓝鲸平台默认没有对其进行监控&#xff0c;但是平台了提供监控告警的能力。比如脚本采集&#xff0c;脚本的是一种灵活和快速的监控采集方式&#xff0c;不同层的监控对象都可…

SqlServer数据库复习总结资料

基于课堂上学到的以及书上的看到的&#xff0c;总结出的数据库复习资料 一、数据库概述 基本概念 1.数据 数据&#xff08;Data&#xff09;是事物的符号表示&#xff0c;可以是声音、图像、文字、数字&#xff0c;也可以是计算机代码。 2.数据库 数据库&#xff08;DataBase…

pytorch之诗词生成6--eval

先上代码&#xff1a; import tensorflow as tf from dataset import tokenizer import settings import utils# 加载训练好的模型 model tf.keras.models.load_model(r"E:\best_model.h5") # 随机生成一首诗 print(utils.generate_random_poetry(tokenizer, model)…

WebXR实践——利用aframe框架浏览器展示全景图片

一、效果 话不多说&#xff0c;先上效果 二、代码 index.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>360&deg; Image</title><meta name"description" content"360&deg; Imag…

JavaSE:数据类型与变量

目录 一、前言 二、数据类型与变量 &#xff08;一&#xff09;字面常量 &#xff08;二&#xff09;数据类型 &#xff08;三&#xff09;变量 1.变量概念 2.语法格式 3.整型变量 3.1整型变量 3.2长整型变量 3.3短整型变量 3.4字节型变量 4.浮点型变量 4.1双精…

REDHAWK——连接(续)

文章目录 前言一、突发 IO1、数据传输①、输入②、输出 2、突发信号相关信息 (SRI)3、多输出端口4、使用复数数据①、在 C 中转换复数数据 5、时间戳6、端口统计①、C 二、消息传递1、消息生产者①、创建一个消息生产者②、发送消息 2、消息消费者①、创建消息消费者②、注册接…

01mysql

登陆mysql 默认数据库 进入&#xff0c;展示&#xff0c;删除 &#xff0c;查看当前正使用的库 select version()查看版本 查看表结构desc 查询 not in不会忽略空 in会自动忽略 like模糊查询 %o%中间带o的 _A%第二个字母是A的 查名字是下划线的 %\_% 排序 order …

罗技G29游戏方向盘试玩拆解,带震动力反馈

1.正好有时间记录下 自己的爱好 一千多的罗技G29游戏方向盘试玩拆解&#xff0c;带震动力反馈&#xff0c;值这个价吗_哔哩哔哩_bilibili 一千多的罗技G29游戏方向盘试玩拆解&#xff0c;带震动力反馈&#xff0c;值这个价吗_哔哩哔哩_bilibili 2.拆解 3.2个大电机 4.主控芯…