提升模型性能

使用 PyTorch 的深度学习入门

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

最大化性能的步骤

$$

  • 我们能解决该问题吗?

  • 设定性能基线

$$

  • 提高验证集性能

$$ $$

  • 达到尽可能好的性能

步骤 1

步骤 2

步骤 3

使用 PyTorch 的深度学习入门

步骤 1:使训练集过拟合

  • 修改训练循环以过拟合单个数据点

    features, labels = next(iter(dataloader))
    for i in range(1000):
      outputs = model(features)
      loss = criterion(outputs, labels)
      optimizer.zero_grad()
      loss.backward()
      optimizer.step()
    
    • 应达到准确率 1.0 和损失 0
  • 然后扩展到整个训练集

    • 保持默认超参数
使用 PyTorch 的深度学习入门

步骤 2:降低过拟合

  • 目标:最大化验证集准确率

  • 可尝试:

    • Dropout
    • 数据增广
    • 权重衰减
    • 降低模型容量

$$

  • 记录每个超参数和对应的验证准确率

过拟合

使用 PyTorch 的深度学习入门

步骤 2:降低过拟合

$$

原始模型在训练集上过拟合 原始性能

$$

更新后的模型正则化过强 正则化过强

使用 PyTorch 的深度学习入门

步骤 3:微调超参数

  • 网格搜索
for factor in range(2, 6):
    lr = 10 ** -factor

网格搜索

  • 随机搜索
factor = np.random.uniform(2, 6)
lr = 10 ** -factor

随机搜索

使用 PyTorch 的深度学习入门

Passons à la pratique !

使用 PyTorch 的深度学习入门

Preparing Video For Download...