汇聚层与卷积神经网络LeNet 汇聚层 双重目的:降低卷积层对位置的敏感性,同时降低对空间降采样表示的敏感性。 最大汇聚层和平均汇聚层 与卷积层类似,汇聚层运算符由一个固定形状的窗口组成,该窗口根据其步幅大小在输入的所有区域上滑动,为固定形状窗口(有时称为汇聚窗口)遍历的每个位置计算一个输出。 不同于卷积层中的输入与卷积核之间的互相关计算,汇聚层不包含参数。 相反,池运算是确定性的,我们通常计算汇聚窗口中所有元素的最大值或平均值。这些操作分别称为最大汇聚层(maximum pooling)和平均汇聚层(average pooling)。 在这两种情况下,与互...
填充、步幅、多输入多输出通道 填充 为什么要填充 由于我们通常使用小卷积核,因此对于任何单个卷积,我们可能只会丢失几个像素。 但随着我们应用许多连续卷积层,累积丢失的像素数就多了。 解决这个问题的简单方法即为填充(padding)。 填充定义以及举例 在输入图像的边界填充元素(通常填充元素是0)。 输出大小:(输入-卷积核+步幅+填充)/ 步幅 `python...
残差网络 核心思想:每个附加层都应该更容易地包含原始函数作为其元素之一 残差块 ResNet沿用了VGG完整33的卷积层设计。 残差块里首先有2个有相同输出通道数的33卷积层。 每个卷积层后接一个批量规范化层和ReLU激活函数。 然后我们通过跨层数据通路,跳过这2个卷积运算,将输入直接加在最后的ReLU激活函数前。 这样的设计要求2个卷积层的输出与输入形状一样,从而使它们可以相加。 如果想改变通道数,就需要引入一个额外的1*1卷积层来将输入变换成需要的形状后再做相加运算。 残...
残差网络 核心思想:每个附加层都应该更容易地包含原始函数作为其元素之一 残差块 ResNet沿用了VGG完整33的卷积层设计。 残差块里首先有2个有相同输出通道数的33卷积层。 每个卷积层后接一个批量规范化层和ReLU激活函数。 然后我们通过跨层数据通路,跳过这2个卷积运算,将输入直接加在最后的ReLU激活函数前。 这样的设计要求2个卷积层的输出与输入形状一样,从而使它们可以相加。 如果想改变通道数,就需要引入一个额外的1*1卷积层来将输入变换成需要的形状后再做相加运算。 残...
批量规范化 使用原因 原理 批量规范化层 批量规范化和其他层之间的一个关键区别是,由于批量规范化在完整的小批量上运行,因此我们不能像以前在引入其他层时那样忽略批量大小。  AlexNet AlexNet使用8层卷积神经网络 AlexNet比相对较小的LeNet5要深得多。 AlexNet由八层组成:五个卷积层、两个全连接隐藏层和一个全连接输出层。 其次,AlexNet使用ReLU而不是sigmoid作为其激活函数。 模型设计 在AlexNet的第一层,卷积窗口的形状是11×11。 由于ImageNet中大多数图像的宽和高比MNIST图像的多10倍以上,因此,需要一个更大的卷积窗口来捕获目标。 第二层中...
使用块中的网络 VGG块 经典卷积神经网络的基本组成部分: 带填充以保持分辨率的卷积层; 非线性激活函数,如ReLU; 汇聚层,如最大汇聚层。 VGG块与之类似,由一系列卷积层组成,后面再加上用于空间下采样的最大汇聚层。 import torch from torch import nn from d2l import torch as d2l def vgg_block(num_convs, in_channels, out_channels): layers = [] for _ in range(n...
Dropout暂退法 暂退法的思想是在隐藏层中丢弃某些单元,以减少模型对某些特征的依赖。 删除了h2和h5,因此输出的计算不再依赖于h2或h5,并且它们各⾃的梯度在执⾏反向传播时也会消失。这样,输出层的计算不能过度依赖于h1, . . . , h5的任何⼀个元素。 实现神经元的丢弃 假设某个神经元被丢弃的概率为p,那么该神经元的输出可以表示为: 计算h{}'期望值: ...
摘要: 神经网络中常见的数值稳定性问题包括梯度爆炸和梯度消失。梯度爆炸指梯度过大导致数值问题,梯度消失则是梯度过小无法有效更新参数。解决这些问题的一种方法是通过合适的参数初始化,如使用正态分布或Xavier初始化。参数初始化的关键是确保梯度和参数在训练过程中能够得到有效控制,同时使用启发式的初始化方法可以避免梯度过大或过小的情况。在深度网络中,采用适当的初始化方法可以提高稳定性和加速收敛。
数值稳定性与参数初始化 神经网络的梯度 数值稳定性常见两个问题 梯度爆炸:梯度是一个大于1的数,一百层求梯度之后会是一个很大的数字 梯度消失:与上面相反,当梯度小于1的时候…… 指的是计算神经网络参数梯度的方法。 该方法根据微积分中的链式规则,按相反的顺序从输出层到输入层遍历网络。 该算法**存储了计算某些参数梯度时所需的任何中间变量(偏导数)...