【记录】动手学深度学习04


待处理问题

  • 卷积运算与互相关运算的关系?

5.1 二维卷积层

5.1.1 二维互相关运算

在二维互相关运算中,卷积窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动。当卷积窗口滑动到某一位置时,窗口中的输入子数组与核数组按元素相乘并求和,得到输出数组中相应位置的元素。

5.1.2 二维卷积层

二维卷积层将输入和卷积核做互相关运算,并加上一个标量偏差来得到输出。卷积层的模型参数包括了卷积核和标量偏差。

5.1.3 图像中物体边缘检测

5.1.4 通过数据学习核数组

梯度清零的方式?

# 构造一个核数组形状是(1, 2)的二维卷积层
conv2d = Conv2D(kernel_size=(1, 2))

step = 20
lr = 0.01
for i in range(step):
    Y_hat = conv2d(X)
    l = ((Y_hat - Y) ** 2).sum()
    l.backward()

    # 梯度下降
    conv2d.weight.data -= lr * conv2d.weight.grad
    conv2d.bias.data -= lr * conv2d.bias.grad

    # 梯度清0
    conv2d.weight.grad.fill_(0)
    conv2d.bias.grad.fill_(0)
    if (i + 1) % 5 == 0:
        print('Step %d, loss %.3f' % (i + 1, l.item()))

5.1.5 互相关运算核卷积运算

为了得到卷积运算的输出,我们只需将核数组左右翻转并上下翻转,再与输入数组做互相关运算。可见,卷积运算和互相关运算虽然类似,但如果它们使用相同的核数组,对于同一个输入,输出往往并不相同。

那么,你也许会好奇卷积层为何能使用互相关运算替代卷积运算。其实,在深度学习中核数组都是学出来的:卷积层无论使用互相关运算或卷积运算都不影响模型预测时的输出。

深度学习中的卷积运算实际上是互相关运算。

5.1.6 特征图核感受野

5.2 填充和步幅

5.2.1 填充

填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素)

5.2.2 步幅

5.3 多输入通道和多输出通道

5.3.1 多输入通道

5.3.2 多输出通道

5.3.3 1*1卷积层

1×1卷积的主要计算发生在通道维上。输入和输出具有相同的高和宽。假设我们将通道维当作特征维,将高和宽维度上的元素当成数据样本,那么1×1卷积层的作用与全连接层等价。

5.4 池化层

5.4.1 二维最大池化层和平均池化层

5.4.2 填充和步幅

5.4.3 多通道

在处理多通道输入数据时,池化层对每个输入通道分别池化,而不是像卷积层那样将各通道的输入按通道相加。这意味着池化层的输出通道数与输入通道数相等。

5.5 卷积神经网络(LeNet)

5.6 深度卷积神经网络(AlexNet)

5.7 使用重复元素的网络(VGG)

5.8 网络中的网络(NiN)

5.9 含并行连结的网络(GoogleNet)

5.10 批量归一化

5.11 残差网络(ResNet)

5.12 稠密连接网络(DenseNet)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值