网上对np.pad的解释很玄乎,举的例子也不够直观,看了更晕了,对于CNN的填充请参考下面就够用了: np.pad的参数依次是目标数组,多增加的维数可以理解为一张图的前后左右增加几圈,设置为'constant'之后为连续填充相同的值,默认为(0, 0),可以设置为constant_values = (x, y)…
感谢吴恩达老师的公开课,以下图片均来自于吴恩达老师的公开课课件 为什么要进行卷积操作? 我们通过前几天的实验已经做了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的数…
来看上图的简单CNN: 从39x39x3的原始图像 不填充且步长为1的情况下经过3x3的10个filter卷积后 得到了 37x37x10的数据 不填充且步长为2的情况下经过5x5的20个filter卷积后 得到了 17x17x20的数据 不填充且步长为2的情况下经过5x5的40个filter卷积后 得到了 7x7x40的最终结果 将7x7x40的卷积层全部展开作为输入特征,建立一个输入层单元数为1960的神经网络即可 卷积神经网络常见的结构: 1.Conv卷积层如上图所见 2.Pool池化层…
和单层图像的卷积类似,只需要对每一个filter构成的三层立方体上的每一个数字与原图像对应位置的数字相乘相加求和即可. 在这个时候可以分别设置filter的R.G.B三层,可以同时检测纵向或横向边缘,也可以只检测某一通道的,只需要对其他通道的filter置为0即可. 那么如果要使用filter同时对纵向.横向或者其他角度的边缘进行检测该怎么办呢? Multiple filter: 对于同时采用多个filter来检测不同特征的时候,只需要将多个filter的结果堆叠起来输出即可,如上图所示. 神经…
Python之路,Day17 - 分分钟做个BBS论坛   本节内容: 项目:开发一个简单的BBS论坛 需求: 整体参考"抽屉新热榜" + "虎嗅网" 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可被置顶 可进行多级评论 就先这些吧... 知识必备: Django HTML\CSS\JS BootStrap Jquery 设计表结构 1 2 3 4 5 6 7 8 9 10 11 12 13…
看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用户,还是有经验的老用户,你都会发现一些非常有用的调整和建议. 1.了解Ubuntu 16.04 LTS新特性 新选项!新应用程序!新内核!新的…… 所有东西都是新的! Ubuntu 16.04 LTS 带来了一些让人兴奋的新功能和变化,所以在开始使用之前建议各位一定要花几分钟熟悉一下新的改进. 如果…
本次作业:Andrew Ng的CNN的搭建卷积神经网络模型以及应用(1&2)作业目录参考这位博主的整理:https://blog.csdn.net/u013733326/article/details/79827273 今天要实现的是识别手势姿势表达的数字 我的Git传送门:https://github.com/VVV-LHY/deeplearning.ai/tree/master/CNN/RecognizeGestureNum 本来是接着day17用了numpy编了一个卷积层和池化层的前向传播…
参数重要性: 第一阶:α即learning rate 第二阶:momentum中的β,hidden units的数量,mini-batch的大小 第三阶:hidden layers的数量,learning rate decay的参数 参数选择的方式: 一.完全在一定范围内进行随机 二.尝试完毕上述随机参数后,以粗糙到精确的思路,缩小随机范围并重复第一步 python中参数的具体实现: 对于学习率α而言:0 < α < 1 所以打个比方如果测试 0.0001 ≤ α ≤ 1显然这是一种指数分布,…
梯度爆炸和梯度消失: W[i] > 1:梯度爆炸(呈指数级增长) W[i] < 1:梯度消失(呈指数级衰减) *.注意此时的1指单位矩阵,W也是系数矩阵 初始化权重: np.random.randn(shape)* np.sqrt(2/n[l-1]) Relu:np.sqrt(2/n[l-1]) Tanh:np.sqrt(1/n[l-1]) 其他的做法:np.sqrt(2/n[l-1]+n[l]) 梯度的数值逼近: 使用双边误差逼近比单边误差逼近更准确 f(θ+ε) - f(θ-ε) / 2ε…