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.

(0)

相关推荐

  • 最新综述丨视频超分辨率研究方法

    作者丨Wangsy 编辑丨极市平台 极市导读 本文是第一个也是唯一一个视频超分方向的综述,回顾了基于深度学习的视频超分技术的研究进展,提出了一种基于深度学习的视频超分分类方法,并总结了SOTA方法在一 ...

  • 华为诺亚加法网络再升级:精度提升,可以逼近任意函数

    转载:机器之心 深度卷积神经网络的计算常常需要巨大的能耗,因此难以在移动设备上实现.为此学界正在探索研究各式各样的新方法,本文要介绍的这项研究提出了使用加法替代 CNN 中的乘法(卷积),从而极大降低 ...

  • HALCON 20.11:深度学习笔记(10)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何在训练和推理阶段使用基于深度学习的分类. 基于深度学习的分类是一种对一幅图像分配一组置信值的方法.这些置信度值表明图像属于每个可 ...

  • HALCON 20.11:深度学习笔记(12)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语义分割,我们使用深度学习(DL)网络将输入图像的每个像素分配到一个类. ...

  • HALCON 20.11:深度学习笔记(11)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章讲解了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在图像中找到不同的实例,并将它们分配给一个类.实例可以部分重叠,但仍然可以区 ...

  • HALCON 20.11:深度学习笔记(9)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的异常检测. 通过异常检测,我们想要检测图像是否包含异常.异常指的是偏离常规的.未知的东西. 异常检测的例子:输 ...

  • HALCON 20.11:深度学习笔记(8)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章解释HALCON中深度学习(DL)模型的一般概念和数据处理. 从概念上讲,HALCON中的深度学习模型是深度神经网络的内部表示. 每个深度 ...

  • HALCON 20.11:深度学习笔记(7)

    HALCON 20.11.0.0中,实现了深度学习方法.下面,我们将描述深度学习环境中使用的最重要的术语: anchor (锚) Anchors are fixed bounding boxes. T ...

  • HALCON 20.11:深度学习笔记(6)

    HALCON 20.11.0.0中,实现了深度学习方法.不同的DL方法有不同的结果.相应地,它们也使用不同的测量方法来确定网络的"好坏".在训练一个网络时,不同的模型会有不同的行为 ...

  • HALCON 20.11:深度学习笔记(5)

    HALCON 20.11.0.0中,实现了深度学习方法.关于超参数的有关设置内容如下: 不同的DL方法被设计用于不同的任务,它们的构建方式也会有所不同.它们都有一个共同点,即在模型的训练过程中都面临着 ...

  • HALCON 20.11:深度学习笔记(3)

    HALCON 20.11:深度学习笔记(3)---Data(数据) HALCON 20.11.0.0中,实现了深度学习方法.其中,关于术语"数据"的介绍如下: 术语"数据 ...