一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像检测的训练方法、电子设备及可读存储介质与流程

2022-06-11 22:38:51 来源:中国专利 TAG:


1.本发明一般地涉及神经网络领域。更具体地,本发明涉及利用神经网络进行图像检测的训练方法、电子设备及可读存储介质。


背景技术:

2.随着人工智能的迅猛发展,神经网络模型大量地应用在各种图像识别的场景中。开发者需要利用训练数据集对神经网络模型进行训练,训练好的神经网络模型才能被使用。一般来说,训练数据集和应用场景具有相同分布的假设,然而用于模型训练的数据集与实际应用场景往往存在差异,例如训练数据集里的数据未考虑天气的因素,但实际场景却经常遇到下雨、起雾等天气变化,导致模型最终的性能不佳。
3.无监督域自适应(unsupervised domain adaptation,uda)提供了一种在无目标域标签时解决域分布不匹配导致的性能下降的方法。目前uda的研究致力于通过设计损失函数并最小化域之间的差异距离,来对齐不同域的特征分布。一个典型的模式是利用检测器的输出特征映射来建构特征空间,测量域的差异,然后对其进行缩小或插值。这种方法并不是优化域不变方向,而是针对域特定方向和域不变方向的整体。如图1所示,模型的损失函数是根据对权值求偏导时梯度最大的方向进行,即方向101,而事实上在考虑各种变化场景后,最理想的梯度方向可能是方向102。也就是说,模型的运动轨迹受到域特定方向的严重影响。
4.现有技术的分布对齐局限在特征层面,将模型参数进行整体优化。然而模型的迁移能力与判别能力在训练过程中会相互影响,现有技术中模型的训练过程依然会被域偏差项所影响,无法学习到针对检测任务有效的域特征不变空间。
5.因此,一种在训练过程调整偏差项的无监督自适应方案是迫切需要的。


技术实现要素:

6.为了至少部分地解决背景技术中提到的技术问题,本发明的方案提供了一种利用神经网络进行图像检测的训练方法、电子设备及可读存储介质。
7.在一个方面中,本发明揭露一种利用神经网络进行图像检测的训练方法,包括:在正向传播中,将训练图像输入至所述神经网络,以获得目标对象的类别或位置;在反向传播中,根据所述目标对象的类别或位置相较于所述训练图像标签信息的误差,生成损失函数;以及根据所述损失函数及权值梯度在权值方向上的投影长度,更新所述权值。
8.在另一个方面,本发明揭露一种利用神经网络进行图像检测的训练方法,包括:在正向传播中,根据权值与所述权值的长度,计算单位权值,所述单位权值反映所述权值的方向;在正向传播中,将训练图像输入至所述神经网络,与所述单位权值进行卷积计算,以获得输出图像目标信息;在反向传播中,根据所述输出相较于所述训练图像标注信息的误差,生成损失函数;以及根据所述损失函数,更新所述单位权值。
9.在另一个方面,本发明揭露一种电子设备,其特征在于,包括:处理器;用于存储处
理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行前述的方法。
10.在另一个方面,本发明揭露一种计算机可读存储介质,其上存储有利用神经网络进行图像检测的计算机程序指令,当所述计算机程序代码由处理装置运行时,执行前述的方法。
11.基于域不变对齐的目的,本发明提出了一种新的域特定方向抑制方法,通过权值方向上的投影,粗略估计出梯度中域特定的部分,并对相应方向上的梯度进行约束,使得训练好的模型不受域偏差的影响,更具有普遍性。
附图说明
12.通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
13.图1是示出神经网络在训练时的域特定方向与域不变方向的示意图;
14.图2是示出本发明实施例进行图像检测的训练方法的流程图;以及
15.图3是示出本发明另一实施例进行图像检测的训练方法的流程图。
具体实施方式
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.应当理解,本发明的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
18.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明。如在本发明说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
19.如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。
20.下面结合附图来详细描述本发明的具体实施方式。
21.神经网络的训练是通过输入训练样本来调整各层的参数,使得神经网络计算出来的结果与真实结果尽量接近。神经网络训练包括正向传播及反向传播,正向传播是基于现有的模型,输入训练样本通过神经网络的各层计算,将输入的特征图逐步提取为抽象特征,而反向传播是根据正向传播结果和真实值计算而得的损失函数,采用梯度下降法,通过链式法则计算出损失函数对每个参数的偏导,来更新参数。再利用更新后的参数进行训练,如
此重复多次,最终使得正向传播的计算结果符合预期。
22.目标检测是计算机视觉的基本任务之一。在处理目标检测时,现今主流思路是同时解决定位(localization)与检测,也就是多任务学习。目标检测的多任务学习带有两个输出分支,一个分支用于做图像分类,即全连接加上softmax来判断目标类别,另一个分支用于判断目标位置,即完成回归任务时输出矩形窗来标示目标物体。既然目标物体是在图像中的某一个区域,那么最直接的方法就是利用滑窗法(sliding window approach),遍历图像的所有区域,用不同大小的矩形窗在整个图像上滑动,以产生多个候选区域,然后进行排查,识别哪个候选区域具有目标物体的特征。
23.一般而言,开发者习惯性假设训练数据集和目标训练集有着相同的概率分布。然而在现实生活中,这种假设很难实现。当训练数据集和测试集有着显著差异时,很容易出现过拟合的现象,使得训练的模型在测试集上表现不理想。域自适应技术可以用来解决这个问题。
24.域自适应是迁移学习(transfer learning)的一种特殊情况,将不同域(如不同的数据集)的数据特征映射到同一个特征空间,这样可利用其它域的数据来增强目标域的训练。域自适应是通过利用训练数据集训练得到的知识,来提高模型在测试数据集上的表现性能。域自适应中有两个基础概念:源域(source domain)和目标域(target domain)。源域中有着丰富的监督学习信息,目标域表示测试集所在的域,通常无标签或者只含有少量的标签。源域和目标域往往是同一类任务,只是分布不同。
25.本发明将域自适应学习应用在目标检测中。一般来说,深度神经网络的浅层捕获的特征是低阶的外观,更多的反映关于边缘、纹理等的信息。相比之下,来自深层的特征涉及更多高阶的语义信息。这些特性与神经网络的可转移性有着逻辑或因果关系,可转移性指的是模型在不同的域中均表现良好,也就是普遍性。
26.本发明的一个实施例将训练过程中反向传播的梯度分成两个方向:域不变方向和域特定方向,分别强调的是域的普遍性和专用性。更详细来说,域不变方向代表的是目标检测的普遍性,而域特定方向代表的是目标检测的专用性。由于神经网络的训练方法对域特定方向很敏感,也就是说,在训练中更新权值时,在没有任何额外约束的情况下,域特定方向的变化要比向域不变方向的变化大得多,而权值更新又是跟随梯度变化最大的方向,故而容易受到域特定方向的影响。此实施例在训练时能更关注域不变方向,且抑制域特定方向,使得模型具有普遍性。
27.神经网络可以看作是将输入转化为对任务友好的特征空间的一系列运动模式,整个过程大致可以分为两个阶段:将输入分解为基本特征和生成最终任务的语义特征。但是,倘若模型的基本特征提取模式包含了太多的域偏差,第二阶段就不能很好地在目标域上运行。再者,无论第一阶段的目标对象是特定的还是不变的,对于带有注释的域,第二阶段总是可以找到其最优的最终任务。例如,一个域中所有车辆都是红色的,可能会使模型误解该域中的车辆应该是红色的,但这种误解不会导致该域中的性能与没有这种颜色偏差的模型相比有任何的差异。
28.此实施例所提出的方案涉及域自适应方法,在第一阶段抑制域特定方向,在第二阶段找到域不变方向,以从根本上消除域特定方向的影响。进一步来说,此实施例是一种利用神经网络进行图像检测的训练方法,也是一种域差异抑制算法,在神经网络的梯度反向
传播过程中,利用卷积层的更新梯度在该层的权值方向的投影来估计梯度的域差异方向,并在实际训练中使用梯度与其投影方向的差值作为梯度更新值。
29.实际训练的训练图像可以来自于虚拟场景产生的数据集,虚拟场景指的是完美没有任何干扰情况下的场景,以室外场景为例,虚拟场景可能是晴天,没有雨、雾、雪、霜、雷、雹、霾等干扰。训练图像还可以来自于偏差环境产生的数据集,像是训练图像里的车子都是红色的,或车子都不配置天窗等。图2示出此实施例的流程图。
30.在步骤201中,在正向传播中,将训练图像输入至神经网络,以获得目标对象的类别或位置。在训练阶段的正向传播中,进行多次的一代训练(epoch),一代训练指的是使用所有训练样本进行一次训练的过程,这些训练样本的集合为训练集,每训练批数量(batchsize)个训练样本即为一次迭代(iteration)。例如训练集有1000个训练样本,批数量设定为10个,则每次迭代需要10个训练样本参与训练,一代训练中共有100次迭代。
31.在步骤202中,在反向传播中,根据目标对象的类别或位置相较于训练图像标签信息的误差,生成损失函数,用来表现训练图像标签信息与目标对象的类别或位置的差距程度。
32.现有技术在获得损失函数后,权值的更新可以利用下列式子表示:
[0033][0034]
其中,w
t
表示第t次迭代的权值矩阵,η为学习率或步长,l为损失函数。但这样的逆向过程将梯度的域不变方向和域特定方向等同对待,同时利用两者来更新权值,权值的更新更倾向于反映对于域特定的优化,而域特定方向只是有偏差、局部相对较优的方向而已。此实施例并不仅仅利用前述式子来更新权值,而是进一步找出域不变方向,基于域不变方向来更新权值,因为域不变方向才是最优化的梯度方向。
[0035]
在步骤203中,在反向传播中,获得权值梯度在权值方向上投影的模。模是范数(norm),也就是将权值梯度映射到权值方向上。为了获得权值梯度在权值方向上投影的模,首先根据权值与权值长度,计算权值方向,在此实施例中,将权值与权值长度相除,以获得权值方向,即其中为权值长度。接着,获得损失函数对权值的偏导,也就是权值梯度,权值梯度即最后对权值方向及偏导进行向量内积,以获得权值梯度在权值方向上投影的模
[0036]
在步骤204中,在反向传播中,将模及权值方向相乘,以获得投影向量,即
[0037]
在步骤205中,在反向传播中,对投影长度设定衰减系数λ。衰减系数λ代表投影向量在梯度上被重视的程度,在此实施例中设置为1。
[0038]
在步骤206中,根据损失函数及权值梯度在权值方向上的投影长度,更新权值。基
于前述获得的投影方向与设定的衰减系数λ,此实施例根据以下式子更新权值:
[0039][0040]
由上述式子可知,此实施例利用损失函数及权值梯度在权值方向上的投影,在梯度上分离域特定方向,以消除其对训练过程的影响。换言之,此实施例首先利用模型的权值方向来估计域特定方向,然后通过减去梯度在权值方向上的投影来消除它,进而在训练时凸显域不变方向,使得训练结果更具有普遍性。
[0041]
由于使用无监督域自适应框架训练的模型在源域比目标域表现出更好的性能,因此原始运动模式自然受到源域特定方向的支配,因此模型在开始时的权值就可以准确地指引此实施例如何抑制域特定方向的影响。在训练过程中,整个模型的方向会逐渐调整,越来越关注域不变方向而不是域特定方向。
[0042]
本发明的另一个实施例是一种利用神经网络进行图像检测的训练方法,相较于前述实施例,此实施例在正向传播阶段便考虑抑制域特定方向的影响。图3示出此实施例的流程图。
[0043]
在步骤301中,在正向传播中,根据权值与权值的长度,计算单位权值,单位权值反映权值的方向。此实施例根据权值与权值长度,计算单位权值更详细来说,单位权值是将权值与权值长度相除,即
[0044][0045]
在步骤302中,在正向传播中,将训练图像输入至神经网络,与单位权值进行卷积计算,以获得输出图像目标信息。在此步骤中,训练样本不与权值进行卷积计算,而是改与单位权值进行卷积计算。
[0046]
在步骤303中,在反向传播中,根据输出相较于训练图像标注信息的误差,生成损失函数。
[0047]
在步骤304中,根据损失函数,更新单位权值。在获得损失函数后,单位权值的更新可以利用下列式子表示:
[0048][0049]
由于此实施例在正向传播时便企图抑制域特定方向的影响,以单位权值来取代权值进行卷积计算,因此在反向传播时,采用现有损失函数对单位权值偏导来更新即可。事实上,在步骤304中式子等效于:
[0050]
[0051]
因此,此实施例同样可以达到前述实施例的效果。
[0052]
本发明的另一个实施例是一种电子设备,包括处理器及用于存储处理器可执行指令的存储器。处理器被配置为调用存储器存储的指令,以执行前述各实施例的方法。
[0053]
本发明另一个实施例为一种计算机可读存储介质,其上存储有利用神经网络进行图像检测的计算机程序代码,当所述计算机程序代码由处理器运行时,执行如前所述各实施例的方法。在一些实现场景中,上述集成的单元可以采用软件程序模块的形式来实现。如果以软件程序模块的形式实现并作为独立的产品销售或使用时,所述集成的单元可以存储在计算机可读取存储器中。基于此,当本发明的方案以软件产品(例如计算机可读存储介质)的形式体现时,该软件产品可以存储在存储器中,其可以包括若干指令用以使得计算机设备(例如个人计算机、服务器或者网络设备等)执行本发明实施例所述方法的部分或全部步骤。前述的存储器可以包括但不限于u盘、闪存盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0054]
本发明将神经网络模型视为是一系列的运动模式,并对梯度方向划分为域不变方向和域特定方向两部分,前者决定了模型的可转移性,后者则是域自适应的障碍。通过在正向传播时或是反向传播时估计和消除梯度中的域特定方向,本发明针对域不变方向来优化权值,使得模型更具可转移性及普遍性。在进行推理时,将图像输入至训练好的神经网络模型,可以更精准执行目标检测的任务。
[0055]
根据不同的应用场景,本发明的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、pc设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、b超仪和/或心电图仪。本发明的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本发明的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本发明方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
[0056]
需要说明的是,为了简明的目的,本发明将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本发明的方案并不受所描述的动作的顺序限制。因此,依据本发明的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本发明所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本发明某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本发明对一些实施例的描述也各有侧重。鉴于此,本领
域技术人员可以理解本发明某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
[0057]
在具体实现方面,基于本发明的公开和教导,本领域技术人员可以理解本发明所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行拆分,而实际实现时也可以有另外的拆分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
[0058]
在本发明中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本发明实施例所述方案的目的。另外,在一些场景中,本发明实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
[0059]
在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如中央处理器、gpu、fpga、dsp和asic等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(resistive random access memory,rram)、动态随机存取存储器(dynamic random access memory,dram)、静态随机存取存储器(static random access memory,sram)、增强动态随机存取存储器(enhanced dynamic random access memory,edram)、高带宽存储器(high bandwidth memory,hbm)、混合存储器立方体(hybrid memory cube,hmc)、rom和ram等。
[0060]
依据以下条款可更好地理解前述内容:
[0061]
条款a1、一种利用神经网络进行图像检测的训练方法,包括:在正向传播中,将训练图像输入至所述神经网络,以获得目标对象的类别或位置;在反向传播中,根据所述目标对象的类别或位置相较于所述训练图像标签信息的误差,生成损失函数;以及根据所述损失函数及权值梯度在权值方向上的投影长度,更新所述权值。
[0062]
条款a2、根据条款a1所述的训练方法,还包括:在反向传播中,获得所述权值梯度在权值方向上投影的模。
[0063]
条款a3、根据条款a2所述的训练方法,其中所述获得所述权值梯度在权值方向上投影的模的步骤包括:根据所述权值与所述权值的长度,计算所述权值方向;获得所述损失函数对所述权值的偏导;以及对所述权值方向及所述偏导进行向量内积,以获得所述模。
[0064]
条款a4、根据条款a3所述的训练方法,还包括:在反向传播中,对所述模及所述权值方向相乘,以获得所述投影向量。
[0065]
条款a5、根据条款a4所述的训练方法,还包括:在反向传播中,对所述投影长度设
定衰减系数。
[0066]
条款a6、根据条款a5所述的训练方法,其中所述衰减系数为1。
[0067]
条款a7、根据条款a1所述的训练方法,其中所述训练图像来自于虚拟场景产生的数据集。
[0068]
条款a8、根据条款a1所述的训练方法,其中所述训练图像来自于偏差环境产生的数据集。
[0069]
条款a9、一种利用神经网络进行图像检测的训练方法,包括:在正向传播中,根据权值与所述权值的长度,计算单位权值,所述单位权值反映所述权值的方向;在正向传播中,将训练图像输入至所述神经网络,与所述单位权值进行卷积计算,以获得输出图像目标信息;在反向传播中,根据所述输出相较于所述训练图像标注信息的误差,生成损失函数;以及根据所述损失函数,更新所述单位权值。
[0070]
条款a10、一种电子设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行条款a1至9中任一项所述的方法。
[0071]
条款a11、一种计算机可读存储介质,其上存储有利用神经网络进行图像检测的计算机程序指令,当所述计算机程序代码由处理装置运行时,执行条款a1至9中任一项所述的方法。
[0072]
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献