PyTorch
文章平均质量分 60
白云如幻
坚持,终将收获更好的自己。一位来自98年的程序员;在一个偶然的机会下接触到程序员这个职业,沉醉其中,喜欢安安静静的写代码,在代码的世界里奔跑。
展开
-
深度学习-随机梯度下降
在训练过程中使用随机梯度下降,但没有解释它为什么起作用。为了澄清这一点,将继续更详细地说明。在深度学习中,目标函数通常是训练数据集中每个样本的损失函数的平均值。因此,当训练数据集较大时,每次迭代的梯度下降计算代价将较高。如果使用梯度下降法,则每个自变量迭代的计算代价为。然后我们得到目标函数。个样本的训练数据集,我们假设。的训练样本的损失函数,其中。的目标函数的梯度计算为。原创 2024-02-04 15:52:58 · 623 阅读 · 0 评论 -
计算机视觉-阅读内容和风格图像
首先,我们读取内容和风格图像。从打印出的图像坐标轴可以看出,它们的尺寸并不一样。原创 2024-02-04 01:10:52 · 584 阅读 · 0 评论 -
自然语言推断:微调BERT
在下面,我们提供了两个版本的预训练的BERT:“bert.base”与原始的BERT基础模型一样大,需要大量的计算资源才能进行微调,而“bert.small”是一个小版本,以便于演示。自然语言推断是一个序列级别的文本对分类问题,而微调BERT只需要一个额外的基于多层感知机的架构,如下图中所示。在练习中,我们将展示如何微调大得多的“bert.base”以显著提高测试精度。两个预训练好的BERT模型都包含一个定义词表的“vocab.json”文件和一个预训练参数的“pretrained.params”文件。原创 2024-01-27 00:10:04 · 735 阅读 · 0 评论 -
自然语言处理-文本标注
例如,斯坦福问答数据集(Stanford Question Answering Dataset,SQuAD v1.1)由阅读段落和问题组成,其中每个问题的答案只是段落中的一段文本(文本片段)。如,在Penn树库II标注集中,句子“John Smith‘s car is new”应该被标记为“NNP(名词,专有单数)NNP POS(所有格结尾)NN(名词,单数或质量)VB(动词,基本形式)JJ(形容词)”。预测文本片段的结束与上面相同,只是其额外的全连接层中的参数与用于预测开始位置的参数无关。原创 2024-01-26 03:55:39 · 749 阅读 · 0 评论 -
自然语言处理-文本对分类或回归
是一个流行的“文本对回归”任务。例如,在语义文本相似度基准数据集(Semantic Textual Similarity Benchmark)中,句子对的相似度得分是从0(无语义重叠)到5(语义等价)的分数区间。对于文本对回归任务(如语义文本相似性),可以应用细微的更改,例如输出连续的标签值和使用均方损失:它们在回归中很常见。”),“A woman is eating meat.”(“一个女人在吃肉。”),“An air plane is taking off.”(“一架飞机正在起飞。”),0.000分。原创 2024-01-26 03:49:27 · 1639 阅读 · 0 评论 -
自然语言处理-针对序列级和词元级应用微调BERT
在微调期间,不同应用之间的BERT所需的“最小架构更改”是额外的全连接层。在下游应用的监督学习期间,额外层的参数是从零开始学习的,而预训练BERT模型中的所有参数都是微调的。除了我们在这一章中探讨的情感分析之外,语言可接受性语料库(Corpus of Linguistic Acceptability,COLA)也是一个单文本分类的数据集,它的要求判断给定的句子在语法上是否可以接受。这些模型在有空间或时间限制的情况下是有帮助的,但是,为每个自然语言处理任务精心设计一个特定的模型实际上是不可行的。原创 2024-01-26 03:46:41 · 640 阅读 · 0 评论 -
自然语言推断:注意力之注意(Attending)
第一步是将一个文本序列中的词元与另一个序列中的每个词元对齐。假设前提是“我确实需要睡眠”,假设是“我累了”。由于语义上的相似性,我们不妨将假设中的“我”与前提中的“我”对齐,将假设中的“累”与前提中的“睡眠”对齐。同样,我们可能希望将前提中的“我”与假设中的“我”对齐,将前提中的“需要”和“睡眠”与假设中的“累”对齐。请注意,这种对齐是使用加权平均的“软”对齐,其中理想情况下较大的权重与要对齐的词元相关联。我们计算假设中所有词元向量的加权平均值,以获得假设的表示,该假设与前提中索引。次计算(二次复杂度)。原创 2024-01-21 01:28:41 · 393 阅读 · 0 评论 -
自然语言推断:使用注意力
鉴于许多模型都是基于复杂而深度的架构,Parikh等人提出用注意力机制解决自然语言推断问题,并称之为“可分解注意力模型”。本节将描述并实现这种基于注意力的自然语言推断方法(使用MLP),如下图中所述。与保留前提和假设中词元的顺序相比,我们可以将一个文本序列中的词元与另一个文本序列中的每个词元对齐,然后比较和聚合这些信息,以预测前提和假设之间的逻辑关系。与机器翻译中源句和目标句之间的词元对齐类似,前提和假设之间的词元对齐可以通过注意力机制灵活地完成。上图描述了使用注意力机制的自然语言推断方法。原创 2024-01-21 01:21:19 · 421 阅读 · 0 评论 -
深度学习-自然语言推断
斯坦福自然语言推断语料库(Stanford Natural Language Inference,SNLI)是由500000多个带标签的英语句子对组成的集合。例如,下面的一个文本对将被贴上“蕴涵”的标签,因为假设中的“表白”可以从前提中的“拥抱”中推断出来。第三个例子显示了一种“中性”关系,因为“正在为我们表演”这一事实无法推断出“出名”或“不出名”。下面是一个“矛盾”的例子,因为“运行编码示例”表示“不睡觉”,而不是“睡觉”。(contradiction):假设的否定可以从前提中推断出来。原创 2024-01-21 01:16:44 · 542 阅读 · 0 评论 -
Pytorch数据操作
也就是说,如果我们的目标形状是(高度,宽度), 那么在知道宽度后,高度会被自动计算得出,不必我们自己做除法。在上面的例子中,为了获得一个3行的矩阵,我们手动指定了它有3行和4列。从形状为(12,)的行向量转换为形状为(3,4)的矩阵。这个新的张量包含与转换前相同的值,但是它被看成一个3行4列的矩阵。注意,通过改变张量的形状,张量的大小不会改变。如果只想知道张量中元素的总数,即形状的所有元素乘积,可以检查它的大小(size)。我们可以创建一个形状为(2,3,4)的张量,其中所有元素都设置为0。原创 2024-01-21 01:13:34 · 591 阅读 · 0 评论 -
自然语言处理-情感分析及数据集
(sentiment analysis)研究人们在文本中 (如产品评论、博客评论和论坛讨论等)“隐藏”的情绪。由于情感可以被分类为离散的极性或尺度(例如,积极的和消极的),我们可以将情感分析看作一项文本分类任务,它将可变长度的文本序列转换为固定长度的文本类别。在这两个数据集中,“积极”和“消极”标签的数量相同,表示不同的情感极性。正如我们所料,评论的长度各不相同。为了每次处理一小批量这样的评论,我们通过截断和填充将每个评论的长度设置为500。随着在线社交媒体和评论平台的快速发展,大量评论的数据被记录下来。原创 2024-01-09 14:46:30 · 767 阅读 · 0 评论 -
深度学习工具-Jupyter Notebook使用
标记单元格中的内容包括“This Is a Title”和“This is text.”。当一个notebook包含更多单元格时,我们可以单击菜单栏中的“Kernel”\(\rightarrow\)“Restart & Run All”来运行整个notebook中的所有单元格。通过单击菜单栏中的“Help”\(\rightarrow\)“Edit Keyboard Shortcuts”,可以根据你的首选项编辑快捷键。在单元格末尾添加一个新的文本字符串“Hello world.”,如下图所示。原创 2024-01-07 23:47:28 · 648 阅读 · 0 评论 -
计算机视觉技术-语义分割
与目标检测不同,语义分割可以识别并理解图像中每一个像素的内容:其语义区域的标注和预测是像素级的。与目标检测相比,语义分割标注的像素级的边框显然更加精细。它在训练时不需要有关图像像素的标签信息,在预测时也无法保证分割出的区域具有我们希望得到的语义。上图中的图像作为输入,图像分割可能会将狗分为两个区域:一个覆盖以黑色为主的嘴和眼睛,另一个覆盖以黄色为主的其余部分身体。与语义分割不同,实例分割不仅需要区分语义,还要区分不同的目标实例。例如,如果图像中有两条狗,则实例分割需要区分像素属于的两条狗中的哪一条。原创 2024-01-07 17:47:02 · 386 阅读 · 0 评论 -
计算机视觉技术-区域卷积神经网络(R-CNN)
本节将介绍R-CNN及其一系列改进方法:快速的R-CNN(Fast R-CNN) (Girshick, 2015)、更快的R-CNN(Faster R-CNN) (Ren et al., 2015)和掩码R-CNN(Mask R-CNN) (He et al., 2017)。作为端到端训练的结果,区域提议网络能够学习到如何生成高质量的提议区域,从而在减少了从数据中学习的提议区域的数量的情况下,仍保持目标检测的精度。这些形状各异的提议区域在卷积神经网络的输出上分别标出了形状各异的兴趣区域。原创 2024-01-06 19:11:56 · 556 阅读 · 0 评论 -
计算机视觉技术-单发多框检测(SSD)
这样一来,基于该特征图生成的锚框数量较多,可以用来检测尺寸较小的目标。接下来的每个多尺度特征块将上一层提供的特征图的高和宽缩小(如减半),并使特征图中每个单元在输入图像上的感受野变得更广阔。由于接近下图顶部的多尺度特征图较小,但具有较大的感受野,它们适合检测较少但较大的物体。简而言之,通过多尺度特征块,单发多框检测生成不同大小的锚框,并通过预测边界框的类别和偏移量来检测大小不同的目标,因此这是一个多尺度目标检测模型。尽管这只是其中一种目标检测模型,但本节中的一些设计原则和实现细节也适用于其他模型。原创 2024-01-03 17:38:03 · 423 阅读 · 0 评论 -
计算机视觉技术-目标检测数据集
目标检测领域没有像MNIST和Fashion-MNIST那样的小数据集。为了快速测试目标检测模型,我们收集并标记了一个小型数据集。首先,我们拍摄了一组香蕉的照片,并生成了1000张不同角度和大小的香蕉图像。然后,我们在一些背景图片的随机位置上放一张香蕉的图像。最后,我们在图片上为这些香蕉标记了边界框。包含所有图像和CSV标签文件的香蕉检测数据集可以直接从互联网下载。原创 2023-12-31 01:23:45 · 391 阅读 · 1 评论 -
人工智能-计算机视觉之图像增广
图像增广在对训练图像进行一系列的随机变化之后,生成相似但不同的训练样本,从而扩大了训练集的规模。此外,应用图像增广的原因是,随机改变训练样本可以减少模型对某些属性的依赖,从而提高模型的泛化能力。例如,我们可以以不同的方式裁剪图像,使感兴趣的对象出现在不同的位置,减少模型对于对象出现位置的依赖。我们还可以调整亮度、颜色等因素来降低模型对颜色的敏感度。可以说,图像增广技术对于AlexNet的成功是必不可少的。大多数图像增广方法都具有一定的随机性。为了便于观察图像增广的效果,我们下面定义辅助函数。原创 2023-12-20 00:17:22 · 519 阅读 · 0 评论 -
人工智能-循环神经网络通过时间反向传播
这在计算上是不可行的(它需要的时间和内存都太多了), 并且还需要超过1000个矩阵的乘积才能得到非常难以捉摸的梯度。计算全部总和, 然而,这样的计算非常缓慢,并且可能会发生梯度爆炸, 因为初始条件的微小变化就可能会对结果产生巨大的影响。也就是说,我们可以观察到类似于蝴蝶效应的现象, 即初始条件的很小变化就会导致结果发生不成比例的变化。第三,我们真正想要的是只有短范围交互的模型。为了更好地理解此问题,本节将回顾序列模型梯度的计算方式, 它的工作原理没有什么新概念,毕竟我们使用的仍然是链式法则来计算梯度。原创 2023-11-18 18:14:37 · 610 阅读 · 0 评论 -
人工智能-深度学习之文本预处理
对于序列数据处理问题, 这样的数据存在许多种形式,文本是最常见例子之一。例如,一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。本节中,我们将解析文本的常见预处理步骤。这些步骤通常包括:将文本作为字符串加载到内存中。将字符串拆分为词元(如单词和字符)。建立一个词表,将拆分的词元映射到数字索引。将文本转换为数字索引序列,方便模型操作。原创 2023-11-17 14:14:14 · 333 阅读 · 0 评论 -
人工智能-深度学习之序列模型
一名忠实的用户会对每一部电影都给出评价, 毕竟一部好电影需要更多的支持和认可。随着时间的推移,人们对电影的看法会发生很大的变化。例如,奥斯卡颁奖后,受到关注的电影的评分会上升,尽管它还是原来那部电影。因此,在许多精彩的电影被看过之后,即使是一部普通的也可能被认为是糟糕的。地震具有很强的相关性,即大地震发生后,很可能会有几次小余震, 这些余震的强度比非大地震后的余震要大得多。事实上,地震是时空相关的,即余震通常发生在很短的时间跨度和很近的距离内。人类之间的互动也是连续的,这可以从微博上的争吵和辩论中看出。原创 2023-11-16 13:54:25 · 86 阅读 · 0 评论 -
人工智能-深度卷积神经网络(AlexNet)
计算机视觉研究人员相信,从对最终模型精度的影响来说,更大或更干净的数据集、或是稍微改进的特征提取,比任何学习算法带来的进步要大得多。在传统机器学习方法中,计算机视觉流水线是由经过人的手工精心设计的特征流水线组成的。对于这些传统方法,大部分的进展都来自于对特征有了更聪明的想法,并且学习到的算法往往归于事后的解释。这是因为虽然LeNet在小数据集上取得了很好的效果,但是在更大、更真实的数据集上训练卷积神经网络的性能和可行性还有待研究。将提取的特征送入最喜欢的分类器中(例如线性模型或其它核方法),以训练分类器。原创 2023-11-11 00:40:36 · 204 阅读 · 0 评论 -
人工智能-卷积神经网络(LeNet)
第一个卷积层使用2个像素的填充,来补偿\(5 \times 5\)卷积核导致的特征减少。随着层叠的上升,通道的数量从输入时的1个,增加到第一个卷积层之后的6个,再到第二个卷积层之后的16个。这里的二维表示的第一个维度索引小批量中的样本,第二个维度给出每个样本的平面向量表示。为了能够应用softmax回归和多层感知机,我们首先将每个大小为\(28\times28\)的图像展平为一个784维的固定长度的一维向量,然后用全连接层对其进行处理。同时,用卷积层代替全连接层的另一个好处是:模型更简洁、所需的参数更少。原创 2023-11-09 02:19:08 · 218 阅读 · 0 评论 -
人工智能-深度学习之延后初始化
识别出第一层的形状后,框架处理第二层,依此类推,直到所有形状都已知为止。注意,在这种情况下,只有第一层需要延迟初始化,但是框架仍是按顺序初始化的。在以后,当使用卷积神经网络时, 由于输入维度(即图像的分辨率)将影响每个后续层的维数, 有了该技术将更加方便。此时,因为输入维数是未知的,所以网络不可能知道输入层权重的维数。因此,框架尚未初始化任何参数,我们通过尝试访问以下参数进行确认。注意,当参数对象存在时,每个层的输入维度为-1。我们在初始化参数时,甚至没有足够的信息来确定模型应该包含多少参数。原创 2023-11-06 00:55:07 · 310 阅读 · 0 评论