热门标签 | 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】第五讲:卷积神经网络



推荐阅读
  • 卷积神经网络(CNN)基础理论与架构解析
    本文介绍了卷积神经网络(CNN)的基本概念、常见结构及其各层的功能。重点讨论了LeNet-5、AlexNet、ZFNet、VGGNet和ResNet等经典模型,并详细解释了输入层、卷积层、激活层、池化层和全连接层的工作原理及优化方法。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文探讨了卷积神经网络(CNN)中感受野的概念及其与锚框(anchor box)的关系。感受野定义了特征图上每个像素点对应的输入图像区域大小,而锚框则是在每个像素中心生成的多个不同尺寸和宽高比的边界框。两者在目标检测任务中起到关键作用。 ... [详细]
  • 苹果新专利或将引领无边框手机时代
    苹果公司最近公布了一项新的专利技术,该技术能够在设备屏幕中嵌入光线传感器,这标志着苹果在实现无边框手机设计上迈出了重要一步。这一创新将极大提升手机的屏占比,并可能为未来的iPhone带来革命性的变化。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
  • JavaScript中的数组是数据集合的核心结构之一,内置了多种实用的方法。掌握这些方法不仅能提高开发效率,还能显著提升代码的质量和可读性。本文将详细介绍数组的创建方式及常见操作方法。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 推荐几款高效测量图片像素的工具
    本文介绍了几款适用于Web前端开发的工具,这些工具可以帮助用户在图片上绘制线条并精确测量其像素长度。对于需要进行图像处理或设计工作的开发者来说非常实用。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
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社区 版权所有