HALCON 20.11:深度学习笔记(5)---设置超参数

HALCON 20.11:深度学习笔记(5)---设置超参数

HALCON 20.11.0.0中,实现了深度学习方法。关于超参数的有关设置内容如下:

不同的DL方法被设计用于不同的任务,它们的构建方式也会有所不同。它们都有一个共同点,即在模型的训练过程中都面临着一个最小化问题。

训练网络或子网络,一个目标是努力使适当的损失函数最小化,参见“网络和训练过程”一节。

为此,有一组进一步的参数,这些参数是在开始训练之前设置的,在训练期间未进行优化。我们将这些参数称为超参数

对于DL模型,您可以设置更改策略,指定您希望在培训期间何时以及如何更改这些超参数。

在本节中,我们将解释不同超参数的概念。注意,某些方法有额外的超参数,你可以在它们各自的章节中找到更多的信息。

如前所述,损失比较来自网络的预测与图像内容的给定信息。损失决定惩罚偏差。训练网络以这样的方式更新滤波器权值,使损失受到的惩罚更少,从而使损失结果得到优化。

为此,需要从训练数据集中获取一定数量的数据。对于这个子集,计算损失的梯度,并修改网络以更新其相应的滤波权重。

现在,对下一个数据子集重复这一过程,直到整个训练数据被处理。这些训练数据的子集被称为,这些子集的大小,即“batch_size”,决定了一个批处理的数据数量,并作为结果一起处理。

对整个训练数据的完整迭代称为epoch。对训练数据进行多次迭代是有益的。迭代次数由“epochs”定义。因此,“epochs”决定了算法在训练集上循环多少次。

一些模型(如异常检测)一次训练使用整个数据集。对于其他模型,数据集按批处理,为了做到这一点,使用了随机梯度下降算法SGD(Stochastic Gradient Descent)。这涉及到更多的参数,将在下面解释。

在每次计算损失梯度后,滤波器权值被更新。

对于这个更新,有两个重要的超参数:

'learning_rate',它决定更新的损失函数参数(过滤器权重)上的梯度的权重,以及间隔内的'momentum',它指定以前更新的影响。更多信息可以在train_dl_model_batch的文档中找到。

简单地说,当我们更新损失函数参数时,我们仍然记得上次更新所采取的步骤。

现在,我们在梯度方向上迈出一步,其长度取决于学习速率;此外,我们重复上次所做的步骤,但这次只乘以上次的时间。

下图给出了可视化效果。学习率过大可能会导致算法发散,学习率过小则会花费不必要的多步。

因此,习惯上从一个较大的学习率开始,并在训练过程中潜在地降低它。对于动量,动量方法没有影响,所以只有梯度决定更新向量。

Sketch of the 'learning_rate' and the 'momentum' during an actualization step

The gradient step: the learning rate λ times the gradient g (λg - dashed lines)

The momentum step: the momentum λ times the previous update vector v (μv - dotted lines)

Together, they form the actual step: the update vector v (v - solid lines).

为了防止神经网络的过拟合(见下文“欠拟合和过拟合的风险”部分),可以使用正则化。利用这种技术,在损失函数中添加了额外的一项。

一种可能的正则化类型是权重衰减,有关详细信息,请参阅train_dl_model_batch文档。

它的工作原理是惩罚较大的权重,即将权重推到零。简单地说,这种正则化倾向于更简单的模型,这些模型不太可能适应训练数据中的噪声,并能更好地泛化。

它可以通过超参数‘weight_prior’进行设置。选择它的值需要权衡模型的泛化能力、过拟合能力和欠拟合能力。

如果‘weight_prior’太小,模型可能会过度拟合,如果它太大,模型可能会失去很好地拟合数据的能力,因为所有权重实际上都是零。

除了训练数据和所有的超参数,还有许多不同的方面可以对这种复杂算法结果产生影响。

为了提高网络性能,通常添加训练数据也会有所帮助。

请注意,是否收集更多的数据是一个好的解决方案,也总是取决于简单模型是否难以实现。

通常,一个小的额外部分不会显著改变整体性能。

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值