当前位置: 首页 > news >正文

网页设计与制作教程第四版电子书成都纯手工seo

网页设计与制作教程第四版电子书,成都纯手工seo,深圳有哪些网站公司,安卓app快速开发一、引子————边界检测 我们来看一个最简单的例子#xff1a;“边界检测#xff08;edge detection#xff09;”#xff0c;假设我们有这样的一张图片#xff0c;大小88#xff1a; 图片中的数字代表该位置的像素值#xff0c;我们知道#xff0c;像素值越大#… 一、引子————边界检测 我们来看一个最简单的例子“边界检测edge detection”假设我们有这样的一张图片大小8×8 图片中的数字代表该位置的像素值我们知道像素值越大颜色越亮所以为了示意我们把右边小像素的地方画成深色。图的中间两个颜色的分界线就是我们要检测的边界。 怎么检测这个边界呢我们可以设计这样的一个 滤波器filter也称为kernel大小3×3 然后我们用这个filter往我们的图片上“盖”覆盖一块跟filter一样大的区域之后对应元素相乘然后求和。计算一个区域之后就向其他区域挪动接着计算直到把原图片的每一个角落都覆盖到了为止。这个过程就是 “卷积”。 我们不用管卷积在数学上到底是指什么运算我们只用知道在CNN中是怎么计算的。 这里的“挪动”就涉及到一个步长了假如我们的步长是1那么覆盖了一个地方之后就挪一格容易知道总共可以覆盖6×6个不同的区域。 那么我们将这6×6个区域的卷积结果拼成一个矩阵 诶发现了什么 这个图片中间颜色浅两边颜色深这说明咱们的原图片中间的边界在这里被反映出来了! 从上面这个例子中我们发现我们可以通过设计特定的filter让它去跟图片做卷积就可以识别出图片中的某些特征比如边界。 上面的例子是检测竖直边界我们也可以设计出检测水平边界的只用把刚刚的filter旋转90°即可。对于其他的特征理论上只要我们经过精细的设计总是可以设计出合适的filter的。 我们的CNNconvolutional neural network主要就是通过一个个的filter不断地提取特征从局部的特征到总体的特征从而进行图像识别等等功能。 那么问题来了我们怎么可能去设计这么多各种各样的filter呀首先我们都不一定清楚对于一大推图片我们需要识别哪些特征其次就算知道了有哪些特征想真的去设计出对应的filter恐怕也并非易事要知道特征的数量可能是成千上万的。 其实学过神经网络之后我们就知道这些filter根本就不用我们去设计每个filter中的各个数字不就是参数吗我们可以通过大量的数据来 让机器自己去“学习”这些参数嘛。这就是CNN的原理。 二、CNN的基本概念 1.padding 填白 从上面的引子中我们可以知道原图像在经过filter卷积之后变小了从(8,8)变成了(6,6)。假设我们再卷一次那大小就变成了(4,4)了。 这样有啥问题呢 主要有两个问题 - 每次卷积图像都缩小这样卷不了几次就没了 - 相比于图片中间的点图片边缘的点在卷积中被计算的次数很少。这样的话边缘的信息就易于丢失。 为了解决这个问题我们可以采用padding的方法。我们每次卷积前先给图片周围都补一圈空白让卷积之后图片跟原来一样大同时原来的边缘也被计算了更多次。 比如我们把(8,8)的图片给补成(10,10)那么经过(3,3)的filter之后就是(8,8)没有变。 我们把上面这种“让卷积之后的大小不变”的padding方式称为 “Same”方式 把不经过任何填白的称为 “Valid”方式。这个是我们在使用一些框架的时候需要设置的超参数。 2.stride 步长 前面我们所介绍的卷积都是默认步长是1但实际上我们可以设置步长为其他的值。 比如对于(8,8)的输入我们用(3,3)的filter 如果stride1则输出为(6,6); 如果stride2则输出为(3,3);这里例子举得不大好除不断就向下取整 3.pooling 池化 这个pooling是为了提取一定区域的主要特征并减少参数数量防止模型过拟合。 比如下面的MaxPooling采用了一个2×2的窗口并取stride2 除了MaxPooling,还有AveragePooling顾名思义就是取那个区域的平均值。 4.对多通道channels图片的卷积 这个需要单独提一下。彩色图像一般都是RGB三个通道channel的因此输入数据的维度一般有三个长宽通道。 比如一个28×28的RGB图片维度就是(28,28,3)。 前面的引子中输入图片是2维的(8,8)filter是(3,3)输出也是2维的(6,6)。 如果输入图片是三维的呢即增多了一个channels比如是(8,8,3)这个时候我们的filter的维度就要变成(3,3,3)了它的 最后一维要跟输入的channel维度一致。 这个时候的卷积是三个channel的所有元素对应相乘后求和也就是之前是9个乘积的和现在是27个乘积的和。因此输出的维度并不会变化。还是(6,6)。 但是一般情况下我们会 使用多了filters同时卷积比如如果我们同时使用4个filter的话那么 输出的维度则会变为(6,6,4)。 我特地画了下面这个图来展示上面的过程 图中的输入图像是(8,8,3)filter有4个大小均为(3,3,3)得到的输出为(6,6,4)。 我觉得这个图已经画的很清晰了而且给出了3和4这个两个关键数字是怎么来的所以我就不啰嗦了这个图画了我起码40分钟。 其实如果套用我们前面学过的神经网络的符号来看待CNN的话 我们的输入图片就是Xshape(8,8,3);4个filters其实就是第一层神金网络的参数W1,shape(3,3,3,4),这个4是指有4个filters;我们的输出就是Z1shape(6,6,4);后面其实还应该有一个激活函数比如relu经过激活后Z1变为A1shape(6,6,4); 所以在前面的图中我加一个激活函数给对应的部分标上符号就是这样的 这么好的图值得收藏 三、CNN的结构组成 上面我们已经知道了卷积convolution、池化pooling以及填白padding是怎么进行的接下来我们就来看看CNN的整体结构它包含了3种层layer 1. Convolutional layer卷积层–CONV 由滤波器filters和激活函数构成。 一般要设置的超参数包括filters的数量、大小、步长以及padding是“valid”还是“same”。当然还包括选择什么激活函数。 2. Pooling layer 池化层–POOL 这里里面没有参数需要我们学习因为这里里面的参数都是我们设置好了要么是Maxpooling要么是Averagepooling。 需要指定的超参数包括是Max还是average窗口大小以及步长。 通常我们使用的比较多的是Maxpooling,而且一般取大小为(2,2)步长为2的filter这样经过pooling之后输入的长宽都会缩小2倍channels不变。 3. Fully Connected layer全连接层–FC 这个前面没有讲是因为这个就是我们最熟悉的家伙就是我们之前学的神经网络中的那种最普通的层就是一排神经元。因为这一层是每一个单元都和前一层的每一个单元相连接所以称之为“全连接”。 这里要指定的超参数无非就是神经元的数量以及激活函数。 接下来我们随便看一个CNN的模样来获取对CNN的一些感性认识 上面这个CNN是我随便拍脑门想的一个。它的结构可以用 X–CONV(relu)–MAXPOOL–CONV(relu)–FC(relu)–FC(softmax)–Y 来表示。 这里需要说明的是在经过数次卷积和池化之后我们 最后会先将多维的数据进行“扁平化”也就是把 (height,width,channel)的数据压缩成长度为 height × width × channel 的一维数组然后再与 FC层连接这之后就跟普通的神经网络无异了。 可以从图中看到随着网络的深入我们的图像严格来说中间的那些不能叫图像了但是为了方便还是这样说吧越来越小但是channels却越来越大了。在图中的表示就是长方体面对我们的面积越来越小但是长度却越来越长了。 四、卷积神经网络 VS. 传统神经网络 其实现在回过头来看CNN跟我们之前学习的神经网络也没有很大的差别。 传统的神经网络其实就是多个FC层叠加起来。 CNN无非就是把FC改成了CONV和POOL就是把传统的由一个个神经元组成的layer变成了由filters组成的layer。 那么为什么要这样变有什么好处 具体说来有两点 1.参数共享机制parameters sharing 我们对比一下传统神经网络的层和由filters构成的CONV层 假设我们的图像是8×8大小也就是64个像素假设我们用一个有9个单元的全连接层 那这一层我们需要多少个参数呢需要 64×9 576个参数先不考虑偏置项b。因为每一个链接都需要一个权重w。 那我们看看 同样有9个单元的filter是怎么样的 其实不用看就知道有几个单元就几个参数所以总共就9个参数 因为对于不同的区域我们都共享同一个filter因此就共享这同一组参数。 这也是有道理的通过前面的讲解我们知道filter是用来检测特征的那一个特征一般情况下很可能在不止一个地方出现比如“竖直边界”就可能在一幅图中多出出现那么 我们共享同一个filter不仅是合理的而且是应该这么做的。 由此可见参数共享机制让我们的网络的参数数量大大地减少。这样我们可以用较少的参数训练出更加好的模型典型的事半功倍而且可以有效地 避免过拟合。 同样由于filter的参数共享即使图片进行了一定的平移操作我们照样可以识别出特征这叫做 “平移不变性”。因此模型就更加稳健了。 2.连接的稀疏性sparsity of connections 由卷积的操作可知输出图像中的任何一个单元只跟输入图像的一部分有关系 而传统神经网络中由于都是全连接所以输出的任何一个单元都要受输入的所有的单元的影响。这样无形中会对图像的识别效果大打折扣。比较每一个区域都有自己的专属特征我们不希望它受到其他区域的影响。 正是由于上面这两大优势使得CNN超越了传统的NN开启了神经网络的新时代。
http://www.dnsts.com.cn/news/28019.html

相关文章:

  • 网站首页建设北京网站优化推广效果
  • 网站开发文档doc手机app应用软件开发
  • 中英文企业网站制作宁夏交通建设质监局官方网站
  • 绍兴市网站建设公司做网站内容来源
  • 怎么做科技小制作视频网站广东卫视新闻联播
  • 阿里云买域名后怎么做网站为什么做金融网站犯法
  • 公司网站服务类型怎么填seo公司网站推广
  • 浙江省建设工程监理协会网站网站自动识别移动终端
  • 工作室建设规划seo单页快速排名
  • 毕设网站建设论文高层网络架构
  • 电子商务网站推广的主要方式如何在外国网站卖东西
  • 南昌装修网站建设wordpress 头像 很慢
  • 福田网站建设方案服务丹江口网站开发
  • 国际物流网站模板移动网站开发试验报告
  • 乡村生态旅游网站建设方案网站公告栏模板
  • 购物网站起名怎样使用网站模板
  • 营销型外贸网站制作珠海正规网站制作排名费用多少
  • 整站系统网站退出率
  • 企业网站托管新趋势外链代发工具
  • 网站建设中网站需求分析报告作用怎么制作移动端网站
  • 松江建设新城有限公司网站如何建立公司网址
  • 网站建设主页上海网站制作公司联系方式
  • 网站建设衤金手指花总十五网络会议有哪些软件
  • 乐清网站制作公司wordpress 4.6.11
  • 淘客怎么做网站推广谁有网站推荐一下好
  • 湖北网站建设搭建简述网站推广方式
  • 网站建设公司杭州百度官网平台
  • 泗县网站建设与推广培训长春建站方法
  • 购买网站做网页游戏免费发布企业信息平台
  • 网站标题字体大小公众平台网站开发哪家好