吴恩达深度学习笔记:卷积神经网络(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脚本:检测文件是否存在,如存在则删除
通常,可以使用[ -f <file> ]来检查文件是否存在,使用rm <file>来删除文件。 以下是一个示例脚本,用于检测一个文件是否存在,并在存在时删除它: #!/bin/bash # 定义要检查的文件路径 file_path"/…...
Git代码托管(三)可视化工具操作(1)
常见的可视化操作工具有 一、官方网页 如码云、gitlab,自带了常见的git操作。 以码云为例: 1、创建分支: 进入分支目录,点击 新建分支 按钮, 在弹出框中输入新分支名称,点击确定即可一键创建分支&…...
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表内外表之间切换
你想把内表和外表在元数据上达到切换的目的,这个操作有个前提,在apache版本源码上来讲是支持的!!!!但是!!!!注意哦!默认情况下apache版本的源码中…...
电子邮件营销软件哪个好?
在数字化时代,电子邮件营销仍然是企业与客户沟通的核心策略之一。无论是推广新产品、发送新闻简报,还是进行客户关系管理,选择合适的电子邮件营销软件至关重要。面对市场上众多的选择,企业如何才能找到最适合自己的工具呢…...
OpenAI大事记;GPT到ChatGPT参数量进化
目录 OpenAI大事记 GPT到ChatGPT参数量进化 OpenAI大事记 GPT到ChatGPT参数量进化 ChatGPT是从初代 GPT逐渐演变而来的。在进化的过程中,GPT系列模型的参数数量呈指数级增长,从初代GPT的1.17亿个参数,到GPT-2的15 亿个参数,再到 GPT-3的1750 亿个参数。模型越来越大,训练…...
springboot020基于Java的免税商品优选购物商城设计与实现
🍅点赞收藏关注 → 文档最下方联系方式领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅 一 、设计说明 1…...
代码随想录之字符串刷题总结
目录 1.反转字符串 2.反转字符串II 3.替换数字 4.翻转字符串里面的单词 5.右旋&&左旋字符串 1.反转字符串 题目描述: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外…...
PS-基础学习(常用快捷键1.2-1.3)
常用快捷键 钢笔操作功能Alt 选择工具使用选择工具放到锚点上,按下alt,然后放到调整曲度的上面,可以修改一边的曲度可以修改出不平滑的转折点选择工具放到锚点上进行拖拽可以移动锚点的位置ctrl 选择工具使用选择工具,按住ctrl…...
qt QListView详解
1、概述 QListView 是 Qt 框架中的一个视图类,用于展示模型中的数据。它基于 QAbstractItemView,支持多种视图模式,如列表视图(List View)、图标视图(Icon View)等。QListView 是模型/视图框架…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
