随笔分类 - 深度学习&机器学习&机器学习
摘要:在图像分类任务中,我们假设图像中只有一个主要物体对象,我们只关注如何识别其类别。 然而,很多时候图像里有多个我们感兴趣的目标,我们不仅想知道它们的类别,还想得到它们在图像中的具体位置。 在计算机视觉里,我们将这类任务称为目标检测(object detection)或目标识别(object recog
阅读全文
posted @ 2023-10-08 21:33
lipu123
摘要:本节将介绍迁移学习中的常见技巧:微调(fine-tuning)。如 图13.2.1所示,微调包括以下四个步骤前面的一些章节介绍了如何在只有6万张图像的Fashion-MNIST训练数据集上训练模型。 我们还描述了学术界当下使用最广泛的大规模图像数据集ImageNet,它有超过1000万的图像和100
阅读全文
posted @ 2023-10-07 22:24
lipu123
摘要:过大型数据集是成功应用深度神经网络的先决条件。 图像增广在对训练图像进行一系列的随机变化之后,生成相似但不同的训练样本,从而扩大了训练集的规模。 此外,应用图像增广的原因是,随机改变训练样本可以减少模型对某些属性的依赖,从而提高模型的泛化能力。 例如,我们可以以不同的方式裁剪图像,使感兴趣的对象出现
阅读全文
posted @ 2023-10-07 21:42
lipu123
摘要:到目前为止,我们主要关注如何更新权重向量的优化算法,而不是它们的更新速率。 然而,调整学习率通常与实际算法同样重要,有如下几方面需要考虑: 首先,学习率的大小很重要。如果它太大,优化就会发散;如果它太小,训练就会需要过长时间,或者我们最终只能得到次优的结果。我们之前看到问题的条件数很重要。直观地说,
阅读全文
posted @ 2023-10-05 20:50
lipu123
摘要:AdaGrad算法 我们从有关特征学习中并不常见的问题入手。 稀疏特征和学习率 假设我们正在训练一个语言模型。 为了获得良好的准确性,我们大多希望在训练的过程中降低学习率,速度通常为\(\mathcal{O}(t^{-\frac{1}{2}})\)或更低。 现在讨论关于稀疏特征(即只在偶尔出现的特征
阅读全文
posted @ 2023-10-05 19:43
lipu123
摘要:冲量法也是在实际应用中使用比较多的算法 冲量法使用平滑过的梯度对权重更新 在小批量随机梯度下降的时候,梯度还是会有比较大的抖动,特别是当整个目标函数比较复杂的时候 真实数据的损失函数是不平滑的,在一个不那么平滑的平面上做优化的时候,梯度的变化趋势就有点类似于随机运动,噪音可能会带来一些不必要的抖动
阅读全文
posted @ 2023-10-05 15:12
lipu123
摘要:在实际应用中,真正使用的是小批量随机梯度下降,之所以用小批量随机梯度下降,不是统计的原因,而是计算的原因,因为随机梯度下降对单样本计算梯度,这样的话很难完全利用硬件资源(CPU 和 GPU 都是多线程的,假设只是对单样本进行梯度计算的话,计算量可能不足以能够占满整个硬件资源)所以假设可以用多个样本计
阅读全文
posted @ 2023-10-04 22:10
lipu123
摘要:在深度学习中,目标函数通常是训练数据集中每个样本的损失函数的平均值。 我们在应用时通常使用的都是随机梯度下降而不用梯度下降,因为当我们有\(n\)个样本的时候,\(f(x)\)表示所有样本上损失的平均值,因为计算一个样本比较贵。梯度下降是在整个完整的样本上求导,比较贵,所以通常使用的都是随机梯度下降
阅读全文
posted @ 2023-10-04 21:00
lipu123
摘要:梯度下降法 尽管梯度下降(gradient descent)很少直接用于深度学习, 但了解它是理解下一节随机梯度下降算法的关键。 例如,由于学习率过大,优化问题可能会发散,这种现象早已在梯度下降中出现。 同样地,预处理(preconditioning)是梯度下降中的一种常用技术, 还被沿用到更高级的
阅读全文
posted @ 2023-10-04 19:44
lipu123
摘要:凸性(convexity)在优化算法的设计中起到至关重要的作用, 这主要是由于在这种情况下对算法进行分析和测试要容易。 换言之,如果算法在凸性条件设定下的效果很差, 那通常我们很难在其他条件下看到好的结果。 此外,即使深度学习中的优化问题通常是非凸的, 它们也经常在局部极小值附近表现出一些凸性。 这
阅读全文
posted @ 2023-10-03 22:18
lipu123
摘要:优化和深度学习 我们已经使用了许多优化算法来训练深度学习模型。优化算法使我们能够继续更新模型参数,并使损失函数的值最小化。这就像在训练集上评估⼀样。事实上,任何满足于将优化视为黑盒装置,以在简单的设置中最小化目标函数的人,都可能会知道存在着⼀系列此类“咒语”(名称如“SGD”和“Adam”)。 但是
阅读全文
posted @ 2023-10-03 22:14
lipu123
摘要:子词嵌入 在英语中,“helps”“helped”和“helping”等单词都是同一个词“help”的变形形式。“dog”和“dogs”之间的关系与“cat”和“cats”之间的关系相同,“boy”和“boyfriend”之间的关系与“girl”和“girlfriend”之间的关系相同。在法语和西班
阅读全文
posted @ 2023-10-03 17:46
lipu123
摘要:我们之前学了很多词语言模型: 如果我们词独立的话有方法:One-hot、Bag of words、IF-IDF。 然后如果我们假设词与词之间是相互关联的话有方法:word2vec,FastText和Glove。 在英语中,“helps”“helped”和“helping”等单词都是同⼀个词“help
阅读全文
posted @ 2023-10-03 16:07
lipu123
摘要:词向量的表示可以分成两个大类 基于统计方法例如共现矩阵、奇异值分解SVD; 基于语言模型例如神经网络语言模型(NNLM)、word2vector(CBOW、skip-gram)、GloVe、ELMo。 word2vector中的skip-gram模型是利用类似于自动编码的器网络以中心词的one-ho
阅读全文
posted @ 2023-10-02 20:46
lipu123
摘要:import math import torch from torch import nn from d2l import torch as d2l batch_size, max_window_size, num_noise_words = 512, 5, 5 data_iter, vocab =
阅读全文
posted @ 2023-10-02 16:54
lipu123
摘要:现在我们已经了解了word2vec模型的技术细节和⼤致的训练⽅法,让我们来看看它们的实现。具体地说,我们将以跳元模型和负采样为例。本节从用于预训练词嵌⼊模型的数据集开始:数据的原始格式将被转换为可以在训练期间迭代的小批量。 import math import os import random im
阅读全文
posted @ 2023-10-02 11:53
lipu123
摘要:跳元模型的主要思想是使⽤softmax运算来计算基于给定的中⼼词\(w_c\)⽣成 上下文字\(w_o\)的条件概率。 由于softmax操作的性质,上下文词可以是词表V中的任意项,也就是说可以是词表(通常有几十万或数百万个单词)中的所有词,包含与整个词表⼤⼩⼀样多的项的求和。因此,跳元模型的梯度计
阅读全文
posted @ 2023-10-02 10:37
lipu123
摘要:要理解文本,我们可以从学习它的表⽰开始。利⽤来⾃⼤型语料库的现有⽂本序列,自监督学习(selfsupervised learning)已被⼴泛⽤于预训练⽂本表⽰,例如通过使⽤周围⽂本的其它部分来预测⽂本的隐藏部分。通过这种⽅式,模型可以通过有监督地从海量⽂本数据中学习,而不需要昂贵的标签标注! 本章
阅读全文
posted @ 2023-09-29 21:43
lipu123
摘要:从上下文无关到上下文敏感 例如,word2vec和GloVe都将相同的预训练向量分配给同⼀个词,而不考虑词的上下文(如果有的话)。形式上,任何词元\(x\)的上下文无关表示是函数\(f(x)\),其仅将\(x\)作为其输入。考虑到自然语言中丰富的多义现象和复杂的语义,上下文无关表示具有明显的局限性。
阅读全文
posted @ 2023-09-26 16:21
lipu123
摘要:Self-supervised Learning 首先我们看一下什么是Supervised Learning呢? 其实就是我们输入一个\(x\),经过一个model,然后我们输出一个\(y\)。但是我们需要label标签。比如说我们来判断一篇文章是正面的还是负面的。我们需要先找一大堆文章来,然后标注
阅读全文
posted @ 2023-09-25 21:05
lipu123