【机器学习合集】模型设计之分组网络 ->(个人学习记录笔记)

文章目录

  • 分组网络
    • 1. 什么是分组网络
      • 1.1 卷积拆分的使用
      • 1.2 通道分离卷积的来源
      • 1.3 GoogLeNet/Inception
      • 1.4 从Inception到Xception(extreme inception)
      • 1.5 通道分组卷积模型基准MobileNet
    • 2. 不同通道分组策略
      • 2.1 打乱重组的分组
      • 2.2 多尺度卷积核分组
      • 2.3 多分辨率卷积分组
      • 2.4 分数+整数的分组卷积
      • 2.5 级连分组卷积
    • 3. 可学习的分组网络
      • 3.1 卷积核配置的学习
      • 3.2 分组连接的学习

分组网络

  • 分组卷积网络(Grouped Convolutional Network),有时称为分组卷积或通道分组卷积,是一种用于神经网络模型设计的技术。它的核心思想是将输入数据的通道(通常是输入特征图的通道)分成多个组,然后在每个组内进行卷积操作,以减小模型的参数数量和计算复杂度。以下是分组卷积网络的一些关键特点:
  1. 通道分组
    • 通常,输入特征图的通道会被均匀地分成若干组,每个组包含一部分通道。这样,每个组内的通道将分别进行卷积操作。
    • 通道分组的数量可以根据任务和设计需求来设置。分组越多,模型的参数数量和计算复杂度就越小,但可能会损失一些特征的信息。
    • 分组卷积网络通常用于卷积神经网络(Convolutional Neural Networks,CNN)中,但也可以用于其他神经网络架构。
  2. 参数共享
    • 在分组卷积中,每个组内的卷积层共享权重,这意味着相同组内的不同通道之间的特征是共享的。这有助于减小模型的参数数量。
    • 不同组之间的卷积操作通常使用不同的权重,以保留不同组内的特征差异。
  3. 减小计算复杂度
    • 分组卷积网络可以显著减小模型的计算复杂度,特别是在通道数量较大的情况下。
    • 这对于嵌入式系统、移动设备和需要轻量级模型的应用非常有用。
  4. 特定任务和设计需求
    • 分组卷积网络通常用于特定的设计需求,例如,当模型的参数数量需要受到限制时,或者当需要在计算和存储资源受限的环境中部署模型时。
    • 它们也可以用于图像分割、物体检测、分类等计算机视觉任务。
  • 总之,分组卷积网络是一种用于降低模型参数数量和计算复杂度的技术。它可以根据任务的需求在通道之间引入分组,从而在保留一定特征信息的同时减小计算资源的需求。这种技术特别适用于嵌入式设备和轻量级神经网络模型的设计。

1. 什么是分组网络

1.1 卷积拆分的使用

  • 高维卷积拆分为低维卷积,”Flattened convolutional neural networks for feedforward acceleration“
    在这里插入图片描述

1.2 通道分离卷积的来源

  • Laurent Sifre在 “Rigid-Motion Scattering for Texture Classification”提出了depthwise separable convolution
    在这里插入图片描述

1.3 GoogLeNet/Inception

  • GoogleNet取得了2014年ImageNet分类大赛的冠军,参数量远小于VGG系列网络,而精度和速度则超越了VGG系列
    在这里插入图片描述

1.4 从Inception到Xception(extreme inception)

  • Xception发展到极致
    在这里插入图片描述

1.5 通道分组卷积模型基准MobileNet

  • 移动端高效率模型,与Xception中的不同是1×1卷积放置在分组卷积之后
    在这里插入图片描述

2. 不同通道分组策略

2.1 打乱重组的分组

  • 直接分组使得不同通道之间没有交流,导致信息的丢失,ShuffleNet增加了通道的信息交换,使得各个组的信息更丰富
    在这里插入图片描述

2.2 多尺度卷积核分组

  • SqueezeNet
    在这里插入图片描述

2.3 多分辨率卷积分组

  • Big-Little Net将通道分解为多分辨率,大分辨率使用更少的通道数
    在这里插入图片描述
  • Octive convolution将通道分解为低频+高频分量,低频使用更小的分辨率
    在这里插入图片描述

2.4 分数+整数的分组卷积

  • DSConv : Efficient Convolution Operator
    在这里插入图片描述
    在这里插入图片描述

2.5 级连分组卷积

  • Interleaved Group Convolutions
    在这里插入图片描述

3. 可学习的分组网络

3.1 卷积核配置的学习

  • MixNet与ScaleNet
    在这里插入图片描述

3.2 分组连接的学习

  • CondenseNet
    在这里插入图片描述
  • Dynamic Group Convolution(DGC)
    在这里插入图片描述

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

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

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

相关文章

CDN加速技术海外与大陆优劣势对比

内容分发网络(CDN)是一项广泛应用于网络领域的技术,旨在提高网站和应用程序的性能、可用性和安全性。CDN是一种通过将内容分发到全球各地的服务器来加速数据传输的服务。本文将探讨使用CDN的优势以及国内CDN和海外CDN之间的不同优势和劣势。 …

【Proteus仿真】【Arduino单片机】简易电子琴

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用无源蜂鸣器、按键等。 主要功能: 系统运行后,按下K1-K7键发出不同音调。 二、软件设计 /* 作者:嗨小易&a…

【Docker】如何查看之前docker run命令启动的参数

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

十大排序算法(C语言)

参考文献 https://zhuanlan.zhihu.com/p/449501682 https://blog.csdn.net/mwj327720862/article/details/80498455?ops_request_misc%257B%2522request%255Fid%2522%253A%2522169837129516800222848165%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&…

[Unity][VR]透视开发系列4-解决只看得到Passthrough但看不到Unity对象的问题

【视频资源】 视频讲解地址请关注我的B站。 专栏后期会有一些不公开的高阶实战内容或是更细节的指导内容。 B站地址: https://www.bilibili.com/video/BV1Zg4y1w7fZ/ 我还有一些免费和收费课程在网易云课堂(大徐VR课堂): https://study.163.com/provider/480000002282025/…

探索Vue 3和Vue 2的区别

目录 响应式系统 性能优化 Composition API TypeScript支持 总结 Vue.js是一款流行的JavaScript框架,用于构建用户界面。Vue 3是Vue.js的最新版本,相较于Vue 2引入了许多重大变化和改进。在本文中,我们将探索Vue 3和Vue 2之间的区别。 …

1.PPT高效初始化设置

1.PPT高效初始化设置 软件安装:Office 2019 主题和颜色 颜色可以在白天与黑夜切换,护眼 切换成了黑色 撤回次数 撤回次数太少,只有20次怎么办 自动保存 有时忘记保存就突然关闭,很需要一个自动保存功能 图片压缩 图片…

1.spark standalone环境安装

概述 环境是spark 3.2.4 hadoop版本 3.2.4,所以官网下载的包为 spark-3.2.4-bin-hadoop3.2.tgz 在具体安装部署之前,需要先下载Spark的安装包,进到 spark的官网,点击download按钮 使用Spark的时候一般都是需要和Hadoop交互的&a…

第16期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练 Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…

MySQL的数据库操作、数据类型、表操作

目录 一、数据库操作 (1)、显示数据库 (2)、创建数据库 (3)、删除数据库 (4)、使用数据库 二、常用数据类型 (1)、数值类型 (2&#xff0…

UI自动化测试是什么?什么项目适合做UI自动化测试

UI 测试是一种测试类型,也称为用户界面测试,通过该测试,我们检查应用程序的界面是否工作正常或是否存在任何妨碍用户行为且不符合书面规格的 BUG。了解用户将如何在用户和网站之间进行交互以执行 UI 测试至关重要,通过执行 UI 测试…

【Linux】第七站:vim的使用以及配置

文章目录 一、vim1.vim的介绍2.vim基本使用3.vim的命令模式常用命令4.底行模式 二、vim的配置 一、vim 1.vim的介绍 vim编辑器,用来文本编写,可以写代码 它是一个多模式的编辑器 它有很多的模,不过我们暂时先只考虑这三种模式 命令模式插入模…