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

文章目录

  • 注意力机制
    • 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.mfbz.cn/a/112708.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小程序day02

目标 WXML模板语法 数据绑定 事件绑定 那麽問題來了,一次點擊會觸發兩個組件事件的話,該怎么阻止事件冒泡呢? 文本框和data的双向绑定 注意点: 只在标签里面用value“{{info}}”,只会是info到文本框的单向绑定,必须在…

安装docker报错:except yum.Errors.RepoError, e:

问题描述: 在安装docker的时候,配置阿里云地址出现以下问题 问题原因: linux 系统中存在多版本的python. yum 依赖 python 2, 而个人使用 python 3 导致. 解决办法: 修改 /usr/bin/yum-config-manager文件中第一行 #!/usr/bin/p…

arcgis图上添加发光效果!

看完本文, 你可以不借助外部图片素材, 让你的图纸符号表达出你想要的光! 我们以之前的某个项目图纸为例,来介绍下让符号发光的技术! 第一步—底图整理 准备好栅格影像底图、行政边界的矢量数据,确保“数据合适、位置正确、边界吻合”。 确定好图纸的大小、出图比例、投…

字体文件名称成中的Bold, Light,Italic,Regular, Medium是什么意思?

解释 字体文件名: IntelOneMono-Bold.ttf其中IntelOneMono字体名称 Bold 字体的样式 .ttf字体后缀 样式英文 中文Bold粗体BoldItalic粗体斜体Italic斜体Light细体LightItalic斜细体Medium中等MediumItalic中等斜体Regular标准以下来自鸿蒙字体以下来自鸿蒙字体TC…

深度学习_3 数据操作之线代,微分

线代基础 标量 只有一个元素的张量。可以通过 x torch.tensor(3.0) 方式创建。 向量 由多个标量组成的列表(一维张量)。比如 x torch.arange(4) 就是创建了一个1*4的向量。可以通过下标获取特定元素(x[3]),可以通…

通过Google搜索广告传送的携带木马的PyCharm软件版本

导语 最近,一起新的恶意广告活动被发现,利用被入侵的网站通过Google搜索结果推广虚假版本的PyCharm软件。这个活动利用了动态搜索广告,将广告链接指向被黑客篡改的网页,用户点击链接后下载的并不是PyCharm软件,而是多种…

WSL安装Ubuntu

先安装wsl2 安装Ubuntu 打开windows商店,搜索对应版本的Ubuntu,点击获取进度跑完后,点击打开,就可以完成安装 删除Ubuntu版本 wsl --unregister Ubuntu-18.04安装位置迁移 正常情况下Ubuntu是被安装在C盘,我们需要…

解决pycharm中,远程服务器上文件找不到的问题

一、问题描述 pycharm中,当我们连接到远程服务器上时。编译器中出现报错问题: cant open file /tmp/OV2IRamaar/test.py: [Errno 2] No such file or directory 第二节是原理解释,第三节是解决方法。 二、原理解释 实际上这是由于我们没有设置…

优先队列----数据结构

概念 不知道你玩过英雄联盟吗?英雄联盟里面的防御塔会攻击离自己最近的小兵,但是如果有炮车兵在塔内,防御塔会优先攻击炮车(因为炮车的威胁性更大),只有没有兵线在塔内时,防御塔才会攻击英雄。…

Leetcode刷题详解——两两交换链表中的节点

1. 题目链接:24. 两两交换链表中的节点 2. 题目描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 …

【机器学习】一、机器学习概述与模型的评估、选择

机器学习简介 由来 阿瑟.萨缪尔Arthur Samuel,1952年研制了一个具有自学习能力的西洋跳棋程序,1956年应约翰.麦卡锡John McCarthy(人工智能之父)之邀,在标志着人工智能学科诞生的达特茅斯会议上介绍这项工作。他发明了“机器学习…

GitHub项目监控

目录 github开放平台接口限流 监控某个仓库的更新状态 对于常用Github的用户来说,经常有一些自动化的需求。比如监控某些项目的更新情况并实时拉取,比如监控github全网上传的代码是否携带了公司的APIKEY,SECRETKEY等… github开放平台 gith…

线性代数 第一章 行列式

一、概念 不同行不同列元素乘积的代数和(共n!项) 二、性质 经转置行列式的值不变,即; 某行有公因数k,可把k提到行列式外。特别地,某行元素全为0,则行列式的值为0; 两行互换行列式…

STM32智能小车(循迹、跟随、避障、测速、蓝牙、wife、4g、语音识别)总结

目录 1.电机模块开发 1.1 让小车动起来 1.2 串口控制小车方向 1.3 如何进行小车PWM调速 1.4 PWM方式实现小车转向 2.循迹小车 2.1 循迹模块使用 2.2 循迹小车原理 2.3 循迹小车核心代码 2.4 循迹小车解决转弯平滑问题 3.跟随/避障小车 3.1 红外壁障模块分析​编辑 …

SpringCloud Gateway实现请求解密和响应加密

文章目录 前言正文一、项目简介二、核心代码2.1 自定义过滤器2.2 网关配置2.3 自定义配置类2.4 加密组件接口2.5 加密组件实现,AES算法2.6 启动类,校验支持的算法配置 三、请求报文示例四、测试结果4.1 网关项目启动时4.2 发生请求时 前言 本文环境使用比…

跨国文件传输为什么要用专业的大文件传输软件?

跨国文件传输是许多跨国企业需要的基础工作,对于传输的质量和速度要求也是很严格的,随着数据量的不断增加,寻常传统的传输方式肯定是不行,需要新的技术和方式来进行传输,大文件传输软件应运而出,那它有什么…

软考中项集成如何画图?计算题怎么考的?

2023下半年软考集成一共考6个批次,10月28日、29日软考集成考了第一、二、三、四批次,11月4日软考集成再考第五批和第六批。 先说一下通过10.28-29得出的软考机考注意事项: 1、草稿纸不能自带,考试现场会发放草稿纸,草…

钡铼技术ARM工控机在机器人控制领域的应用

ARM工控机是一种基于ARM架构的工业控制计算机,用于在工业自动化领域中进行数据采集、监控、控制和通信等应用。ARM(Advanced RISC Machine)架构是一种低功耗、高性能的处理器架构,广泛应用于移动设备、嵌入式系统和物联网等领域。…

关于pytorch张量维度转换及张量运算

关于pytorch张量维度转换大全 1 tensor.view()2 tensor.reshape()3 tensor.squeeze()和tensor.unsqueeze()3.1 tensor.squeeze() 降维3.2 tensor.unsqueeze(idx)升维 4 tensor.permute()5 torch.cat([a,b],dim)6 torch.stack()7 torch.chunk()和torch.split()8 与tensor相乘运算…

预处理详解(一)

1 预定义符号 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义 这些预定义符号都是…
最新文章