Coursera 笔记

Module 04 · Special Applications: Face recognition & Neural Style Transfer

1D and 3D Generalizations一维与三维推广

Coursera ↗

在本课程中,你已经学到了很多关于卷积神经网络(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 数据,卷积神经网络都展现了极大的潜力。

恭喜你完成了本周的学习!🎉 我希望你能够将这些知识应用到未来的工作中,期待在接下来的序列模型课程中与你再见!