深度学习: 第二周

模型选择以及模型的过拟合和欠拟合
  1. 数据集的划分
    训练集与验证集合不能混合使用,训练的时候不能使用验证集。

  2. K-折交叉验证
    每次选择某一块数据为验证集合,其他的用于训练,最终取所有的正确率的平均值

模型的大小与泛化误差的平衡
image

Weight_decay 权重衰减

通过对参数的选择范围进行一些限制,控制模型的过拟合。

为了便于优化,使用均方范数做柔性优化
image

DropOut

无偏差的加入扰动
image

通常的使用场景使用在网络中间的全连接层
image

Dropout的简易实现

def dropout_layer(x, dropout):
    assert 0<= dropout <= 1
    if dropout == 1:
        return torch.zeros_like(x)
    if dropout == 0:
        return x
    
    mask = (torch.randn(x.shape) > dropout.float)
    return mask * x / (1 - dropout)
优化相关,梯度爆炸与梯度消失

由反向传播的过程可知,当网络加深后,由于梯度是乘法,这会导致传播到浅层的梯度非常接近0或者太大导致浮点溢出。网络难以训练。

房价预测

待填坑,周一晚上 做

收获:
学习了模型的参数设置,如何优化等等。多见识问题在以后遇到问题的时候才能更快的定位问题。
Dropout的思路简单却十分有效,打算下周看看它的论文。

问题:
矩阵那些有点蒙,还得再学学

posted @ 2021-09-12 17:15  CrosseaLL  阅读(32)  评论(0编辑  收藏  举报