YEY Blog

Life is a long long journey.

PyTorch 17:优化器 (一)

PyTorch 学习笔记

Lecture 17 优化器 (一) 前两节课中,我们学习了损失函数的概念以及 PyTorch 中的一系列损失函数方法,我们知道了损失函数的作用是衡量模型输出与真实标签之间的差异。在得到了 loss 函数之后,我们应该如何去更新模型参数,使得 loss 逐步降低呢?这正是优化器的工作。本节课我们开始学习优化器模块。 1. 什么是优化器 在学习优化器模块之前,我们先回顾一下机器学习模型训...

PyTorch 16:损失函数 (二)

PyTorch 学习笔记

Lecture 16 损失函数 (二) 上节课中,我们学习了损失函数的概念以及四种不同的损失函数。这节课我们继续学习 PyTorch 中提供的另外十四种损失函数。 1. PyTorch 中的损失函数 首先我们来看在回归任务中常用的两个损失函数 nn.L1Loss 和 nn.MSELoss: nn.L1Loss 功能:计算 inputs 与 target 之差的绝对值。 1 2 3...

PyTorch 15:损失函数 (一)

PyTorch 学习笔记

Lecture 15 损失函数 (一) 在前几节课中,我们学习了模型模块中的一些知识,包括如何构建模型以及怎样进行模型初始化。本节课我们将开始学习损失函数模块。 1. 损失函数的概念 损失函数 (Loss Function):衡量模型输出与真实标签之间的差异。 下面是一个一元线性回归的拟合过程示意图: 图中的绿色方块代表训练样本点 $(x_i, y_i)$,蓝色直线代表训练得到...

PyTorch 14:权值初始化

PyTorch 学习笔记

Lecture 14 权值初始化 在前几节课中,我们学习了如何搭建网络模型。在网络模型搭建好之后,有一个非常重要的步骤,就是对模型中的权值进行初始化:正确的权值初始化可以加快模型的收敛,而不适当的权值初始化可以会引发梯度消失或者爆炸,最终导致模型无法训练。本节课,我们将学习如何进行权值初始化。 1. 梯度消失与爆炸 这里,我们以上节课中提到的一个三层的全连接网络为例。我们来看一下第二个...

PyTorch 13:nn 网络层:池化层、线性层和激活函数层

PyTorch 学习笔记

Lecture 13 nn 网络层:池化层、全连接层和激活函数层 上节课中,我们学习了网络层中的卷积层。本节课中,我们将继续学习其他几种网络层:池化层、线性层和激活函数层。 1. 池化层 池化运算 (Pooling):对信号进行 “收集” 并 “总结”,类似水池收集水资源,因而得名池化层。 “收集”:多变少。 “总结”:最大值/平均值。 最大池化 vs. 平均池化:...