)
示例工程【免费下载链接】NYU-DLSP20NYU Deep Learning Spring 2020项目地址https://gitcode.com/gh_mirrors/pyt/pytorch-Deep-Learning点击查看免费下载本讲内容源自 NYU Deep Learning Spring 2020NYU-DLSP20第 03 讲第三部分Properties of natural signals讲师 Alfredo Canziani对应的波斯语讲义位于 docs/fa/week03/03-3.md完整实验代码在 06-convnet.ipynb。文章系统梳理自然信号的三大性质stationarity、locality、compositionality并说明它们如何逐一映射到卷积网络的稀疏连接、权重共享与多层堆叠三项设计最后用同一笔记本中的“同等参数 FC 与 CNN 对比 像素乱序”实验验证结论。一、信号即向量音频、图像与语言的统一表示讲义开篇给出的核心观点是所有信号都可以被看作向量而信号的“维度”取决于信息沿哪个变量变化。音频是 1D 信号$\boldsymbol{x} [x_1, x_2, \cdots, x_T]$其中每个 $x_t$ 表示 $t$ 时刻波形的振幅。人耳之所以能听懂语音是因为耳蜗先把空气压力振动转成神经信号大脑再用一个“语言模型”在给定信号的前提下挑选最可能的语句。即便是立体声音乐拥有 2 个甚至更多声道制造声音来自多方向的错觉它依然是 1D 信号——因为唯一的变化变量仍然是时间。图像是 2D 信号信息沿空间铺展。每个空间点本身又可以是一个向量若图像有 $d$ 个通道则每个空间点是 $d$ 维向量。彩色图像的 RGB 三平面意味着 $d 3$即任一像素 $x_{i,j}$ 分别对应红、绿、蓝的强度。语言同样可以这样表示每个词对应一个 one-hot 向量在词表对应位置为 1、其余为 0因此每个词都是词表大小的向量。这一“信号即向量”的视角是整个课程的底层语言卷积、点积、相似度、感受野等一系列概念都建立在向量与信号的结构之上。二、自然信号的三大性质自然数据信号普遍遵循以下三条性质Stationarity平稳性/平移不变性信号中会出现重复的特定“纹样”motif。音频中同一类模式在时间域反复出现图像中则可以预期相似的视觉模式在不同位置重复。Locality局部性邻近的点比相距远的点相关性更强。对 1D 信号而言如果在 $t_i$ 处出现一个峰值那么 $t_i$ 附近小窗口内的点取值会与之接近而远离 $t_i$ 的 $t_j$ 处$x_{t_i}$ 对 $x_{t_j}$ 几乎没有影响。形式上信号与其翻转版本做卷积cross-correlation时当两者完全重合会出现峰值两个 1D 信号的卷积本质上就是它们的点积是衡量两个向量相似/接近程度的度量——因此信息集中在信号的特定局部片段。对图像而言两个像素的距离越远相关性越低若 $x_{0,0}$ 是蓝色相邻像素 $x_{1,0}$、$x_{0,1}$ 大概率也是蓝色但到了图像对角的 $x_{-1,-1}$其取值与 $x_{0,0}$ 基本无关。Compositionality组合性自然界的一切都由“部件”构成而部件又由“子部件”构成。例如字符组成字符串、字符串组成单词、单词组成句子、句子组成文档。组合性让世界变得可解释也直接对应深度学习“多层堆叠”的合理性。讲义随后给出关键论断当数据具备平稳性、局部性与组合性时我们就可以用“稀疏连接 权重共享 多层堆叠”的网络即卷积网络来利用它们。下面的推导会看到三条性质与三项网络设计一一对应。三、由性质到架构稀疏连接与权重共享如何催生卷积核3.1 Locality → 稀疏连接Sparsity讲义先以一个 5 层全连接网络示意图 pre-inference4layers.png每个箭头代表一个要与输入相乘的权重说明问题全连接在计算上是极其昂贵的。如果数据具有局部性那么每个神经元只需连接前一层的少数“局部邻居”远端连接可以裁掉。以下两张图展示了这一过程图 2(a)应用稀疏化之前全连接图 2(b)应用稀疏化之后应用稀疏化前的全连接网络 Before Applying Sparsity.png)应用稀疏化后的稀疏连接网络 After Applying Sparsity.png)隐藏层绿色的每个神经元不再横跨整个输入但整体架构仍然能够覆盖所有输入神经元。这里自然引出**感受野receptive field, RF**的定义某层每个神经元所能“看见”或纳入考虑的前层神经元个数。在讲义示例中输出层相对隐藏层的 RF 为 3隐藏层相对输入层的 RF 为 3但输出层相对输入层的 RF 为 5——多层的局部连接在感受野上完成了“接力式”累积。这正是局部性转化为稀疏连接、并最终积累出全局视野的核心机制。3.2 Stationarity → 参数共享Parameter Sharing如果数据具备平稳性就可以在网络的不同位置反复使用同一小批参数。以稀疏网络为例把 3 组参数图中黄、橙、红三色跨位置共享参数量从 9 直接降到 3——不仅参数更少甚至可能训练得更好因为每个权重能见到更多训练数据。图 3(a)应用参数共享之前图 3(b)应用参数共享之后参数共享前的局部连接 Before Applying Parameter Sharing.png)参数共享后的权重复用 After Applying Parameter Sharing.png)讲义明确给出概念衔接“经过稀疏化和参数共享之后的权重就被称为卷积核convolution kernel。”至此卷积的三大构件——局部连接、权重复用、滑动窗口——全部由数据性质推导出来。讲义归纳了两类收益参数共享带来的收益更快的收敛速度更好的泛化能力不受输入尺寸限制同一个核可作用于任意尺寸输入核与核相互独立天然支持高并行化。连接稀疏带来的收益计算量显著降低。3.3 核尺寸的选择与零填充以 1D 数据上的卷积核为例Figure_4a_kernels_ on_1D_data.png一个核的总参数量为$$2\ (\text{核数}) \times 7\ (\text{前一层厚度}) \times 3\ (\text{每个核的独特权重数})$$核尺寸的选择是经验性的empirical对空间数据$3 \times 3$ 卷积看起来是“最小可用”尺寸$1 \times 1$ 卷积可用于构造最终层从而把训练好的网络应用到更大的输入图像上偶数尺寸核可能降低数据质量因此实践中几乎总是使用奇数核通常是 3 或 5。Padding填充讲义提醒填充“通常会使最终结果变差但编程实现很方便”。标准做法是零填充zero padding尺寸为size (kernel size - 1) / 2见 Figure_4b_zero_padding.png。注意对奇数核该公式恰好让输出空间尺寸与输入一致samepadding是 PyTorch 中paddingkernel_size//2的由来。四、标准空间卷积网络的标准构件讲义给出一个“标准空间 CNN”的构件清单多层结构每层包含卷积Convolution非线性Non-linearity使用 ReLU 或 Leaky ReLU 等激活函数池化Pooling批归一化Batch normalisation残差旁路连接Residual bypass connection批归一化与残差连接对“把网络训练好”非常关键层数堆叠过多时信号的部分信息可能丢失残差旁路为信号提供了从底层直达顶层的通道同时也为梯度提供了从顶层回传到底层的通路。关于层级表征的变化讲义用下图说明Figure 5输入图像几乎全是二维空间信息除每个像素的颜色这一“特征信息”外而输出层“很厚”。随着层级上升空间信息与特征信息之间存在权衡空间信息逐渐丢失表征越来越密集——这正对应“组合性”在表征层面的体现底层学习局部纹样高层组合出语义部件。五、池化用 $L_p$-范数压缩空间维度池化是卷积网络中另一个关键算子Figure 6 Illustration of Pooling.png对一个区域施加 $L_p$-norm 算子每个区域只输出一个值示例中 4 个像素压缩为 1 个值然后以 stride 为步长逐区域滑动。如果输入是 $m \times n$、带 $c$ 个通道使用 2×2 池化后输出为 $\frac{m}{2} \times \frac{n}{2}$通道数 $c$ 保持不变Figure 7 Pooling results.png。要点池化没有可学习参数not parametrized类型可选最大池化max pooling、平均池化average pooling等主要目的是压缩数据量使计算能在合理时间内完成。在卷积网络中池化同时贡献了平移不变性translation invariance这一点在笔记本的总结中被明确列为“卷积使用局部性与平稳性、池化内置平移不变性”的三条先验知识之一。六、实验验证同等参数的 FC 与 CNN 在 MNIST 上的对照讲义对应 06-convnet.ipynb。该笔记本训练一个多层感知机全连接网络和一个卷积神经网络CNN做 MNIST 手写数字分类且两个网络参数量相等。6.1 环境与数据准备按仓库 README.md 的指引安装环境conda env create -f environment.yml source activate NYU-DL jupyter labenvironment.yml 定义的环境名为NYU-DL讲义中所说的pDL即指此课程环境包含pytorch、torchvision、matplotlib、jupyterlab等依赖。数据加载时先做归一化让网络初始化与数据分布匹配讲义强调“非常重要”。笔记本中 MNIST 的变换为transforms.ToTensor()后接transforms.Normalize((0.1307,), (0.3081,))均值 0.1307、标准差 0.3081训练批大小 64、测试批大小 1000均在 06-convnet.ipynb 中可查。6.2 两个模型定义源码级对照笔记本中的两个模型定义与讲义的推导严格对应FC2Layer全连接nn.Sequential(nn.Linear(input_size, n_hidden), nn.ReLU(), nn.Linear(n_hidden, n_hidden), nn.ReLU(), nn.Linear(n_hidden, output_size), nn.LogSoftmax(dim1))输入先view(-1, input_size)展平为 784 维——它假设所有像素“平权”不利用任何空间结构。CNN卷积两层nn.Conv2d(1, n_feature, kernel_size5)每层卷积后接F.relu与F.max_pool2d(kernel_size2)随后展平经fc1/fc2输出log_softmax——它显式编码了“像素位于网格上且满足平稳/局部”的先验。训练中get_n_params(model)统计参数量用于保证两者“同等参数”。讲义强调训练循环中必须包含五个步骤笔记本的train()函数逐一实现把数据送入模型output model(data)计算损失loss F.nll_loss(output, target)用optimizer.zero_grad()清空累积的梯度缓存计算梯度loss.backward()优化器前进一步optimizer.step()。6.3 实验结果与解读在归一化后的 MNIST 上FC 网络准确率约87%CNN 准确率约95%。在参数量相同的前提下CNN 能够训练出多得多的滤波器。FC 网络中大量参数浪费在“把相距很远的东西与邻近的东西建立依赖”上而卷积网络把所有参数集中在邻域像素之间的关系上——这正是局部性先验的价值。6.4 像素乱序实验假设被破坏之后随后实验对所有图像的全部像素做一次随机置换perm torch.randperm(784)将每张图展平、按perm重排、再还原为 28×28得到“乱序 MNIST”结果极具说服力FC 网络性能几乎不变约85%CNN 准确率跌到83%。原因正如讲义总结随机置换之后图像不再具备局部性、平稳性与组合性——这三条正是 CNN 赖以发挥作用的先验假设。CNN 在假设成立时收益巨大95% vs 87%在假设失效时同样损失巨大跌至 83%而 FC 网络不依赖这些假设既不享受其红利也不承受其反噬。笔记本末尾的柱状图plt.bar((NN image, CNN image, CNN scrambled, NN scrambled), accuracy_list)直观呈现了这一对比。七、小结一条从数据性质到网络架构的完整推导链本讲的逻辑可以浓缩为一条推导链平稳性→ 同一套参数卷积核跨空间位置复用 → 参数共享、更少参数、更强泛化局部性→ 只连接局部邻域 → 稀疏连接、感受野逐层累积、计算量下降组合性→ 多层堆叠 → 表征从空间明细走向语义密集。再加上批归一化与残差旁路保证深层可训练、池化压缩数据并注入平移不变性就得到了现代卷积网络的标准形态。而 06-convnet.ipynb 的对照实验从正反两面验证了这一套设计先验假设在成立时是巨大优势在被破坏时则变成短板——这既是 CNN 在图像任务上成功的根源也是选择架构时必须理解的权衡。如需复现全部结果可直接运行仓库根目录下的 06-convnet.ipynb并配合 environment.yml 创建课程环境相关图文讲义还可在 docs/en/week03/03-3.md英文原版与 docs/fa/week03/03-3.md波斯语译本中对照阅读。赞分享示例工程【免费下载链接】NYU-DLSP20NYU Deep Learning Spring 2020项目地址https://gitcode.com/gh_mirrors/pyt/pytorch-Deep-Learning点击查看免费下载相关推荐自然信号的三大属性与 CNN 设计原理从信号表示到稀疏化、参数共享与 MNIST 实战验证自然信号的三大属性与 CNN 设计原理从信号表示到稀疏化、参数共享与 MNIST 实战验证 本篇文章是 NYU DLSP20NYU Deep Learnin示例工程从自然信号的三性到卷积网络稀疏性、参数共享与不变性构建NYU-DLSP20 第 3 周实战从自然信号的三性到卷积网络稀疏性、参数共享与不变性构建NYU DLSP20 第 3 周实战 自然界的信号——声音、图像、语言——看似千差万别却共享三个结示例工程NYU-DLSP20 深度学习笔记自然信号的三大性质与 CNN 设计动机——从局部性、平稳性到卷积神经网络NYU DLSP20 深度学习笔记自然信号的三大性质与 CNN 设计动机——从局部性、平稳性到卷积神经网络 本文基于 NYU Deep Learning Sp示例工程上一篇FF14 ACT辍学插件完整指南快速跳过副本动画的终极方案下一篇FF14终极副本动画跳过指南如何快速安装使用辍学插件提升游戏效率创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考