HALCON 20.11:深度学习笔记(4)--- 网络和训练过程

HALCON 20.11.0.0中,实现了深度学习方法。关于网络和训练过程如下:

在深度学习中,任务是通过网络发送输入图像来执行的。整个网络的输出由许多预测组成。例如,对于一个分类任务,预测得到的每个类的置信度,表示图像显示该类实例的可能性有多大。

具体的网络会有所不同,特别是从一种方法到另一种方法。一些方法,如对象检测,使用子网络生成特征图(参见下面和深度学习/对象检测中给出的解释)。在这里,我们将解释一个基本的卷积神经网络(CNN)。这种网络由一定数量的层或滤波器组成,这些层或滤波器按特定的方式排列和连接。一般来说,任何层都是执行特定任务的构建块。可以将它看作一个容器,它接收输入,根据函数转换输入,并将输出传入到下一层。因此,不同类型的层可以有不同的功能。在“分类解决方案指南”中给出了几个可能的例子。许多层或滤波器都有权重,参数也称为滤波器权重。这些是在网络训练过程中修改的参数。大多数层的输出都是feature map。因此,特征映射的数量(层输出的深度)和大小(宽度和高度)取决于特定的层。

Schema of an extract of a possible classification network.

Below we show feature maps corresponding to the layers, zoomed to a uniform size.

为了训练网络完成特定的任务,需要添加损失函数。不同的任务有不同的损失函数,但它们都按照以下原则工作。损失函数比较来自网络的预测与给定的信息,它应该在图像中找到什么(以及,如果适用,在哪里),并惩罚偏差。然后滤波器的权值以使损失函数最小化的方式更新。因此,针对特定的任务训练网络,人们努力使网络的损失(一个错误函数)最小化,人们希望这样做也会改善性能度量。在实践中,这种优化是通过计算梯度和更新不同层的参数(滤波器权重)来实现的。这通过在训练数据上迭代多次来重复。

还有一些额外的参数会影响训练,但这些参数并不是在常规训练中直接学到的。这些参数在开始训练之前已经设置了值。我们将最后一种类型的参数称为超参数,以便将它们与训练期间优化的网络参数区分开来。请参阅“设置训练参数:超参数”一节。

为了从头训练所有的滤波器权重,需要大量的资源。因此,我们可以从以下观察中得到好处。第一层检测底层特征,如边缘和曲线。下面各层的特征映射较小,但它们代表更复杂的特征。对于一个大型网络,底层特征足够普遍,因此相应层的权值在不同任务之间不会有太大的变化。这就产生了一种称为迁移学习的技术:利用一个已经训练好的网络,再训练它以适应特定的任务,受益于较低层次已经相当合适的过滤权重。因此,所需的资源要少得多。虽然一般情况下,网络在大数据集上训练时应该更可靠,但再训练所需的数据量也取决于任务的复杂性。在分类的帮助下,迁移学习工作流程的基本架构如下图所示。

Basic schema of transfer learning with the aid of classification.

(1) A pretrained network is read.

(2) Training phase, the network gets trained with the training data.

(3) The trained model with new capabilities.

(4) Inference phase, the trained network infers on new images.

HALCON 20.11:深度学习笔记(4)--- 网络和训练过程相关推荐

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

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

  2. HALCON 20.11:深度学习笔记(6)---有监督训练

    HALCON 20.11:深度学习笔记(6)---有监督训练 HALCON 20.11.0.0中,实现了深度学习方法.不同的DL方法有不同的结果.相应地,它们也使用不同的测量方法来确定网络的" ...

  3. 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 ...

  4. 【深度学习】Tensorboard可视化模型训练过程和Colab使用

    [深度学习]Tensorboard可视化模型训练过程和Colab使用 文章目录 1 概述 2 手撸代码实现 3 Colab使用3.1 详细步骤3.2 Demo 4 总结 1 概述 在利用TensorF ...

  5. 深度学习中 Batch Size 对训练过程的影响

    作者 | 陈志远 编辑丨极市平台 之前面试过程中被问到过两个问题: (1)深度学习中batch size的大小对训练过程的影响是什么样的? (2)有些时候不可避免地要用超大batch,比如人脸识别,可 ...

  6. batch size 训练时间_深度学习 | Batch Size大小对训练过程的影响

    转自:面试中问你 Batch Size大小对训练过程的影响​mp.weixin.qq.com 先看两个问题: (1)深度学习中batch size的大小对训练过程的影响是什么样的? (2)有些时候不可 ...

  7. 深度学习:使用visdom可视化训练过程时,出现蓝屏,不能正常显示的解决办法

    深度学习训练过程中,使用visdom可视化训练过程时,不能正常显示的解决办法,总结见下: 1.安装的visdom版本修改为0.1.8.8,截止目前时间为2022年8月12日,高版本的0.1.8.9在使 ...

  8. 深度学习笔记~卷积网络中特征图的可视化

    转载:https://machinelearningmastery.com/how-to-visualize-filters-and-feature-maps-in-convolutional-neu ...

  9. HALCON 20.11:深度学习笔记(12)---语义分割

    HALCON 20.11:深度学习笔记(12)--- 语义分割 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语义分割, ...

最新文章

  1. 分布式文件系统(FastDFS)安装 配置
  2. python画图-python绘图篇
  3. BZOJ 2127 happiness (最小割)
  4. 一款实用的前端截图工具
  5. Angular路由错误消息 - router-outlet is not a known element
  6. arp 命令最简单的小应用
  7. RMSE、MAPE、准确率、召回率、F1、ROC、AUC总结
  8. 在 ReportViewer 报表中使用表达式
  9. PathCopyCopy一键复制文件路径
  10. 模态框分页java代码_ajax分页效果(bootstrap模态框)
  11. 计算机体系、语言的基础认识
  12. 通过matlab语言来实现对硬币的计数问题
  13. 4参数逻辑曲线公式及其含义
  14. Hi3559a移植Opencv3.0
  15. 浏览器书签栏的小图标设置
  16. python自动批量发邮件脚本_python自动发送邮件脚本
  17. node.js-医院预约挂号系统的设计与实现毕业设计源码141041
  18. xynu 2139: 德莱联盟(判断线段是否相交 )
  19. 远程桌面分辨率取决于服务器还是客户端,关于Windows8.1高分辨率,远程桌面连接的界面显示很小的问题~...
  20. Linux 不能命令补全,Linux 命令未自动提示补全

热门文章

  1. Go 编码建议——风格篇
  2. Linux Exploit系列之七 绕过 ASLR -- 第二部分
  3. javascript里的几种常见的数组方法
  4. 【Android UI设计与开发】9:滑动菜单栏(一)开源项目SlidingMenu的使用和示例-转...
  5. HDU2066一个人的旅行(dijkstra)
  6. 【体系结构】shared pool的个人理解
  7. SuSE配置zypper(功能相当于RHEL中的yum)
  8. 智能交通|智慧产业园区管理系统集成搭建
  9. PHP执行耗时脚本实时输出内容
  10. MVC+EF 入门教程(四)