深度学习-李沐-第二节-线性代数、微积分、概率
线性代数、微积分、概率 线性代数 标量 标量变量由普通⼩写字⺟表⽰(例如,x、y和z) 定义两个标量与标量的运算 向量 将向量视为标量值组成的列表。标量的值称为向量的元素(element)或分量(component)。 例如: x = torch.arange(4) ⻓度、维度和形状 向量只是⼀个数字数组,就像每个数组都有⼀个⻓度⼀样,每个向量也是如此。向量的⻓度通常称为向量维度(dimension)。 len(x)输出向量长度,`x.s...
深度学习-李沐-第二节-数据处理与操作
摘要: n维数组,也称为张量(tensor),在深度学习框架中被广泛应用。张量支持GPU加速计算和自动微分,相较于NumPy的ndarray更适合深度学习任务。数据操作包括创造张量、运算符、张量连结与比较、广播机制与切片索引以及节省内存与转换对象。数据预处理包括读取数据集、处理缺失值(使用fillna()填充缺失值和利用get_dummies函数处理离散值)以及转换为张量格式。
数据操作及数据预处理 定义 n维数组,也称为张量(tensor)。张量类(在MXNet中为ndarray,在PyTorch和TensorFlow中为Tensor) 都与Numpy的ndarray类似。但深度学习框架⼜⽐Numpy的ndarray多⼀些重要功能:⾸先,GPU很好地⽀持加速计算,⽽NumPy仅⽀持CPU计算;其次,张量类⽀持⾃动微分。这些功能使得张量类更适合深度学习。 数据操作 创造张量 x = torch.arange(12) print(x) print(x.shape) print(x.numel()) #...
深度学习-李沐-第三节-感知机
感知机 单层感知机 什么是感知机 感知机为二分类,非黑即白 softmax多分类,输出可能为某类别的概率 感知机训练算法 这里的判断负负得正、正正得正。得正说明训练正常。同时也引出了异或的问题 收敛定理 异或问题 ![](https:/...
深度学习-李沐-第三节-线性回归
线性回归 难点、疑点 梯度下降 线性回归的代码实现 定义 回归(regression)是能为一个或多个自变量与因变量之间关系建模的一类方法。在自然科学和社会科学领域,回归经常用来表示输入和输出之间的关系。 y = w1x1 + w2x2 + w3x3 + b 损失评估 梯度下降 ![](https://qiniu.kanes.top/blog...
深度学习-李沐-第三节-SoftMax
SoftMax 疑点难点: 损失函数、代码实现 理解 softmax运算获取一个向量并将其映射为概率。 softmax回归适用于分类问题,它使用了softmax运算中输出类别的概率分布。 交叉熵是一个衡量两个概率分布之间差异的度量 回归与分类 回归估计一个连续值 分类预测一个离散类别 网络架构 权重放到3*4的矩阵中,对于...
深度学习-李沐-第四节-模型选择、⽋拟合和过拟合
模型选择、⽋拟合和过拟合 训练误差与泛化误差 训练误差(training error)是指模型在训练数据集上计算得到的误差。即为模型在训练数据上的误差 泛化误差(generalization error)是指模型应用在同样从原始样本的分布中抽取的无限多数据样本时,模型误差的期望。即为模型在新数据上的误差 验证数据集和测试数据集 验证数据集:一个用于评估模型好坏的数据集 测试数据集:只用一次的数据集 ![](https:/...
深度学习-李沐-第四节-权重衰退
摘要: 权重衰退通过L2正则项控制模型参数的大小,避免过拟合。正则项权重是一个超参数,一般设置在优化器中,通常为0.001。
权重衰退 一种常见的处理过拟合的方法。 使用均方范数作为硬性限制 控制模型容量的两种方式:参数的数量、参数的选择范围。 该方法是通过限制参数值的选择范围,来控制模型容量的。 ∥w∥^2 代表权重中每一项的平方和。通常不限制偏移b,小的θ意味着更强的正则项。这种方法很少用,一般转化为下面这种柔性限制。 使用均方范数作为柔性限制 ![](https://qiniu.kanes...
深度学习-李沐-第四节-前向传播、反向传播
摘要: 前向传播和反向传播是深度学习中神经网络训练的重要过程。前向传播是指神经网络从输入层到输出层的计算过程,而反向传播是计算神经网络参数梯度的方法。在前向传播过程中,数据从输入经过各层神经元的计算传播至输出层,计算网络的预测结果。反向传播利用链式法则按相反顺序遍历网络,计算参数梯度以更新模型参数。前向传播和反向传播相互依赖,通过前向传播计算得到隐藏变量的当前值,以便在反向传播中计算参数的梯度。
前向传播、反向传播 前向传播 前向传播过程,即神经网络从输入层到输出层的计算过程。 前向传播过程 前向传播 反向传播 反向传播(backward propagation或backpropagation)指的是计算神经网络参数梯度的方法。 该方法根据微积分中的链式规则,按相反的顺序从输出层到输入层遍历网络。 该算法**存储了计算某些参数梯度时所需的任何中间变量(偏导数)...
深度学习-李沐-第四节-数值稳定性与参数初始化
摘要: 神经网络中常见的数值稳定性问题包括梯度爆炸和梯度消失。梯度爆炸指梯度过大导致数值问题,梯度消失则是梯度过小无法有效更新参数。解决这些问题的一种方法是通过合适的参数初始化,如使用正态分布或Xavier初始化。参数初始化的关键是确保梯度和参数在训练过程中能够得到有效控制,同时使用启发式的初始化方法可以避免梯度过大或过小的情况。在深度网络中,采用适当的初始化方法可以提高稳定性和加速收敛。
数值稳定性与参数初始化 神经网络的梯度 数值稳定性常见两个问题 梯度爆炸:梯度是一个大于1的数,一百层求梯度之后会是一个很大的数字 梯度消失:与上面相反,当梯度小于1的时候…… ![](https://qiniu.kanes.top/blog/e...
深度学习-李沐-第四节-Dropout暂退法
Dropout暂退法 暂退法的思想是在隐藏层中丢弃某些单元,以减少模型对某些特征的依赖。 删除了h2和h5,因此输出的计算不再依赖于h2或h5,并且它们各⾃的梯度在执⾏反向传播时也会消失。这样,输出层的计算不能过度依赖于h1, . . . , h5的任何⼀个元素。 实现神经元的丢弃 假设某个神经元被丢弃的概率为p,那么该神经元的输出可以表示为: 计算h{}'期望值:...