我是靠谱客的博主 典雅发箍,最近开发中收集的这篇文章主要介绍《动手学深度学习》戴口罩的胡萝卜组 - 户建坤 第二次打卡 (过欠拟合; 梯度消失爆炸;RNN进阶; 机器翻译;注意力机制与Seq2seq; Transformer; CNN基础)过欠拟合以及解决方案梯度消失和爆炸RNN进阶机器翻译注意力机制与 seqs 模型TransformerCNN 基础LeNetCNN 进阶,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

过欠拟合以及解决方案

知识重点

1.K交叉验证没明白有什么用?
2.单层神经元个数, 相当于多项式拟合的次数, 但是好像神经网络都是1次方, 那到底是相当于层数加深? 还是单层参数变大? 还是目前的网络都不体现 x 的多次方???
3.难道需要和代码中构造的 3dim features 一样, 预处理特征或者特征工程的时候用别的工具提取次方信息? 也就是神经网络特征提取忽略了很多数学意义特征, 需要有 kaggle 里面好的特征工程的方法辅助.
4.opt 赋予 w 得到 opt_w 代替 w 参与计算. 但是之前直接 params list 传入 opt, 那种做法是怎样的? torch.optim.SGD(params=[net.weight], lr=lr, weight_decay=wd) 平时会用到吗? 还是 loss 多加上一部分, 看别人的代码好了.

def fit_and_plot_pytorch(wd):
    # 对权重参数衰减。权重名称一般是以weight结尾
    net = nn.Linear(num_inputs, 1)
    nn.init.normal_(net.weight, mean=0, std=1)
    nn.init.normal_(net.bias, mean=0, std=1)
    optimizer_w = torch.optim.SGD(params=[net.weight], lr=lr, weight_decay=wd) # 对权重参数衰减
    optimizer_b = torch.optim.SGD(params=[net.bias], lr=lr)  # 不对偏差参数衰减
    
    train_ls, test_ls = [], []
    for _ in range(num_epochs):
        for X, y in train_iter:
            l = loss(net(X), y).mean()
            optimizer_w.zero_grad()
            optimizer_b.zero_grad()
            
            l.backward()
            
            # 对两个optimizer实例分别调用step函数,从而分别更新权重和偏差
            optimizer_w.step()
            optimizer_b.step()
        train_ls.append(loss(net(train_features), train_labels).mean().item())
        test_ls.append(loss(net(test_features), test_labels).mean().item())
    d2l.semilogy(range(1, num_epochs + 1), train_ls, 'epochs', 'loss',
                 range(1, num_epochs + 1), test_ls, ['train', 'test'])
    print('L2 norm of w:', net.weight.data.norm().item())

5.标准的 opt 使用方法

optimizer = torch.optim.SGD(net.parameters(), lr=0.5)
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, batch_size, No

最后

以上就是典雅发箍为你收集整理的《动手学深度学习》戴口罩的胡萝卜组 - 户建坤 第二次打卡 (过欠拟合; 梯度消失爆炸;RNN进阶; 机器翻译;注意力机制与Seq2seq; Transformer; CNN基础)过欠拟合以及解决方案梯度消失和爆炸RNN进阶机器翻译注意力机制与 seqs 模型TransformerCNN 基础LeNetCNN 进阶的全部内容,希望文章能够帮你解决《动手学深度学习》戴口罩的胡萝卜组 - 户建坤 第二次打卡 (过欠拟合; 梯度消失爆炸;RNN进阶; 机器翻译;注意力机制与Seq2seq; Transformer; CNN基础)过欠拟合以及解决方案梯度消失和爆炸RNN进阶机器翻译注意力机制与 seqs 模型TransformerCNN 基础LeNetCNN 进阶所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部