当前位置: 首页 > 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,从而进行二分类判断是否有心脏病:
在这里插入图片描述
这样,一个具有两个卷积层的神经网络就构建好了:
在这里插入图片描述
事实上,对于卷积层你有很多的架构可以选择,例如每个神经元接收的范围有多大,以及每层应该有多少个神经元。通过有效地选择这些架构,你就可以构建更加高效的神经网络了,在某些情况下,它会比密集层更加有效。
在这门课程中不会更加深入地讨论卷积层,更加深入的可以自己学习。
为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。

相关文章:

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

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏 文章目录 回顾——密集层 Dense Layer卷积层 Convolutional Neural Network定义优势具体说明心电图卷积层搭建 到目前为止,你使用的所有神经网络层都是密集层类型,这…...

SpringBoot案例(黑马学习笔记)

这个案例呢,就是Tlias智能学习辅助系统。 参考接口文档完成后端功能的开 发,然后结合前端工程进行联调测试即可。 完成后的成品效果展示: 准备工作 需求&环境搭建 需求说明 部门管理 部门管理功能开发包括: ● 查询部门列…...

项目流程图

实现便利店自助付款项目 服务器: 1、并发服务器(多进程、多线程、IO多路复用) 2、SQL数据库的创建和使用(增删改查) 3、以模块化编写项目代码,按照不同模块编写.h/.c文件 客户端: 1、QT客户端界…...

鸿蒙这么大声势,为何迟迟看不见岗位?最新数据来了

对于鸿蒙生态建设而言,2024年可谓至关重要,而生态建设的前提,就是要有足够的开发人才。与之对应的,今年春招市场上与鸿蒙相关岗位和人才旺盛的热度,一方面反应了鸿蒙生态的逐渐壮大,另一方面也让人们对鸿蒙…...

Qt中关于信号与槽函数的思考

信号与槽函数的思考 以pushbutton控件为例,在主界面上放置一个pushbutton控件,点击右键选择关联槽函数,关联一个click函数,如下图所示: 在该函数中,实现了一个点击pushbutton按钮后,弹出一个窗…...

项目技术栈-解决方案-消息队列

项目技术栈-解决方案-消息队列 概念应用场景1. 异步处理 参考文章消息队列(Message Queue) 概念 “消息”是在两台计算机间传送的数据单位。 消息可以非常简单,例如只包含文本字符串; 也可以更复杂 ,包括对象等。 队…...

【深度优先搜索】【图论】【推荐】332. 重新安排行程

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 深度优先搜索 图论 LeetCode332. 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&a…...

DAY9-防病毒AV概述

DNS过滤 URL过滤和DNS过滤对比...

TCP缓存

TCP缓存是指TCP协议在数据传输过程中使用的一种机制,用于临时存储和管理数据包。它主要有三个作用:提高网络性能、保证数据的可靠性和实现流量控制。 首先,TCP缓存可以提高网络性能。当发送端发送数据时,TCP协议会将数据分割成若…...

Socket网络编程(一)——网络通信入门基本概念

目录 网络通信基本概念什么是网络?网络通信的基本架构什么是网络编程?7层网络模型-OSI模型什么是Socket?Socket的作用和组成Socket传输原理Socket与TCP、UDP的关系CS模型(Client-Server Application)报文段牛刀小试(TCP消息发送与接收&#…...

RTCA DO-178C 机载系统和设备认证中的软件注意事项-软件质量保证流程(八)

8.0 软件质量保证流程 SOFTWARE QUALITY ASSURANCE PROCESS 本节讨论软件质量保证 (SQA) 过程的目标和活动。 SQA 流程按照软件规划流程(参见 4)和软件质量保证计划(参见 11.5)的定义进行应用。 SQA 过程活动的输出记录在软件质量…...

K 个一组翻转链表 力扣

【玩转校招算法面试】第三天:链表中的节点每k个一组翻转(动画演示、手写 Java 代码、详细注释、LeetCode 高频算法题)_哔哩哔哩_bilibili 初始状态:1 -> 2 -> 3,pre null, cur 1保存当前节点的下一个节点&…...

Java毕业设计 基于SSM SpringBoot vue购物比价网站

Java毕业设计 基于SSM SpringBoot vue购物比价网站 SSM vue 购物比价网站 功能介绍 首页 图片轮播 商品 商品分类 商品详情 评论 收藏 商品攻略 商品信息 公告栏 在线反馈 登录 注册 个人中心 我的收藏 后台管理 登录 注册商品户 个人中心 修改密码 个人信息 商品户管理 用户…...

Linux按键输入实验-按键功能完善

一. 简介 前面一篇文章实现了 按键的字符设备驱动代码框架,文章地址如下: Linux按键输入实验-按键的字符设备驱动代码框架-CSDN博客 本文在 字符设备驱动框架实现的基础上,加入按键GPIO的初始化功能。 二. Linux按键输入实验-按键的GPIO…...

二分查找讲解

关于我为什么要写单独开一篇文章写二分,实际上那么多困难的算法,比如线段树,并查集等等都没有难倒我,我最近却被二分难倒了,而且是两次,两次在赛场上做不出来二分的应用题,于是我决定写一篇二分查找的算法总结.刚接触算法的时候本来是要写一篇的,但后面因为各种原因搁置了,现在…...

跨区域复制建筑UI输入框脚本迷你世界

--复制区域文件 --设置坐标起点,终点 --创建区域 --获取坐标id,data --星空露珠工作室制作 local pos1{x-16,y7,z28} local pos2{x28,y44,z-9} local block{num0} local str{} local str0{} local num0 local count0 local ui6 --几个输入框 local romath.random(…...

取消退出流程控制方法

在自动化设备动作流程中,人为任意想取消当前动作,常见方法是使用全局变量,实时检测变量决定退出。这里介绍一个System.Threading空间下的 CancellationTokenSource类,他可以设置超时,设置信息等封装 基本使用超时和手…...

力扣-跳跃游戏

问题 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 解答 class Solu…...

李沐动手学习深度学习——3.2练习

以下是个人理解,希望进行讨论求解。 练习 1. 如果我们将权重初始化为零,会发生什么。算法仍然有效吗? 根据SGD算法公式如上,第一次迭代的值可知w只与b相关,而对于b的迭代更新,只是与b的初始值相关&#x…...

代码随想录Day20 | Leetcode77 组合

题目 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]示例 2: 输入:n 1, k 1 …...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

基础测试工具使用经验

背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...