![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
李沐深度学习
文章平均质量分 77
JennnyZhang
Uestc-cs 研0 (CV) 攻克深度学习中
展开
-
54 循环神经网络 RNN【动手学深度学习v2】
循环神经网络 RNN基础知识原创 2024-04-24 10:38:43 · 239 阅读 · 0 评论 -
53 语言模型【动手学深度学习v2】
https://www.bilibili.com/read/cv17622666/?jump_opus=1https://www.bilibili.com/read/cv17622666/?jump_opus=1原创 2024-04-23 16:42:36 · 430 阅读 · 0 评论 -
52 文本预处理【动手学深度学习v2】
建立一个词表,将拆分的词元映射到数字索引;将文本转换为数字索引序列,方便模型操作。将字符串拆分为词元(如单词和字符)。将文本作为字符串加载到内存中。原创 2024-04-22 21:53:06 · 526 阅读 · 0 评论 -
51 序列模型【动手学深度学习v2】
介绍了序列模型,主要讨论了RNN和NLP在处理序列数据中的应用。视频提到了时间信息对模型的影响,以及数据序列的常见特征和应用场景。视频还介绍了序列数据的建模方法,包括使用马尔科夫假设和MLP模型。最后,视频提到了潜变量模型的应用。通过这个视频,可以了解到序列模型的基本概念和应用。原创 2024-04-10 12:04:14 · 266 阅读 · 0 评论 -
49 样式迁移【李沐动手学深度学习v2课程笔记】
因为合成图片是样式迁移所需迭代的模型参数,所以只能在训练的过程中抽取合成图片的内容特征和样式特征。合成图片保留了内容图片的内容,并同时迁移了样式图片的样式。原创 2024-04-09 17:48:45 · 967 阅读 · 0 评论 -
48 全连接卷积神经网络 FCN【动手学深度学习v2】
如 下图所示,全卷积网络先使用卷积神经网络抽取图像特征,然后通过1×1卷积层将通道数变换为类别个数,最后通过转置卷积层将特征图的高和宽变换为输入图像的尺寸。因此,模型输出与输入图像的高和宽相同,且最终输出通道包含了该空间位置像素的类别预测。出于对训练速度的考虑,本节网络中的1*1卷积层,将7*7*512的数据结构直接压缩到了7*7*class_num,造成了较大的信息损失,若要对预测效果进行进一步优化的话可以调节这一层。全连接卷积神经网络:神经网络处理语义分割问题的奠基性工作,目前已不太常用。原创 2024-04-09 17:26:51 · 478 阅读 · 0 评论 -
47 转置卷积【李沐动手学深度学习v2课程笔记】
卷积层和汇聚层通常会减少下采样输入图像的空间维度(高和宽),卷积通常来说不会增大输入的高和宽,要么保持高和宽不变,要么会将高宽减半,很少会有卷积将高宽变大的。如果输入和输出图像的空间维度相同,会便于以像素级分类的语义分割:输出像素所处的通道维可以保有输入像素在同一位置上的分类结果(为实现输入和输出的空间维度的一致,在空间维度被卷积神经网络层缩小后,可以使用转置卷积增加上采样中间层特征图的空间维度)需要注意的是,转置卷积的使用需要根据具体的任务和网络架构进行调整,包括选择合适的参数和结合其他操作。原创 2024-04-09 17:10:06 · 408 阅读 · 0 评论 -
46 语义分割和数据集【李沐动手学深度学习v2课程笔记】
由于语义分割的输入图像和标签在像素上一一对应,输入图像会被随机裁剪为固定尺寸而不是缩放。语义分割通过将图像划分为属于不同语义类别的区域,来识别并理解图像中像素级别的内容。语义分割的一个重要的数据集叫做Pascal VOC2012。13.9. 语义分割和数据集。原创 2024-04-09 16:21:11 · 340 阅读 · 0 评论 -
44 物体检测算法:R-CNN,SSD,YOLO【李沐动手学深度学习v2课程笔记】
对每个像素生成多个以它为中心的多个锚框上图中绿色的点表示 SSD从图中可以看出,SSD 相对于Faster RCNN 来讲速度快很多,但是精度不是太好SSD 的实现相对来讲比较简单,R-CNN 系列代码的实现非常困难。原创 2024-03-20 18:06:09 · 1050 阅读 · 0 评论 -
41 物体检测和目标检测数据集【李沐动手学深度学习v2课程笔记】
我们使用输入图像在某个感受野区域内的信息,来预测输入图像上与该区域位置相近的锚框类别和偏移量。目标检测不仅可以识别图像中所有感兴趣的物体,还能识别它们的位置,该位置通常由矩形边界框表示。我们可以在两种常用的边界框表示(中间,宽度,高度)和(左上,右下)坐标之间进行转换。我们可以通过深入学习,在多个层次上的图像分层表示进行多尺度目标检测。通过定义特征图的形状,我们可以决定任何图像上均匀采样的锚框的中心。在多个尺度下,我们可以生成不同尺寸的锚框来检测不同尺寸的目标。原创 2024-03-20 17:17:51 · 392 阅读 · 0 评论 -
37 微调(迁移学习)【动手学深度学习v2】(备注:这一节非常重要)
前面的一些章节介绍了如何在只有6万张图像的Fashion-MNIST训练数据集上训练模型。我们还描述了学术界当下使用最广泛的大规模图像数据集ImageNet,它有超过1000万的图像和1000类的物体。然而,我们平常接触到的数据集的规模通常在这两者之间。假如我们想识别图片中不同类型的椅子,然后向用户推荐购买链接。一种可能的方法是首先识别100把普通椅子,为每把椅子拍摄1000张不同角度的图像,然后在收集的图像数据集上训练一个分类模型。原创 2024-03-20 11:26:06 · 787 阅读 · 0 评论 -
36 数据增广【李沐动手学深度学习v2课程笔记】
在下面的示例中,我们随机更改图像的亮度,随机值为原始图像的50%(1−0.5)到150%(1+0.5)之间。为了在预测过程中得到确切的结果,我们通常对训练样本只进行图像增广,且在预测过程中不使用随机操作的图像增广。该函数获取所有的GPU,并使用Adam作为训练的优化算法,将图像增广应用于训练集,最后调用刚刚定义的用于训练和评估模型的。为了在预测过程中得到确切的结果,我们通常对训练样本只进行图像增广,而在预测过程中不使用带随机操作的图像增广。在我们使用的示例图像中,猫位于图像的中间,但并非所有图像都是这样。原创 2024-03-12 16:25:25 · 879 阅读 · 1 评论 -
29.2 ResNet为什么能训练出1000层的模型【李沐动手学深度学习v2课程笔记】
从梯度大小的角度来解释,residual connection 使得靠近数据的层的权重 w 也能够获得比较大的梯度,因此,不管网络有多深,下面的层都是可以拿到足够大的梯度,使得网络能够比较高效地更新。靠近数据端的权重 w 难以训练,但是由于加入了跨层数据通路,所以在计算梯度的时候,上层的loss可以通过跨层连接通路直接快速地传递给下层,所以在一开始,下面的层也能够拿到比较大的梯度。将乘法运算变成加法运算(ResNet就是这么做的,特别是残差连接(Residual Connection))原创 2024-03-12 11:22:14 · 351 阅读 · 0 评论 -
29 残差网络 ResNet【李沐动手学深度学习v2课程笔记】
ResNet沿用了VGG完整的3×3卷积层设计。残差块里首先有2个有相同输出通道数的3×3卷积层。每个卷积层后接一个批量规范化层和ReLU激活函数。然后我们通过跨层数据通路,跳过这2个卷积运算,将输入直接加在最后的ReLU激活函数前。这样的设计要求2个卷积层的输出与输入形状一样,从而使它们可以相加。3x3卷积层-批量规范化层-ReLU激活函数3x3卷积层-批量规范化层-ReLU激活函数如果想改变通道数,就需要引入一个额外的1×1卷积层来将输入变换成需要的形状后再做相加运算。原创 2024-03-12 11:16:57 · 451 阅读 · 0 评论 -
28 批量归一化【李沐动手学深度学习v2课程笔记】(备注:这一节讲的很迷惑,很乱)
下面,我们从头开始实现一个具有张量的批量规范化层# 通过is_grad_enabled来判断当前模式是训练模式还是预测模式# 如果是在预测模式下,直接使用传入的移动平均所得的均值和方差else:# 使用全连接层的情况,计算特征维上的均值和方差else:# 使用二维卷积层的情况,计算通道维上(axis=1)的均值和方差。# 这里我们需要保持X的形状以便后面可以做广播运算# 训练模式下,用当前的均值和方差做标准化# 更新移动平均的均值和方差。原创 2024-03-11 17:21:45 · 859 阅读 · 0 评论 -
27 含并行连结的网络 GoogLeNet / Inception V3【李沐动手学深度学习v2】
白色框:用来改变通道数蓝色框:用来抽取信息。GoogLeNet模型的计算复杂,而且不如VGG那样便于修改通道数。 为了使Fashion-MNIST上的训练短小的通道数分配和第三模块中的类似,首先是含3×3卷积层的第二条路径输出最多通道,其次是仅含1×1卷积精悍,第五模块包含输出通道数为256+320+128+128=832和384+384+128+128=1024的两个Inception块。 其中每条路径通道数的分配思路和第三、第四模块中的一致,只是在具体数值上有所不同。 需要注意的是,第五模块的后面紧跟输原创 2024-03-11 11:36:06 · 691 阅读 · 0 评论 -
26 网络中的网络 NiN 【李沐动手学深度学习v2课程笔记】
LeNet、AlexNet和VGG都有一个共同的设计模式:通过一系列的卷积层与汇聚层来提取空间结构特征;然后通过全连接层对特征的表征进行处理。AlexNet和VGG对LeNet的改进主要在于如何扩大和加深这两个模块。或者,可以想象在这个过程的早期使用全连接层。然而,如果使用了全连接层,可能会完全放弃表征的空间结构。网络中的网络NiN)提供了一个非常简单的解决方案:在每个像素的通道上分别使用多层感知机 (原创 2024-03-10 21:57:23 · 933 阅读 · 0 评论 -
25 使用块的网络 VGG【李沐动手学深度学习v2课程笔记】
虽然AlexNet证明深层神经网络卓有成效,但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。与芯片设计中工程师从放置晶体管到逻辑元件再到逻辑块的过程类似,神经网络架构的设计也逐渐变得更加抽象。研究人员开始从单个神经元的角度思考问题,发展到整个层,现在又转向的模式。使用块的想法首先出现在牛津大学的的VGG网络中。通过使用循环和子程序,可以很容易地在任何现代深度学习框架的代码中实现这些重复的架构。原创 2024-03-10 21:49:38 · 723 阅读 · 0 评论 -
24 深度卷积神经网络 AlexNet【李沐动手学深度学习v2课程笔记】(备注:含AlexNet和LeNet对比)
2001 Learning with Kernels 核方法 (机器学习)特征工程是关键、特征描述子:SIFT、SURF、视觉词袋(聚类)、最后用。抽取特征、描述集合、(非)凸优化、漂亮定理、如果假设满足了,效果非常好。2010 ImageNet 物体分类数据集:自然物体的彩色图片。计算能力和算法能力在不同阶段的发展能力导致大家在选取上有偏好。特征提取、选择核函数来计算相似性、凸优化问题、漂亮的定理。从上到下依次为样本大小、内存大小、CPU速度。丢弃法、Relu、MaxPooling。原创 2024-03-10 21:39:18 · 1046 阅读 · 0 评论 -
23 经典卷积神经网络 LeNet【李沐动手学深度学习v2课程笔记】 (备注:提到如何把代码从CPU改到在GPU上使用)
本节将介绍LeNet,它是最早发布的卷积神经网络之一,因其在计算机视觉任务中的高效性能而受到广泛关注。这个模型是由AT&T贝尔实验室的研究员Yann LeCun在1989年提出的(并以其命名),目的是识别图像 ()中的手写数字。当时,Yann LeCun发表了第一篇通过反向传播成功训练卷积神经网络的研究,这项工作代表了十多年来神经网络研究开发的成果。当时,LeNet取得了与支持向量机(support vector machines)性能相媲美的成果,成为监督学习的主流方法。原创 2024-03-10 20:10:52 · 875 阅读 · 0 评论 -
22 池化层【李沐动手学深度学习v2课程笔记】
物体稍微变动,结果不会变化太多2x2最大池化写错了,更正如下 (因为汇聚层的主要优点之一是减轻卷积层对位置的过度敏感。是从卷积输出作用过来的)汇聚层的输出通道数与输入通道数相同。用最大汇聚层以及大于1的对于给定输入元素,最大汇聚层会输出该窗口内的最大值,平均汇聚层会输出该窗口内的平均值步幅,可减少空间维度(如高度和宽度)。我们可以指定汇聚层的填充和步幅。原创 2024-03-09 11:38:27 · 724 阅读 · 0 评论 -
21 卷积层里的多输入多输出通道【李沐动手学深度学习v2课程笔记】
1×1卷积,即�ℎ=��=1,看起来似乎没有多大意义。毕竟,卷积的本质是有效提取相邻像素间的相关特征,而1×1卷积显然没有此作用。尽管如此,1×1仍然十分流行,经常包含在复杂深层网络的设计中。因为使用了最小窗口,1×1卷积失去了卷积层的特有能力——在高度和宽度维度上,识别相邻元素间相互作用的能力。简而言之,我们所做的就是对每个通道执行互相关操作,然后将结果相加。在互相关运算中,每个输出通道先获取所有输入通道,再以对应该输出通道的卷积核计算出结果。如下所示,我们实现一个计算多个通道的输出的互相关函数。原创 2024-03-09 11:15:14 · 931 阅读 · 0 评论 -
20 卷积层里的填充和步幅【李沐动手学深度学习v2课程笔记】
当卷积核的高度和宽度不同时,我们可以填充不同的高度和宽度,使输出和输入具有相同的高度和宽度。在如下示例中,我们使用高度为5,宽度为3的卷积核,高度和宽度两边的填充分别为2和1。填充可以增加输出的高度和宽度。这常用来使输出与输入具有相同的高和宽。步幅可以减小输出的高和宽,例如输出的高和宽仅为输入的高和宽的1/�(�是一个大于1的整数)。填充和步幅可用于有效地调整数据的维度。原创 2024-03-08 22:05:43 · 331 阅读 · 0 评论 -
19 卷积层【李沐动手学深度学习v2课程笔记】
在欧几里得几何中,平移是一种几何变换,表示把一幅图像或一个空间中的每一个点在相同方向移动相同距离。比如对图像分类任务来说,图像中的目标不管被移动到图片的哪个位置,得到的结果(标签)应该是相同的,这就是卷积神经网络中的平移不变性。卷积神经网络正是将空间不变性(spatial invariance)的这一概念系统化,从而基于这个模型使用较少的参数来学习有用的表示。,这就是“局部性”原则。最终,可以聚合这些局部特征,以在整个图像级别进行预测。原创 2024-03-08 17:34:20 · 1161 阅读 · 0 评论 -
16 PyTorch 神经网络基础【李沐动手学深度学习v2】
要想直观地了解块是如何工作的,最简单的方法就是自己实现一个。在实现我们自定义块之前,我们简要总结一下每个块必须提供的基本功能。将输入数据作为其前向传播函数的参数。通过前向传播函数来生成输出。请注意,输出的形状可能与输入的形状不同。例如,我们上面模型中的第一个全连接的层接收一个20维的输入,但是返回一个维度为256的输出。计算其输出关于输入的梯度,可通过其反向传播函数进行访问。通常这是自动发生的。存储和访问前向传播计算所需的参数。根据需要初始化模型参数自定义快。原创 2024-03-06 17:25:24 · 959 阅读 · 0 评论 -
15 实战:Kaggle房价预测 + 课程竞赛:加州2020年房价预测【李沐动手学深度学习课程笔记】
15 实战:Kaggle房价预测 + 课程竞赛:加州2020年房价预测【李沐动手学深度学习课程笔记】写在前面:这里格式很乱,代码直接去知乎copy。原创 2024-03-05 15:21:27 · 1383 阅读 · 0 评论 -
14 数值稳定性 + 模型初始化和激活函数【李沐动手学深度学习v2笔记】
神经网络的梯度向量对向量求导(梯度)得到矩阵,太多的矩阵进行乘法会导致常见的两个问题梯度消失和梯度爆炸 MLP MLP使用ReLU作为激活函数 梯度爆炸的问题 输入很大的时候梯度接近为0 梯度消失 梯度消失的问题只能训练比较浅的神经网络 (底层训练不到)总结。原创 2024-03-04 21:26:25 · 334 阅读 · 0 评论 -
13 丢弃法dropout【李沐动手学深度学习v2笔记】
在层之间加入随机噪音加入噪音的一些规则加入噪音后不要改变期望使用丢弃法推理中的丢弃法总结4.6. 暂退法(Dropouthttps://zh.d2l.ai/chapter_multilayer-perceptrons/dropout.htmlimport torch from torch import nn from d2l import torch as d2l def dropout_layer(X, dropout): assert 0原创 2024-03-04 12:58:08 · 1112 阅读 · 0 评论 -
12 权重衰退【李沐动手学深度学习v2课程笔记】
实现这一惩罚最方便的方法是对所有项求平方后并将它们求和。原创 2024-03-04 11:31:20 · 988 阅读 · 0 评论 -
11 模型选择 + 过拟合和欠拟合【李沐动手学深度学习v2课程笔记】
举例-1举例-2训练误差和泛化误差验证数据集和测试数据集K-则检查验证模型选择总结。原创 2024-03-02 21:56:12 · 191 阅读 · 0 评论 -
多层感知机 + 代码实现 - 动手学深度学习v2 | 李沐动手学深度学习课程笔记
感知机≈二分类问题感知机和其他问题的对比训练感知机如果小于等于零,说明预测错啦 ,其实就是同号为正,异号为负举个分类的例子增加样本,改变分类线继续分类感知机的收敛定理XOR问题XOR问题其实就是第1、3象限数值为-1, 第2、4象限数值为1 (即同一类),但是感知机不能拟合XOR问题,总有一个数据会分类错误。【但是下面所描述的多层感知机可以解决这个问题】感知机的小结。原创 2024-03-02 17:39:37 · 376 阅读 · 0 评论 -
Softmax 回归 + 损失函数 + 图片分类数据集【动手学深度学习v2】李沐动手学深度学习课程笔记
回归和分类的区别回归问题举例上节课的预测房价问题,分类问题就是对样本进行分类回归和分类的具体区别假设真实的类别为第i个类别(值为1),其他类别都是假的(值为0),选择i最大化置信度置信度的规则选择i使得置信度远大于其他的类别的置信度置信度相当于概率y hat是一个长为n的向量 下面那个公式的操作是使得和为1,也就是说yi hat可以作为概率,两个Y的区别就可以作为损失softmax的损失函数softmax回归总结。原创 2024-03-01 13:15:35 · 697 阅读 · 0 评论 -
跟李沐学AI-深度学习课程04数据操作
🏷为了能够完成各种数据操作,我们需要某种方法来存储和操作数据。通常,我们需要做两件重要的事:(1)获取数据;(2)将数据读入计算机后对其进行处理。如果没有某种方法来存储数据,那么获取数据是没有意义的。首先,我们介绍n维数组,也称为张量(tensor)。使用过Python中NumPy计算包的读者会对本部分很熟悉。无论使用哪个深度学习框架,它的张量类(在MXNet中为ndarray在PyTorch和TensorFlow中为Tensor)都与Numpy的ndarray类似。原创 2023-11-17 13:20:12 · 388 阅读 · 0 评论 -
跟李沐学AI-深度学习课程00-03【预告、课程安排、深度学习介绍、安装】
使用conda/miniconda环境· 安装需要的包使用上面这个命令行可以极大程度的提高下载速度· 下载代码并执行。原创 2023-11-16 13:48:44 · 349 阅读 · 0 评论