【Tensorflow】卷积层

1.卷积计算过程

卷积计算可以认为是一种有效提取图像特征的方法,一般用一个正方形的卷积核,按照指定步长,在输入特征图上滑动,遍历输入特征图中的每个像素点。每一个步长,卷积核会与输入特征图出现重合区域,重合区域对应元素相乘、求和再加上偏置项得到输出特征的一个像素点。如果输入特征是单通道灰度图,那么卷积核也用深度为1的,如果输入特征是三通道彩色图,那么卷积核用深度为3的。要使卷积核的通道数与输入特征图的通道数一致。卷积核上每一个小颗粒都存储着一个待训练参数,在反向传播中,这些参数会根据梯度下降法进行更新。当有n个卷积核时,会有n个输出特征图,将这n张输出特征图叠加,即卷积核个数决定了该层输出特征图深度。

2.感受野(Receptive Field)

卷积神经网络各输出特征图中的每个像素点,在原始输入图片上映射区域的大小。(以下示例均为通道数为1的)


设输入特征图宽、高均为X,卷积计算步长为1,当X>10时,两层3*3卷积核优于一层5*5卷积核。

3.全零填充(Padding)

有时,我们希望卷积计算保持输入特征图尺寸不变,可以进行全零填充。计算公式如下:

比如:一张5*5的输入特征图,经过3*3卷积核的非全零填充卷积后得到的是3*3的输出特征图,如果我想得到的是5*5的输出特征图,则需要进行填充,使得原输入特征图由5*5填充为7*7。

4.Tensorflow描述卷积层

tf.keras.layers.Conv2D(filters = 卷积核个数,kernel_size = 卷积核尺寸,  # 正方形写核长,或(核高h,核宽w)strides = 滑动步长,  #横纵相同写步长整数,或(纵向步长h,横向步长w),默认为1padding = "same" or "valid",  #使用全零填充则是same,不使用则是valid(默认)activation = "relu" or "sigmoid" or "tanh" or "softmax",  #如果有BN此处不写(该层卷积后还有批标准化,那就不进行激活)input_shape = (高,宽,通道数)  #输入特征图维度,可省略
)

5.批标准化

为什么要进行批标准化?因为神经网络对0附近的数据更加敏感,但是随着网络层数的增加,特征数据会出现偏离0均值的情况,标准化可以使数据符合以0为均值,以1为标准差的正态分布,把偏移的特征数据重新拉回到0均值附近。
标准化:使数据符合0均值,1为标准差的分布。
批标准化:对一小批数据(batch),做标准化处理。常用在卷积操作和激活操作之间。

由于批标准化在卷积操作和激活操作之间,而激活函数(如下图sigmoid函数所示)在0附近变化明显,使得进入激活函数的数据分布在激活函数线性区,使得输入数据的微小变化更明显的体现在输出上,提升了激活函数对输入数据的区分力。但是,对于激活函数来说,现在集中在线性部分,也就失去了非线性特性。因此在BN操作中为每个卷积核引入了两个可训练参数,缩放因子和偏移因子,他们可以和其他待训练因子一同优化,保证了网络的非线性表达力。

6.池化

7.舍弃

8.卷积神经网络

9.CIFAR10数据集

后四部分内容明天更新。

【Tensorflow】卷积层相关推荐

  1. 优达学城深度学习之六——TensorFlow卷积神经网络

    TensorFlow卷积层 TensorFlow 提供了 tf.nn.conv2d() 和 tf.nn.bias_add() 函数来创建你自己的卷积层. # Output depth k_output ...

  2. 『TensorFlow』卷积层、池化层详解

    一.前向计算和反向传播数学过程讲解 这里讲解的是平均池化层,最大池化层见本文第三小节 二.测试代码 数据和上面完全一致,自行打印验证即可. 1.前向传播 import tensorflow as tf ...

  3. 如何保存Tensorflow中的Tensor参数,保存训练中的中间参数,存储卷积层的数据

    在自己构建的卷积神经时,我想把卷积层的数据提取出来,但是这些数据是Tensor类型的 网上几乎找不到怎么存储的例子,然后被我发下了一下解决办法 https://stackoverflow.com/qu ...

  4. 用TensorFlow可视化卷积层的方法

    深度学习中对于卷积层的可视化可以帮助理解卷积层的工作原理与训练状态,然而卷积层可视化的方法不只一种.最简单的方法即直接输出卷积核和卷积后的filter通道,成为图片.然而也有一些方法试图通过反卷积(转 ...

  5. TensorFlow:简单的卷积层、池化层(采样层)示例

    卷积层: ws=tf.get_variable('w',[5,5,3,16],initializer=tf.truncated_normal_initializer(stddev=0.1)) bs=t ...

  6. 【TensorFlow】TensorFlow从浅入深系列之十一 -- 教你深入理解卷积神经网络中的卷积层

    本文是<TensorFlow从浅入深>系列之第11篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维 ...

  7. TensorFlow 添加卷积层

    Tensorflow中提供了tf.nn.conv2d与tf.layers.conv2d用于添加卷积层,两者功能类似,后者为更高一级的api,和keras.layer类似.前者的激活函数需要另外代码,后 ...

  8. Tensorflow中卷积神经网络之卷积层

    卷积层:与传统全连接层不同,卷积层中每一个节点的输入只是上一层神经网络的一小块.(试图将神经网络中的每一小块进行更加深入地分析从中得到抽象程度更高的特征) 在卷积层中:1.过滤器(filter)处理的 ...

  9. 详解CPU漏洞对机器学习的影响:几乎所有卷积层都受影响,QR分解降速37%

     作者 | Mikel Bober-Irizar 翻译 | 刘畅 编辑 | Donna (备注:KPTI 在计算机中指 Kernel page-table isolation,是一种Linux内核 ...

最新文章

  1. 戴尔服务器重装系统优盘启动不了怎么办,U盘重装系统,开机按F12选择USB启动项无法进入PE系统怎么办?...
  2. 这年头,机器翻译都会通过文字脑补画面了 | NAACL 2021
  3. mysql nosql引擎_nosql与mysql的区别是什么
  4. 使用matlab调用Oracle数据库
  5. [C/C++基础知识] 那些被遗忘的链表知识
  6. 图形推理1000题pdf_普华永道 网申笔试 OT 含泪总结归纳 - 逻辑推理
  7. 整合JDBC---SpringBoot
  8. oracle大于条件,oracle中sql语句中的in的条件数量大于1000有问题
  9. 华科计算机考研复试机试【零散大汇总】
  10. 华为Mate 50系列明年亮相:或首发高通骁龙898 4G芯片
  11. 矩池云中Tensorflow指定GPU及GPU显存设置
  12. Foreach In(C#)
  13. 自适应辛普森学习笔记
  14. Flashed Ball
  15. 暑假来了,画一个日月地球的轨道模型给孩子们,秒懂四季更迭、日蚀月蚀
  16. 如何把iPhone的照片传到Mac电脑
  17. 用ajax接收后台数据里的具体数据,ajax动态接收后台向后台传输数据以及接收数据...
  18. 【亲测】如何最优化的下载大量比较旧的资源
  19. bootstrap:导航栏【基础、简单、实用】
  20. ev3编程变量模块_ev3编程模块.pdf

热门文章

  1. Azure Blob 文件下载及本地开发使用配置
  2. nuc972外部中断1实验代码
  3. 物联网技术部培训---贪心算法
  4. mysql安装,以及初始化密码
  5. WIn11——超低延迟远程桌面Parsec
  6. uvc摄像头代码解析5
  7. 2018-2019信息安全导论期末试题
  8. Android网络数据JSON解析使用总结
  9. Abp Vnext修改密码强度
  10. C语言学习日记(3)——printf函数