
Pytorch
Zed
这个作者很懒,什么都没留下…
展开
-
《动手学深度学习》Pytorch版学习打卡(三)
批量归一化和残差网络凸优化梯度下降算法、优化算法进阶Word2vec词嵌入进阶文本分类(使用RNN、CNN)数据增广模型微调原创 2020-02-24 21:44:03 · 227 阅读 · 0 评论 -
模型微调
在前面的一些章节中,我们介绍了如何在只有6万张图像的Fashion-MNIST训练数据集上训练模型。我们还描述了学术界当下使用最广泛的大规模图像数据集ImageNet,它有超过1,000万的图像和1,000类的物体。然而,我们平常接触到数据集的规模通常在这两者之间。假设我们想从图像中识别出不同种类的椅子,然后将购买链接推荐给用户。一种可能的方法是先找出100种常见的椅子,为每种椅子拍摄1,000...原创 2020-02-24 20:32:53 · 1026 阅读 · 0 评论 -
数据增广
图像增广大规模数据集是成功应用深度神经网络的前提。图像增广(image augmentation)技术通过对训练图像做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模图像增广的另一种解释是,随机改变训练样本可以降低模型对某些属性的依赖,从而提高模型的泛化能力。例如,我们可以对图像进行不同方式的裁剪,使感兴趣的物体出现在不同位置,从而减轻模型对物体出现位置的依赖性。我们也可...原创 2020-02-24 18:33:20 · 3461 阅读 · 2 评论 -
文本分类(使用RNN与CNN)
文本分类是自然语言处理的一个常见任务,它把一段不定长的文本序列变换为文本的类别。本节关注它的一个子问题:使用文本情感分类来分析文本作者的情绪。这个问题也叫情感分析,并有着广泛的应用。实验数据:我们使用斯坦福的IMDb数据集(Stanford’s Large Movie Review Dataset)作为文本情感分类的数据集。def read_imdb(folder='train', dat...原创 2020-02-23 20:40:38 · 2148 阅读 · 0 评论 -
词嵌入进阶
在“Word2Vec”一节中,我们在小规模数据集上训练了一个 Word2Vec 词嵌入模型,并通过词向量的余弦相似度搜索近义词。虽然 Word2Vec 已经能够成功地将离散的单词转换为连续的词向量,并能一定程度上地保存词与词之间的近似关系,但 Word2Vec 模型仍不是完美的,它还可以被进一步地改进:子词嵌入(subword embedding):FastText 以固定大小的 n-gram ...原创 2020-02-23 16:08:28 · 280 阅读 · 0 评论 -
Word2vec
在之前的学习中提到过one-hot向量表示方式,虽然它们构造起来很容易,但通常并不是一个好选择。一个主要的原因是,one-hot 词向量无法准确表达不同词之间的相似度,如我们常常使用的余弦相似度。例如 beautiful和lovely是两个表示含义相近的词,他们应该在向量空间上有一定的相似度,而相对的,ugly这样的词距离他们就应该很远,Word2Vec 词嵌入工具的提出正是为了解决上面这个问题...原创 2020-02-23 15:01:47 · 207 阅读 · 0 评论 -
梯度下降算法
梯度:官方解释:梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。通俗理解:我们对一个多元函数求偏导,会得到多个偏导函数.这些导函数组成的向量,就是梯度。一元函数的梯度就是导数梯度中元素(导函数)的个数同未知数的个数是对应,每一个未知数都可以像求解一元一次函数一样,通过它所对应的...原创 2020-02-22 14:30:49 · 524 阅读 · 0 评论 -
凸优化
文章目录优化在深度学习中的挑战局部最小值鞍点梯度消失凸性凸函数的性质尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。优化方法目标:训练集损失函数值深度学习目标:测试集损失函数值(泛化性)两者区别用画图体现:In [1]:%matplotlib inlineimport syssys.path.append('/home/kes...原创 2020-02-19 21:22:19 · 276 阅读 · 0 评论 -
批量归一化和残差网络、稠密连接网络
批量归一化批量归一化(BatchNormalization)对输入的标准化(浅层模型)处理后的任意一个特征在数据集中所有样本上的均值为0、标准差为1。标准化处理输入数据使各个特征的分布相近批量归一化(深度模型)利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的数值更稳定。...原创 2020-02-19 16:26:31 · 2258 阅读 · 0 评论 -
《动手学深度学习》Pytorch版学习打卡(二)
第二次学习内容:梯度消失、梯度爆炸、环境影响因素、交叉验证、过拟合及其解决方案(L2范数、丢弃法)循环神经网络进阶(门控循环神经网络、LSTM、深度循环神经网络、双向循环神经网络)机器翻译及相关技术(Encoder-Decoder、Sequence to Sequence模型、Beam Search)注意力机制概念和框架Transformer卷积神经网络基础LeNet卷积神经网络...原创 2020-02-18 18:13:37 · 158 阅读 · 0 评论 -
卷积神经网络进阶(AlexNet、VGG、NiN、GoogleNet)
深度卷积神经网络AlexNet在特征提取方面,主要存在两种主流认知:机器学习的特征提取:手工定义的特征提取函数神经网络的特征提取:通过学习得到数据的多级表征,并逐级表⽰越来越抽象的概念或模式。深度卷积神经网络AlexNet首次证明了学习到的特征可以超越⼿⼯设计的特征,从而⼀举打破计算机视觉研究的前状。AlexNet(右)和LetNet的区别:AlexNet主要的区别:输出维度...原创 2020-02-18 15:14:43 · 986 阅读 · 0 评论 -
LeNet
在进行图像识别等任务时,由于输入图像的尺寸较大、同一列邻近的像素在这个向量中可能相距较远,难以识别等问题,因此不适合用全连接层进行网络构建,而应当在神经网络中添加卷积层,具体的好处有:卷积层可以保留输入形状卷积层通过滑动窗口将同一卷积核与不同位置的输入重复计算,从而避免参数尺寸过大。LeNet 模型LeNet分为卷积层块和全连接层块两个部分图像为2828像素的图片,经过第一个卷积层...原创 2020-02-17 14:07:38 · 302 阅读 · 0 评论 -
卷积神经网络基础
二维卷积层二维互相关运算二维互相关运算指的是输入、卷积核、输出都是二维的互相关运算,即卷积核在输入上横向和竖向移动,分别对盖住的区域进行元素一一对应加总有时候除了互相关运算,还会最后加上一个标量偏置得到输出。卷积层的模型参数包括卷积核和偏置特征图与感受野二维卷积层输出的二维数组可以看作是输入在空间维度(宽和高)上某一级的表征,也叫特征图(feature map)。影响元素xxx的前向计...原创 2020-02-16 21:50:41 · 683 阅读 · 3 评论 -
Transformer
提出CNNs 易于并行化,却不适合捕捉变长序列内的依赖关系。RNNs 适合捕捉长距离变长序列的依赖,但是却难以实现并行化处理序列。为了整合CNN和RNN的优势,[Vaswani et al., 2017] 创新性地使用注意力机制设计了Transformer模型。该模型利用attention机制实现了并行化捕捉序列依赖,并且同时处理序列的每个位置的tokens,上述优势使得Transfor...原创 2020-02-16 15:41:08 · 326 阅读 · 0 评论 -
注意力机制概念和框架
注意力机制概念在之前学习encoder-decoder模型时,我们了解了模型的原理是,输入source(要翻译的语句),由encoder先将句子编码成隐藏的语义编码C,再输入进decoder中。但是我们看到目标句子Target中每个单词的生成过程如下:f是decoder的非线性变化函数。从这里可以看出,在生成目标句子的单词时,不论生成哪个单词,它们使用的输入句子Source的语义编码C都是一...原创 2020-02-16 13:59:52 · 809 阅读 · 0 评论 -
机器翻译及相关技术(Encoder-Decoder、Sequence to Sequence模型、Beam Search)
机器翻译(MT)以及一些机器人对话问题的特点就是输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同为了解决这个问题,主要采用的是Sequence to Sequence模型模型主要由两个部分组成,一个编码器(encoder)和一个解码器(decoder)。编码器和解码器一般都是由RNN类网络构成,常用LSTM。这是由于使用RNN可以自适应输入输出,这里就不多提了。后面的网络...原创 2020-02-15 20:44:23 · 951 阅读 · 0 评论 -
循环神经网络进阶(门控循环神经网络、LSTM、深度循环神经网络、双向循环神经网络)
文章目录门控循环神经网络GRU长短期记忆LSTM深度循环神经网络双向循环神经网络门控循环神经网络GRU该网络的提出也同样是为了应对普通RNN的梯度问题基本原理看这一篇就能懂:转载自知乎简单来说,GRU就是通过一个重置门控和一个更新门控来实现对原隐藏信息的选择性遗忘和对当前节点信息的选择性记忆可以看到其中的r和z分别是重置门控和更新门控,首先由上一层的隐藏信息ht-1和当先层的输入分别得...原创 2020-02-15 13:34:28 · 3572 阅读 · 0 评论 -
梯度消失、梯度爆炸、环境影响因素、交叉验证、过拟合及其解决方案(L2范数、丢弃法)
第二次学习内容1.梯度消失、梯度爆炸以及环境误差关键词:梯度消失、爆炸,解决方案,环境因素在上一次学习内容中,关于循环神经网络基础的学习中提到了对于梯度爆炸的一种处理方式——梯度裁剪本节主要介绍梯度消失以及梯度爆炸的概念以及一些会影响模型的环境因素梯度消失及梯度爆炸假设一个层数为 L 的多层感知机的第 l 层 H(l) 的权重参数为W(l),输出层 H(L) 的权重参数为W(L)。...原创 2020-02-15 11:09:33 · 420 阅读 · 0 评论 -
《动手学深度学习》Pytorch版学习打卡 (一)
文章目录背景:学习资料:学习前的基础了解:学习方法:第一次打卡内容1. 用Pytorch实现一个线性回归2.Softmax回归与分类任务3.多层感知机(MLP)4.文本预处理5.语言模型6.循环神经网络背景:有python和机器学习的基础,深度学习方面基础基本为0,了解到开源组织Datawhale和伯禹学习平台以及K-Lab合作推出了《动手学深度学习》这本书的Pytorch版代码讲解,就报名参...原创 2020-02-13 18:50:00 · 419 阅读 · 0 评论 -
深度学习之循环神经网络
摘抄整理自:循环神经网络(RNN, Recurrent Neural Networks)介绍循环神经网络(RNNs) 也是深度学习中不可或缺的一部分,由于最近有关于这方面的学习需求,于是在这里先整理了一些RNNs的入门资料RNNs的特点:相比于普通的神经网络,RNNs可以用来处理那些输入之间前后相关联的问题,即处理序列数据。例如,要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句...原创 2020-02-12 19:36:49 · 636 阅读 · 0 评论 -
深度学习——神经网络的反向传播算法
简介反向传播算法大体上来说是链式求导法则在神经网络训练中的应用该算法的发现对于神经网络以及深度学习的发展起到了举足轻重的作用主要思想:无论神经网络模型多复杂,多层还是单层的,我们训练的目的都是为了更新函数的参数,而其目标就是为了最小化一个损失函数,这个损失函数是可导的,将损失函数对于函数内部的一个参数去求导,然后反方向更新参数,就可以将损失函数降低。对于结构复杂的神经网络模型,我们就是通过...原创 2020-02-12 16:30:08 · 851 阅读 · 0 评论 -
Pytorch之requires_grad
requires_grad是Pytorch中通用数据结构Tensor的一个属性,用于说明当前量是否需要在计算中保留对应的梯度信息,以线性回归为例,容易知道权重w和偏差b为需要训练的对象,为了得到最合适的参数值,我们需要设置一个相关的损失函数,根据梯度回传的思路进行训练。官方文档中的说明如下If there’s a single input to an operation that requi...原创 2020-02-11 21:16:55 · 52561 阅读 · 0 评论