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

基础!!!吴恩达deeplearning.ai:卷积层

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏

文章目录

  • 回顾——密集层 Dense Layer
  • 卷积层 Convolutional Neural Network
    • 定义
    • 优势
    • 具体说明
      • 心电图
      • 卷积层搭建


到目前为止,你使用的所有神经网络层都是密集层类型,这意味着该层的每一个神经元都从上层获得所有激活的输入。事实证明,仅仅使用密集层类型就可以构建一些非常强大的学习算法。但为了能够帮助你进一步了解神经网络的功能,其实还有一些其它的图层以及属性。在这里我想简单介绍并例举一个不同的神经网络层的示例。

回顾——密集层 Dense Layer

在这里插入图片描述
在密集层中,每个神经元接收了来自上层的每个激活值,公式如下:
a ⃗ 1 [ 2 ] = g ( w ⃗ 1 [ 2 ] ⋅ a ⃗ [ 1 ] + b 1 [ 2 ] ) \vec{a}_1^{[2]}=g(\vec{w}_1^{[2]}\cdot\vec{a}^{[1]}+b^{[2]}_1) a 1[2]=g(w 1[2]a [1]+b1[2])
但是事实上,设计神经网络的人可能会选择不同类型的层,今天我们介绍的是卷积层

卷积层 Convolutional Neural Network

定义

为了解释卷积层,先看下图:
在这里插入图片描述
在左边,我将输入设置为一个手写数字9,与以往的密集层不同,在第一层这里,每个神经元并不读取输入的全部像素。如图,第一个蓝色的神经元仅仅读取图中蓝色矩形处的像素,红色神经元仅仅读取右上角矩形处的像素,以此类推,一直到最后一个神经元。我们把这种神经元只读取前一层一部分值的层叫做卷积层

优势

但问题是,为什么要这样做呢?为什么不让神经元查看所有的像素?
第一点,显而易见,由于传入神经元的像素少了,那么神经网络的运算速度就加快了。
第二点,使用卷积层的这种神经网络训练所需的数据量更少。
第三点,它也不容易过度拟合。

具体说明

心电图

让我们更详细地说明一个卷积层。如果你的神经网络拥有多个卷积层的话,这个神经网络就称作卷积神经网络。为了更好地说明,我们将原本的二维输入替换为一维输入,可以找到的例子有EKG(Electrocardiogram)信号或叫做心电图信号。这个信号只有高度这一个信息,从而可以判断心脏病的风险情况:
在这里插入图片描述
为了能够将高度转化为特征向量,我们将高度作为横轴,旋转九十度,记录每一个高度x1,x2…x100:
在这里插入图片描述
从而我们就拥有了特征向量 x ⃗ \vec{x} x

卷积层搭建

我们让卷积层的第一个神经元只接收 x 1 x_1 x1 x 20 x_{20} x20,这就相当于特征向量的一个小窗口,第二个蓝色的神经元接收 x 11 x_{11} x11 x 30 x_{30} x30,第三个接收 x 21 x_{21} x21 x 40 x_{40} x40以此类推,直到最后一个神经元接收 x 81 x_{81} x81 x 100 x_{100} x100:
在这里插入图片描述
很明显,结合上面的定义,这是一个拥有9个神经元的卷积层。
下一层也可以是个卷积层;在第二个隐藏层中,我让第一个神经元只接收上一层的五个激活值,例如a1到a5,第二个也只接收五个,例如a3到a7,第三个也是,例如a5到a9。因此,第二层就具有三个神经元,它也是个卷积层:
在这里插入图片描述
最后,假设第三层就是最终输入层,那么第二层的激活值全部传入第三层,假设激活函数为sigmoid,从而进行二分类判断是否有心脏病:
在这里插入图片描述
这样,一个具有两个卷积层的神经网络就构建好了:
在这里插入图片描述
事实上,对于卷积层你有很多的架构可以选择,例如每个神经元接收的范围有多大,以及每层应该有多少个神经元。通过有效地选择这些架构,你就可以构建更加高效的神经网络了,在某些情况下,它会比密集层更加有效。
在这门课程中不会更加深入地讨论卷积层,更加深入的可以自己学习。
为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。

http://www.lryc.cn/news/308109.html

相关文章:

  • SpringBoot案例(黑马学习笔记)
  • 项目流程图
  • 鸿蒙这么大声势,为何迟迟看不见岗位?最新数据来了
  • Qt中关于信号与槽函数的思考
  • 项目技术栈-解决方案-消息队列
  • 【深度优先搜索】【图论】【推荐】332. 重新安排行程
  • DAY9-防病毒AV概述
  • TCP缓存
  • Socket网络编程(一)——网络通信入门基本概念
  • RTCA DO-178C 机载系统和设备认证中的软件注意事项-软件质量保证流程(八)
  • K 个一组翻转链表 力扣
  • Java毕业设计 基于SSM SpringBoot vue购物比价网站
  • Linux按键输入实验-按键功能完善
  • 二分查找讲解
  • 跨区域复制建筑UI输入框脚本迷你世界
  • 取消退出流程控制方法
  • 力扣-跳跃游戏
  • 李沐动手学习深度学习——3.2练习
  • 代码随想录Day20 | Leetcode77 组合
  • Android Duplicate class 排除重复类
  • 【Kubernetes】服务(Service)是什么?有什么用?有哪些类型?
  • 【前端素材】推荐优质后台管理系统DAdmin平台模板(附源码)
  • Redis高级特性详解:事务处理、发布订阅、持久化和集群
  • nwjs做自动化测试
  • 【前端素材】推荐优质在线特殊品牌商城电商网页eStore平台模板(附源码)
  • Redis之一: 简介及环境安装搭建
  • 关于电脑一天24小时多少度电电脑的一天用电量计算
  • Unity3D 物理引擎的基本配置详解
  • CSS:弹性盒子Flexible Box布局
  • java常用环境docker安装