李宏毅2021 HW3

第一次

样例代码执行

在这里插入图片描述
在训练过程中能够明显感到过拟合现象,train的accuracy达到99%而valid才0.5左右

第二次

  1. 添加了数据增强
train_tfm = transforms.Compose([
    # Resize the image into a fixed shape (height = width = 128)
    transforms.Resize((128, 128)),
    # You may add some transforms here.

    # https://pytorch.org/vision/stable/transforms.html
    transforms.RandomHorizontalFlip(), # 随机将图片水平翻转
    transforms.RandomRotation(15), # 随机旋转图片

    # ToTensor() should be the last one of the transforms.
    transforms.ToTensor(),
])
  1. 网络模型增加了一层全连接和Dropout
 self.fc_layers = nn.Sequential(
            nn.Linear(256 * 8 * 8, 256 * 8),
            nn.ReLU(),
            nn.Dropout(0.6),
            nn.Linear(256 * 8, 256),
            nn.ReLU(),
            nn.Dropout(0.6),
            nn.Linear(256, 256),
            nn.ReLU(),
            nn.Dropout(0.4),
            nn.Linear(256, 11)
        )
  1. 为了减少训练时间,迭代改为50次

出现的问题:这个acc上升过程比较慢,感觉50次迭代不够,次数上升acc应该还能升

第三次

  1. 感觉上一次迭代的次数不够,这次加到100
  2. 在全连接层添加了 nn.BatchNorm1d()

加了nn.BatchNorm1d()后感觉acc上升明显,效果显著
最终结果勉强达到medium水平

第四次

  1. 参考网上,补充了半监督的部分

不过发现效果好像不是那么明显

第五次

  1. 半监督+修改了一定的网络结构
  2. 增加迭代次数

有一定提升,但是距离strong baseline还很远
李宏毅2021 HW3_第1张图片

看到网上一些尝试,或许用resnet效果会有不错的提升

你可能感兴趣的