摘要:Pytorch GPU 加速 (拥有Nvidia显卡) 查看自己的 torch 版本型号 >>> torch.__version__ '1.10.1+cpu' 假如你的 torch 版本是和我一样的,那么你就需要安装 CUDA11.1的版本 对应表如下:\(CLICK HERE\) 下载安装CUDA
阅读全文
摘要:自定义层 早在Pytorch 5.1 中我们就有讲过自定义层的实现和原理,具体可以参考我的前两篇文章。 这篇文章主要是补充带参数的层的自定义,和不带参数的层的自定义。 不带参数自定义层 class CenterLayer(nn.Module): # 我们定义其为 a-a的均值 def __init_
阅读全文
摘要:参数管理 对于深度学习,参数可以比喻成耶稣和耶稣的十字架,模型的好坏,跟我们的参数有密切的关系,据此,深入了解 \(Pytorch\) 的参数是如何运行和作用的是十分重要的。 参数访问 我们从单层隐藏层的感知机入手: import torch from torch import nn net = n
阅读全文
摘要:层 此前,我们学习了多层感知机(Multi Layer Perceptron ,MLP) 。神经网络的核心组件是层$(layer)$,它是一种数据处理模块,我们可以将其看作数据过滤器。输入一些数据经过处理后,输出的数据变得更加有用。 块 **块$(block)$**可以描述单个层、由多个层组成的组件
阅读全文
摘要:实战Kaggle比赛:预测房价 我们要使用$Bart de Cock$于2011年收集 \([DeCock, 2011]\), 涵盖了 \(2006-2010\) 年期间亚利桑那州埃姆斯市的房价。来预测房价。 ####step.1下载数据集 我们有两种方式下载数据集 第一种方式是注册一个 \(Kag
阅读全文
摘要:梯度爆炸/消失 梯度消失 : 参数更新过小,在每次更新时几乎不会移动,导致模型无法学习。 %matplotlib inline import torch from d2l import torch as d2l # 梯度消失 参数更新过小,在每次更新时几乎不会移动,导致模型无法学习 x = torc
阅读全文
摘要:前向传播 前向传播(forward propagation或forward pass) 指的是:按顺序(从输入层到输出层)计算和存储神经网络中每层的结果。 为了搞清楚前向传播是如何实现的,我们以简单的例子作为切入点,假设输入的样本是 \(X\in R^{d×1}\) ,隐藏层不包括偏置项 \(b\)
阅读全文
摘要:Waht's Dropout ? 上一节 权重衰减:\(L2\) 正则化 通过介绍添加 \(L_2\) 正则化来减少过拟合的情况的出现。这一节我们使用Dropout Layer 来证明 \(L2\) 正则化的正确性。 Dropout 的意思是每次训练的时候随机损失掉一些神经元, 这些神经元被Drop
阅读全文
摘要:##正则化 ###预备知识 ####1.范数 距离的定义是一个宽泛的概念。只要是满足①非负②自反③三角不等式就可以称之为距离。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。我们可以将范数当成是一种距离来理解。 (1)L-P范数 \(||L||_p = (\sum_{i=1}^{
阅读全文
摘要:模型选择 ###1.1 Training Error And Generalization Error (训练误差和泛化误差) Training Error: 训练误差,指的是在训练数据得到的误差。 Generalization Error:在原本的样本中抽取无限多的样本时,所计算出来的误差的期望值
阅读全文
摘要:多层感知机的框架实现(同Softmax框架实现一毛一样,只是添加一个仿射函数变换(隐藏层)而已) ####step1.引入框架 import torch from torch import nn from d2l import torch as d2l ####step2.设计模型和初始化参数 #
阅读全文
摘要:多层感知机的从零实现 (有点类似于Softmax和线性回归) ####step1.读取数据 import torch from torch import nn from d2l import torch as d2l %matplotlib inline batch_size = 256 train
阅读全文
摘要:多层感知机认识 隐藏层 Hidden Layer 隐藏层通过放射变换,其实也就是 通过$y = wx +b$这种变换,本质上是线性的变换得到的。 按道理说,我们只需要设置一个单层隐藏层,通过不断增加Unit单元个数,就可以模拟所有的函数以及曲线,但是这样无疑是非常有难度的,我们可以将其看成是一个泰勒
阅读全文
摘要:Softmax 框架实现 #####step1.import the packages import torch from torch import nn from d2l import torch as d2l #####step2.loading dataset and set batch_si
阅读全文
摘要:Softmax 基础 1.计算Softmax的导数 定义Softmax函数:\(S_j = \frac{e^{a_j}}{\sum_{k=1}^{N}e^{a_k}} \quad ∀_j ∈ 1,2,3\cdots,N\) 输入$a , a∈R^{N*1}$ , 用Softmax映射: \(S(a)
阅读全文
摘要:负对数似然 当你看不懂的时候就请放下你的浮躁和各种想法,静下来好好琢磨琢磨这一件事情。 我们先来温习下最大似然函数 (Maximum Likelihood Estimation, MLE) 《茆诗松概率论与数理统计》第六章 例:6.3.1 设有外形完全相同的两个箱子,甲箱中有99个白球和1个黑球,乙
阅读全文
摘要:交叉熵损失函数 关于信息熵我们已经在上一篇文章中有详细的讲解了"Click here to visit", 对于二分类的问题,信息熵计算公式为: \(H(X) = -\Sigma_{i = 1}^{n} p(x_i)\log p(x_i) = -(p(x)\log p(x) +(1-p(x))\lo
阅读全文
摘要:信息熵 信息论之父C.E.Shannon 香农,在 1948 年发表的论文“通信的数学理论( A Mathematical Theory of Communication )”中指出,任何信息都存在冗余,冗余大小与信息中每个符号(数字、字母或单词)的出现概率或者说不确定性有关。 What's Com
阅读全文
摘要:第一阶段知识点查漏补缺 d2l 1.d2l官方也没有过多解释这个包的信息,但是却给出了用法: DESCRIPTION Please import d2l by one of the following ways: from d2l import mxnet as d2l # Use MXNet as
阅读全文
摘要:线性回归的简单实现(基于Pytorch框架实现) ###先来简单复习下线性回归的步骤吧 #####step.1导入库函数 %matplotlib inline import random #用于随机化生成的数据 import torch #框架 from d2l import torch as d2
阅读全文