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

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

不同的DL方法是为不同的任务设计的,它们的构建方式也不同。它们都有一个共同点,即在模型的训练过程中都面临着一个最小化问题。训练网络或子网络,一个目标是努力使适当的损失函数最小化,参见“网络和训练过程”一节。为此,有一组参数是在开始训练之前设置的,在训练期间未进行优化。我们将这些参数称为超参数。对于DL模型,您可以设置更改策略,指定在训练期间更改这些超参数的时间和方式。在本节中,我们将解释不同超参数的概念。注意,某些方法有额外的超参数,您可以在它们各自的章节中找到更多的信息。

如前所述,损失是将网络的预测与图像内容的给定信息相比较的。损失决定惩罚偏差。训练网络意味着以这样的方式更新滤波器权值,使损失受到的惩罚更少,从而使损失结果得到优化。为此,需要从训练数据集中获取一定数量的数据。对于这个子集,计算损失的梯度,并修改网络以更新其相应的滤波权重。现在,对下一个数据子集重复这一过程,直到整个训练数据被处理。这些训练数据的子集被称为,这些子集的大小即“batch_size”决定了一个批处理的数据数量,并作为结果一起处理。

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

一些模型(如异常检测)一次训练使用整个数据集。对于其他模型,数据集是分批处理的,为了做到这一点,使用了随机梯度下降算法SGDStochastic Gradient Descent。这涉及到更多的参数,将在下面解释。每次计算损失梯度后,滤波器权值都会更新。对于更新,有两个重要的超参数:'learning_rate'λ,它决定更新的损失函数参数(过滤器权重)上的梯度的权重,以及[0, 1]间隔内的'momentum'μ,它指定以前更新的影响。更多信息可以在train_dl_model_batch的文档中找到。简单地说,当我们更新损失函数参数时,我们仍然记得上次更新所采取的步骤。现在,我们在梯度方向上迈出一步,其长度取决于学习速率;此外,我们重复上次所做的步骤,但这次只乘以上次的时间。下图给出了可视化效果。学习率过大可能会导致算法发散,学习率过小则会导致不必要的步骤。因此,习惯上从一个较大的学习率开始,并在训练过程中潜在地降低它。对于动量μ=0,动量方法没有影响,所以只有梯度决定更新向量。

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’太小,模型可能会过度拟合,如果它太大,模型可能会失去很好地拟合数据的能力,因为所有权重实际上都是零。

除了训练数据和所有的超参数,还有许多不同的方面可以对这种复杂算法结果产生影响。为了提高网络性能,通常添加训练数据也会有所帮助。请注意,收集更多的数据是否是一个好的解决方案,也总是取决于简单模型是否难以实现。通常,一个小的额外部分不会显著改变整体性能。

HALCON 21.11:深度学习笔记---设置超参数(5)相关推荐

  1. HALCON 21.11:学习笔记---OPC_UA(I/O)

    HALCON 21.11:学习笔记---OPC_UA(I/O) 本章主要提供有关OPC_UA的信息. 系统要求 Intel compatible PC with Windows 7 (32-bit o ...

  2. 2.3)深度学习笔记:超参数调试、Batch正则化和程序框架

    目录 1)Tuning Process 2)Using an appropriate scale to pick hyperparameters 3)Hyperparameters tuning in ...

  3. HALCON 20.11:学习笔记---一维测量(Measuring)

    HALCON 20.11:学习笔记---一维测量(Measuring) 本章主要提供有关一维测量的信息. 一维测量的概念 通过一维测量可以沿着预定义的线或弧定位从亮到暗或从暗到亮的过渡边缘.这使您可以 ...

  4. DL之模型调参:深度学习算法模型优化参数之对深度学习模型的超参数采用网格搜索进行模型调优(建议收藏)

    DL之模型调参:深度学习算法模型优化参数之对深度学习模型的超参数采用网格搜索进行模型调优(建议收藏) 目录 神经网络的参数调优 1.神经网络的通病-各种参数随机性 2.评估模型学习能力

  5. 【深度学习基础】超参数介绍

    深度学习基础: 性能评估指标 超参数介绍 损失函数 在深度神经网络中,超参数的调整是一项必备技能,通过观察在训练过程中的监测指标如损失loss和准确率来判断当前模型处于什么样的训练状态,及时调整超参数 ...

  6. 深度学习中的超参数以及两个重要的超参数——学习率和batch_size

    前言   在深度学习中有很多参数是我们在训练模型之前自己设定的,我们把这些参数就称为--超参数.其中主要超参数包括了:学习率.batch_size.梯度下降法循环的数量.隐藏层数目.隐藏层单元数目.激 ...

  7. halcon 21.05深度学习下载和安装

    halcon21版本下载连接地址: 链接:https://pan.baidu.com/s/142qWteiIgHm6QuZVOkX_pw?pwd=2tw5 提取码:2tw5 下载后目录如下: 下载完毕 ...

  8. [自动调参]深度学习模型的超参数自动化调优详解

    向AI转型的程序员都关注了这个号

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

    HALCON 20.11:深度学习笔记(5)---设置超参数 HALCON 20.11.0.0中,实现了深度学习方法.关于超参数的有关设置内容如下: 不同的DL方法被设计用于不同的任务,它们的构建方式 ...

最新文章

  1. Angular给HTML节点绑定自定义属性和变量,用于设置一些动态的状态变化非常有用!
  2. Keras之MLPR:利用MLPR算法(1to1+【Input(1)→8(relu)→O(mse)】)实现根据历史航空旅客数量数据集(时间序列数据)预测下月乘客数量问题
  3. 从知识图谱到文本:结合局部和全局图信息生成更高质量的文本
  4. 关于推荐和机器学习的几个网站
  5. MVC实现实现文件流打包成压缩包
  6. 2017西安交大ACM小学期 神器插座 KMP匹配
  7. ICCV 2021 | 带你了解微软亚洲研究院CV领域前沿进展
  8. osip和mysql_Windows下编译eXosip、osip,以及UAC和UAS的例子
  9. 简述 Linux 文件系统的目录结构
  10. NIST 发布关于使用“行政令-关键软件”的安全措施指南
  11. maven 将依赖包打入jar中
  12. 新增磁盘,创建分区,分区挂载
  13. 深职院计算机专业宿舍,深圳职业技术学院宿舍怎么样 住宿条件好不好
  14. 如何禁止Chrome浏览器版本自动更新的方法
  15. 详细解读TPH-YOLOv5 | 让目标检测任务中的小目标无处遁形
  16. 我的遥远的清平湾(插图版)读后感
  17. CodeReview总结
  18. 阿里云Anolis OS 8.4
  19. python 语音处理工具包AudioSegment的基本使用
  20. 什么是动态DNS(DDNS)

热门文章

  1. Shell 特殊字符大全
  2. Linux 命令(一) findgrep文件查找命令
  3. Luogu P4139 上帝与集合的正确用法【扩展欧拉定理】By cellur925
  4. Spring MVC处理响应的 header
  5. Ubuntu tee
  6. MySQL基于mysqldump及lvmsnapshot备份恢复
  7. Java程序设计实验2
  8. 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)
  9. Spark配置启动脚本分析
  10. [MFC]Sqlite问题小记