Datawhale X 李宏毅苹果书 AI夏令营《深度学习详解》- 3.7 4.1-4.8

文章目录


Datawhale X 李宏毅苹果书 AI夏令营《深度学习详解》

Datawhale 学习手册:https://linklearner.com/activity/16/15/43

学习链接:https://github.com/datawhalechina/leedl-tutorial
PDF下载:
地址:https://github.com/datawhalechina/leedl-tutorial/releases
链接: https://pan.baidu.com/s/1ZKuXfkXHoyyvPR1-CP-Ffw 提取码: 2t6m


3.7 批量归一化

概述与背景知识

在深度学习中,优化问题的核心挑战之一是最小化损失函数,使得模型能够更好地拟合训练数据。在分类任务中,交叉熵损失函数通常比均方误差损失函数更为常用,因为它能提供更好的梯度信息,有助于优化过程。

主要概念

  • 交叉熵: 衡量两个概率分布之间的差异,常用于分类任务。
  • 均方误差: 测量预测值与真实值之间差异的平方的平均值,通常用于回归任务。

详细内容

  • 交叉熵与均方误差对比: 当使用均方误差作为损失函数时,在某些情况下,梯度可能变得非常小,导致优化过程缓慢或停滞。相反,交叉熵损失函数即使在误差较大时也能提供较大的梯度,有助于优化过程。
  • 实验示例: 考虑一个三类分类问题,网络输出三个值 y 1 , y 2 , y 3 y_1, y_2, y_3 y1,y2,y3,经过softmax转换为 y 1 ′ , y 2 ′ , y 3 ′ y'_1, y'_2, y'_3 y1,y2,y3。假设正确标签为 1 , 0 , 0 1, 0, 0 1,0,0^T,那么通过可视化损失函数表面可以看到,使用交叉熵损失函数时,优化过程能够顺利地沿着梯度下降,而使用均方误差时则可能陷入平坦区域,梯度接近于零。

重点知识

  • 使用交叉熵作为损失函数可以改善优化过程,尤其是在初始阶段。

实例

  • 可视化损失函数: 通过可视化不同损失函数下的误差表面,可以看出交叉熵损失函数能够提供更加稳定的梯度,帮助优化算法更快地找到最优解。

内容总结

  • 在分类任务中,交叉熵损失函数相比均方误差损失函数能够提供更好的梯度,有助于提高优化效率。

延伸学习

  • 梯度消失问题: 了解梯度消失问题及其对优化过程的影响。
  • 激活函数: 研究不同的激活函数对梯度的影响。

参考资料


3.7.1 考虑深度学习

概述与背景知识

批量归一化是一种在神经网络训练过程中对中间层输出进行归一化的技术,目的是改善优化过程,减少训练时间。

主要概念

  • 批量归一化: 通过对一批数据的特征进行标准化处理,使其具有相同的分布,从而简化优化过程。
  • 特征归一化: 通过标准化处理,使每个特征具有相似的数值范围。

详细内容

  • 特征归一化: 通过计算每个特征的平均值和标准差,将其转换为均值为0,标准差为1的标准正态分布。

    x ~ r i = x r i − μ i σ i \tilde{x}_{ri} = \frac{x_{ri} - \mu_i}{\sigma_i} x~ri=σixriμi

  • 深度学习中的归一化: 在深度学习中,除了输入特征外,中间层的输出也需要进行归一化,以保持分布稳定。例如,对于第 ( i ) 个样本的输出 ( z_i ),计算其平均值 ( \mu ) 和标准差 ( \sigma )。

    μ = 1 n ∑ i = 1 n z i , σ = 1 n ∑ i = 1 n ( z i − μ ) 2 \mu = \frac{1}{n}\sum_{i=1}^{n} z_i, \quad \sigma = \sqrt{\frac{1}{n}\sum_{i=1}^{n} (z_i - \mu)^2} μ=n1i=1nzi,σ=n1i=1n(ziμ)2

    归一化后的输出为

    z ~ i = z i − μ σ \tilde{z}_i = \frac{z_i - \mu}{\sigma} z~i=σziμ

  • 带 ( \gamma ) 和 ( \beta ) 的归一化: 为了调整归一化后的输出分布,引入可学习参数 ( \gamma ) 和 ( \beta )。

    z ^ i = γ ⋅ z ~ i + β \hat{z}_i = \gamma \cdot \tilde{z}_i + \beta z^i=γz~i+β

重点知识

  • 批量归一化可以改善优化过程,使损失函数表面更加平滑,便于优化算法快速找到最优解。

实例

  • Z值归一化: 对于输入特征 ( x_1, x_2, \ldots, x_R ),计算其平均值 ( \mu_i ) 和标准差 ( \sigma_i ),并进行归一化处理。

内容总结

  • 批量归一化通过标准化处理中间层的输出,使得优化过程更加高效,减少了训练时间。

延伸学习

  • 其他归一化技术: 了解层归一化、实例归一化等其他归一化技术。
  • 自适应学习率: 研究自适应学习率方法如Adam是如何配合批量归一化工作的。

参考资料


3.7.2 测试时的批量归一化

概述与背景知识

在模型部署阶段,由于通常不会以批量形式处理数据,因此需要解决批量归一化在测试时的应用问题。

主要概念

  • 移动平均: 在训练过程中,使用移动平均技术来估计整个数据集的统计特性,以便在测试时使用。

详细内容

  • 移动平均的计算: 在训练过程中,对于每个批量计算出的平均值 ( \mu_t ) 和标准差 ( \sigma_t ),使用移动平均公式来更新整体的平均值 ( \bar{\mu} ) 和标准差 ( \bar{\sigma} )。

    μ ˉ ← p μ ˉ + ( 1 − p ) μ t , σ ˉ ← p σ ˉ + ( 1 − p ) σ t \bar{\mu} \leftarrow p\bar{\mu} + (1-p)\mu_t, \quad \bar{\sigma} \leftarrow p\bar{\sigma} + (1-p)\sigma_t μˉpμˉ+(1p)μt,σˉpσˉ+(1p)σt

    其中 ( p ) 是一个超参数,通常设置为0.1。

  • 测试时的应用: 在测试阶段,使用训练过程中得到的移动平均值 ( \bar{\mu} ) 和 ( \bar{\sigma} ) 来进行归一化处理。

重点知识

  • 移动平均技术确保了测试时能够使用整个训练集的统计特性。

实例

  • 移动平均计算: 对于训练过程中的多个批量,计算移动平均值和标准差。

内容总结

  • 在测试时,通过使用训练过程中的移动平均值来进行归一化处理,保证了批量归一化的一致性。

延伸学习

  • 批量大小的影响: 研究不同的批量大小对训练过程的影响。
  • 实时应用: 探讨批量归一化在实时应用中的实施细节。

参考资料


3.7.3 内部协变量偏移

概述与背景知识

内部协变量偏移是指在网络训练过程中,由于参数的更新导致输入数据分布发生变化的现象。

主要概念

  • 内部协变量偏移: 指网络各层之间输入分布的变化,可能导致优化过程复杂化。

详细内容

  • 概念说明: 随着网络训练的进行,每一层的输入分布会发生变化,这可能会影响梯度的计算。批量归一化有助于减少这种变化,使输入分布保持稳定。
  • 实验结果: 实验表明,批量归一化能够显著加速训练过程,即使在使用较难训练的激活函数(如sigmoid)时也不例外。

重点知识

  • 批量归一化有助于减少内部协变量偏移,从而简化优化过程。

实例

  • 实验结果: 批量归一化能够显著提高训练速度,并且即使在使用sigmoid激活函数的情况下也能达到较好的效果。

内容总结

  • 内部协变量偏移是影响优化过程的因素之一,批量归一化通过稳定输入分布有助于减轻这一问题。

延伸学习

  • 内部协变量偏移的争议: 研究关于内部协变量偏移的有效性及是否为批量归一化带来的真正益处的相关讨论。
  • 其他优化技术: 了解其他旨在改善优化过程的技术。

参考资料


第4章 卷积神经网络

概述与背景知识

卷积神经网络(Convolutional Neural Networks, CNNs)是一种专为处理具有网格结构的数据(如图像)而设计的深度学习模型。它们广泛应用于图像分类、目标检测和图像分割等领域。

主要概念

  • 图像分类:给定一张图像,判断其属于哪个预定义的类别。
  • 三维张量:图像在计算机中存储为宽度、高度和通道数的三维数组。
  • RGB色彩模型:通过红、绿、蓝三种颜色的组合来表示图像的颜色。
  • 特征向量:图像数据展平为一维向量的过程。
  • 全连接网络:每个神经元与前一层的所有神经元相连的网络。
  • 独热编码:将分类结果表示为只有一个维度为1,其余均为0的向量。
  • 过拟合:模型在训练数据上表现很好,但在新数据上表现不佳的现象。

详细内容

  • 图像表示:图像可以用一个三维张量表示,其中包含图像的宽度、高度和颜色通道数。
  • 图像输入:在将图像送入网络之前,通常会将图像展平为一个长的特征向量。
  • 模型输出:输出层通常采用独热编码表示分类结果,通过softmax函数转换为概率分布。
  • 过拟合风险:在图像识别任务中,如果使用全连接网络,参数数量巨大,容易导致过拟合。

重点知识

  • 为了有效处理图像数据,通常需要调整输入数据的尺寸并将其展平为向量。
  • 使用独热编码可以有效地表示多分类任务。
  • 过拟合是深度学习中常见的问题,需要通过网络结构的设计来缓解。

实例

  • 假设有一个100x100像素的RGB图像,将其展平后形成一个30,000维的特征向量。
  • 若网络的第一层有1000个神经元,则该层需要大约 3 × 1 0 7 3 \times 10^7 3×107个权重。

内容总结

  • 卷积神经网络的输入是图像,通常经过预处理后展平为向量形式。
  • 输出层采用独热编码表示分类结果。
  • 为了防止过拟合,需要对网络结构进行设计。

延伸学习

  • 探索如何通过数据增强技术来进一步减少过拟合。
  • 了解不同的网络结构如何影响模型的表现。

参考资料


4.1 观察 1:检测模式不需要整张图像

概述与背景知识

在图像分类任务中,网络中的神经元不需要查看整张图像来检测特定的模式或特征。

主要概念

  • 模式检测:检测图像中的关键特征。
  • 局部性原则:神经元只需关注图像的局部区域即可检测到关键特征。
  • 特征:图像中的关键组成部分,如鸟嘴、眼睛等。

详细内容

  • 局部模式检测:神经元可以仅关注图像的一个局部区域来检测特定的模式。
  • 视觉特征:图像中的关键特征有助于识别特定的物体。
  • 模式识别:通过检测模式来识别图像中的物体。

重点知识

  • 在模式检测中,神经元无需查看整张图像。
  • 局部性原则减少了模型的复杂度和过拟合的风险。

实例

  • 考虑识别一只猫的图像,神经元可以检测猫的眼睛、耳朵和尾巴等特征。
  • 这些特征的检测可以帮助神经网络识别出图像中存在一只猫。

内容总结

  • 神经元可以通过关注图像的局部区域来检测模式。
  • 这种局部性原则可以降低模型复杂度。

延伸学习

  • 探索如何通过不同的神经元组合来检测更复杂的模式。
  • 了解如何利用多个层来构建层次化的特征检测机制。

参考资料


4.2 简化 1:感受野

概述与背景知识

为了减少模型的复杂度,卷积神经网络采用了感受野的概念,允许神经元只关注输入数据的一个子集。

主要概念

  • 感受野:神经元关注的图像区域。
  • 步幅:感受野在图像上移动的距离。
  • 填充:为保持边界处的有效检测,会在图像边缘添加额外的像素。

详细内容

  • 感受野的作用:神经元通过感受野关注图像的局部区域。
  • 步幅和填充:步幅决定了感受野如何在图像上移动,填充则确保边界处也能被有效检测。
  • 参数数量:通过限定感受野的大小可以显著减少所需的参数数量。

重点知识

  • 感受野的引入减少了参数的数量。
  • 步幅和填充保证了模式的有效检测。

实例

  • 假设神经元的感受野大小为3x3,那么它只需要关心这个区域内9个像素点的信息。
  • 通过步幅为2的移动,可以创建新的感受野。
  • 例如,在一个28x28像素的灰度图像上,使用3x3的感受野和步幅为1的情况下,可以在图像上创建 ( 28 − 3 + 2 × 1 ) / 1 + 1 = 26 (28 - 3 + 2 \times 1) / 1 + 1 = 26 (283+2×1)/1+1=26个水平和垂直方向的感受野。

内容总结

  • 感受野使得神经元可以关注图像的局部区域,从而减少了参数数量。
  • 通过适当的步幅和填充可以确保所有模式都能被检测到。

延伸学习

  • 探索不同的感受野大小和形状如何影响模型性能。
  • 了解如何选择合适的步幅和填充策略。

参考资料


4.3 观察 2:同样的模式可能会出现在图像的不同区域

概述与背景知识

同一模式可能出现在图像的多个位置,卷积神经网络需要能够检测到这些模式,无论它们出现在哪里。

主要概念

  • 模式不变性:模式在图像中的位置不影响其检测。
  • 模式检测:检测图像中的关键特征。

详细内容

  • 模式的不变性:同样的模式出现在图像的不同位置并不会影响其识别。
  • 模式检测:即使模式出现在图像的不同位置,也需要能够正确检测。

重点知识

  • 模式不变性允许模型检测出现在图像任何位置的相同模式。
  • 通过合理设置感受野的布局,可以确保图像中的每个位置都被检测到。

实例

  • 如果图像中有鸟嘴的模式,无论它出现在图像的左上角还是中间,都应该被正确检测到。
  • 例如,在一个图像中,鸟嘴可能出现在多个位置,但神经元仍然能够检测到它。

内容总结

  • 卷积神经网络需要能够检测出现在图像任何位置的相同模式。
  • 通过合理布局感受野可以确保模式的不变性。

延伸学习

  • 探索如何通过卷积层的不同配置来实现模式的不变性。
  • 了解如何通过池化层进一步提高模式不变性。

参考资料


4.4 简化 2:共享参数

概述与背景知识

为了减少参数数量并提高模型的泛化能力,卷积神经网络采用了参数共享的概念。

主要概念

  • 参数共享:允许不同位置的感受野使用相同的权重。
  • 滤波器:一组权重,用于检测特定的模式。

详细内容

  • 参数共享的作用:不同位置的感受野使用相同的权重,减少了参数的数量。
  • 滤波器的使用:一组权重用于检测特定的模式,这些权重在不同的感受野间共享。

重点知识

  • 参数共享减少了模型的复杂度,提高了泛化能力。
  • 滤波器的概念允许模型检测特定的模式。

实例

  • 假设有两个神经元分别位于图像的不同位置,但它们的感受野大小相同并且检测相同的模式,那么它们可以共享相同的权重。
  • 例如,在检测一个特定物体的轮廓时,神经元可以在图像的不同位置共享相同的滤波器。

内容总结

  • 参数共享减少了参数数量,提高了模型的泛化能力。
  • 滤波器允许模型检测特定的模式。

延伸学习

  • 探索如何通过不同的滤波器组合来检测更复杂的模式。
  • 了解如何通过训练过程自动学习滤波器的权重。

参考资料


4.5 简化 1和 2的总结

概述与背景知识

在深度学习中,卷积神经网络(CNNs)是一种特别设计用于处理具有网格结构的数据(如图像)的神经网络。为了提高效率和准确性,CNNs采用了两种主要的简化方法:感受野(receptive field)和参数共享(parameter sharing)。

主要概念

  • 感受野:指神经元能够接收到输入的范围。
  • 参数共享:同一滤波器在不同位置重复使用相同的权重。

详细内容

  • 全连接层:在全连接网络中,每个神经元可以连接到所有输入单元,这使得网络具有很大的灵活性。
  • 感受野:引入感受野后,神经元仅关注输入的一部分区域,这减少了参数数量,并且迫使网络学习局部特征。
  • 参数共享:通过让同一滤波器的不同实例共享权重,进一步减少了需要学习的参数数量。

重点知识

  • 参数共享不仅减少了模型的复杂度,而且由于减少了自由参数的数量,有助于防止过拟合。
  • 卷积层的偏差较大意味着模型更加偏向于简单的函数逼近,但这有助于图像识别任务,因为在图像中,简单的模式通常就能捕捉到重要的特征。

实例

考虑一个简单的图像识别任务,例如识别手写数字。假设我们有一个64x64像素的灰度图像,其中包含手写的数字0至9。使用卷积神经网络时,我们可以设置感受野大小为3x3,并让滤波器在图像上滑动,寻找特定的边缘或纹理模式。例如,一个滤波器可能会学会识别垂直边缘,另一个滤波器可能会学会识别曲线边缘。这些滤波器在图像上滑动时共享相同的权重,因此即使在不同的位置,也能检测到相似的边缘或纹理特征。

内容总结

  • 卷积神经网络通过引入感受野和参数共享的概念,有效地减少了需要训练的参数数量,提高了模型的效率和泛化能力。
  • 卷积神经网络在图像识别领域取得了显著的成功,因为它们能够捕捉到图像中的局部特征,并且通过多层结构能够学习到更复杂的抽象特征。

延伸学习

  • 探讨如何设计更高效的卷积核以及如何优化卷积网络的结构。
  • 了解现代卷积网络架构,如ResNet、VGG、Inception等。

参考资料


4.6 观察 3:下采样不影响模式检测

概述与背景知识

下采样(downsampling)是一种减少图像尺寸的技术,通常在卷积神经网络中与卷积层结合使用。

主要概念

  • 下采样:减少图像的尺寸,通常通过丢弃某些像素来实现。
  • 模式检测:识别图像中的特定模式或特征。

详细内容

  • 下采样技术可以用来减少计算量并提取更高级别的特征。
  • 即使经过下采样,图像中的关键模式仍然可以被检测到,因为重要特征通常在不同尺度上都存在。

重点知识

  • 下采样不会影响图像中的关键模式检测,这为卷积神经网络的设计提供了灵活性。
  • 下采样的比例可以根据任务需求和计算资源进行调整。

实例

考虑一个包含鸟的图像。即使图像被下采样,图像中仍然能够识别出鸟的存在。例如,一个下采样后的图像可能分辨率为原来的1/4,但仍能清晰地显示出鸟的轮廓和特征。

内容总结

  • 下采样可以减少计算成本而不牺牲关键特征的检测能力。
  • 在实际应用中,下采样通常与卷积操作结合使用,以构建更深层、更有效的卷积神经网络。

延伸学习

  • 探究不同下采样方法(如最大池化和平均池化)对网络性能的影响。
  • 研究如何平衡下采样带来的计算优势和可能的信息损失。

参考资料


4.7 简化 3:汇聚

概述与背景知识

汇聚(Pooling)是一种常用的下采样技术,用于减少卷积神经网络中的空间维度。

主要概念

  • 汇聚层:没有参数的层,通常用于减少输出的维度。
  • 最大汇聚:选择区域内最大值作为代表。
  • 平均汇聚:选择区域内平均值作为代表。

详细内容

  • 汇聚层可以减少计算量,并帮助模型更好地概括图像中的特征。
  • 最大汇聚通常用于保留特征的峰值,而平均汇聚则用于保留特征的平均强度。

重点知识

  • 汇聚层通过减少输出的维度,降低了计算复杂度。
  • 汇聚操作有助于提取图像中的不变性特征,如旋转或缩放不变性。

实例

考虑一个4x4的矩阵输出,通过2x2的最大汇聚操作,可以将其压缩为2x2的矩阵。例如,假设4x4矩阵如下:
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ] \begin{bmatrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 9 & 10 & 11 & 12 \\ 13 & 14 & 15 & 16 \\ \end{bmatrix} 15913261014371115481216
使用2x2的最大汇聚,得到的2x2矩阵将是:
[ 6 8 14 16 ] \begin{bmatrix} 6 & 8 \\ 14 & 16 \\ \end{bmatrix} [614816]

内容总结

  • 汇聚层是卷积神经网络的重要组成部分,它可以帮助减少计算成本,并有助于模型学习更高级别的抽象特征。

延伸学习

  • 探索不同汇聚策略(如随机汇聚)对网络性能的影响。
  • 评估汇聚层对模型性能的影响,并研究何时可以安全地省略汇聚层。

参考资料


4.8 卷积神经网络的应用:下围棋

概述与背景知识

卷积神经网络除了应用于图像识别外,还可以用于游戏领域,如围棋。

主要概念

  • 围棋:一种策略棋盘游戏,目标是在棋盘上占据更多领地。
  • 分类问题:预测给定输入属于哪个类别的机器学习任务。

详细内容

  • 围棋可以被建模为一个分类问题,其中网络预测最佳的下一步落子位置。
  • 棋盘的状态可以被编码为一个向量,其中每个位置表示为空、黑子或白子。

重点知识

  • 卷积神经网络可以利用其对局部模式的敏感性来分析棋盘状态。
  • 卷积神经网络能够通过学习棋盘上的模式来预测最佳的落子位置。

实例

AlphaGo是一个著名的例子,它使用了深度卷积神经网络来下围棋。AlphaGo的第1层的滤波器大小为5x5,这表明设计者认为棋盘上许多重要的模式可能在较小的范围内就能被识别。

内容总结

  • 卷积神经网络在围棋这样的棋类游戏中表现出色,能够通过学习棋盘上的局部模式来预测最佳的下一步动作。

延伸学习

  • 探究如何使用强化学习改进卷积神经网络的决策过程。
  • 了解AlphaGo Zero是如何通过自我对弈来学习围棋的。

参考资料


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值