自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 假期学习回顾与总结

学习内容专业理论学习:学习资料介绍:假期学习整体分为吴恩达深度学习课程和《动手学深度学习PYTORCH版》,前者偏重理论,感觉适合入门,网易云课堂视频(https://mooc.study.163.com/smartSpec/detail/1001319001.htm)+配套黄海广主编针对吴恩达深度学习课程DeepLearning.ai 《深度学习课程 笔记 (V5.1 )》(后来看的是新版5.7版);后者侧重使用pytorch框架实现深度学习的一些理论。学习情况介绍:吴恩达深度学习课

2020-09-30 19:54:47 429

原创 有关经典卷积神经网络简介

以下图片来源自己的PPT,自学部分,可能有不足,持续修改补充。《卷积神经网络(LENET)》 https://blog.csdn.net/dujuancao11/article/details/108571642 《深度卷积神经⽹络(ALEXNET)》https://blog.csdn.net/dujuancao11/article/details/108572001 《使⽤重复元素的网络(VGG)》https://blog.csdn.net/dujuancao11/article/details/

2020-09-30 19:51:46 243

原创 有关目标检测算法(YOLO系列和R—CNN系列)

以下是自己的一些自学,可能有很多不足,会持续补充和修改的(图片来源自己的PPT,为方便以后查阅写下此篇)。一、吴恩达深度学习涉及到的(2020.8.7)二、 YOLO(2020.8.14)三、R—CNN系列...

2020-09-30 18:43:19 1255

原创 稠密连接网络(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 4521

原创 残差网络(RESNET)

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

2020-09-16 09:18:39 5020 1

原创 批量归⼀化

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

2020-09-15 21:34:10 711

原创 含并行连结的网络(GOOGLENET)

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

2020-09-15 13:38:00 248

原创 ⽹络中的网络(NIN)

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

2020-09-15 10:52:40 256

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

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

2020-09-14 10:08:35 255

原创 深度卷积神经⽹络(ALEXNET)

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

2020-09-14 09:48:38 419

原创 卷积神经网络(LENET)

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

2020-09-14 08:45:29 590

原创 池化层

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

2020-09-09 16:29:43 9311

原创 多输⼊通道和多输出通道

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

2020-09-09 16:06:58 695

原创 填充和步幅

《动手学深度学习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 767

原创 二维卷积层

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

2020-09-09 15:10:56 1603

原创 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 610

原创 读取和存储

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

2020-09-08 15:09:24 486

原创 模型参数的延后初始化

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

2020-09-08 08:45:12 535 2

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

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

2020-09-08 08:42:54 903

原创 模型构造

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

2020-09-08 07:58:52 637

原创 实战KAGGLE比赛:房价预测

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

2020-09-07 19:31:16 1923

原创 数值稳定性和模型初始化

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

2020-09-07 10:57:41 394

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

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

2020-09-07 10:37:36 2314

原创 丢弃法——dropout

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。丢弃法——dropout除了权重衰减以外,深度学习模型常使⽤丢弃法(dropout)来应对过拟合问题。丢弃法有一些不同的变体。本节中提到的丢弃法特指倒置丢弃法(inverted dropout)。单隐藏层的多层感知机,其中输⼊个数为4,隐藏单元个数为5,且隐藏单元 的计算表达式为从零开始实现# dropout 函数将以 drop_prob 的概率丢弃 X中的元素。%matplotlib inlin...

2020-09-07 09:43:04 1046

原创 权重衰减——L2正则化

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。权重衰减过拟合现象,即模型的训练误差远小于它在测试集上的误差。虽然增⼤训练数据集可能会减轻过拟合,但是获取额外的训练数据往往代价高昂。应对过拟合问题的常用⽅法:权重衰减(weight decay)。方法权重衰减等价于L2范数正则化(regularization)。正则化通过为模型损失函数添加惩罚项使学出的模型参数值较⼩,是应对过拟合的常⽤手段。L2 范数正则化在模型原损失函数基础上添加L2范数惩罚项,从而得到训练所需要最小..

2020-09-06 19:39:00 5210

原创 模型选择、欠拟合和过拟合

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。模型选择、欠拟合和过拟合如果你改变过实验中的模型结构或者超参数,你也许发现了:当模型在训练数据集上更准确时,它在测试数据集上却不一定更准确。训练误差和泛化误差在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalizationerror)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意⼀个测试数据样本上表现出的误差的期望,并常通过测试数据集上的误差来近似。计算训练误差.

2020-09-06 12:05:02 931

原创 多层感知机的简洁实现

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。多层感知机的简洁实现使用Gluon来实现上一节中的多层感知机。import torchfrom torch import nnfrom torch.nn import initimport numpy as npimport syssys.path.append("..")import d2lzh_pytorch as d2l定义模型和softmax回归唯⼀的不同在于,我们多加了⼀个全连接层作为隐藏层。#

2020-09-05 17:36:31 435

原创 多层感知机的从零开始实现

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。多层感知机的从零开始实现import torchimport numpy as npimport syssys.path.append("..")import d2lzh_pytorch as d2l获取和读取数据# 我们将使⽤多层感知机对图像进⾏分类。batch_size = 256 # 设置批量大小为256# 这里继续使⽤Fashion-MNIST数据集。train_iter, test_iter = d2.

2020-09-03 17:35:32 549

原创 多层感知机

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。多层感知机介绍了包括线性回归和softmax回归在内的单层神经⽹络。然⽽深度学习主要关注多层模型。在本节中,我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。隐藏层多层感知机在单层神经网络的基础上引入了一到多个隐藏层(hidden layer)。隐藏层位于输入层和输出层之间。隐藏层中的神经元和输入层中各个输⼊完全连接,输出层中的神经元和隐藏层中的各个神经元也完全连接。因此

2020-09-03 17:14:23 649

原创 SOFTMAX回归的简洁实现

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。SOFTMAX回归的简洁实现使⽤Pytorch来实现⼀个softmax回归模型。首先导入所需的包或模块。import torchfrom torch import nnfrom torch.nn import initimport numpy as npimport syssys.path.append("..")import d2lzh_pytorch as d2l获取和读取数据batch_size = 25

2020-09-03 16:30:52 676

原创 SOFTMAX回归的从零开始实现

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。SOFTMAX回归的从零开始实现import torchimport torchvisionimport numpy as npimport syssys.path.append("..") # 为了了导⼊入上层⽬目录的d2lzh_pytorchimport d2lzh_pytorch as d2l获取和读取数据使用Fashion-MNIST数据集,并设置批量大小为256。batch_size = 256tra

2020-09-02 21:53:20 1011 1

原创 图像分类数据集(FASHION-MNIST)

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。图像分类数据集(FASHION-MNIST)图像分类数据集中最常用的是⼿写数字识别数据集MNIST。但⼤部分模型在MNIST上的分类精度都超过了了95%。为了更直观地观察算法之间的差异,我们将使⽤一个图像内容更加复杂的数据集Fashion-MNIST(这个数据集也⽐较⼩,只有⼏十M,没有GPU的电脑也能吃得消)。本节我们将使用torchvision包,它是服务于PyTorch深度学习框架的,主要⽤用来构建计算机视觉模型。torchv.

2020-09-02 09:52:13 1672

原创 SOFTMAX回归

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。SOFTMAX回归前几节介绍的线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输出可以是一个像图像类别这样的离散值。对于这样的离散值预测问题,我们可以使用诸如softmax回归在内的分类模型。和线性回归不同,softmax回归的输出单元从一个变成了多个,且引入了softmax运算使输出更适合离散值的预测和训练。本节以softmax回归模型为例,介绍神经网络中的分类模型。分类问题...

2020-09-02 09:13:07 371 1

原创 线性回归的简洁实现

《动手学深度学习pytorch》部分学习笔记,仅用作自己复习。线性回归的简洁实现随着深度学习框架的发展,开发深度学习应⽤用变得越来越便便利。实践中,我们通常可以⽤比上⼀节更简洁的代码来实现同样的模型。(说白了就是使用已经集成的搭建自己网络)生成数据集⽣成与上一节中相同的数据集。其中 features 是训练数据特征, labels 是标签。num_inputs = 2num_examples = 1000true_w = [2, -3.4]true_b = 4.2feature

2020-09-01 16:30:53 395

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除