6.2k 6 分钟

# 残差网络(ResNet) 🏷 sec_resnet 随着我们设计越来越深的网络,深刻理解 “新添加的层如何提升神经网络的性能” 变得至关重要。更重要的是设计网络的能力,在这种网络中,添加层会使网络更具表现力, 为了取得质的突破,我们需要一些数学基础知识。 # 函数类 首先,假设有一类特定的神经网络架构F\mathcal{F}F,它包括学习速率和其他超参数设置。 对于所有f∈Ff \in \mathcal{F}f∈F,存在一些参数集(例如权重和偏置),这些参数可以通过在合适的数据集上进行训练而获得。 现在假设f∗f^*f∗ 是我们真正想要找到的函数,如果是f∗∈Ff^* \in...
7.3k 7 分钟

# 全卷积网络 🏷 sec_fcn 如 :numref: sec_semantic_segmentation 中所介绍的那样,语义分割是对图像中的每个像素分类。 全卷积网络(fully convolutional network,FCN)采用卷积神经网络实现了从图像像素到像素类别的变换 :cite: Long.Shelhamer.Darrell.2015 。 与我们之前在图像分类或目标检测部分介绍的卷积神经网络不同,全卷积网络将中间层特征图的高和宽变换回输入图像的尺寸:这是通过在 :numref: sec_transposed_conv 中引入的转置卷积(transposed...
768 1 分钟

# 计算机视觉 🏷 chap_cv 近年来,深度学习一直是提高计算机视觉系统性能的变革力量。 无论是医疗诊断、自动驾驶,还是智能滤波器、摄像头监控,许多计算机视觉领域的应用都与我们当前和未来的生活密切相关。 可以说,最先进的计算机视觉应用与深度学习几乎是不可分割的。 有鉴于此,本章将重点介绍计算机视觉领域,并探讨最近在学术界和行业中具有影响力的方法和应用。 在 :numref: chap_cnn 和 :numref: chap_modern_cnn...
6.1k 6 分钟

# 微调 🏷 sec_fine_tuning 前面的一些章节介绍了如何在只有 6 万张图像的 Fashion-MNIST 训练数据集上训练模型。 我们还描述了学术界当下使用最广泛的大规模图像数据集 ImageNet,它有超过 1000 万的图像和 1000 类的物体。 然而,我们平常接触到的数据集的规模通常在这两者之间。 假如我们想识别图片中不同类型的椅子,然后向用户推荐购买链接。 一种可能的方法是首先识别 100 把普通椅子,为每把椅子拍摄 1000 张不同角度的图像,然后在收集的图像数据集上训练一个分类模型。 尽管这个椅子数据集可能大于 Fashion-MNIST...
8.3k 8 分钟

# 实战 Kaggle 比赛:图像分类 (CIFAR-10) 🏷 sec_kaggle_cifar10 之前几节中,我们一直在使用深度学习框架的高级 API 直接获取张量格式的图像数据集。 但是在实践中,图像数据集通常以图像文件的形式出现。 本节将从原始图像文件开始,然后逐步组织、读取并将它们转换为张量格式。 我们在 :numref: sec_image_augmentation 中对 CIFAR-10 数据集做了一个实验。CIFAR-10 是计算机视觉领域中的一个重要的数据集。 本节将运用我们在前几节中学到的知识来参加 CIFAR-10 图像分类问题的 Kaggle 竞赛,(比赛的网址是...
6k 5 分钟

# 图像增广 🏷 sec_image_augmentation :numref: sec_alexnet 提到过大型数据集是成功应用深度神经网络的先决条件。 图像增广在对训练图像进行一系列的随机变化之后,生成相似但不同的训练样本,从而扩大了训练集的规模。 此外,应用图像增广的原因是,随机改变训练样本可以减少模型对某些属性的依赖,从而提高模型的泛化能力。 例如,我们可以以不同的方式裁剪图像,使感兴趣的对象出现在不同的位置,减少模型对于对象出现位置的依赖。 我们还可以调整亮度、颜色等因素来降低模型对颜色的敏感度。 可以说,图像增广技术对于 AlexNet...
7.3k 7 分钟

# 实战 Kaggle 比赛:狗的品种识别(ImageNet Dogs) 本节我们将在 Kaggle 上实战狗品种识别问题。 本次 (比赛网址是 https://www.kaggle.com/c/dog-breed-identification)。 :numref: fig_kaggle_dog 显示了鉴定比赛网页上的信息。 需要一个 Kaggle 账户才能提交结果。 在这场比赛中,我们将识别 120 类不同品种的狗。 这个数据集实际上是著名的 ImageNet 的数据集子集。与 :numref: sec_kaggle_cifar10 中 CIFAR-10...
3.4k 3 分钟

# 多尺度目标检测 🏷 sec_multiscale-object-detection 在 :numref: sec_anchor 中,我们以输入图像的每个像素为中心,生成了多个锚框。 基本而言,这些锚框代表了图像不同区域的样本。 然而,如果为每个像素都生成的锚框,我们最终可能会得到太多需要计算的锚框。 想象一个561×728561 \times 728561×728 的输入图像,如果以每个像素为中心生成五个形状不同的锚框,就需要在图像上标记和预测超过 200 万个锚框(561×728×5561 \times 728 \times 5561×728×5)。 # 多尺度锚框 🏷...
3.1k 3 分钟

# 目标检测数据集 🏷 sec_object-detection-dataset 目标检测领域没有像 MNIST 和 Fashion-MNIST 那样的小数据集。 为了快速测试目标检测模型,[我们收集并标记了一个小型数据集]。 首先,我们拍摄了一组香蕉的照片,并生成了 1000 张不同角度和大小的香蕉图像。 然后,我们在一些背景图片的随机位置上放一张香蕉的图像。 最后,我们在图片上为这些香蕉标记了边界框。 # [下载数据集] 包含所有图像和 CSV 标签文件的香蕉检测数据集可以直接从互联网下载。 %matplotlib inlineimport osimport pandas as...
6.8k 6 分钟

# 语义分割和数据集 🏷 sec_semantic_segmentation 在 :numref: sec_bbox — :numref: sec_rcnn 中讨论的目标检测问题中,我们一直使用方形边界框来标注和预测图像中的目标。 本节将探讨语义分割(semantic segmentation)问题,它重点关注于如何将图像分割成属于不同语义类别的区域。 与目标检测不同,语义分割可以识别并理解图像中每一个像素的内容:其语义区域的标注和预测是像素级的。 :numref: fig_segmentation...