《动手学深度学习PyTorch版》–学习笔记1
Task1
-
线性回归
基本要素:模型、数据集、损失函数、优化函数(常用mini-batch stochastic gradient descent)
代码学习:
np.random.normal(loc=0.0, scale=1.0, size=None)用于生成高斯分布的概率密度随机数。其中loc(float)是概率分布的均值;scale(float)是此概率分布的标准差;size(int or tuple of ints),输出的shape,默认为None,只输出一个值。
torch.tensor(data, dtype=None, device=None, requires_grad=False)用于产生张量。data可以是:list, tuple, array, scalar等类型。
习题:
(1) 假如你正在实现一个全连接层,全连接层的输入形状是7×8,输出形状是7×1,
其中7是批量大小,则权重参数w和偏置参数b的形状分别是____和____
答案:8×1 1×1
(2) 课程中的损失函数定义为:def squared_loss(y_hat, y): return (y_hat - y.view(y_hat.size())) ** 2 / 2 将返回结果替换为下面的哪一个会导致会导致模型无法训练:
答案: (y_hat - y.view(-1)) ** 2 / 2
(3) 在线性回归模型中,对于某个大小为3的批量,标签的预测值和真实值如下表所示:
该批量的损失函数的平均值为:
答案:0.112 -
softmax与分类模型
softmax回归的基本概念:
如何获取Fashion-MNIST数据集和读取数据:
softmax回归模型的从零开始实现,实现一个对Fashion-MNIST训练集中的图像数据进行分类的模型:
使用pytorch重新实现softmax回归模型: -
多层感知机
多层感知机的基本知识
使用多层感知机图像分类的从零开始的实现
使用pytorch的简洁实现
Task2
-
文本预处理
文本是一类序列数据,一篇文章可以看作是字符或单词的序列,介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:读入文本;分词;建立字典,将每个词映射到一个唯一的索引(index);将文本从词的序列转换为索引的序列,方便输入模型。 -
语言模型
-
循环神经网络基础