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

文章目录

  • 注意力机制
    • 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.hqwc.cn/news/155679.html

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

相关文章

SpringBoot----自定义Start

一,为什么要定义Start 向阿里云OSS如果我们要引入的话很麻烦,所以我们可以自定义一些组件, 然后我们只需要在pom文件中引入对应的坐标就可以 二,怎么定义(以阿里云OSS为例) 1, 定义两个组件模块…

【前端早早聊直播回顾】Harmony Next 与 Flutter 的不解之缘

Hello 大家好,我是 Flutter GDE 郭树煜,本次要分享的话题是关于鸿蒙与 Flutter 的故事,可能没接触过的会感觉有点懵,Harmony 和 Flutter 有啥关系,它们怎么会被放到一起讲了呢?接下来就让我们来聊聊这个问题…

秒级启动的集成测试框架

本文介绍了一种秒级启动的集成测试框架,使用该框架可以方便的修改和完善测试用例,使得测试用例成为测试过程的产物。 背景 传统的单元测试,测试的范围往往非常有限,常常覆盖的是一些工具类、静态方法或者较为底层纯粹的类实现&…

第04章_运算符

第04章_运算符 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行…

一文速通 StarRocks 数据库:核心概念、架构与特性

Author: Xinyao Tian 概述 本文档简要梳理了 StarRocks 的基本信息。 简介 Introduction StarRocks 是面向下个时代的,高性能的数据分析仓库。其提供了实时、多维度、高并发的数据分析能力。 StarRocks is a next-gen, high-performance analytical data warehou…

从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型

从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型 一、重写config文件二、开始训练三、ncnn部署 从零开始的目标检测和关键点检测(一):用labelme标注数据集 从零开始的目标检测和关键点检测…

【深度学习】pytorch——快速入门

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ pytorch快速入门 简介张量(Tensor)操作创建张量向量拷贝张量维度张量加法函数名后面带下划线 _ 的函数索引和切片Tensor和Numpy的数组之间的转换张量(tensor)与标量…

分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测

分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测 目录 分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双…

纯css实现手机端loading

纯css实现手机端loading <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"wid…

css画一条虚线,用到background-image:linear-gradient线性渐变的属性

CSS实现虚线的方法_css 虚线_saltlike的博客-CSDN博客 渐变属性(background-image)全解析_background-image linear_大聪明码农徐的博客-CSDN博客 Background:linear-gradient()详解_background: linear-gradient_小白白中之白的博客-CSDN博客 注意&#xff1a; 必须要写高…

【C++的OpenCV】第十四课-OpenCV基础强化(三):单通道Mat元素的访问之data和step属性

&#x1f389;&#x1f389;&#x1f389; 欢迎来到小白 p i a o 的学习空间&#xff01; \color{red}{欢迎来到小白piao的学习空间&#xff01;} 欢迎来到小白piao的学习空间&#xff01;&#x1f389;&#x1f389;&#x1f389; &#x1f496; C\Python所有的入门技术皆在 我…

UI自动化测试 | Jenkins配置优化

前一段时间帮助团队搭建了UI自动化环境&#xff0c;这里将Jenkins环境的一些配置分享给大家。 背景&#xff1a; 团队下半年的目标之一是实现自动化测试&#xff0c;这里要吐槽一下&#xff0c;之前开发的测试平台了&#xff0c;最初的目的是用来做接口自动化测试和性能测试&a…