【机器学习合集】模型设计之注意力机制动态网络 ->(个人学习记录笔记)

文章目录

  • 注意力机制
    • 1. 注意力机制及其应用
      • 1.1 注意力机制的定义
      • 1.2 注意力机制的典型应用
    • 2. 注意力模型设计
      • 2.1 空间注意力机制
      • 2.2 空间注意力模型
      • 2.3 通道注意力机制
      • 2.4 空间与通道注意力机制
      • 2.5 自注意力机制
      • 2.5 级联attention
  • 动态网络
    • 1. 动态网络的定义
    • 2. 基于丢弃策略的动态网络
      • 2.1 随机深度残差网络
      • 2.2 模块丢弃残差网络
      • 2.3 BranchyNet网络
      • 2.4 Spatially Adaptive Computing Time(SACT)
    • 3. 基于注意力机制的动态网络
      • 3.1 动态卷积(Dynamic Convolution)
      • 3.2 动态空间模型(Dynamic RegionAware Convolution)
    • 4. 基于合并策略的动态网络
      • 4.1 Deep Rebirth
      • 4.2 RepVGG

注意力机制

  • 注意力机制(Attention Mechanism)是一种在深度学习模型中用于加强不同输入元素之间关联性的方法。它模拟了人类感知中的注意力过程,允许模型在处理数据时选择性地关注重要的信息,以提高性能。
    以下是有关注意力机制在模型设计中的重要性和应用:
  1. 自然语言处理(NLP)
    • 在自然语言处理中,注意力机制常用于机器翻译、文本摘要、问答等任务。通过注意力机制,模型可以在生成输出时关注输入序列中与当前生成标记相关的部分。
    • 注意力机制有助于提高翻译质量,生成更准确的摘要,以及在问答任务中定位正确的上下文信息。
  2. 计算机视觉
    • 在计算机视觉中,注意力机制可以用于目标检测、图像分类和图像分割。通过注意力机制,模型可以在处理图像时关注与任务相关的图像区域或特征。
    • 这有助于改善目标检测的准确性,特别是在多目标场景中,以及提高图像分类性能。
  3. 强化学习
    • 在强化学习中,注意力机制可以用于选择执行动作的策略。模型可以在每个时间步上选择性地关注不同状态或观察,以优化决策。
    • 注意力机制在增强学习中的应用可以提高智能体的性能,特别是在复杂环境中的任务。
  4. 自动编码器和生成对抗网络
    • 注意力机制还可以用于自动编码器(Autoencoders)和生成对抗网络(GANs)等模型,以改善特征提取和生成过程。
    • 通过引入注意力机制,模型可以更好地选择和生成重要的特征或样本。
  5. 跨模态任务
    • 在处理跨模态数据(例如,文本和图像的关联)时,注意力机制可以帮助模型在不同模态之间建立关联,以实现更精确的任务。
  • 总之,注意力机制是深度学习模型设计中的一个重要组成部分,可以提高模型的性能、可解释性和适应性。通过引入注意力机制,模型可以更有效地处理大量信息,选择性地关注重要信息,并在各种任务中获得更好的结果。因此,注意力机制已成为各种深度学习任务中的不可或缺的工具。

1. 注意力机制及其应用

1.1 注意力机制的定义

  • Attention,对图像中不同区域或者句子中的不同部分给予不同的权重,从而找到感兴趣的区域,抑制不感兴趣区域
    在这里插入图片描述

1.2 注意力机制的典型应用

  • 显著目标检测,图像修复,图像编辑
    在这里插入图片描述
  • 机器翻译,摘要生成,图像描述
    在这里插入图片描述

2. 注意力模型设计

2.1 空间注意力机制

  • 显著目标检测模型,Saliency Object Detection,预测显著目标概率图
    在这里插入图片描述

2.2 空间注意力模型

  • 动态容量网络,Dynamic Capacity Networks
    在这里插入图片描述
  • 空间变换网络,STN(spatial transform network)
    在这里插入图片描述

2.3 通道注意力机制

  • SENet ,2017年ImageNet分类冠军网络
    在这里插入图片描述

2.4 空间与通道注意力机制

  • CBAM,Convolutional Block Attention Module,同时从空间维度和通道维度进行Attention
    在这里插入图片描述

2.5 自注意力机制

  • 双线性模型,使用特征外积操作获得自注意力矩阵
    在这里插入图片描述
  • 非局部卷积,Non-local Network
    在这里插入图片描述

2.5 级联attention

  • Residual Attention Network(2018)
    在这里插入图片描述

动态网络

  • 动态网络(Dynamic Network)是一种神经网络架构,与传统的静态神经网络不同,它允许在模型训练和推理期间根据输入数据的特性动态调整网络结构。这种灵活性可以帮助网络更好地适应不同数据分布和任务需求。以下是一些关于动态网络的设计和应用方面的考虑:
  1. 自适应结构
    • 在动态网络中,网络结构可以根据输入数据的特性自动调整。这意味着网络可以动态地添加或删除层、模块或通道,以适应不同的输入数据。
    • 自适应结构可以提高模型的泛化性能,使其更适合于变化的数据分布,特别是在面对不平衡数据或噪声数据时。
  2. 注意机制
    • 动态网络通常使用注意力机制(Attention Mechanism),以根据输入数据的不同部分调整网络的关注度。这有助于模型更好地关注重要的信息。
    • 注意机制在自然语言处理(NLP)和计算机视觉中的动态网络中得到广泛应用,例如,自然语言问答和图像标注任务。
  3. 遗忘机制
    • 一些动态网络可以学习遗忘不需要的信息,从而提高模型的效率。这在处理长序列或大型数据时尤其有用。
    • 遗忘机制可以降低模型的计算复杂度,同时保持高性能。
  4. 模块化设计
    • 动态网络通常采用模块化的设计,模块可以根据需要堆叠或重复。这种设计使得网络更易于扩展和调整。
    • 模块化设计对于构建可重复使用的模型部分和快速迭代设计是有利的。
  5. 预测网络结构
    • 有些动态网络可以预测网络的结构,以更好地适应特定任务。这通常涉及到使用强化学习等方法来优化网络的结构。
    • 预测网络结构的方法对于模型设计的自动化和优化非常有前景。
  6. 实时决策
    • 动态网络可以用于实时决策,例如自动驾驶、机器人控制或游戏决策,因为它们能够根据实时输入进行动态调整。
  • 总之,动态网络是一种具有适应性和灵活性的神经网络架构,可以根据不同的任务和输入数据自动或手动地调整网络结构。这种灵活性使动态网络适用于各种不同的应用领域,尤其是需要适应变化的数据和任务要求的情况。

1. 动态网络的定义

  • 网络结构在训练或推理时表现出不同的结构、对不同的样本,表现出不同
    在这里插入图片描述

  • 研究动态网络原因:提高模型的泛化能力,减少计算量
    在这里插入图片描述

2. 基于丢弃策略的动态网络

2.1 随机深度残差网络

  • 残差网络可以看作是多个不同深度模型的集成,“Residual networks behave like ensembles of relatively shallow networks"
    在这里插入图片描述

2.2 模块丢弃残差网络

  • Blockdrop,学习丢弃策略的残差模块
    在这里插入图片描述

2.3 BranchyNet网络

  • 对于不同的样本,根据累积的嫡来决定是否提前退出推理,越简单的样本,计算量越小
    在这里插入图片描述

2.4 Spatially Adaptive Computing Time(SACT)

  • 对每一个残差单元的输出添加一个分支,用于预测halting score(累积概率,0~1)
    在这里插入图片描述

3. 基于注意力机制的动态网络

3.1 动态卷积(Dynamic Convolution)

  • 根据输入图像,采用注意力机制自适应地调整卷积参数
    在这里插入图片描述

3.2 动态空间模型(Dynamic RegionAware Convolution)

  • 根据输入图像不同特征图上不同区域,采用不同的卷积核进行计算
    在这里插入图片描述

4. 基于合并策略的动态网络

4.1 Deep Rebirth

  • 合并非tensor层,包括BN层,Pooling , Scale层,以及多个分支
    在这里插入图片描述

4.2 RepVGG

  • 训练时存在跳层连接,训练后合并连接
    在这里插入图片描述

注:部分内容来自阿里云天池

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

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

相关文章

PostgreSQL逻辑管理结构

1.数据库逻辑结构介绍 2.数据库基本操作 2.1 创建数据库 CREATE DATABASE name [ [ WITH ] [ OWNER [] user_name ] [ TEMPLATE [] template ] [ ENCODING [] encoding ] [ LC_COLLATE [] lc_collate ] [ LC_CTYPE [] lc_ctype ] [ TABLESPACE [] tablespace ] [ CONNECTION L…

Day17力扣打卡

打卡记录 参加会议的最多员工数&#xff08;拓扑排序 分类讨论&#xff09; 链接 计算内向基环树的最大基环&#xff0c;基环树基环为2的情况分类讨论。 class Solution { public:int maximumInvitations(vector<int> &favorite) {int n favorite.size();vector…

4.多层感知机-3GPT版

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 多层感知机一、感知机1、感知机2、训练感知机3、图形解释4、收敛定理5、XOR问题6、总结 二、多层感知机1、XOR2、单隐藏层3、单隐藏层-单分类4、为什么需要非线性激活函数5、Sigmoid函数6、Tanh函数7、ReLU函数8、多类分…

SDK是什么

SDK 是“Software Development Kit”&#xff08;软件开发工具包&#xff09;的缩写&#xff0c;它是一组用于开发特定软件应用、硬件平台、计算机系统或操作系统的开发工具的集合。SDK 通常包括一组开发工具、库、文档和示例代码&#xff0c;以帮助开发者更快地开发和部署应用…

SAML- 安全断言标记语言

一、概念 安全断言标记语言&#xff08;SAML&#xff09;是一种开放标准&#xff0c;用于在各方之间&#xff08;特别是身份提供商和服务提供商之间&#xff09;交换身份验证和授权数据。SAML 是一种基于XML的安全断言标记语言&#xff08;服务提供商用来做出访问控制决策的语句…

HTML标签、CSS介绍

标签的分类: 块级/行内 # 块级标签: 独占一行 h1~h6 p div """ 块儿级标签可以修改长宽. 行内标签不可以, 就算修改了也不会变化.块级标签内部可以嵌套任意的块级标签和行内标签. 特例: 是p标签虽然是块级标签 但是它只能嵌套行内标签 不能嵌套块级标签. 如…

linux安装apache并配置userid站点

目录 一、linux安装apache的方式 1、安装wget 2、下载CentOS 7的repo文件 3、更新镜像源 二、安装apache 1.通过命令直接安装apache(linux的软件包为httpd) 2.启动httpd服务 3.访问一下 三、apache配置文件 1.主配置文件 2.修改根目录 3.修改下端口 4.apache的工作…

BUUCTF 数据包中的线索 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 公安机关近期截获到某网络犯罪团伙在线交流的数据包&#xff0c;但无法分析出具体的交流内容&#xff0c;聪明的你能帮公安机关找到线索吗&#xff1f; 密文&#xff1a; 下载附件&#xff0c;解压得到一个.pcapng文…

【兔子王赠书第5期】ChatGPT速学通:文案写作+PPT制作+数据分析+知识学习与变现

文章目录 前言ChatGPT推荐图书作者简介内容简介推荐理由 粉丝福利尾声 前言 程序员如果有一天代码写不动了&#xff0c;还能干什么&#xff1f; 一位 80 后女程序员“兰猫”给出了她的答案——转型 AI 写手。兰猫从事程序员工作十余年&#xff0c;在繁重的工作压力下&#xf…

大数据毕业设计选题推荐-系统运行情况监控系统-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

leetCode 2915. 和为目标值的最长子序列的长度 + 动态规划 +01背包 + 空间优化 + 记忆化搜索 + 递推

2915. 和为目标值的最长子序列的长度 - 力扣&#xff08;LeetCode&#xff09; 给你一个下标从 0 开始的整数数组 nums 和一个整数 target 。返回和为 target 的 nums 子序列中&#xff0c;子序列 长度的最大值 。如果不存在和为 target 的子序列&#xff0c;返回 -1 。子序列 …

ubuntu下vscode终端输出出现空白的问题

当终端 输出铺满后 再继续回车 会出现局部空白 这是vscode 的bug&#xff1f;有大佬知道解决办法的可以评论区留言。

Flutter 04 按钮Button和事件处理、弹框Dialog、Toast

一、按钮组件 1、按钮类型&#xff1a; 2、按钮实现效果&#xff1a; import package:flutter/material.dart;void main() {runApp(const MyApp()); }class MyApp extends StatelessWidget {const MyApp({Key? key}) : super(key: key);overrideWidget build(BuildContext co…

Stream 流对象的创建与各方法

Stream 流对象的创建与各方法 目录 1.0 Stream 流的说明 2.0 Stream 流对象的创建 2.1 对于 Collection 系列集合创建 Stream 流对象的方式 2.2 对于 Map 系列集合创建 Stream 流对象的方式 2.3 对于数组创建 Stream 流对象的方式 3.0 Stream 流的中间方法 3.1 Stream 流的 …

《算法设计与分析》 蛮力法实验报告一

1.&#xff08;洛谷 P1008&#xff09;将 1,2...9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数构成 1:2:3 的比例,试求出所有满足条件的三个三位数。 输入格式&#xff1a; 无 输出格式&#xff1a; 若干行&#xff0c;每行 3 个数字。按照每行第 1 个数字升序…

vue基于ElementUI/Plus自定义的一些组件

vue3-my-ElementPlus 源码请到GitHub下载使用MyTable、MySelect、MyPagination 置顶|Top | 使用案例&#xff1a; 1.0 定义表格数据&#xff08;测试使用&#xff09; data() {return {tableData: [],value:[],valueList: [],}; },// 构造表格测试数据// 1 第一行&#xf…

基于nodejs+vue客户管理管理系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

【设计模式】第6节:创建型模式之“原型模式”

由于本人现在所使用的语言主要是golang&#xff0c;所以后面的代码主要使用golang编写。语言实现应该不是障碍&#xff0c;主要是理解每种设计模式它的思想。 如果对象的创建成本比较大&#xff0c;而同一个类的不同对象之间差别不大&#xff08;大部分字段都相同&#xff09;…

C/C++苹果和虫子 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C苹果和虫子 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C苹果和虫子 2021年3月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 你买了一箱n个苹果&#xff0c;很不幸的是买完时箱…

数据结构与算法之美学习笔记:15 | 二分查找(上):如何用最省内存的方式实现快速查找功能?

目录 前言无处不在的二分思想O(logn) 惊人的查找速度二分查找的递归与非递归实现二分查找应用场景的局限性解答开篇内容小结 前言 本节课程思维导图&#xff1a; 今天我们讲一种针对有序数据集合的查找算法&#xff1a;二分查找&#xff08;Binary Search&#xff09;算法&am…