线性回归 day1
假如你正在实现一个全连接层,全连接层的输入形状是7×8,输出形状是7×1,其中7是批量大小,则权重参数w和偏置参数b的形状分别是____和____
A. 1×8,1×1
B. 1×8,7×1
C. 8×1,1x1
D. 8×1,7×1
参考答案:C
解析:通过输入和输出可知权重参数w的形状是8x1,因为输入x权重=输出,即7x8 x 8x1 = 7x1,中间的两个8约掉即可,具体可参考矩阵乘法。偏置参数b则是1x1。
课程中的损失函数定义为:
def squared_loss(y_hat, y): return (y_hat - y.view(y_hat.size())) ** 2 / 2
将返回结果替换为下面的哪一个会导致会导致模型无法训练:(阅读材料:https://pytorch.org/docs/stable/notes/broadcasting.html)
A. (y_hat.view(-1) - y) ** 2 / 2
B. (y_hat - y.view(-1)) ** 2 / 2
C. (y_hat - y.view(y_hat.shape)) ** 2 / 2
D. (y_hat - y.view(-1, 1)) ** 2 / 2
参考答案:B
解析:在pytorch中view()函数的作用是改变tensor的形状,参数如果为-1表示自适应,类似于广播机制。
在线性回归模型中,对于某个大小为3的批量,标签的预测值和真实值如下表所示:
x y
2.33 3.14
1.07 0.98
1.23 1.32
该批量的损失函数的平均值为:(参考“线性回归模型从零开始的实现”中的“定义损失函数”一节,结果保留三位小数)
参考答案: 0.112
解析:就按照上一题的公式硬算,快速按键:win+r->calc
Softmax与分类模型 day1
课后练习
softmax([100, 101, 102])的结果等于以下的哪一项:
A. softmax([10.0, 10.1, 10.2])
B. softmax([-100, -101, -102])
C. softmax([-2 -1, 0])
D. softmax([1000, 1010, 1020])
参考答案:C
解析:就一段代码,自己慢慢试。
import numpy as np
def softmax(x):
xx = x - np.max(x)
xxx = np.exp(xx)
return xxx / np.sum(xxx)
print(softmax(np.array([-2,-1,0])))
对于本节课的模型,在刚开始训练时,训练数据集上的准确率低于测试数据集上的准确率,原因是?
A. 模型参数是在训练集上进行训练的,可能陷入了过拟合
B. 训练集的样本容量更大,要提高准确率更难
C. 训练集上的准确率是在一个epoch的过程中计算得到的,测试集上的准确率是在一个epoch结束后计算得到的,后者的模型参数更优
参考答案:C
解析:通过排除法可知明显选C,A选项过拟合会造成在训练集上准确率远高于测试集上的准确率,B选项也是无稽之谈。
多层感知机 day1
课后练习
文本预处理 day2
课后练习
下列哪一项不是构建Vocab类所必须的步骤:
A. 词频统计,清洗低频词
B. 句子长度统计
C. 构建索引到token的映射
D. 构建token到索引的映射
参考答案:B
解析:B选项不是一个len就解决的吗?
无论use_special_token参数是否为真,都会使用的特殊token是____,作用是用来____。
<pad>,在小批量中数据不等长时做填充
<bos>,标记句子的开始
<eos>,标记句子的结束
<unk>,表示未登录词
参考答案: D
解析:仔细看代码
语言模型 day2
课后练习
循环神经网络基础 day2
课后练习