CNN中各结构的闪光点(巧妙构思!)

2024-03-29 19:48

本文主要是介绍CNN中各结构的闪光点(巧妙构思!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 前言

我们知道传统神经网络模型,是由经典的逻辑回归(可以解释为神经元)+其它的非线性的激活函数构成的。

引用多个逻辑回归(神经元)以及激活函数(例如:relu)的原因是——》添加非线性,可以有效的拟合数据(这里也是往往神经网络容易过拟合的原因)。

如果上面不理解的话,可以看这里!

理解完上面之后,我们来看看CNN中的一些闪观点!

2 CNN中各结构的闪光点(巧妙构思!)

2.1 卷积(主要是卷积核)

  1. 标准卷积结构
  2. 反卷积(使用在图像分割中)
  3. 空洞卷积(使用空洞——扩大感受野)
  4. 深度分离卷积(使用1*1的结构,极大减少了参数,使用模型可以训练的更快,有效嵌入!)

我主要讲下深度分离卷积,深度分离卷积主要分为Depthwise卷积,Pointwise卷积两部分。

  • Depthwise卷积
    Depthwise卷积不同于常规的操作,Depthwise convolution的一个卷积核只负责一个通道,即一个通道只被一个卷积核卷积。
  • Pointwise卷积
    Pointwise 卷积运算则是常规的运算,它的卷积核的尺寸为1x1xM,M为需要得到的最终feature map数量,所以这里的卷积运算会将上一步的map在深度方向上进行加权组合,生成新的feature map,总共为M维度,操作方法就是concate,然后再用1x1的卷积形成1维的map(也可以用1x1先卷积,然后将不同feature map进行add)。

2.2 池化

平均池化,最大池化——》可以凸显有效特征的重要性,同时减少了参数

2.3 全连接

引用了大大的权重矩阵,以及非线性的激活函数结构,可以有效拟合数据

3 CNN中的1×1 卷积

作用(例如深度分离卷积中也是使用了这个结构)

  1. 实现跨通道的交互和信息整合
  2. 进行卷积核通道数的降维和升维
  3. 对于单通道feature map 用单核卷积即为乘以一个参数,而一般情况都是多核卷积多通道,实现多个feature map的线性组合
  4. 可以实现与全连接层等价的效果。如在faster-rcnn中用1x1xm的卷积核卷积n(如512)个特征图的每一个位置(像素点),其实对于每一个位置的1x1卷积本质上都是对该位置上n个通道组成的n维vector的全连接操作。

这篇关于CNN中各结构的闪光点(巧妙构思!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/859484

相关文章

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

Python+PyQt5实现文件夹结构映射工具

《Python+PyQt5实现文件夹结构映射工具》在日常工作中,我们经常需要对文件夹结构进行复制和备份,本文将带来一款基于PyQt5开发的文件夹结构映射工具,感兴趣的小伙伴可以跟随小编一起学习一下... 目录概述功能亮点展示效果软件使用步骤代码解析1. 主窗口设计(FolderCopyApp)2. 拖拽路径

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多