全连接参考1:https://zhuanlan.zhihu.com/p/32819991
全连接参考2:代码实现

神经网络前后传输
CNN中卷积、池化的前向与反向传播:
CNN卷积神经网络和反向传播(公式标出)
CNN卷积(总结)
CNN的反向传播

CNN中感受野的计算

感受野(receptive field)是怎样一个东西呢,从CNN可视化的角度来讲,就是输出featuremap某个节点的响应对应的输入图像的区域就是感受野。

比如我们第一层是一个33的卷积核,那么我们经过这个卷积核得到的featuremap中的每个节点都源自这个33的卷积核与原图像中33的区域做卷积,那么我们就称这个featuremap的节点感受野大小为33

如果再经过pooling层,假定卷积层的stride是1,pooling层大小22,stride是2,那么pooling层节点的感受野就是44

有几点需要注意的是,padding并不影响感受野,stride只影响下一层featuremap的感受野,size影响的是该层的感受野。

计算感受野,一般使用 top to down的方式(即从输出层往原图片方向推)。
感受野计算分两种情况:

  1. conv层:(featureMapSize−1)∗stride+filterSsize(featureMapSize - 1) * stride + filterSsize(featureMapSize−1)∗stride+filterSsize

如,原feature map经过3 x 3conv, stride = 1后得到 1 x 1 的feature map。那输出的feature map中的一个点对应原来的区域大小为(1-1) x 1 + 3= 3(即感受野为3 x 3)

  1. pool层:
    1)若size和stride数一样,则为featureMapSize∗sizefeatureMapSize * sizefeatureMapSize∗size
    如,原feature map经过2 x 2 maxpooling, stride = 2后得到 1 x 1 的feature map。那输出的feature map中的一个点对应原来的区域大小为1 x 2 = 2(即感受野为3 x 3)
    2)若不一样,则为
    (featureMapSize∗filtersize)−(featureMapSize−1)∗(filtersize−stride)(featureMapSize * filtersize) - (featureMapSize - 1) * (filtersize - stride)(featureMapSize∗filtersize)−(featureMapSize−1)∗(filtersize−stride)

    如:featuresize = 2x2, filtersize = 3x3,stride = 2
    则:(2 x 3) - (2 - 1) * (3 - 1) = 5

  • 计算实例:

    计算最后输出层对应的不同层的感受野

pool3:1*2 = 2,故 2 x 2
conv4:(2-1)*1 +3 = 4,故 4x4
conv3:(4-1)*1 +3 = 6, 6x6
pool2:6 * 2 = 12, 12x12
conv2:(12-1)*1 +3 = 14, 14x14
pool1:14 * 2 = 28, 28x28
conv1:(28 - 1)*1 + 3 = 30, 30x30

关于CNN的一些问题
  1. CNN的优缺点:
  • 优点:
  1. 共享卷积核,参数量较少;
  2. 卷积层负责提取特征,采样层负责压缩数据和参数量,减少过拟合
  • 缺点:
  1. 当网络层次太深时,采用BP传播修改参数会使靠近输入层的参数改动较慢;
  2. 池化层会丢失大量有价值信息,忽略局部与整体之间关联性;
  3. 可解释性不强,由于特征提取的封装,为网络性能的改进罩了一层黑盒
  1. CNN中的卷积层为什么能提取特征,为什么好用?
  1. 卷积核可以刻画图像的局部特征,CNN能够提取图片的特征;
  2. 通过反向传播算法,CNN可以动态的去更改卷积核的参数,使得卷积核越来越倾向于提取更好的特征。
  1. CNN中的池化层作用?

池化层的主要作用 :保持主要特征的同时减少冗余信息,可以达到减少参数与计算量的目的,防止过拟合,提高模型的泛化能力。
池化层具有两个性质:1.平移、尺度不变形;2.特征降维

  1. Max pooling和average pooling的异同:
  • max感觉是做了特征选择,选出了分类辨识度更好的特征,提供了非线性
  • average更多保留了图像的背景信息,感觉更多体现在信息的完整传递
CNN中参数量与计算量的计算

参考:卷积中参数量和计算量

计算flops的时候,为什么要×2???


CNN中的组卷积

输入C1 X W X H,卷积核 K X K X C1 X C2,使用组卷积(分组为G)
计算量:C1/G X K X K X C2/G
解析:整体参数变为原来的1/G,使用组卷积后,输入的featuremap的channel变为1/c,卷积核变成K X K X C1/G, 输出的通道数变为C2/G


CNN中的上采样

参考:怎样通俗易懂地解释反卷积?
参考:反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)

上采样有3种常见的方法:双线性插值(bilinear),反卷积(Transposed Convolution),反池化(Unpooling)。

  • FCN结构中,上采样是使用的双线性插值方式;
  • UNET结构中,上采样使用的是反卷积方式;

反卷积的大致过程:
1)根据步数strides对输入进行填充
2)使用卷积核对填充的结果进行卷积,得到反卷积结果
注:反卷积只能恢复尺度,不能恢复数值

CNN中的可变形卷积与空洞卷积
  1. 可变形卷积:
    参考1:Deformable Convolution 关于可变形卷积
    参考2:可变形的卷积网络

通过额外加入分支预测offset,使得卷积核中每个采样点发生偏移,集中于我们感兴趣的区域。从而解决CNN对几何形变建模受限都问题

  1. 空洞卷积:
    参考:空洞卷积

通过扩张卷积核之间的空隙,从而达到获得更大感受野的效果。解决了pool层下采样再上采样 导致信息损失都问题。

深度学习之卷积、全连接、反卷积等相关推荐

  1. 深度学习 tensorflow tf.layers.conv2d_transpose 反卷积 上采样

    参数 conv2d_transpose( inputs, filters, kernel_size, strides=(1, 1), padding='valid', data_format='cha ...

  2. 【深度学习】(3) 全连接层、激活函数

    各位同学好,今天和大家分享一下tensorflow2.0深度学习中的相关操作.内容有: (1) 全连接层创建: tf.keras.Sequential(),tf.keras.layers.Dense( ...

  3. 深度学习系列:全连接神经网络和BP算法

    前言 注:以后我的文章会写在个人博客网站上,本站文章也已被搬运.本文地址: https://xiaodongfan.com/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E ...

  4. Tensorflow【实战Google深度学习框架】全连接神经网络以及可视化

    文章目录 1 可视化 神经网络的二元分类效果 2 全连接神经网络 3 TensorFlow搭建一个全连接神经网络 3.1 读取MNIST数据 3.2 建立占位符 3.3 建立模型 3.4 正确率 3. ...

  5. 深度学习中多层全连接层的作用

    全连接层参数特多(可占整个网络参数80%左右) 那么全连接层对模型影响参数就是三个: 1,全接解层的总层数(长度) 2,单个全连接层的神经元数(宽度) 3,激活函数 首先我们要明白激活函数的作用是: ...

  6. 深度学习笔记02——全连接层

    1. Fully connect 每一个activation function就是一个神经元.全连接层就是将每个神经元的输出都作为下一层所有神经元的输入. deep learning 就是有很多的hi ...

  7. Lesson 16.1016.1116.1216.13 卷积层的参数量计算,1x1卷积核分组卷积与深度可分离卷积全连接层 nn.Sequential全局平均池化,NiN网络复现

    二 架构对参数量/计算量的影响 在自建架构的时候,除了模型效果之外,我们还需要关注模型整体的计算效率.深度学习模型天生就需要大量数据进行训练,因此每次训练中的参数量和计算量就格外关键,因此在设计卷积网 ...

  8. 【深度学习】深度神经网络后处理之全连接CRFs(DenseCRF)

    [深度学习]深度神经网络后处理之全连接CRFs(DenseCRF) 文章目录 1 概述 2 条件随机场2.1 什么样的问题需要CRF模型2.2 随机场到马尔科夫随机场2.3 从马尔科夫随机场到条件随机 ...

  9. 【模型解读】“全连接”的卷积网络,有什么好?

    [模型解读]"全连接"的卷积网络,有什么好? 这是深度学习模型解读第8篇,本篇我们简单介绍Densenet. 作者&编辑 | 言有三 1 从skip connect到den ...

  10. 深度学习笔记(29) 1×1 卷积

    深度学习笔记(29) 1×1 卷积 1. 1×1 卷积 2. 1×1 卷积的作用 3. 1×1 卷积的应用 1. 1×1 卷积 在架构内容设计方面,其中一个比较有帮助的想法是使用1×1卷积 过滤器为1 ...

最新文章

  1. Google News 中文上线
  2. codeforces 110A-C语言解题报告
  3. mysql怎么多表备份_学习MySQL多表操作和备份处理
  4. 空调开28度,一晚上会消耗多少电?空调耗电量与什么有关?
  5. 详解Python正则表达式之: (?Pname…) named group 带命名的组
  6. Pandas系列(十三)分层索引MultiIndex
  7. SqlDataReader.GetFloat出错,类型无法转换
  8. 基于 VEthernet 轻松实现 tun2socks 示例程序
  9. Android开发必知的maven-publish插件知识
  10. photoshop快捷键大全
  11. python分块处理功能_Python自然语言处理学习笔记之信息提取步骤分块(chunking)...
  12. FilterListener(超详细)
  13. 聊一聊我眼中的阿里P8、P9及以上人的水平
  14. 英语读书笔记-Book Lovers Day 06
  15. 【斐波那契数列】10题-斐波那契数列
  16. Hexo——看这一篇就够了
  17. nacos详细安装部署与异常排解
  18. 骁龙8gen2和天玑9200功耗对比 天玑9200和骁龙8gen2哪个好
  19. 计算机硬盘用u盘维修,硬盘有坏道,如何进行修复并使用u盘重装系统?
  20. PyQt5中的窗口显示控制

热门文章

  1. WPF中应用字体图标
  2. Android 中Base64的操作
  3. IE9预览版已全面支持HTML5标准
  4. eclipse启动报错 Java was started but returned exit code=13 解决方法
  5. python中int的“四舍五入”
  6. j2ee与mysql乱码过滤_J2EE中文乱码处理
  7. 数据分析汇报用这个神器,让他们弃用了Excel和PPT
  8. adobe blueprint
  9. html财务统计,财务统计.html · 举子/layuiadmin-templete - Gitee.com
  10. python图像对比度增强图片清晰度_Python 图像对比度增强的几种方法(小结)