跳转至

模式识别与机器学习

填空题

机器学习的两类任务

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

前面姑且算温和。但是代码题给人看傻了。完全没有按照课上说的重点来考。