
动手学深度学习
文章平均质量分 95
MaTF_
这个作者很懒,什么都没留下…
展开
-
《动手学深度学习》——深度学习计算
将输入数据作为其前向传播函数的参数。通过前向传播函数来生成输出。请注意,输出的形状可能与输入的形状不同。例如,我们上面模型中的第一个全连接的层接收一个 20 维的输入,但是返回一个维度为 256 的输出。计算其输出关于输入的梯度,可通过其反向传播函数进行访问。通常这是自动发生的。存储和访问前向传播计算所需的参数。根据需要初始化模型参数。class MLP(nn . Module) : # 用模型参数声明层。原创 2023-07-06 21:33:09 · 2061 阅读 · 0 评论 -
《动手学深度学习》——多层感知机
由于 Sigmoid 函数的导数在输入距离 0 较远的时候非常接近 0 ,所以在反向传播的时候很可能导致某个参数的梯度为 0。在前向传播过程中,计算每一内部层的同时注入噪声,在整个训练过程的每一次迭代中,标准暂退法包括在计算下一层之前将当前层中的一些节点。如果我们不指定初始化方法, 框架将使用默认的随机初始化方法,对于中等难度的问题,这种方法通常很有效。如果我们不指定初始化方法, 框架将使用默认的随机初始化方法,对于中等难度的问题,这种方法通常很有效。较小的参数对输入不敏感,所以可能拥有更好的泛化性能。原创 2023-07-06 21:29:53 · 674 阅读 · 0 评论 -
《动手学深度学习》——预测房价
这里又产生一个问题,既然我们最终想得到一个相对误差较小的预测模型,那为什么我们在更新模型参数时,选择的损失函数是均方误差,而不是直接使用对数均方误差呢?由于数据的特征之间在数量级和单位上可能有较大的差异,一种比较简单的处理方式是对所有。个人理解:因为最小化均方误差的本质是参数的极大似然估计,这是符合统计理论的。上述代码中,又有两处需要我们实现,其一是用于获取小批量样本迭代器的。观察上面的代码,共有两处需要我们实现,其一是获得模型。上面的代码中,需要我们实现划分训练集和验证集的。,另一个是衡量误差的。原创 2023-07-06 21:28:51 · 749 阅读 · 0 评论 -
《动手学深度学习》——线性神经网络
def linreg(X , w , b) : """线性回归模型""" return torch . matmul(X , w) + bdef squared_loss(y_hat , y) : """均方损失""" # 这里的y.reshape其实是没有必要的,因为labels在前面已经reshape过了 return(y_hat - y . reshape(y_hat . shape)) ** 2 / 2。原创 2023-07-04 16:32:51 · 2761 阅读 · 1 评论 -
《动手学深度学习》——预备知识
torch 里的 tensor 与 numpy 中的 ndarray 相比,能更好地支持 GPU 加速计算,且支持自动微分。,我们可以传入一个概率向量,输出是另一个相同长度的向量:它在索引。个人感觉广播机制不必深究,在编程时还是尽量保证张量形状一致为好。这部分和 Python 相似:“起点:终点:步长”(左闭右开)。之类的函数,但却并不希望降维,则可以指定。标量、向量、矩阵均可以看作特殊的张量。,我们可以这样理解:原本。在某些情况下,我们希望使用。函数只能作用于向量,使用。,假如我们希望在计算。原创 2023-07-03 21:22:42 · 336 阅读 · 0 评论