热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

【2017CS231n】第五讲:卷积神经网络

一.视觉之外的神经网络  1.1一个例子    先举一个例子,我们有一个32*32*3的输入图片,有五个5*5的卷积核,也可以叫5*5的感受野,因为这个感受野就是这个卷积核能够感受

一.视觉之外的神经网络

    1.1 一个例子

    先举一个例子,我们有一个32*32*3的输入图片,有五个5*5的卷积核,也可以叫5*5的感受野,因为这个感受野就是这个卷积核能够感受到的区域。

    我们可以暂时把卷积核看做是一个滤波器,然后让其中一个卷积核划过整个图片,会得到一个输出。输出是28*28。至于输出为什么是28*28我们先不用管,后面会说明。

    这5个卷积核参数相同,大小相同,做的运算相同。用5*5*5的卷积核划过所有输入,得到一张**映射。

【2017CS231n】第五讲:卷积神经网络

    我们有5个5*5卷积核,卷积核的数量就输出深度。如果我们让这5个卷积核划过这个3*32*32的图片,我们会得到5个28*28的输出。这5个卷积核都是作用于同一图片同一区域,但是功能却不一样,也就是他们的输出不同。

【2017CS231n】第五讲:卷积神经网络

    1.2 全连接层

    全连接层,一个32*32*3的输入被展成3072*1的输入,神经元与所有输入作用。但是卷积神经网络中的卷积核,只与图像其中一个区域发生作用。

    如下图所示,我们的权重矩阵W大小为10*3072,它与输入做运算,矩阵的每一行都分别与输入运算。把矩阵的每一行看做一个神经元,每一个神经元都与输入作用。

   【2017CS231n】第五讲:卷积神经网络

    1.3 卷积神经网络结构

    下面是一个卷积神经网络的结构,每隔几个卷积层我们就有一个池化层,中间还有非线性连接层。在卷积网络的最后我们将输出的矩阵拉成一维,与全连接层连接,输出最后的分类得分。

【2017CS231n】第五讲:卷积神经网络

    1.4池化层

    池化层可以降低采样率,得到一个分辨率更小的图片。有点像图像处理里面的金字塔。输入的深度不会变,只在另外两个维度降低采样。如下图所示

【2017CS231n】第五讲:卷积神经网络

    1.4.1 最大池化

    最大池化是什么意思,例如我们用一个2*2的滤波器,步长为2,划过图像,每一次取四个元素中的最大值。步长为2就是下一次滤波器的起始位置在当前位置平移2个像素。可以避免重复处理。

【2017CS231n】第五讲:卷积神经网络


二.卷积和池化

    2.1全连接层和卷积层的区别

    2.1.1全连接层

    在全连接层中,我们有一张三维图片,32*32*3,将所有像素展开得到3072的向量。把向量和权重矩阵相乘,我们的权重矩阵为10*3072。我们让输入与权重矩阵每一行相乘,就得到了10个输出。

    对卷积核来说,它一次只跟输入图像的一小块区域做卷积,而不是像全连接层一样跟全部的输入作用。这就是卷积和全连接层最大的区别。

         【2017CS231n】第五讲:卷积神经网络

    

    2.1.2卷积层

    对卷积神经网络来说,可以保持图片的结构。
    在下面这个例子中我们用一个5*5*3的卷积核,从图片中提取一小块5*5*3大小的区域,让两者做点积再加上一个偏置项b,这样我们就得到了一个输出。

【2017CS231n】第五讲:卷积神经网络

    我们让卷积核划过整个图像,会得到一个28*28的输出(这里的输出的格式大小取决于你的卷积核滑动方式,不同的滑动方式会得到不同的输出格式,具体的区别我们下面详细说明)。

【2017CS231n】第五讲:卷积神经网络

    如果我们有6个卷积核,让他们分别划过输入的图片,这样我们就会得到6个不同的输出。(不同的卷积核会得到不同的信息)

【2017CS231n】第五讲:卷积神经网络

    卷积层之后我们会将卷积层的输出送入到**函数,比如ReLU。这些输出又会作为下一层卷积网络的输入。

【2017CS231n】第五讲:卷积神经网络

    不同的卷积层得到的特征是不同的,在低层的卷积层中得到图像的一些角点边缘等,在中层的网络会是一些斑点,高层是一些更复杂的特征。

【2017CS231n】第五讲:卷积神经网络


2.2卷积核对输出的影响

2.2.1 步长

    为了方便说明,这里我们用一个7*7的图像输入,卷积核大小为3*3。当步长为1时,也就是下一次卷积核移动的步长是一个像素。这样我们就会得到一个5*5的输出。

【2017CS231n】第五讲:卷积神经网络

    如果步长为2,那么我们会得到一个3*3的输出。

【2017CS231n】第五讲:卷积神经网络

    当步长为3时,这时就不匹配了。

【2017CS231n】第五讲:卷积神经网络

2.2.2 计算输出尺寸

    输入的尺寸是N,卷积核尺寸是F,步长stride。
    通过(N-F)/stride + 1我们就可以得到输出的尺寸,也可以判断有几种步长是可行的。

【2017CS231n】第五讲:卷积神经网络


2.2.3 边界填充

    当我们用1个像素填充原始图像时,输出大小是多少。也就是在7*7图像的周围填充一圈像素。灰色的是填充上的,白色是原始图像大小。
    填充完以后图像大小变为9*9,我们的卷积核大小是3,这样输出就还是7*7。

【2017CS231n】第五讲:卷积神经网络

    为了保持全尺寸的输出,我们会进行边界填充。当卷积核的大小不同时为了保持全尺寸输出,我们会采用不同的填充宽度。
    如果不做边界填充,当有多层网络时,我们的图像大小会迅速缩小。

【2017CS231n】第五讲:卷积神经网络

2.2.4 举个例子

    第一个例子是求输出尺寸的。

【2017CS231n】第五讲:卷积神经网络

    第二个例子求的是有多少参数。

【2017CS231n】第五讲:卷积神经网络



推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 计算成像的原理与应用研究
    本文探讨了计算成像的原理与应用研究。首先介绍了小孔成像实验和软件方面的相关内容。随后从傅里叶光学的角度简单谈了成像的过程。成像是观测样品分布的一种方法,通过成像系统接收光的强度来呈现图像。视网膜作为接收端接收到的图像实际上是由像元组成的矩阵,每个元素代表相应位置像元接收光的强度。大脑通过对图像的分析,得出一系列信息,如识别物体、判断距离等。计算成像是一种采集记录系统,通过处理数据得到样品分布与像的对应关系,用于后续问题的分析。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 北京景点排行榜 北京最好玩的旅游景点
    2019北京最好玩的旅游景点有哪些?下文为大家整理了2019北京景点排行榜,希望可以帮到您哦!  2019北京景点排行榜:  1、故宫  帝都必打卡的地点之一。  北京故宫是中国明 ... [详细]
  • SEEBURGER SAP GTS解决方案:数字化助力企业实现海关流程数字化
    SEEBURGER作为SAP的合作伙伴,在2019 SAP GTS信息交流会上分享了SEEBURGER SAP GTS解决方案的应用案例,介绍了如何利用数字化助力企业实现海关流程数字化。SEEBURGER的集成技术和解决方案支持SAP GTS产品和服务的推广及应用,通过数据通讯和报文格式转换满足与海关当局的电子数据交换需求。该解决方案能够帮助企业管理全球贸易,保证贸易规范,优化跨境供应链,提升企业合规性。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
author-avatar
请叫她秋嫦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有