3 dujuancao11

尚未进行身份认证

我要认证

上传的博客都是平时的一些学习笔记,很多都是自学,难免会有错误和不足之处,望留言指出,必虚心感激,学无止境,一起加油。 一些分享若有侵权,马上删除。

等级
TA的排名 2w+

稠密连接网络(DENSENET)

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。稠密连接网络(DENSENET)ResNet中的跨层连接设计引申出了数个后续工作。本节我们介绍其中的⼀一个:稠密连接网络(DenseNet) 。 它与ResNet的主要区别如图5.10所示。图5.10中将部分前后相邻的运算抽象为模块 A和模块B 。与ResNet的主要区别在于,DenseNet⾥模块B的输出不是像ResNet那样和模块 A的输出相加,⽽是在通道维上连结。这样模块 A的输出可以直接传⼊模块 B后面的层。在这个设计⾥,

2020-09-16 09:40:27

残差网络(RESNET)

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。残差网络(RESNET)对神经网络模型添加新的层,充分训练后的模型是否只可能更有效地降低训练误差?理论上,原模型解的空间只是新模型解的空间的⼦空间。也就是说,如果我们能将新添加的层训练成恒等映射 ,新模型和原模型将同样有效。由于新模型可能得出更更优的解来拟合训练数据集,因此添加层似乎更容易降低训练误差。然而在实践中,添加过多的层后训练误差往往不降反升。即使利用批量归一化带来的数值稳定性使训练深层模型更加容易,该问题仍然存在。针对这一问.

2020-09-16 09:18:39

批量归⼀化

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。批量归⼀化本节我们介绍批量归一化(batch normalization)层,它能让较深的神经网络的训练变得更加容易。在实战Kaggle比赛:预测房价)里,我们对输入数据做了标准化处理:处理后的任意一个特征在数据集中所有样本上的均值为0、标准差为1。标准化处理输⼊数据使各个特征的分布相近:这往往更容易训练出有效的模型。通常来说,数据标准化预处理对于浅层模型就足够有效了。随着模型训练的进⾏,当每层中参数更更新时,靠近输出层的输出较难出.

2020-09-15 21:34:10

含并行连结的网络(GOOGLENET)

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。含并行连结的网络(GOOGLENET)在2014年年的ImageNet图像识别挑战赛中,⼀个名叫GoogLeNet的网络结构大放异彩。它虽然在名字上向LeNet致敬,但在网络结构上已经很难看到LeNet的影⼦。GoogLeNet吸收了NiN中网络串联网络的思想,并在此基础上做了很大改进。在随后的几年里,研究⼈员对GoogLeNet进行了数次改进,本节将介绍这个模型系列的第一个版本。INCEPTION 块GoogLeNet中的基础.

2020-09-15 13:38:00

⽹络中的网络(NIN)

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。NIN块卷积层的输入和输出通常是四维数组(样本,通道,⾼高,宽),⽽全连接层的输⼊和输出则通常是⼆维数组(样本,特征)。如果想在全连接层后再接上卷积层,则需要将全连接层的输出变换为四维。在多输⼊通道和多输出通道里介绍的 1×1卷积层。它可以看成全连接层,其中空间维度(⾼和宽)上的每个元素相当于样本,通道相当于特征。因此,NiN使⽤1×1卷积层来替代全连接层,从⽽使空间信息能够⾃然传递到后面的层中去。图5.7对⽐了NiN同AlexNet和.

2020-09-15 10:52:40

使⽤重复元素的网络(VGG)

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。使⽤重复元素的网络(VGG)AlexNet在LeNet的基础上增加了3个卷积层。但AlexNet作者对它们的卷积窗⼝、输出通道数和构造顺序均做了大量的调整。虽然AlexNet指明了深度卷积神经网络可以取得出色的结果,但并没有提供简单的规则以指导后来的研究者如何设计新的⽹络。本节介绍VGG,它的名字来源于论⽂文作者所在的实验室Visual Geometry Group 。VGG提出了可以通过重复使⽤简单的基础块来构建深度模型的思路。.

2020-09-14 10:08:35

深度卷积神经⽹络(ALEXNET)

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。深度卷积神经⽹络(ALEXNET)在LeNet提出后的将近20年里,神经网络⼀度被其他机器学习方法超越,如支持向量机。虽然LeNet可以在早期的⼩数据集上取得好的成绩,但是在更大的真实数据集上的表现并不尽如⼈意。一⽅面,神经网络计算复杂。虽然20世纪90年年代也有过⼀些针对神经网络的加速硬件,但并没有像之后GPU那样⼤量普及。因此,训练⼀个多通道、多层和有⼤量参数的卷积神经网络在当年年很难完成。另一⽅面,当年研究者还没有大量深入研究参

2020-09-14 09:48:38

卷积神经网络(LENET)

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。卷积神经网络(LENET)多层感知机的从零开始实现⾥我们构造了一个含单隐藏层的多层感知机模型来对Fashion-MNIST数据集中的图像进行分类。每张图像高和宽均是28像素。我们将图像中的像素逐行展开,得到⻓度为784的向量,并输入进全连接层中。然而,这种分类⽅方法有⼀定的局限性。1. 图像在同⼀列邻近的像素在这个向量中可能相距较远。它们构成的模式可能难以被模型识别。2. 对于⼤尺⼨的输⼊图像,使⽤全连接层容易造成模型过大。假设输

2020-09-14 08:45:29

池化层

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。池化层池化(pooling)层,它的提出是为了缓解卷积层对位置的过度敏感性。⼆维最⼤池化层和平均池化层同卷积层⼀样,池化层每次对输⼊数据的⼀个固定形状窗⼝(⼜称池化窗⼝)中的元素计算输出。不同于卷积层里计算输⼊和核的互相关性,池化层直接计算池化窗口内元素的最大值或者平均值。该运算也分别叫做最大池化或平均池化。让我们再次回到本节开始提到的物体边缘检测的例子。现在我们将卷积层的输出作为 2x2最⼤池化的输⼊。设该卷积层输⼊

2020-09-09 16:29:43

多输⼊通道和多输出通道

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。多输入通道和多输出通道前⾯两节里我们⽤到的输入和输出都是二维数组,但真实数据的维度经常更高。例如,彩色图像在⾼和宽2个维度外还有RGB(红、绿、蓝)3个颜⾊通道。假设彩色图像的⾼和宽分别是h和w(像素),那么它可以表示为⼀个 的多维数组。我们将⼤小为3的这⼀维称为通道(channel)维。本节我们将介绍含多个输入通道或多个输出通道的卷积核。多输⼊通道当输⼊数据含多个通道时,我们需要构造⼀个输⼊通道数与输入数据的通道数相同的卷...

2020-09-09 16:06:58

填充和步幅

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。填充和步幅填充填充(padding)是指在输入⾼和宽的两侧填充元素(通常是0元素)。图5.2⾥我们在原输入⾼和宽的两侧分别添加了值为0的元素,使得输入⾼高和宽从3变成了5,并导致输出高和宽由2增加到4。卷积神经网络经常使用奇数高宽的卷积核,如1、3、5和7,所以两端上的填充个数相等。对任意的⼆维数组 X ,设它的第 i行第 j 列的元素为 X[i,j] 。当两端上的填充个数相等,并使输入和输出具有相同的⾼和宽时,我们就..

2020-09-09 15:37:18

二维卷积层

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。二维卷积层卷积神经网络(convolutional neural network)是含有卷积层(convolutional layer)的神经网络。本章中介绍的卷积神经网络均使用最常见的二维卷积层。它有高和宽两个空间维度,常用来处理图像数据。二维互相关运算虽然卷积层得名于卷积(convolution)运算,但我们通常在卷积层中使⽤更加直观的互相关(cross-correlation)运算。在二维卷积层中,一个二维输入数组和⼀个二维

2020-09-09 15:10:56

GPU计算

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。GPU计算对复杂的神经⽹络和⼤规模的数据来说,使⽤CPU来计算可能不够⾼效。在本节中,我们将介绍如何使⽤单块NVIDIA GPU来计算。所以需要确保已经安装好了PyTorch GPU版本。准备工作都完成后,下面就可以通过 nvidia-smi 命令来查看显卡信息了。!nvidia-smi # 对Linux/macOS⽤用户有效 输出:Sun Mar 17 14:59:57 2019+--------------------

2020-09-08 15:27:42

读取和存储

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。读取和存储在实际中,我们有时需要把训练好的模型部署到很多不同的设备。在这种情况下,我们可以把内存中训练好的模型参数存储在硬盘上供后续读取使用。读写 TENSOR可以直接使用 save 函数和 load 函数分别存储和读取 Tensor 。 save 使⽤Python的pickle实用程序将对象进行序列化,然后将序列列化的对象保存到disk,使⽤save 可以保存各种对象,包括模型、张量和字典等。而 laod 使用pickle...

2020-09-08 15:09:24

模型参数的延后初始化

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。由于使⽤Gluon创建的全连接层的时候不需要指定输⼊个数。所以当调用 initialize 函数时,由于隐藏层输入个数依然未知,系统也无法得知该层权重参数的形状。只有在当形状已知的输⼊X 传进网络做前向计算 net(X) 时,系统才推断出该层的权重参数形状为多少,此时才进⾏真正的初始化操作。但是使用PyTorch在定义模型的时候就要指定输⼊的形状,所以也就不存在这个问题了。...

2020-09-08 08:45:12

模型参数的访问、初始化和共享

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。模型参数的访问、初始化和共享线性回归的简洁实现中,我们通过 init 模块来初始化模型的参数。我们也介绍了访问模型参数的简单方法。本节将深⼊讲解如何访问和初始化模型参数,以及如何在多个层之间共享同⼀份模型参数。我们先定义⼀个与上⼀节中相同的含单隐藏层的多层感知机。我们依然使⽤默认方式初始化它的参数,并做一次前向计算。与之前不同的是,在这⾥我们从 nn 中导⼊入了 init 模块,它包含了多种模型初始化⽅法。import torch

2020-09-08 08:42:54

模型构造

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。模型构造(多层感知机的简洁实现)中含单隐藏层的多层感知机的实现方法。首先构造 Sequential 实例,然后依次添加两个全连接层。其中第⼀层的输出⼤小为256,即隐藏层单元个数是256;第二层的输出⼤小为10,即输出层单元个数是10。这⾥我们介绍另外⼀种基于 Module 类的模型构造方法:它让模型构造更加灵活。继承 MODULE 类来构造模型Module 类是 nn 模块⾥提供的一个模型构造类,是所有神经网络模块的基类

2020-09-08 07:58:52

实战KAGGLE比赛:房价预测

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。实战KAGGLE⽐比赛:房价预测作为深度学习基础篇章的总结,动⼿手实战⼀个Kaggle比赛:房价预测。在房价预测⽐赛的⽹页上了解⽐赛信息和参赛者成绩,也可以下载数据集并提交自己的预测结果。该比赛的⽹页地址是 https://www.kaggle.com/c/house-prices-advanced-regression-techniques 。获取和读取数据集比赛数据分为训练数据集和测试数据集。两个数据集都包括每栋房子的特.

2020-09-07 19:31:16

数值稳定性和模型初始化

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。数值稳定性和模型初始化深度模型有关数值稳定性的典型问题是衰减(vanishing)和爆炸(explosion)衰减和爆炸随机初始化模型参数如果将每个隐藏单元的参数都初始化为相等的值,那么在正向传播时每个隐藏单元将根据相同的输⼊计算出相同的值,并传递至输出层。在反向传播中,每个隐藏单元的参数梯度值相等。因此,这些参数在使用基于梯度的优化算法迭代后值依然相等。之后的迭代也是如此。在这种情况下,⽆论隐藏单元有多少,隐藏层本质上只

2020-09-07 10:57:41

正向传播、反向传播和计算图

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。正向传播、反向传播和计算图在实现中,只提供模型正向传播(forward propagation)的计算,即对输⼊计算模型输出,然后通过 autograd 模块来调⽤用系统自动生成的 backward 函数计算梯度。基于反向传播(back-propagation)算法的⾃动求梯度极大简化了深度学习模型训练算法的实现。本节我们将使⽤数学和计算图(computational graph)两个方式来描述正向传播和反向传播。具体来说,我们将以带

2020-09-07 10:37:36

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。