Module 04 · Special Applications: Face recognition & Neural Style Transfer
1D and 3D Generalizations一维与三维推广
在本课程中,你已经学到了很多关于卷积神经网络(ConvNets)的知识,从卷积神经网络的架构、如何使用它进行图像识别、目标检测、面部识别,到神经风格迁移等应用。尽管大多数讨论集中在图像和二维数据上,毕竟图像在现实中应用广泛,但实际上,许多你学习的概念不仅适用于 2D 图像,也适用于 1D 和 3D 数据。接下来,我们来探讨如何将这些概念扩展到 1D 和 3D 数据。
从 2D 到 1D:卷积神经网络在一维数据中的应用
在课程的第一周,你学习了2D 卷积,例如,当你输入一个 14x14 的图像并用一个 5x5 的滤波器进行卷积时,结果是一个 10x10 的输出。如果图像有多个通道,比如 14x14x3 的图像,那么对应的卷积核(filter)也需要匹配 3 个通道,最终的结果是一个 10x10x16 的输出。
有趣的是,相同的概念也可以应用到 1D 数据上。例如,以下是一个 EKG 信号,也叫做心电图(Electrocardiogram)。心电图通过放置电极在胸部来测量心脏跳动时产生的微小电压。每个波峰对应一次心跳。如果你想利用心电图数据进行医学诊断,那么你将处理一维数据。心电图的数据是一个时间序列,显示了每个时刻的电压。
1D 卷积的实现
- 假设输入是一个 14 维的信号数据(例如一个心电图的信号)。
- 我们可以使用一个 1D 卷积核(5 维)来处理这个数据,而不是使用 2D 卷积核。
- 就像在 2D 数据中那样,卷积操作将该 1D 卷积核应用于信号的不同位置,从而产生一个 10 维的输出。
| 输入维度 | 卷积核维度 | 输出维度 |
|---|---|---|
| 14 (一维信号) | 5 (一维卷积核) | 10 (卷积结果) |
如果有多个通道,例如心电图数据可能只有 1 个通道(来自一个电极),那么最终输出的维度就会是 10x16,如果有 16 个滤波器。这样,你就可以在卷积神经网络中处理 1D 数据,像检测心电图中的不同心跳模式一样。

从 2D 到 3D:卷积神经网络在三维数据中的应用
什么是三维数据?
三维数据是指,不仅仅有一个一维的数值列表,或一个二维的矩阵,而是一个三维的块或体积数据。这些数据包含了高度(Height)、**宽度(Width)和深度(Depth)**这三个维度。
一个典型的例子是CT扫描(计算机断层扫描)。CT扫描是通过不同的切片扫描人体,生成一个三维的身体模型。每一层切片代表身体的一个截面,因此,CT扫描数据可以被视作一个三维的数据体积。

3D 卷积的实现
假设输入的 CT 扫描数据为 14x14x14 的三维体积数据,其中 14 是体积的高度、宽度和深度(为了简化讨论,我们假设高度、宽度和深度相同)。为了进行卷积操作,我们使用一个 5x5x5 的三维卷积核,这时卷积后将得到一个 10x10x10 的三维输出。
| 输入维度 | 卷积核维度 | 输出维度 |
|---|---|---|
| 14x14x14 (3D) | 5x5x5 (3D) | 10x10x10 (3D) |
如果你有多个滤波器,例如 16 个滤波器,输出的维度将变为 10x10x10x16,即每个滤波器输出一个特征图,最终将得到一个包含 16 个特征图的三维输出。

处理 CT 扫描等 3D 数据
这种 3D 卷积 可以应用于处理 CT 扫描、医学影像等三维数据。卷积神经网络可以检测三维数据中的特征,例如,识别人体的不同器官、异常区域等。
除了医学影像,另一种常见的 3D 数据来源是视频数据。视频可以看作是由多个连续的二维图像(每一帧)组成的三维数据,第三维是时间。如果将视频视为三维数据,就可以使用类似的卷积操作来检测视频中的运动、人物动作等。
卷积神经网络应用于 1D 和 3D 数据的总结
从 2D 到 1D,再到 3D,卷积神经网络的基本原理是相同的:通过卷积操作在数据的不同位置应用相同的特征检测器。这种思想的扩展使得卷积神经网络不仅适用于二维图像数据,还能有效地应用于一维信号数据(如心电图)和三维体积数据(如CT扫描、视频数据)中。
- 1D 数据应用:卷积神经网络可以用于处理像心电图这样的时间序列数据,识别其中的不同特征。
- 3D 数据应用:卷积神经网络可以用于分析三维数据,如 CT 扫描、MRI、视频等,识别图像中的三维特征。
总结与展望
尽管图像数据(2D)在卷积神经网络的应用中最为普遍,但通过将卷积操作扩展到 1D 和 3D 数据,ConvNet 不仅可以处理图像识别任务,还可以应用于许多其他领域,如医学影像分析、时间序列分析、视频处理等。
在接下来的课程中,你将深入了解序列模型(如循环神经网络 RNN、LSTM 等),并比较使用 1D ConvNets 和其他序列数据处理模型的优缺点。无论是处理 1D 还是 3D 数据,卷积神经网络都展现了极大的潜力。
恭喜你完成了本周的学习!🎉 我希望你能够将这些知识应用到未来的工作中,期待在接下来的序列模型课程中与你再见!