Inception 模型2025年3月17日 | 阅读13分钟 Inception 模型是创造力和有效性的象征。由 Google 研究人员创建的 Inception 架构在推动图像分类、物体识别和其他领域的边界方面发挥了至关重要的作用。 2014 年发布的 Inception 模型是计算机视觉问题机器学习架构发展的一个重要转折点。Inception 模型,通常被称为 GoogLeNet,由 Google 研究人员创建,并提出了新颖的 Inception 模块概念,该模块将各种尺寸的多个卷积滤波器组合到单个层中,以在不同尺度上收集数据。 该模型在保持计算经济性的同时提供更优越的表示能力,这得益于其模块化架构。Inception 模型在后来的版本中得到了显著改进,例如 Inception v2、v3 和 v4,重点在于降低计算复杂度和增强训练稳定性。Inception 模型因其在学术界和商业界的广泛应用,在机器学习领域留下了持久的遗产,并极大地推动了计算机视觉研究和实际应用。 Inception 模型的主要创新Inception 模型独特的设计,巧妙地在计算效率和模型复杂性之间取得了平衡,是其主要创新。以下是对主要创新的简要描述。
Inception 模型应用
Inception 架构Inception 模型的主要新颖之处在于其 Inception 模块,它们是较大网络内的小型子网络。这些模块通过同时使用多种滤波器尺寸(1x1、3x3 和 5x5)来捕获不同尺度的特征。目标是使网络在捕获输入图像的精细和粗糙信息的同时,学习广泛的特征。 1x1 卷积在应用较大的滤波器尺寸之前对于降低特征图的维度至关重要。这有助于降低计算复杂性,同时保留关键信息。此外,使用 1x1 卷积可以使网络学习复杂的分层特征,同时提高其表示能力。 引入辅助分类器是为了激励网络在不同级别学习有价值的特征,从而减轻梯度消失问题并提高训练收敛速度。 导入库构建 Inception 模块Inception 模块通过在输入上运行具有多个核尺寸的卷积来捕获多尺度信息。 这种方法创建了一个 Inception 模块,它是深度卷积神经网络 (CNN) 中使用的 Inception 架构的组成部分。Inception 模块通过在同一层中使用不同尺寸的滤波器,使网络能够有效地捕获不同空间尺度上的信息。 构建 GoogLeNet该模型是计算单元(Inception 模块)的复杂网络,它们协同工作以分析和分类图像。通过结合辅助分类器和分析不同尺寸的图像,该模型可以更有效地训练并产生更准确的预测。 模型训练输出 ![]() ![]() CIFAR-10 数据集现在我们将加载 CIFAR-10 数据集。 在 CIFAR-10 数据集上进行训练和评估现在我们将查看训练过程,包括损失和准确性指标随每个 epoch 的变化(针对训练和验证集),以及学习率如何根据计划进行更改。 输出 ![]() ![]() 这是理解输出的简单方法
Inception 实现在标准神经网络层或卷积神经网络层中,前一层的输出作为下一层的输入,直到做出预测。Inception 块代表了 Inception 网络的基本概念。它将不同的层分开,而不是将其通过一个层,而是获取前一层的输入,将其馈送到四个不同的并行处理过程,然后再将所有这些不同级别的输出串联起来。 现在我们将实现一个 Inception 模型。 导入库数据集准备模型开发让我们定义 Inception 块并解释它是如何工作的。Google Net 由九个 Inception 块组成。在深入讨论 Inception 块之前,我们假设您熟悉反向传播概念,如随机梯度下降和 CNN 相关术语,如最大池化、卷积、步幅和填充。应该注意的是,在前面的图形中,最大池化是通过 SAME 池化执行的。有几种执行池化类型,包括 VALID 池化和 SAME 池化。 上面的第一个可视化显示了 VALID 池化,这意味着没有对图像进行填充。最后一个选项是 SAME 池化。在这里,我们对输入进行填充(如果需要),以确保您选择的滤波器和步幅完全覆盖输入图像。对于步幅 1,这确保输出图像尺寸与输入图像尺寸相同。 现在,理解概念块。在标准的 CNN 设计中,一个层的输出作为输入传递到下一层;然而,对于 Inception 块,每个滤波器独立应用于前一层的输出,然后将结果串联起来并作为输入传递到下一层。对于 28x28x192(高度、宽度、通道)输入,我们使用了四种不同的滤波器:1x1、3x3、5x5 和 3x3。现在,您可能会想,为什么我们使用 1x1、3x3 和 5x5 滤波器。并且由于 1x1 卷积不会产生任何变化。 早期的设计使用了固定尺寸的卷积窗口;例如,在 VGG16 中,卷积滤波器是 3x3 并且对所有人都是固定的,但在这里我们同时使用 3x3 和 5x5 来处理图像中不同大小的对象。我们使用 1x1 滤波器来减小光谱维度。“光谱维度”是指一个频带。例如,如果 Inception 块的输入尺寸为 28x28x192,则数字 192 被称为频带或光谱维度。使用 1x1 滤波器来减小光谱维度可以节省大量的处理工作。为了节省计算资源,我们在执行 3x3 和 5x5 操作之前,还应用了 1x1 滤波器。我们将详细介绍如何通过使用 1x1 滤波器来节省计算能力。 Inception V3 架构与 Inception V2 在 2015 年的同一篇文章中发布,可以看作是早期 Inception 架构的升级。 输出 ![]() ![]() ![]() 输出 ![]() ![]() 我们能够确定 Inception V3 模型总共有 2120 万个可训练参数。 下一主题机器学习架构 |
我们请求您订阅我们的新闻通讯以获取最新更新。