随笔分类 - pytorch学习笔记
pytorch 学习 深度学习
摘要:从张量(tensor)开始 张量是个抽象的概念, 它是数据的容器, 通过几个例子来理解吧。 0维张量/标量:标量是一个数字 1维张量/向量:1维张量称为“向量” 2维张量:2维张量称为矩阵 张量可以有任意的维度 定义张量 tensor([[1., 1.], [1., 1.], [1., 1.], [
阅读全文
摘要:Kaggle上的图像分类(CIFAR 10) 现在,我们将运用在前面几节中学到的知识来参加Kaggle竞赛,该竞赛解决了CIFAR 10图像分类问题。比赛网址是https://www.kaggle.com/c/cifar 10 PyTorch Version: 1.3.0 获取和组织数据集 比赛数据
阅读全文
摘要:Generative Adversarial Networks Throughout most of this book, we have talked about how to make predictions. In some form or another, we used deep neur
阅读全文
摘要:Deep Convolutional Generative Adversarial Networks we introduced the basic ideas behind how GANs work. We showed that they can draw samples from some
阅读全文
摘要:Kaggle上的狗品种识别(ImageNet Dogs) 在本节中,我们将解决Kaggle竞赛中的犬种识别挑战,比赛的网址是https://www.kaggle.com/c/dog breed identification 在这项比赛中,我们尝试确定120种不同的狗。该比赛中使用的数据集实际上是著名
阅读全文
摘要:样式迁移 如果你是一位摄影爱好者,也许接触过滤镜。它能改变照片的颜色样式,从而使风景照更加锐利或者令人像更加美白。但一个滤镜通常只能改变照片的某个方面。如果要照片达到理想中的样式,经常需要尝试大量不同的组合,其复杂程度不亚于模型调参。 在本节中,我们将介绍如何使用卷积神经网络自动将某图像中的样式应用
阅读全文
摘要:9.3 目标检测和边界框 9.3.1 边界框 9.4 锚框 目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边缘从而更准确地预测目标的真实边界框(ground truth bounding box)。不同的模型使用的区域采样方法可能不同。这里我们介
阅读全文
摘要:9.2 微调 在前面的一些章节中,我们介绍了如何在只有6万张图像的Fashion MNIST训练数据集上训练模型。我们还描述了学术界当下使用最广泛的大规模图像数据集ImageNet,它有超过1,000万的图像和1,000类的物体。然而,我们平常接触到数据集的规模通常在这两者之间。 假设我们想从图像中
阅读全文
摘要:图像增广 在5.6节(深度卷积神经网络)里我们提到过,大规模数据集是成功应用深度神经网络的前提。图像增广(image augmentation)技术通过对训练图像做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模。图像增广的另一种解释是,随机改变训练样本可以降低模型对某些属性的
阅读全文
摘要:文本情感分类 文本分类是自然语言处理的一个常见任务,它把一段不定长的文本序列变换为文本的类别。本节关注它的一个子问题:使用文本情感分类来分析文本作者的情绪。这个问题也叫情感分析,并有着广泛的应用。 同搜索近义词和类比词一样,文本分类也属于词嵌入的下游应用。在本节中,我们将应用预训练的词向量和含多个隐
阅读全文
摘要:自动求梯度 在深度学习中,我们经常需要对函数求梯度(gradient)。PyTorch提供的 "autograd" 包能够根据输入和前向传播过程自动构建计算图,并执行反向传播。本节将介绍如何使用autograd包来进行自动求梯度的有关操作。 概念 上一节介绍的 是这个包的核心类,如果将其属性 设置为
阅读全文
摘要:数据操作 在深度学习中,我们通常会频繁地对数据进行操作。作为动手学深度学习的基础,本节将介绍如何对内存中的数据进行操作。 在PyTorch中, 是存储和变换数据的主要工具。如果你之前用过NumPy,你会发现 和NumPy的多维数组非常类似。然而, 提供GPU计算和自动求梯度等更多功能,这些使 更加适
阅读全文
摘要:梯度下降 ( "Boyd & Vandenberghe, 2004" ) 一维梯度下降 证明:沿梯度反方向移动自变量可以减小函数值 泰勒展开: $$ f(x+\epsilon)=f(x)+\epsilon f^{\prime}(x)+\mathcal{O}\left(\epsilon^{2}\rig
阅读全文
摘要:优化与深度学习 优化与估计 尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。 优化方法目标:训练集损失函数值 深度学习目标:测试集损失函数值(泛化性) %matplotlib inline import sys sys.path.append('/h
阅读全文
摘要:批量归一化(BatchNormalization) 对输入的标准化(浅层模型) 处理后的任意一个特征在数据集中所有样本上的均值为0、标准差为1。 标准化处理输入数据使各个特征的分布相近 批量归一化(深度模型) 利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的
阅读全文
摘要:11.6 Momentum 在 "Section 11.4" 中,我们提到,目标函数有关自变量的梯度代表了目标函数在自变量当前位置下降最快的方向。因此,梯度下降也叫作最陡下降(steepest descent)。在每次迭代中,梯度下降根据自变量当前位置,沿着当前位置的梯度更新自变量。然而,如果自变量
阅读全文
摘要:词嵌入基础 我们在 "“循环神经网络的从零开始实现”" 一节中使用 one hot 向量表示单词,虽然它们构造起来很容易,但通常并不是一个好选择。一个主要的原因是,one hot 词向量无法准确表达不同词之间的相似度,如我们常常使用的余弦相似度。 Word2Vec 词嵌入工具的提出正是为了解决上面这
阅读全文
摘要:词嵌入进阶 在 "“Word2Vec的实现”" 一节中,我们在小规模数据集上训练了一个 Word2Vec 词嵌入模型,并通过词向量的余弦相似度搜索近义词。虽然 Word2Vec 已经能够成功地将离散的单词转换为连续的词向量,并能一定程度上地保存词与词之间的近似关系,但 Word2Vec 模型仍不是完
阅读全文
摘要:深度卷积神经网络(AlexNet) LeNet: 在大的真实数据集上的表现并不尽如⼈意。 1.神经网络计算复杂。 2.还没有⼤量深⼊研究参数初始化和⾮凸优化算法等诸多领域。 机器学习的特征提取:手工定义的特征提取函数 神经网络的特征提取:通过学习得到数据的多级表征,并逐级表⽰越来越抽象的概念或模式。
阅读全文
摘要:卷积神经网络基础 本节我们介绍卷积神经网络的基础概念,主要是卷积层和池化层,并解释填充、步幅、输入通道和输出通道的含义。 二维卷积层 本节介绍的是最常见的二维卷积层,常用于处理图像数据。 二维互相关运算 二维互相关(cross correlation)运算的输入是一个二维输入数组和一个二维核(ker
阅读全文