感谢吴恩达老师的公开课,以下图片均来自于吴恩达老师的公开课课件 为什么要进行卷积操作? 我们通过前几天的实验已经做了64*64大小的猫图片的识别. 在普通的神经网络上我们在输入层上输入的数据X的维数为(64*64*3, m) 假设第二层的节点数为1000,在全连接网络下,则W的维数为(1000, 64*64*3). 这看起来是可以操作的,但是实际情况下的图片是更高清的,比如现在的手机已经动辄2400万像素. 在这种情况下让内存来处理很多W权重矩阵是不现实的,因此卷积神经网络就成为了计算机视觉领域…
以上是一个识别手写数字的示例 在这个示例中使用了两个卷积-池化层,三个全连接层和最后的softmax输出层 一般而言,CNN的构成就是由数个卷积层紧跟池化层再加上数个全连接层和输出层来构建网络. 在上述网络中可以看到一个有关参数的现象如下图: 随着卷积网络层数的增加,可以看到有关图片数据的height和weight都在减小,而信道channel在增加. 伴随着这种操作,激活层的大小也在减小.但是卷积层需要的参数量在增多(f x f + 1) x c,f为filter的大小,c为channel的数…
和单层图像的卷积类似,只需要对每一个filter构成的三层立方体上的每一个数字与原图像对应位置的数字相乘相加求和即可. 在这个时候可以分别设置filter的R.G.B三层,可以同时检测纵向或横向边缘,也可以只检测某一通道的,只需要对其他通道的filter置为0即可. 那么如果要使用filter同时对纵向.横向或者其他角度的边缘进行检测该怎么办呢? Multiple filter: 对于同时采用多个filter来检测不同特征的时候,只需要将多个filter的结果堆叠起来输出即可,如上图所示. 神经…
来看上图的简单CNN: 从39x39x3的原始图像 不填充且步长为1的情况下经过3x3的10个filter卷积后 得到了 37x37x10的数据 不填充且步长为2的情况下经过5x5的20个filter卷积后 得到了 17x17x20的数据 不填充且步长为2的情况下经过5x5的40个filter卷积后 得到了 7x7x40的最终结果 将7x7x40的卷积层全部展开作为输入特征,建立一个输入层单元数为1960的神经网络即可 卷积神经网络常见的结构: 1.Conv卷积层如上图所见 2.Pool池化层…
网上对np.pad的解释很玄乎,举的例子也不够直观,看了更晕了,对于CNN的填充请参考下面就够用了: np.pad的参数依次是目标数组,多增加的维数可以理解为一张图的前后左右增加几圈,设置为'constant'之后为连续填充相同的值,默认为(0, 0),可以设置为constant_values = (x, y)…
1. tf.layers.conv2d(input, filter, kernel_size, stride, padding) # 进行卷积操作 参数说明:input输入数据, filter特征图的个数,kernel_size卷积核的大小,stride步长,padding是否补零 2. tf.layers.conv2d_transpose(input, filter, kernel_size, stride, padding) # 进行反卷积操作 参数说明:input输入数据, filter特…
Python之路,Day17 - 分分钟做个BBS论坛   本节内容: 项目:开发一个简单的BBS论坛 需求: 整体参考"抽屉新热榜" + "虎嗅网" 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可被置顶 可进行多级评论 就先这些吧... 知识必备: Django HTML\CSS\JS BootStrap Jquery 设计表结构 1 2 3 4 5 6 7 8 9 10 11 12 13…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
Inception模型和Residual残差模型是卷积神经网络中对卷积升级的两个操作. 一.  Inception模型(by google) 这个模型的trick是将大卷积核变成小卷积核,将多个卷积核的运算结果进行连接,充分利用多尺度信息,这也体现了这篇文章的标题 Going Deeper with Convolutions.更加深的卷积操作. 废话不多说,上图 注意输入层在底部,输出层在顶部.废话不多说,上keras代码. from keras.layers import Conv2D, Ma…
线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果.做法很简单.首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像.然后,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值.这样就完成了滤波过程. 对图像和滤波矩阵进行逐个元素相乘再求和的操作就相当于将一个二维的函数移动到另一个二维函数的所有位置,这个操作就叫卷积或者协相关.卷积和协相关的差别是,卷积需要先对滤波矩阵进行180的翻…