zoukankan      html  css  js  c++  java
  • 关于1*1卷积核的理解

    发现很多网络使用1×1的卷积核,实际就是对输入的一个比例缩放,因为1×1卷积核只有一个参数,这个核在输入上滑动,就相当于给输入数据乘以一个系数。(对于单通道和单个卷积核而言这样理解是可以的)

    对于多通道和多个卷积核的理解,1×1卷积核大概有两方面的作用:
    1.实现跨通道的交互和信息整合(具有线性修正特性,实现多个feature map的线性组合,可以实现feature map在通道个数上的变化,想象成跨通道的pooling,(输入的多通道的feature map和一组卷积核做卷积求和得到一个输出的feature map)
    2.进行卷积核通道数的降维和升维(同时还具有降维或者升维功能)
    3.在pooling层后面加入的1×1的卷积也是降维,使得最终得到更为紧凑的结构,虽然有22层,但是参数数量却只是alexnet的1/12.
    4.最近大热的MSRA的resnet也利用了1×1的卷积,并且是在3×3卷积层的前后都使用了,不仅进行了降维,还进行了升维,使得卷积层的输入和输出的通道数都减小,数量进一步减少。如果1×1卷积核接在普通的卷积层后面,配合激活函数,就可以实现network in network的结构了。
    5.还有一个很重要的功能,就是可以在保持feature map尺度不变的(即不损失分辨率)的前提下大幅增加非线性特性(利用后接的非线性激活函数),把网络做的很deep。(平均池化是针对每个feature map的平均操作,没有通道间的交互,而1×1卷积是对通道的操作,在通道的维度上进行线性组合)

    一个filter对应卷积后得到一个feature map

    不同的filter(不同的weight和bias),卷积以后得到不同的feature map,提取不同的特征,得到对应的specialized neuro。

  • 相关阅读:
    WinMain函数的修饰符WINAPI的含义
    java字节码指令集简介
    vs2010里面的ipch文件和.sdf文件是什么
    java查看class字节码文件
    从汇编看c++的extern关键字
    highcharts系列教程
    highcharts的文档介绍(英文)
    关于firebug中行号和源文件不一致的问题
    ios中的流状态的定义
    highcharts翻译系列
  • 原文地址:https://www.cnblogs.com/guohaoyu110/p/7553594.html
Copyright © 2011-2022 走看看