李沐《动手学深度学习》学习笔记
文章平均质量分 97
李沐《动手学深度学习》学习笔记
丁希希哇
这个作者很懒,什么都没留下…
展开
-
李沐《动手学深度学习》优化算法(经典优化算法)
Adam算法是一种用于优化神经网络训练的自适应学习率优化算法。它结合了动量梯度下降和自适应学习率方法的优点,具有广泛的应用和高效的性能。原创 2024-03-01 11:40:35 · 1097 阅读 · 0 评论 -
李沐《动手学深度学习》优化算法(相关概念、梯度下降法、牛顿法)
凸集凸集(convex set)是凸性的基础如果对于任何ab∈χab∈χ,连接aaa和bbb的线段也位于χ\chiχ中,则向量空间中的一个集合χ\chiχλa1−λb∈χ当ab∈χ\lambda a+(1-\lambda)b\in \chi,当a,b\in \chiλa1−λb∈χ当ab∈χ凸集的交集是凸的,并集不是凸函数给定一个凸集χ\chiχ,如果对于所有xxxx′∈χx'\in \chix′∈χ。原创 2024-02-29 14:09:05 · 1358 阅读 · 0 评论 -
李沐《动手学深度学习》注意力机制
AttentionDecoder类:定义带有注意力机制解码器的基本接口#@save"""带有注意力机制解码器的基本接口"""@property#初始化解码器状态# outputs的形状为(batch_size,num_steps,num_hiddens).# hidden_state的形状为(num_layers,batch_size,num_hiddens)# enc_outputs的形状为(batch_size,num_steps,num_hiddens).原创 2024-02-06 20:14:14 · 1982 阅读 · 0 评论 -
李沐《动手学深度学习》循环神经网络 经典网络模型
系列文章李沐《动手学深度学习》预备知识 张量操作及数据处理李沐《动手学深度学习》预备知识 线性代数及微积分李沐《动手学深度学习》线性神经网络 线性回归李沐《动手学深度学习》线性神经网络 softmax回归李沐《动手学深度学习》多层感知机 模型概念和代码实现李沐《动手学深度学习》多层感知机 深度学习相关概念李沐《动手学深度学习》深度学习计算李沐《动手学深度学习》卷积神经网络 相关基础概念李沐《动手学深度学习》卷积神经网络 经典网络模型李沐《动手学深度学习》循环神经网络 相关基础概念目录系原创 2024-02-04 13:36:28 · 1519 阅读 · 0 评论 -
李沐《动手学深度学习》循环神经网络 相关基础概念
涉及到一个、两个和三个变量的概率公式分别被称为一元语法、二元语法和三元语法模型,n元语法通过截断相关性,为处理长序列提供了一种实用的模型。可以计算为任何以单词“deep”开头的句子的概率,一种方法是统计单词“deep”在数据集中的出现次数,然后除以整个语料库的单词总数。等捕获并保留了序列直到其当前时间步的历史信息, 就如当前时间步下神经网络的状态或记忆, 因此这样的隐藏变量被称为隐状态。,由于不同时间步下,循环神经网络也是使用这些模型参数,因此循环神经网络的参数开销不会随着时间步的增加而增加。原创 2024-01-30 13:53:23 · 1309 阅读 · 0 评论 -
李沐《动手学深度学习》卷积神经网络 经典网络模型
DenseBlock中的非线性组合函数采用的是BN+ReLU+3x3Conv的结构。原创 2024-01-27 10:44:27 · 1790 阅读 · 0 评论 -
李沐《动手学深度学习》卷积神经网络 相关基础概念
当我们处理图像时,我们希望逐渐降低隐藏表示的空间分辨率、聚集信息,这样随着我们在神经网络中层叠的上升,每个神经元对其敏感的感受野(输入)就越大。通过逐渐聚合信息,生成越来越粗糙的映射,最终实现学习全局表示的目标,同时将卷积图层的所有优势保留在中间层。下图是使用1x1卷积核与3个输入通道和2个输出通道的互相关计算,这里的输入和输出具有相同的高度和宽度,输出中的每个元素都是从输入图像中同一位置的线性组合。不管检测对象出现在图像中的哪个位置,神经网络的前面几层应该对相同的图像区域具有相似的反应;原创 2024-01-25 10:12:22 · 1380 阅读 · 0 评论 -
李沐《动手学深度学习》深度学习计算
深度学习框架提供默认随机初始化, 也允许我们创建自定义初始化方法, 满足我们通过其他规则实现初始化权重。内置初始化:PyTorch的nn.init模块提供了多种预置初始化方法自定义初始化使用以下的分布为任意权重参数wwwwU510可能性 0.250可能性 0.5U−10−5可能性 0.25wU(5,10) & \text{可能性 0.25 } \\0 & \text{可能性 0.5}\\U(-10,-5) & \text{可能性 0.25}w⎩⎨⎧U。原创 2024-01-21 09:53:26 · 1374 阅读 · 0 评论 -
李沐《动手学深度学习》多层感知机 深度学习相关概念
对于深度学习框架的高级API,只需在每个全连接层之后添加一个Dropout层, 将暂退概率作为唯一的参数传递给它的构造函数。在训练时,Dropout层将根据指定的暂退概率随机丢弃上一层的输出(相当于下一层的输入)。在实际中,我们只能通过将模型应用于一个独立的测试集来估计泛化误差, 该测试集由随机选取的、未曾在训练集中出现的数据样本构成。在整个训练过程的每一次迭代中,标准暂退法包括在计算下一层之前将当前层中的一些节点置零。在标准暂退法正则化中,通过按保留(未丢弃)的节点的分数进行规范化来消除每一层的偏差。原创 2024-01-20 10:45:15 · 1029 阅读 · 0 评论 -
李沐《动手学深度学习》多层感知机 模型概念和代码实现
隐藏层数目和隐藏单元数视为超参数,一般选择2的若干次幂为层的宽度, 因为内存在硬件中的分配和寻址方式,这么做往往可以在计算上更高效。当输入为0时,sigmoid函数的导数达到最大值0.25,输入在任一方向越远离0点时,导数越接近0。导入相关库,设置批量大小为256,调用load_data_fashion_mnist函数获取数据集。当输入接近0时,tanh函数的导数接近最大值1,输入在任一方向越远离0点时,导数越接近0。多层感知机架构:将许多全连接层堆叠在一起,每一层都输出到上面的层,直到生成最后的输出。原创 2024-01-19 13:27:00 · 1262 阅读 · 0 评论 -
李沐《动手学深度学习》线性神经网络 softmax回归
softmaxXijexpXij∑kexpXiksoftmaxXij∑kexpXikexpXij对每个项求幂(使用exp);对每一行求和(小批量中每个样本是一行),得到每个样本的规范化常数;将每一行除以其规范化常数,确保结果的和为1。return X_exp / partition # 这里应用了广播机制使用reshape函数将每张原始图像展平为向量。原创 2024-01-18 22:05:08 · 1475 阅读 · 2 评论 -
李沐《动手学深度学习》线性神经网络 线性回归
使用 平方损失函数。在实现中,我们需要将真实值y的形状转换为和预测值y_hat的形状相同。使用小批量随机梯度下降法进行优化。对于标准深度学习模型,我们可以使用框架的预定义好的层。这使我们只需关注使用哪些层来构造模型,而不必关注层的实现细节。torch.nn.Sequential 是一个容器模块,它按顺序包含了其他模块(layers)。这个容器允许将一系列的神经网络层按照顺序组合在一起,形成一个更大的网络模型。Sequential 类提供了一种简单的方式来构建和组织神经网络模型,尤其适用于顺序堆叠的层结构。原创 2024-01-09 16:01:33 · 1970 阅读 · 0 评论 -
李沐 《动手学深度学习》预备知识 线性代数与微积分
假设y是作为x的函数计算的,而z则是作为y和x的函数计算的。向量的长度通常称为向量的维度(dimension),与普通的Python数组一样,可以通过调用Python的内置len()函数来访问张量的长度。使用自动微分的一个好处是: 即使构建函数的计算图需要通过Python控制流(例如,条件、循环或任意函数调用),我们仍然可以计算得到的变量的梯度。深度学习框架可以自动计算导数:我们首先将梯度附加到想要对其计算偏导数的变量上,然后记录目标值的计算,执行它的反向传播函数,并访问得到的梯度。原创 2024-01-08 20:44:13 · 968 阅读 · 0 评论 -
李沐《动手学深度学习》预备知识 张量操作与数据处理
这样的例子还有:(4,6)和(1,6)。(3,5,6)和(1,5,6)、(3,1,6)、(3,5,1),后面三个分别会沿着0轴,1轴,2轴进行广播。广播的原则:如果两个数组的后缘维度(trailing dimension,即从末尾开始算起的维度)的轴长度相符,或其中的一方的长度为1,则认为它们是广播兼容的。从下面的图可以看到,(3,4,2)和(4,2)的维度是不相同的,前者为3维,后者为2维。同样,还有一些例子:(4,2,3)和(2,3)是兼容的,(4,2,3)还和(3)是兼容的,后者需要在。原创 2024-01-08 12:28:55 · 1236 阅读 · 1 评论