模式识别与机器学习¶
填空题¶
机器学习的两类任务
CNN适用于什么序列
自适应学习率是随什么改变学习率,应用此机制的常用优化器是什么,用到了什么和什么
写出两种损失函数,给出其中一种的数学计算公式
衡量两个向量相似度的方法:除了欧氏距离再写出两个
简答题¶
给了 Softmax 后的结果,计算交叉熵损失。(作业原题)
给了混淆矩阵四个值,计算准确率、精确率、召回率
什么是过拟合?画图表示。写出至少三种防止过拟合的方法。
计算机视觉的三大任务是什么?输出分别是什么?
什么是Transformer模型中的“自注意力机制(Self-Attention)”?给出计算公式,及每个变量的解释。该思想在文本生成任务中起到什么作用?(《医学人工智能原题》)
代码¶
补全ResNet代码空缺:
class BasicBlock(nn.Module):
def __init__(self, inchannel, outchannel, stride=1):
super(BasicBlock, self).__init__()
self.left = nn.Sequential(
nn.Conv2d(inchannel, outchannel, kernel_size=3, stride=stride, padding=1, bias=False), #挖空
nn.BatchNorm2d(outchannel), #挖空
nn.ReLU(inplace=True), #挖空
nn.Conv2d(outchannel, outchannel, kernel_size=3, stride=1, padding=1, bias=False), #挖空
nn.BatchNorm2d(outchannel) #挖空
)
self.shortcut = nn.Sequential()
if stride != 1 or inchannel != outchannel:
self.shortcut = nn.Sequential(
nn.Conv2d(inchannel, outchannel, kernel_size=1, stride=stride, bias=False),
nn.BatchNorm2d(outchannel)
)
def forward(self, x):
out = self.left(x) #挖空
out += self.shortcut(x) #挖空
out = F.relu(out)
return out
前面姑且算温和。但是代码题给人看傻了。完全没有按照课上说的重点来考。