卷积神经网络的应用与发展
1. 目标定位
目标定位是指在图像中识别出固定对象所在的矩形区域,通常将其与分类问题结合,先对图像中的对象进行分类,再为其绘制边界框。以单对象图像为例,边界框可用四个数字唯一标识,一般是左上角坐标和两个维度尺寸,这属于多目标回归问题。训练时可采用以下步骤:
1.
训练或使用预训练分类器
:可以训练如 AlexNet 这样的神经网络分类器,或者直接使用在 ImageNet 上预训练好的版本,在初始阶段,仅用图像 - 类别对训练分类器即可。
2.
修改网络结构
:移除最后两个全连接层和 softmax 层(即分类头),添加新的两个全连接层和线性回归层(即回归头),仅用包含图像及其边界框的训练数据训练这些新层,同时卷积层的权重固定不变。
3.
可选的微调操作
:可以对卷积层进行微调,使其对分类和回归都更敏感。此时同时连接分类头和回归头,将包含图像、类别和边界框的训练数据输入网络,使用反向传播算法微调所有层。
4.
测试阶段
:将整个网络(连接分类头和回归头)应用于测试图像,分类头输出类别概率,回归头输出边界框。
使用滑动窗口方法可以获得更高质量的结果,其基本思想是在图像的多个位置使用滑动窗口进行定位,然后整合不同运行结果,例如 Overfeat 方法就采用了这种方式。
2. 目标检测
目标检测与目标定位类似,但图像中对象的数量和类别是可变的,需要识别出图像中的所有对象及其类别。目标检测通常比定位更具挑战性,因为输出数量不确定,事先并不知道图像中有多少对象,也就难以确定要为卷积层添加多少个分类或回归头。
最简单的方法是滑动窗口法,即尝试图像中所有可能的边界框,对每个边界框应用目标定位方法来检测单个对象,然后整合不同边界框的检测结果。然而,这种方法计算成本较高,对于大小为 L×L 的图像,可能的边界框数量为 L⁴,测试时需要对每个图像的这些可能性都进行分类/回归操作,难以满足实时响应需求。
为解决这一问题,提出了区域提议方法。该方法先将具有相似像素的区域合并成更大区域,生成一组候选边界框,再对每个候选框运行目标分类/定位方法,最后整合结果以识别图像中的所有对象。常见的区域提议方法有 MCG、EdgeBoxes 和 SelectiveSearch 等。
3. 自然语言和序列学习
虽然处理文本序列时循环神经网络是首选,但近年来卷积神经网络在该领域的应用也越来越广泛。乍一看,卷积神经网络似乎不太适合文本挖掘任务,主要原因有两点:一是图像形状的解释与位置无关,而文本中单词的位置很重要;二是图像中相邻像素通常相似,而文本中相邻单词几乎不同。尽管存在这些差异,基于卷积网络的系统在近年来仍表现出了更好的性能。
图像可表示为具有颜色通道深度的二维对象,文本序列则表示为具有表示维度深度的一维对象。对于文本数据,滤波器是二维的,具有沿句子滑动的窗口长度和由词汇表定义的深度,后续层的深度由特征图数量决定。在文本数据中,使用单热编码会增加通道数量,导致第一层滤波器参数过多,因此通常使用预训练的词嵌入方法,如 word2vec 或 GLoVe,以减少参数数量并提供更丰富的语义表示。其他操作(如最大池化或卷积)与图像数据类似。
4. 视频分类
视频可看作是具有时间成分的图像序列,属于时空数据,需要将二维空间卷积扩展到三维时空卷积。例如,对于大小为 224 × 224 × 3 的图像,共 10 帧的视频片段大小为 224 × 224 × 10 × 3,此时应使用三维时空滤波器进行卷积。
需要注意的是,滤波器的性质取决于数据集,纯序列数据(如文本)需要一维卷积,图像数据需要二维卷积,视频数据则需要三维卷积。不过,三维卷积相比对单个帧分类结果进行平均提升有限,因为运动对分类信息的贡献有限,且大规模视频数据集较难获取。此外,三维卷积神经网络更适合较短的视频片段,对于较长视频效果不佳。
对于较长视频,可以将循环神经网络(或 LSTM)与卷积神经网络结合使用。例如,对单个帧使用二维卷积,用循环网络传递帧间状态;也可以对短视频片段使用三维卷积神经网络,再与循环单元连接,有助于识别更长时间范围内的动作。
下面用 mermaid 流程图展示目标定位的训练流程:
graph LR
A[训练或使用预训练分类器] --> B[移除分类头]
B --> C[添加回归头]
C --> D[训练回归头]
D --> E{是否微调卷积层}
E -- 是 --> F[微调所有层]
E -- 否 --> G[测试网络]
F --> G
| 应用场景 | 处理方法 | 优势 | 不足 |
|---|---|---|---|
| 目标定位 | 训练分类器、修改网络结构、可选微调、测试 | 可结合分类与定位,滑动窗口法提高结果质量 | 计算量较大 |
| 目标检测 | 滑动窗口法、区域提议法 | 可处理对象数量和类别可变的情况 | 滑动窗口法计算成本高,区域提议法速度较慢 |
| 自然语言和序列学习 | 使用预训练词嵌入的卷积神经网络 | 性能提升,减少参数 | 初始不适合文本挖掘任务 |
| 视频分类 | 三维卷积、结合循环网络 | 适合短片段视频,结合方法适合长视频 | 数据获取难,三维卷积提升有限 |
卷积神经网络的应用与发展
5. 卷积神经网络的发展与相关技术
卷积神经网络有着丰富的发展历程和众多相关技术。其最早的灵感来源于 Hubel 和 Wiesel 对猫视觉皮层的实验。早期基于这些原理提出了 neocognitron 的概念,随后发展出了第一个卷积网络 LeNet - 5。
在数据集方面,早期流行使用 MNIST 手写数字数据库训练卷积神经网络,后来 ImageNet 等更大的数据集更受青睐。像 ImageNet 挑战(ILSVRC)这样的竞赛,在过去五年中催生了许多优秀的算法,例如 AlexNet、ZFNet、VGG、GoogLeNet 和 ResNet 等。其中,ResNet 与公路网络密切相关,为特征工程提供了迭代视角;GoogLeNet 的前身 Network - in - Network(NiN)架构展示了一些有用的设计原则。
在网络结构和操作方面,有许多值得关注的技术:
-
特征提取
:使用预训练模型进行现成的特征提取时,如果应用场景与 ImageNet 数据差异较大,可仅从预训练模型的较低层提取特征,因为较低层通常编码更通用的原始特征,如边缘和基本形状。
-
池化层替代
:有研究提出用增加步长的卷积层替代最大池化层,这在构建自编码器时具有优势,因为可以在解码器中使用分数步长的卷积层,分数步长会在输入体积的行和列中插入零以增加卷积操作的空间覆盖范围。
-
扩张卷积
:有时会使用扩张卷积,即在滤波器的行/列中插入零(而不是在输入体积中)。
-
反卷积和可视化
:反卷积网络与基于梯度的可视化之间的联系也有相关研究,同时还有一些简单的方法用于反转卷积神经网络创建的特征,以及从给定特征表示中最优地重建图像。
-
无监督特征学习
:可以通过一些无监督的方式学习特征表示,例如使用 k - means 算法对小图像块进行聚类,用聚类中心提取特征;也可以使用随机权重作为滤波器提取特征,研究表明即使使用随机权重,卷积和池化的组合也能具有频率选择性和平移不变性。
6. 不同应用领域的具体方法与效果
在不同的应用领域,卷积神经网络有不同的具体方法和表现:
-
图像检索
:在图像检索中,有关于神经特征工程的讨论,以提高检索效果。
-
图像定位
:近年来提出了许多图像定位方法,其中 Overfeat 是 2013 年 ImageNet 竞赛的获胜者,它使用滑动窗口方法获得了高质量的结果。此外,AlexNet、VGG 和 ResNet 的变体在 ImageNet 竞赛中也表现出色。
-
目标检测
:早期的目标检测方法如 [87, 117] 未使用神经网络或深度学习,后来在深度学习时代,提出了 MCG、EdgeBoxes 和 SelectiveSearch 等方法,但这些方法速度较慢。最近提出的 Yolo 方法是一种快速的目标检测方法,不过在速度提升的同时牺牲了一定的准确性,但总体效果仍然较好。
-
图像分割
:卷积神经网络在图像分割方面也有应用。
-
纹理合成和风格迁移
:有相关方法利用卷积神经网络进行纹理合成和风格迁移。
-
人脸识别
:在人脸识别领域,卷积神经网络取得了巨大进展。早期的工作展示了如何使用卷积网络进行人脸识别,后来又有深度变体的研究。
-
自然语言处理
:在自然语言处理中,卷积神经网络也有应用,常结合 word2vec 或 GloVe 等预训练词嵌入方法,还可以将循环和卷积神经网络结合用于文本分类,以及使用字符级卷积网络进行文本分类。此外,还可以将卷积和循环神经网络结合用于图像字幕生成。
-
图结构数据处理
:卷积神经网络可用于处理图结构数据。
-
时间序列和语音处理
:在时间序列和语音处理方面也有卷积神经网络的应用。
下面用 mermaid 流程图展示目标检测的处理流程:
graph LR
A[图像输入] --> B{选择方法}
B -- 滑动窗口法 --> C[尝试所有边界框]
C --> D[应用目标定位检测单个对象]
D --> E[整合检测结果]
B -- 区域提议法 --> F[生成候选边界框]
F --> G[对候选框运行分类/定位方法]
G --> E
E --> H[输出检测结果]
| 技术方法 | 适用场景 | 优势 | 不足 |
|---|---|---|---|
| 预训练模型特征提取 | 应用场景与 ImageNet 差异大时 | 提取通用原始特征 | 需根据场景选择合适层 |
| 用卷积层替代最大池化层 | 构建自编码器 | 可使用分数步长 | 可能增加复杂度 |
| 扩张卷积 | 特定卷积需求场景 | 增加卷积灵活性 | 可能增加计算量 |
| 无监督特征学习 | 数据有限或需要快速提取特征时 | 无需大量标注数据 | 特征质量可能受影响 |
| Yolo 目标检测方法 | 对速度要求高的场景 | 检测速度快 | 牺牲一定准确性 |
综上所述,卷积神经网络在多个领域都有广泛的应用和发展,不同的技术和方法在不同场景下各有优劣。在实际应用中,需要根据具体需求选择合适的方法和网络架构,以达到最佳的效果。
超级会员免费看
1572

被折叠的 条评论
为什么被折叠?



