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

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.11

目录

  • 第四门课 卷积神经网络(Convolutional Neural Networks)
    • 第四周 特殊应用:人脸识别和神经风格转换(Special applications: Face recognition &Neural style transfer)
      • 4.11 一维到三维推广(1D and 3D generalizations of models)

第四门课 卷积神经网络(Convolutional Neural Networks)

第四周 特殊应用:人脸识别和神经风格转换(Special applications: Face recognition &Neural style transfer)

4.11 一维到三维推广(1D and 3D generalizations of models)

你已经学习了许多关于卷积神经网络(ConvNets)的知识,从卷积神经网络框架,到如何使用它进行图像识别、对象检测、人脸识别与神经网络转换。即使我们大部分讨论的图像数据,某种意义上而言都是 2D 数据,考虑到图像如此普遍,许多你所掌握的思想不仅局限于 2D 图像,甚至可以延伸至 1D,乃至 3D 数据。

在这里插入图片描述
让我们回头看看在第一周课程中你所学习关于 2D 卷积,你可能会输入一个 14×14 的图像,并使用一个 5×5 的过滤器进行卷积,接下来你看到了 14×14 图像是如何与 5×5 的过滤器进行卷积的,通过这个操作你会得到 10×10 的输出。

在这里插入图片描述
如果你使用了多通道,比如 14×14×3,那么相匹配的过滤器可能是 5×5×3,如果你使用了多重过滤,比如 16,最终你得到的是 10×10×16。

在这里插入图片描述
事实证明早期想法也同样可以用于 1 维数据,举个例子,左边是一个 EKG 信号,或者说是心电图,当你在你的胸部放置一个电极,电极透过胸部测量心跳带来的微弱电流,正因为心脏跳动,产生的微弱电波能被一组电极测量,这就是人心跳产生的 EKG,每一个峰值都对应着一次心跳。

如果你想使用 EKG 信号,比如医学诊断,那么你将处理 1 维数据,因为 EKG 数据是由时间序列对应的每个瞬间的电压组成,这次不是一个 14×14 的尺寸输入,你可能只有一个14 尺寸输入,在这种情况下你可能需要使用一个 1 维过滤进行卷积,你只需要一个 1×5 的过滤器,而不是一个 5×5 的。

在这里插入图片描述
二维数据的卷积是将同一个 5×5 特征检测器应用于图像中不同的位置(编号 1 所示),你最后会得到 10×10 的输出结果。1 维过滤器可以取代你的 5 维过滤器(编号 2 所示),可在不同的位置中应用类似的方法(编号 3,4,5 所示)。

在这里插入图片描述
当你对这个 1 维信号使用卷积,你将发现一个 14 维的数据与 5 维数据进行卷积,并产生一个 10 维输出。

在这里插入图片描述
再一次如果你使用多通道,在这种场景下可能会获得一个 14×1 的通道。如果你使用一个 EKG,就是 5×1 的,如果你有 16 个过滤器,可能你最后会获得一个 10×16 的数据,这可能会是你卷积网络中的某一层。

在这里插入图片描述
对于卷积网络的下一层,如果输入一个 10×16 数据,你也可以使用一个 5 维过滤器进行卷积,这需要 16 个通道进行匹配,如果你有 32 个过滤器,另一层的输出结果就是 6×32,如果你使用了 32 个过滤器的话。

在这里插入图片描述
对于 2D 数据而言,当你处理 10×10×16 的数据时也是类似的,你可以使用 5×5×16 进行卷积,其中两个通道数 16 要相匹配,你将得到一个 6×6 的输出,如果你用的是 32 过滤器,输出结果就是 6×6×32,这也是 32 的来源。

所有这些方法也可以应用于 1 维数据,你可以在不同的位置使用相同的特征检测器,比如说,为了区分 EKG 信号中的心跳的差异,你可以在不同的时间轴位置使用同样的特征来检测心跳。

所以卷积网络同样可以被用于 1D 数据,对于许多 1 维数据应用,你实际上会使用递归神经网络进行处理,这个网络你会在下一个课程中学到,但是有些人依旧愿意尝试使用卷积网络解决这些问题。

下一门课将讨论序列模型,包括递归神经网络、LCM 与其他类似模型。我们将探讨使用1D 卷积网络的优缺点,对比于其它专门为序列数据而精心设计的模型。

这也是 2D 向 1D 的进化,对于 3D 数据来说如何呢?什么是 3D 数据?与 1D 数列或数字矩阵不同,你现在有了一个 3D 块,一个 3D 输入数据。以你做 CT 扫描为例,这是一种使用 X 光照射,然后输出身体的 3D 模型,CT 扫描实现的是它可以获取你身体不同片段(图片信息)。

在这里插入图片描述

当你进行 CT 扫描时,与我现在做的事情一样,你可以看到人体躯干的不同切片(整理者注:图中所示为人体躯干中不同层的切片,附 CT 扫描示意图,图片源于互联网),本质上这个数据是 3 维的。

在这里插入图片描述
一种对这份数据的理解方式是,假设你的数据现在具备一定长度、宽度与高度,其中每一个切片都与躯干的切片对应。

如果你想要在 3D 扫描或 CT 扫描中应用卷积网络进行特征识别,你也可以从第一张幻灯片(Convolutions in 2D and 1D)里得到想法,并将其应用到 3D 卷积中。为了简单起见,如果你有一个 3D 对象,比如说是 14×14×14,这也是输入 CT 扫描的宽度与深度(后两个 14)。再次提醒,正如图像不是必须以矩形呈现,3D 对象也不是一定是一个完美立方体,所以长和宽可以不一样,同样 CT 扫描结果的长宽高也可以是不一致的。为了简化讨论,我仅使用14×14×14 为例。

在这里插入图片描述
如果你现在使用 5×5×5 过滤器进行卷积,你的过滤器现在也是 3D 的,这将会给你一个10×10×10 的结果输出,技术上来说你也可以再×1(编号 1 所示),如果这有一个 1 的通道。这仅仅是一个 3D 模块,但是你的数据可以有不同数目的通道,那种情况下也是乘 1(编号2 所示),因为通道的数目必须与过滤器匹配。如果你使用 16 过滤器处理 5×5×5×1,接下来的输出将是 10×10×10×16,这将成为你 3D 数据卷积网络上的一层。

在这里插入图片描述
如果下一层卷积使用 5×5×5×16 维度的过滤器再次卷积,通道数目也与往常一样匹配,如果你有 32 个过滤器,操作也与之前相同,最终你得到一个 6×6×6×32 的输出。某种程度上 3D 数据也可以使用 3D 卷积网络学习,这些过滤器实现的功能正是通过你的 3D 数据进行特征检测。CT 医疗扫描是 3D 数据的一个实例,另一个数据处理的例子是你可以将电影中随时间变化的不同视频切片看作是 3D 数据,你可以将这个技术用于检测动作及人物行为。

总而言之这就是 1D、2D 及 3D 数据处理,图像数据无处不在,以至于大多数卷积网络都是基于图像上的 2D 数据,但我希望其他模型同样会对你有帮助。

这是本周最后一次视频,也是最后一次关于卷积神经网络的课程,你已经学习了许多关于卷积网络的知识,我希望你能够在未来工作中发现许多思想对你有所裨益,祝贺你完成了这些视频学习,我希望你能喜欢这周的课后练习,接下来关于顺序模型的课程我们不见不散。

相关文章:

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.11

目录 第四门课 卷积神经网络(Convolutional Neural Networks)第四周 特殊应用:人脸识别和神经风格转换(Special applications: Face recognition &Neural style transfer)4.11 一维到三维推广(1D and 3…...

小游戏开发,出现了降本增效的技术?

中国经济下行大周期下,要说受影响程度较小的,非游戏行业莫属了。 小游戏的快速增长主要得益于其便捷的使用方式和轻量化的特点。小游戏通常无需下载,即点即玩,适合在碎片时间内进行娱乐,这种特性吸引了大量用户。此外…...

(4)Java 编程基础概览:Java中的输入输出操作与代码注释详解

目录 1. 控制台输出操作2. 控制台输入操作代码解释:3. 代码注释3.1 单行注释3.2 多行注释3.3 文档注释3.4 注释的重要性3.5 注意事项在Java编程语言中,输入与输出(I/O)操作扮演着举足轻重的角色。它们允许程序与外界环境进行数据的交互,无论是从用户处获取信息,还是向用户…...

Git使用指南

目录 工作机制基本框架:流程图 基本命令分支操作远程仓库本地仓库关联远程仓库 参考 工作机制 基本框架: Workspace:开发者工作区,也就是你当前写代码的目录,它一般保持的是最新仓库代码。Index / Stage:暂存区,最早…...

【linux】再谈网络基础(一)

1. 再谈 "协议" 协议是一种 "约定",在读写数据时, 都是按 "字符串" 的方式来发送接收的. 但是这里我们会遇到一些问题: 如何确保从网上读取的数据是否是完整的,区分缓冲区中的由不同客户端发来的数据 2. 网…...

Unknown at rule @tailwindscss(unknownAtRules)

一、前言 整合 tailwindcss 后,发现指令提示警告 Unknown at rule tailwindscss(unknownAtRules),其实是 vscode 无法识别 tailwindscss 指令,不影响使用,但是对于我这种有编程洁癖的人来说,有点膈应。 二、解决方案…...

IDEA - 快速去除 mapper.xml 黄色警告线和背景色----简化版

1.打开设置 2.去掉黄色警告线设置 3.去掉背景色设置 4.示范图...

高级 SQL 技巧详解

文章目录 高级 SQL 技巧详解一、引言二、窗口函数1、窗口函数的使用1.1、RANK() 函数示例1.2、常用窗口函数 三、公共表表达式(CTE)2、CTE 的使用2.1、CTE 示例 四、索引优化3、索引的创建与优化3.1、创建索引3.2、索引类型与注意事项 五、事务管理4、事…...

移除元素(java)

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作: 更改…...

【Linux】shell脚本:检测文件是否存在,如存在则删除

通常&#xff0c;可以使用[ -f <file> ]来检查文件是否存在&#xff0c;使用rm <file>来删除文件。 以下是一个示例脚本&#xff0c;用于检测一个文件是否存在&#xff0c;并在存在时删除它&#xff1a; #!/bin/bash # 定义要检查的文件路径 file_path"/…...

Git代码托管(三)可视化工具操作(1)

常见的可视化操作工具有 一、官方网页 如码云、gitlab&#xff0c;自带了常见的git操作。 以码云为例&#xff1a; 1、创建分支&#xff1a; 进入分支目录&#xff0c;点击 新建分支 按钮&#xff0c; 在弹出框中输入新分支名称&#xff0c;点击确定即可一键创建分支&…...

How to use ffmpeg to convert video format from .webm to .mp4

The .mp4 container format doesn’t support the VP8 codec, which is commonly used in .webm files. MP4 containers typically use the H.264 codec for video and AAC for audio. You’ll need to re-encode the video using the H.264 codec and re-encode the audio us…...

Halcon 从XML中读取配置参数

1、XML示例 以下是一个XML配置文件的示例,该文件包含了AOI(自动光学检测)算法的环境参数和相机逻辑参数: <AOI><!--AOI算法参数 20241106--><Env><!--环境参数--><Param name="GPUName" value="NVIDIA GeForce RTX 405…...

hive表内外表之间切换

你想把内表和外表在元数据上达到切换的目的&#xff0c;这个操作有个前提&#xff0c;在apache版本源码上来讲是支持的&#xff01;&#xff01;&#xff01;&#xff01;但是&#xff01;&#xff01;&#xff01;&#xff01;注意哦&#xff01;默认情况下apache版本的源码中…...

电子邮件营销软件哪个好?

在数字化时代&#xff0c;电子邮件营销仍然是企业与客户沟通的核心策略之一。无论是推广新产品、发送新闻简报&#xff0c;还是进行客户关系管理&#xff0c;选择合适的电子邮件营销软件至关重要。面对市场上众多的选择&#xff0c;企业如何才能找到最适合自己的工具呢&#xf…...

OpenAI大事记;GPT到ChatGPT参数量进化

目录 OpenAI大事记 GPT到ChatGPT参数量进化 OpenAI大事记 GPT到ChatGPT参数量进化 ChatGPT是从初代 GPT逐渐演变而来的。在进化的过程中,GPT系列模型的参数数量呈指数级增长,从初代GPT的1.17亿个参数,到GPT-2的15 亿个参数,再到 GPT-3的1750 亿个参数。模型越来越大,训练…...

springboot020基于Java的免税商品优选购物商城设计与实现

&#x1f345;点赞收藏关注 → 文档最下方联系方式领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345; 一 、设计说明 1…...

代码随想录之字符串刷题总结

目录 1.反转字符串 2.反转字符串II 3.替换数字 4.翻转字符串里面的单词 5.右旋&&左旋字符串 1.反转字符串 题目描述&#xff1a; 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外…...

PS-基础学习(常用快捷键1.2-1.3)

常用快捷键 钢笔操作功能Alt 选择工具使用选择工具放到锚点上&#xff0c;按下alt&#xff0c;然后放到调整曲度的上面&#xff0c;可以修改一边的曲度可以修改出不平滑的转折点选择工具放到锚点上进行拖拽可以移动锚点的位置ctrl 选择工具使用选择工具&#xff0c;按住ctrl…...

qt QListView详解

1、概述 QListView 是 Qt 框架中的一个视图类&#xff0c;用于展示模型中的数据。它基于 QAbstractItemView&#xff0c;支持多种视图模式&#xff0c;如列表视图&#xff08;List View&#xff09;、图标视图&#xff08;Icon View&#xff09;等。QListView 是模型/视图框架…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving

地址&#xff1a;LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂&#xff0c;正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...