3.27学习日志

文章介绍了丢弃法,一种通过在隐藏层加入噪声来防止过拟合的技术。Dropout通过在训练时随机丢弃神经元,确保模型泛化能力,尤其适用于全连接层。与权重衰减相比,Dropout在某些场景下更常见,但可能影响参数收敛速度。
摘要由CSDN通过智能技术生成

15 丢弃法

丢弃法是在层之间加入噪音,使用有噪音的数据等价于(Tikhonov正则)正则是让权重不要太大,避免出现过拟合

 核心是加入噪音后,希望新的期望(平均值)等于原来的值

训练过程:

dropout作用在隐藏层的输出上,结果可能是有一些值丢失,有一些值变大

总结:Dropout将一些输出项随机置0来控制模型复杂度,通常用在多层感知机的隐藏层输出上,丢弃概率是控制模型复杂度的超参数。

 mask这一行创建了一个与输入数据 X 形状相同的张量,并使用从均匀分布 U(0,1) 中抽样的随机数填充它。然后,该张量中的每个元素都与 dropout 参数进行比较,结果是一个由布尔值组成的张量。使用 > 运算符后,如果随机数大于 dropout,对应位置的结果是 True(转换为浮点数 1.0),否则是 False(转换为浮点数 0.0)。这个结果张量称为 mask,它表示对应元素是否保留(1.0)或丢弃(0.0)。这是dropout正则化随机性的规定。

 结果:

 每一次的运行结果都是不一样的。

正式代码:

 

loss大约是在0.4 

知识遗忘:

1.创建激活函数:激活函数在神经网络中扮演着至关重要的角色,它们在每个神经元的输出上应用非线性转换。

2.train_ch3

train_ch3 函数的目的是将训练过程封装起来,使得主要的训练逻辑可以一行代码调用。该函数通常会执行以下步骤:

  1. 迭代训练周期:对于给定的训练周期数(num_epochs),重复训练过程。
  2. 遍历训练集:在每个周期中,函数会遍历训练集(train_iter),通常是以批量的形式。
  3. 前向传播:对于每个批量的数据,执行模型的前向传播(net)来计算预测值。
  4. 计算损失:使用损失函数(loss),基于模型的预测和实际的标签,计算损失值。
  5. 反向传播:根据损失值进行反向传播,计算模型参数的梯度。
  6. 参数更新:使用优化器(trainer)根据计算出的梯度来更新模型的参数。
  7. 评估模型:在每个周期结束时,或者在训练过程中的一些周期,使用测试集(test_iter)来评估模型的性能。
  8. 打印进度:打印训练进度,包括当前周期数、损失值和评估指标(如准确率)。

 简洁实现:

结果分析:dropout

丢弃法是在训练的时候吧神经元丢弃后训练,在预测是神经元没有丢弃

dropout只是用在全连接层,不会用在卷积层

weight decay 和dropout比起来,weightdecay 更常用,因为用的范围更广一些

dropout介入会造成参数收敛变慢 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值