CN113688844A - 神经网络训练方法、装置、电子设备及存储介质 - Google Patents

神经网络训练方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113688844A
CN113688844A CN202110932654.8A CN202110932654A CN113688844A CN 113688844 A CN113688844 A CN 113688844A CN 202110932654 A CN202110932654 A CN 202110932654A CN 113688844 A CN113688844 A CN 113688844A
Authority
CN
China
Prior art keywords
sample
loss
pixel
network
abnormal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110932654.8A
Other languages
English (en)
Inventor
尤志远
杨凯
崔磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sensetime Intelligent Technology Co Ltd
Original Assignee
Shanghai Sensetime Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Sensetime Intelligent Technology Co Ltd filed Critical Shanghai Sensetime Intelligent Technology Co Ltd
Priority to CN202110932654.8A priority Critical patent/CN113688844A/zh
Publication of CN113688844A publication Critical patent/CN113688844A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了一种神经网络训练方法、装置、电子设备及存储介质;方法包括:通过初始检测网络,对训练样本集中的当前训练样本进行特征处理与重构,得到当前训练样本对应的样本特征序列与重构样本特征序列;训练样本集包含正样本与负样本,负样本为存在异常部分的图像;通过异常损失函数,基于样本特征序列与重构样本特征序列,对初始检测网络进行迭代训练,直至得到检测网络;其中,检测网络用于对待检测图像中的异常部分进行检测;异常损失函数通过像素级和/或图像级进行损失计算。通过本公开,能够提高网络训练的准确性与灵活性。

Description

神经网络训练方法、装置、电子设备及存储介质
技术领域
本公开涉及人工智能技术领域,尤其涉及一种神经网络训练方法、装置、电子设备及存储介质。
背景技术
近年来,深度学习算法在各个领域都取得了巨大的进展,也在很多工业视觉检测领域取得了落地。相关技术通常利用深度学习算法来训练异常检测模型,用于对生产环境中的产品进行异常图像的检测。然而,深度学习算法往往需要大量的、高质量的训练样本,而基于使用不同类型、不同标注方式的样本的模型训练方法不同,导致异常检测模型对于不同标注类型的训练样本的兼容能力较差,限制了异常检测模型从各种类型的样本中进行学习的能力。这样不仅降低了异常检测的灵活性,也降低了异常检测的准确性。
发明内容
本公开实施例提供一种神经网络训练方法、装置、电子设备及计算机可读存储介质,能够提高网络训练的准确性与灵活性。
本公开实施例的技术方案是这样实现的:
本公开实施例提供一种神经网络训练方法,包括:
通过初始检测网络,对训练样本集中的当前训练样本进行特征处理与重构,得到所述当前训练样本对应的样本特征序列与重构样本特征序列;所述训练样本集包含正样本与负样本,所述负样本为存在异常部分的图像;
通过异常损失函数,基于所述样本特征序列与重构样本特征序列,对所述初始检测网络进行迭代训练,直至得到检测网络;其中,所述检测网络用于对待检测图像中的异常部分进行检测;所述异常损失函数通过像素级和/或图像级进行损失计算。
上述方法中,所述初始检测网络包括:特征提取网络与初始重构网络;所述通过初始检测网络,对训练样本集中的当前训练样本进行特征处理与重构,得到所述当前训练样本对应的样本特征序列与重构样本特征序列,包括:
通过所述特征提取网络,对所述当前训练样本进行特征处理,得到样本特征序列;
基于所述初始重构网络,对所述样本特征序列和预设的初始问询词序列进行重构,得到重构样本特征序列。
上述方法中,所述通过异常损失函数,基于所述样本特征序列与重构样本特征序列,对所述初始检测网络进行迭代训练,直至得到检测网络,包括:
根据所述重构样本特征序列与所述样本特征序列,确定样本特征差异序列;
获取所述当前训练样本的真实值;
基于所述样本特征差异序列、所述真实值和所述异常损失函数,得到当前损失;其中,所述异常损失函数用于在针对所述正样本或负样本进行处理的情况下,将所述正样本对应的重构样本特征序列拉近样本特征序列;将所述负样本中的异常部分对应的重构样本特征序列推离样本特征序列;
基于所述当前损失对所述初始检测网络进行调整,并将所述训练样本集中的下一个训练样本作为当前样本,对调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络。
上述方法中,所述通过异常损失函数,基于所述样本特征序列与重构样本特征序列,对所述初始检测网络进行迭代训练,直至得到检测网络,包括:
基于所述样本特征序列与预设特征提取损失函数,计算所述特征提取网络对应的特征提取损失;
通过异常损失函数,基于所述样本特征序列与重构样本特征序列,得到所述初始重构网络的当前损失;
基于所述特征提取损失,对所述初始特征提取网络进行调整;并基于所述当前损失,对所述初始重构网络进行同步调整,并对所述初始特征提取网络与所述初始重构网络进行迭代训练,直至得到所述特征提取损失与所述当前损失满足预设训练条件的特征提取网络与重构网络,作为所述检测网络。
上述方法中,像素级的真实值;所述异常损失函数包括:像素级损失函数;所述像素级的真实值用于在所述当前训练样本中标注正常像素点或异常像素点;
所述基于所述样本特征差异序列、所述真实值和所述异常损失函数,得到当前损失,包括:
在所述真实值为像素级的真实值的情况下,对所述样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量;
通过所述像素级损失函数,基于所述样本特征差异度量、所述像素级的真实值,计算所述正常像素点对应的正常像素损失,以及异常像素点对应的异常像素损失;
基于所述正常像素损失和所述异常像素损失,确定所述当前损失。
上述方法中,所述真实值包括:图像级的真实值;所述异常损失函数包括:图像级损失函数;所述图像级的真实值用于标注所述当前训练样本为正样本或负样本;所述基于所述样本特征差异序列、所述真实值和所述异常损失函数,得到当前损失,包括:
在所述真实值为图像级的真实值的情况下,对所述样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量;
从所述每个像素位置上的样本特征差异度量中,确定数值最大的K个最大样本特征差异度量;K为大于1的正整数;
对所述K个最大样本特征差异度量进行平均,得到样本特征平均差异度量;
通过所述图像级损失函数,基于所述样本特征平均差异度量、所述图像级的真实值,计算所述当前训练样本对应的正常图像损失与异常图像损失;其中,在所述当前训练样本为正样本的情况下,所述样本特征平均差异度量与所述正常图像损失成正相关;在所述当前训练样本为负样本的情况下,所述样本特征平均差异度量与所述异常图像损失成负相关;
基于所述正常图像损失或所述异常图像损失,确定所述当前损失。
上述方法中,所述像素级损失函数包括:正常像素损失部分和异常像素损失部分;
所述通过所述像素级损失函数,基于所述样本特征差异度量、所述像素级的真实值,计算所述正常像素点对应的正常像素损失,以及异常像素点对应的异常像素损失,包括:
对于所述当前训练样本中的每个像素点,在所述像素级的真实值表征像素点为所述正常像素点的情况下,基于所述正常像素损失部分,对所述正常像素点的样本特征差异度量进行加权平均,得到所述正常像素损失;所述正常像素点的样本特征差异度量与所述正常像素损失成正相关;
在所述像素级的真实值表征像素点为异常像素点的情况下,基于所述异常像素损失部分,对所述异常像素点的样本特征差异度量进行加权平均,得到所述异常像素损失;所述异常像素点的样本特征差异度量与所述异常像素损失成负相关。
上述方法中,所述图像级损失函数包括:正常图像损失部分和异常图像损失部分;
所述通过所述图像级损失函数,基于所述样本特征平均差异度量、所述图像级的真实值,计算所述当前训练样本对应的正常图像损失与异常图像损失,包括:
在所述图像级的真实值表征所述当前训练样本为正样本的情况下,基于所述正常图像损失部分,将所述负样本特征平均差异度量,确定为所述正常图像损失;
在所述图像级的真实值表征所述当前训练样本为负样本的情况下,基于所述异常图像损失部分和所述负样本特征平均差异度量,得到所述异常图像损失。
上述方法中,所述基于所述正常像素损失和所述异常像素损失,确定所述当前损失,包括:
根据所述正常像素损失与所述异常像素损失,得到第一当前损失;
通过对所述样本特征差异序列进行像素位置的分类预测,得到当前分类损失;
基于所述第一当前损失与所述当前分类损失,得到所述当前损失。
上述方法中,所述初始检测网络包括:初始分类网络;所述通过对所述样本特征差异序列进行像素位置的分类预测,得到当前分类损失,包括:
采用所述初始分类网络,对所述样本特征差异序列进行像素位置的分类,得到每个像素位置上的样本分类概率;
基于每个像素位置上的所述样本分类概率、所述像素级的真实值和分类损失函数,得到所述当前分类损失。
上述方法中,所述基于所述当前损失对所述初始检测网络进行调整,并将所述训练样本集中的下一个训练样本作为当前样本,对调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络,包括:
基于所述当前分类损失,对所述初始分类网络的网络参数进行调整;
基于所述当前损失,对所述初始重构网络的网络参数进行调整;并根据调整后的分类网络与调整后的初始重构网络得到调整后的初始检测网络;
将所述训练样本集中的下一个训练样本作为当前样本,对所述调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络。
上述方法中,所述得到检测网络之后,所述方法还包括:
基于所述检测网络,对待检测图像进行不同尺度的特征处理,得到多尺度特征序列;
对所述多尺度特征序列和预设的问询词序列进行重构,得到重构特征序列;
根据所述重构特征序列与所述多尺度特征序列,确定每个像素位置上的特征差异;
基于所述特征差异,确定所述每个像素位置上的异常评分;
基于所述异常评分,绘制所述待检测图像对应的异常检测图像。
上述方法中,所述基于所述特征差异,确定所述每个像素位置上的异常评分,包括:
对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的中间异常评分,将所述中间异常评分作为所述异常评分。
上述方法中,所述基于所述特征差异,确定所述每个像素位置上的异常评分,包括:
对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的中间异常评分;
采用分类网络,对每个像素位置上的所述特征差异进行分类,得到分类概率;
将所述分类概率与所述中间异常评分进行相乘,得到所述每个像素位置上的所述异常评分。
上述方法中,所述基于所述异常评分,绘制所述待检测图像对应的异常检测图像,包括:
在每个像素位置上的异常评分小于或者等于评分阈值的情况下,将该像素位置对应的像素值绘制为第一值;
在每个像素位置上的异常评分大于评分阈值的情况下,将该像素位置对应的像素值绘制为第二值;直至将所述待检测图像的像素位置绘制完成时,得到所述异常检测图像。
本公开实施例提供一种神经网络训练装置,包括:
初始检测网络,用于对训练样本集中的当前训练样本进行特征处理与重构,得到所述当前训练样本对应的样本特征序列与重构样本特征序列;所述训练样本集包含正样本与负样本,所述负样本为存在异常部分的图像;
训练单元,用于通过异常损失函数,基于所述样本特征序列与重构样本特征序列,对所述初始检测网络进行迭代训练,直至得到检测网络;其中,所述检测网络用于对待检测图像中的异常部分进行检测;所述异常损失函数通过像素级和/或图像级进行损失计算。
上述装置中,所述初始检测网络包括:特征提取网络与初始重构网络;所述特征提取网络,用于对所述当前训练样本进行特征处理,得到样本特征序列;
所述初始重构网络,用于对所述样本特征序列和预设的初始问询词序列进行重构,得到重构样本特征序列。
上述装置中,所述训练单元,还用于根据所述重构样本特征序列与所述样本特征序列,确定样本特征差异序列;获取所述当前训练样本的真实值;基于所述样本特征差异序列、所述真实值和所述异常损失函数,得到当前损失;其中,所述异常损失函数用于在针对所述正样本或负样本进行处理的情况下,将所述正样本对应的重构样本特征序列拉近样本特征序列;将所述负样本中的异常部分对应的重构样本特征序列推离样本特征序列;基于所述当前损失对所述初始检测网络进行调整,并将所述训练样本集中的下一个训练样本作为当前样本,对调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络。
上述装置中,所述训练单元,还用于基于所述样本特征序列与预设特征提取损失函数,计算所述特征提取网络对应的特征提取损失;通过异常损失函数,基于所述样本特征序列与重构样本特征序列,得到所述初始重构网络的当前损失;基于所述特征提取损失,对所述初始特征提取网络进行调整;并基于所述当前损失,对所述初始重构网络进行同步调整,并对所述初始特征提取网络与所述初始重构网络进行迭代训练,直至得到所述特征提取损失与所述当前损失满足预设训练条件的特征提取网络与重构网络,作为所述检测网络。
上述装置中,像素级的真实值;所述异常损失函数包括:像素级损失函数;所述像素级的真实值用于在所述当前训练样本中标注正常像素点或异常像素点;
所述训练单元,还用于在所述真实值为像素级的真实值的情况下,对所述样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量;通过所述像素级损失函数,基于所述样本特征差异度量、所述像素级的真实值,计算所述正常像素点对应的正常像素损失,以及异常像素点对应的异常像素损失;基于所述正常像素损失和所述异常像素损失,确定所述当前损失。
上述装置中,所述真实值包括:图像级的真实值;所述异常损失函数包括:图像级损失函数;所述图像级的真实值用于标注所述当前训练样本为正样本或负样本;所述训练单元,还用于在所述真实值为图像级的真实值的情况下,对所述样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量;从所述每个像素位置上的样本特征差异度量中,确定数值最大的K个最大样本特征差异度量;K为大于1的正整数;对所述K个最大样本特征差异度量进行平均,得到样本特征平均差异度量;通过所述图像级损失函数,基于所述样本特征平均差异度量、所述图像级的真实值,计算所述当前训练样本对应的正常图像损失与异常图像损失;其中,在所述当前训练样本为正样本的情况下,所述样本特征平均差异度量与所述正常图像损失成正相关;在所述当前训练样本为负样本的情况下,所述样本特征平均差异度量与所述异常图像损失成负相关;基于所述正常图像损失或所述异常图像损失,确定所述当前损失。
上述装置中,所述像素级损失函数包括:正常像素损失部分和异常像素损失部分;
所述训练单元,还用于对于所述当前训练样本中的每个像素点,在所述像素级的真实值表征像素点为所述正常像素点的情况下,基于所述正常像素损失部分,对所述正常像素点的样本特征差异度量进行加权平均,得到所述正常像素损失;所述正常像素点的样本特征差异度量与所述正常像素损失成正相关;在所述像素级的真实值表征像素点为异常像素点的情况下,基于所述异常像素损失部分,对所述异常像素点的样本特征差异度量进行加权平均,得到所述异常像素损失;所述异常像素点的样本特征差异度量与所述异常像素损失成负相关。
上述装置中,所述图像级损失函数包括:正常图像损失部分和异常图像损失部分;
所述训练单元,还用于在所述图像级的真实值表征所述当前训练样本为正样本的情况下,基于所述正常图像损失部分,将所述负样本特征平均差异度量,确定为所述正常图像损失;在所述图像级的真实值表征所述当前训练样本为负样本的情况下,基于所述异常图像损失部分和所述负样本特征平均差异度量,得到所述异常图像损失。
上述装置中,所述训练单元,还用于根据所述正常像素损失与所述异常像素损失,得到第一当前损失;通过对所述样本特征差异序列进行像素位置的分类预测,得到当前分类损失;基于所述第一当前损失与所述当前分类损失,得到所述当前损失。
上述装置中,所述初始检测网络包括:初始分类网络;所述训练单元,还用于采用所述初始分类网络,对所述样本特征差异序列进行像素位置的分类,得到每个像素位置上的样本分类概率;基于每个像素位置上的所述样本分类概率、所述像素级的真实值和分类损失函数,得到所述当前分类损失。
上述装置中,所述训练单元,还用于基于所述当前分类损失,对所述初始分类网络的网络参数进行调整;基于所述当前损失,对所述初始重构网络的网络参数进行调整;并根据调整后的分类网络与调整后的初始重构网络得到调整后的初始检测网络;将所述训练样本集中的下一个训练样本作为当前样本,对所述调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络。
上述装置中,所述装置还包括异常检测单元,所述异常检测单元,用于所述得到检测网络之后,基于所述检测网络,对待检测图像进行不同尺度的特征处理,得到多尺度特征序列;对所述多尺度特征序列和预设的问询词序列进行重构,得到重构特征序列;根据所述重构特征序列与所述多尺度特征序列,确定每个像素位置上的特征差异;基于所述特征差异,确定所述每个像素位置上的异常评分;基于所述异常评分,绘制所述待检测图像对应的异常检测图像。
上述装置中,所述异常检测单元,还用于对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的中间异常评分,将所述中间异常评分作为所述异常评分。
上述装置中,所述异常检测单元,还用于对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的中间异常评分;采用分类网络,对每个像素位置上的所述特征差异进行分类,得到分类概率;将所述分类概率与所述中间异常评分进行相乘,得到所述每个像素位置上的所述异常评分。
上述装置中,所述异常检测单元,还用于在每个像素位置上的异常评分小于或者等于评分阈值的情况下,将该像素位置对应的像素值绘制为第一值;在每个像素位置上的异常评分大于评分阈值的情况下,将该像素位置对应的像素值绘制为第二值;直至将所述待检测图像的像素位置绘制完成时,得到所述异常检测图像。
本公开实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本公开实施例提供的神经网络训练方法。
本公开实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本公开实施例提供的神经网络训练方法。
本公开实施例具有以下有益效果:
通过包含正样本和负样本的训练样本集对初始检测网络进行训练,并在训练过程中通过兼容像素级和/或图像级的异常损失函数,针对不同类型的训练样本计算对应的训练损失,训练得到检测网络,实现了使用多种类型样本的网络训练,提高了网络训练的灵活性。并且,初始检测网络可以在训练过程中,通过正样本与负样本、以及像素级和图像级的标注进行更全面地学习,使得训练得到的检测网络在应用于异常检测时可以达到更高的精度,从而提高了网络训练的准确性。
附图说明
图1是本公开实施例提供的神经网络训练方法的一个可选的流程示意图;
图2是本公开实施例提供的负样本示意图;
图3是本公开实施例提供的负样本与像素级的真实值对应的效果图;
图4是本公开实施例提供的对当前训练样本进行多尺度的特征提取的过程示意图;
图5是本公开实施例提供的对样本图像进行重构的过程示意图;
图6是本公开实施例提供的编码器-解码器结构的初始重构网络结构示意图;
图7是本公开实施例提供的神经网络训练方法的一个可选的流程示意图;
图8是本公开实施例提供的完全正样本对应的当前损失计算过程示意图;
图9是本公开实施例提供的神经网络训练方法的一个可选的流程示意图;
图10是本公开实施例提供的神经网络训练方法的一个可选的流程示意图;
图11是本公开实施例提供的通过初始分类网络计算像素级的真实值的负样本对应的当前损失的过程示意图;
图12是本公开实施例提供的神经网络训练方法的一个可选的流程示意图;
图13是本公开实施例提供的异常检测方法的一个可选的流程示意图;
图14是本公开实施例提供的使用未通过分类网络训练得到重构网络对待检测图像进行异常检测,得到每个像素位置的异常评分的过程示意图;
图15是本公开实施例提供的使用通过分类网络训练得到重构网络对待检测图像进行异常检测,得到每个像素位置的异常评分的过程示意图;
图16是本公开实施例提供的对待检测图像进行异常检测,得到异常检测图像的过程示意图;
图17是本公开实施例提供的异常检测图像的效果示意图;
图18是本公开实施例提供的一种神经网络训练装置的结构示意图;
图19是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
目前,基于深度学习的自动视觉检测越来越受到人们的关注。深度学习方法多为数据驱动的,需要大量的人工标注信息。然而在实际应用中,产线运行初期发生的异常的概率较低,所产生的负样本较少,不足以支撑网络模型的训练。因此,相关技术中通常会采用无监督的学习方式,仅使用正样本作为网络模型训练的输入,对基于深度卷积神经网络CNN(Convolutional Neural Network,CNN)的网络模型,如自动编码器(Auto Encoders,AE)、变分自编码器(Variational Auto Encoders,VAE)以及对抗网络(GenerativeAdversarial Networks,GAN)等进行训练,得到重建模型。
而随着产线的运行,能够积累到更多异常情况下的真实图像作为负样本,目前对于负样本有多种标注方式;示例性地,可以对整张真实图像进行标注,即图像级标注;也可以对整张真实图像中的每个像素进行标注,即像素级标注。其中,图像级标注的效率更高,而像素级标注的精度更高,实际应用中通常会根据实际需求采用不同的标注方式。
然而,目前的网络训练方法中,使用正样本的训练方法与使用负样本的训练方法不同,无法同时使用正样本与负样本进行模型训练,并且,不同标注方式的训练方法以及训练过程中的损失计算方法也不同,因此,目前的网络训练方法无法兼容不同类型的样本进行训练,这样不仅降低了网络训练的灵活性,也限制了网络模型从不同样本中进行学习的能力,从而降低了网络训练的准确性。
将结合本公开实施例提供的电子设备的示例性应用和实施,说明本公开实施例提供的神经网络训练方法。
参见图1,图1是本公开实施例提供的神经网络训练方法的一个可选的流程示意图,将结合图1示出的步骤进行说明。
S101、通过初始检测网络,对训练样本集中的当前训练样本进行特征处理与重构,得到当前训练样本对应的样本特征序列与重构样本特征序列;训练样本集包含正样本与负样本,负样本为存在异常部分的图像。
本公开实施例中的神经网络训练方法适用于训练基于人工智能的检测网络,以用于异常检测的场景。训练得到的检测网络可以用于对产线上的产品图像进行异常检测,发现异常产品,如残次品等;或者,用于对批量图像进行异常检测,发现其中不符合预设整体规范的异常图像等等场景,具体的根据实际情况进行选择,本公开实施例不作限定。
本公开实施例中,电子设备可以获取包含正样本与负样本的训练样本集来对初始检测网络进行训练。这里,正样本为正常图像,正样本可以包括无标签的可靠正样本,即完全正样本;也可以包括图像级标注为正常图像的正样本。负样本为存在异常部分的图像,可以包括像素级标注的负样本与图像级标注的负样本。其中,像素级标注的负样本对应的标签为像素级的真实值,像素级的真实值用于对负样本中的每个像素点进行标注,标注其为正常像素点或异常像素点;图像级标注的负样本对应的标签为图像级的真实值,图像级的真实值用于根据整个图像中是否包含异常部分,将对应的样本标注为正样本或负样本。
在一些实施例中,训练样本集中的负样本可以如图2所示,其中,负样本4-1为发芽的种子图像、负样本4-2为刷头尖端处刷毛异常的牙刷图像、负样本4-3为存在破损的坚果图像。图2中通过4-10、4-20与4-30分别示出了负样本4-1、负样本4-2与负样本4-3中包含异常像素的区域。
示例性地,基于图2,图2中负样本4-1的像素级的真实值对应的效果图可以如图3所示,其中,负样本4-1中的每个像素点对应一像素级的真实值,真实值为0表征正常像素点,在图3的效果图中显示为黑色像素点,真实值为1表征异常像素点,在图3的效果图中显示为白色像素点。而图像级标签不区分负样本中的正常像素点与异常像素点,仅表征整个负样本中是否存在异常。
本公开实施例中,在对初始检测网络进行训练的过程中,对于当前轮训练过程对应的当前训练样本,电子设备可以利用初始检测网络,通过多尺度特征提取与融合的方式对当前训练样本进行特征处理,得到当前训练样本对应的样本特征序列,进而对样本特征序列进行重构,得到重构样本特征序列。
在一些实施例中,初始检测网络包括:特征提取网络与初始重构网络。电子设备可以通过特征提取网络,对当前训练样本进行特征处理,得到样本特征序列;基于初始重构网络,对样本特征序列和预设的初始问询词序列进行重构,得到重构样本特征序列。
在一些实施例中,上述特征提取网络可以是训练好的特征提取网络。示例性地,电子设备可以采用骨干网络作为特征提取网络,对当前训练样本进行不同尺度的特征提取,得到当前训练样本多个不同尺度的样本特征;并将多个不同尺度的样本特征进行融合,得到多尺度样本特征;对多尺度样本特征进行形状变换,转换为序列形式,得到样本特征序列。
示例性地,电子设备可以采用包含多重特征提取层的CNN网络,如ResNet-34作为特征提取网络,利用ResNet-34的底层特征提取层得到当前训练样本的表观特征,如颜色,边界划分,对比度,亮度等等,利用ResNet-34的高层提取层输出当前训练样本的高层次的语义信息;电子设备将当前训练样本的表观特征与高层次的语义信息作进行特征融合,得到多尺度样本特征。如图4所示,电子设备通过预先训练的CNN网络对当前训练样本I进行4种尺度的特征提取,得到4个尺度的样本特征B(I),其中,
Figure BDA0003211621980000141
B(I)=f1,f2,f3,f4。这里,
Figure BDA0003211621980000142
i表征CNN网络的第i个网络层。从图4中可以看出,不同特征提取层提取出的样本特征的尺寸不同。电子设备可以先将不同尺寸的样本特征调整至同一尺寸,如统一调整至H×W,然后对调整尺寸后的4个样本特征进行特征融合,得到多尺度样本特征,如公式(1)所示:
Figure BDA0003211621980000151
公式(1)中,R代表调整尺寸的操作,C=∑iCi代表样本特征f的特征通道。可以看出,本公开实施例中,由不同特征提取层得到的多个不同尺度的样本特征具有不同水平的感受野,对当前训练样本中可能存在的不同程度的异常区域非常敏感,有助于提高异常检测的准确性。
本公开实施例中,电子设备可以对多尺度样本特征进行形状变换,从而将多尺度样本特征转化为序列的形式。在一些实施例中,如图4所示,对于维度为H×W×C的多尺度样本特征f,电子设备可以对每个通道对应的H和W进行维度合并,实现对多尺度样本特征的形状变换,得到H×W个C维的多尺度样本特征向量,作为样本特征序列。
在一些实施例中,样本特征序列可以是包含任意形式词向量的特征词序列,如word2vec序列,GloVe序列,one-hot编码序列等等,具体的根据实际情况进行选择,本公开实施例不作限定。
在一些实施例中,在得到样本特征序列的情况下,电子设备可以将样本特征序列作为初始重构网络的输入,以序列到序列(Sequence to Sequence)的网络模型作为初始重构网络的架构,在初始检测网络中实现重构功能。
在一些实施例中,初始重构网络可以通过编码器-解码器(Transformer)结构的神经网络来实现。其中,Transformer可以包含编码网络与解码网络,是一种具有全局注意机制的深层神经网络,最早出现在自然语言处理领域。近年来,Transformer以其强大的表示能力逐渐被广泛应用于计算机视觉任务中。目前,异常检测场景中还未涉及Transformer的应用,而本公开实施例可以将Transfor mer的应用扩展到异常检测场景中,利用Transformer对于输入词序列的全局注意力捕捉,加强初始重构网络对语义信息的深层次理解,使得初始重构网络可以在理解图像深层语义特征的前提下实现特征重构。
在一些实施例中,如果直接通过Transformer结构的初始重构网络对样本特征序列fs进行重构,会得到单输入单输出的重构样本特征序列
Figure BDA0003211621980000161
其中,
Figure BDA0003211621980000162
R表示重构操作。这种单输入单输出的方法容易导致重构网络仅能学习到简单的恒等映射,难以从输入的样本中理解到需要学习的任务目标,这样,无论输入的是正样本还是负样本,初始重构网络都只能对将输入的样本进行简单的恒等映射进行输出,无法习得对异常图像的鉴别能力。因此,本公开实施例引入可学习的问询词序列,如图5所示,通过初始重构网络中的编码器对样本特征序列进行编码,得到样本编码序列,将样本编码序列与预设的初始问询词序列作为初始重构网络中解码器的双输入,以样本编码序列为引导信息,对解码器对初始问询词序列的解码过程进行指导,从而得到样本重构特征序列。这里,电子设备也可以对重构样本特征序列进行进一步的形状变换,将其恢复为与多尺度样本特征具有相同尺度的重构样本特征,通过特征尺度下的差异对比进行后续的网络训练。
在一些实施例中,本公开实施例中通过双输入单输出方法得到的重构样本特征序列可以表示为
Figure BDA0003211621980000163
其中,q表示预设的初始问询词序列,预设的初始问询词序列与样本特征序列具有相同的维度。
本公开实施例中,初始问询词序列是一种可学习的向量序列。电子设备可以预先对初始问询词序列进行初始化,并在训练初始重构网络的过程中对初始问询词序列进行同步训练,迭代地对初始问询词序列进行更新,在训练结束的情况下得到预设的问询词序列与重构网络。这里,初始问询词序列可以跟随初始重构网络的每轮更新进行更新,也可以根据自身的更新周期进行更新,具体的根据实际情况进行选择,本公开实施例不做限定。
在一些实施例中,Transformer结构的初始重构网络可以如图6所示,包含由N个编码模块堆叠得到的编码器,以及由N个解码模块堆叠得到的解码器。其中,N个编码模块中的每个编码模块包含多头自注意力(Multi-head Attention)层、前馈网络(Feed ForwardNetwork,FFN)以及残差与归一化(ADD&Normalize)层。示例性地,前馈网络可以是全连接神经网络。其中,N为大于1的正整数。
示例性地,基于图6,电子设备将图4中得到的样本特征序列输入编码器中,通过三个预设权值矩阵转换为用于注意力计算的Q向量,K向量和V向量,进而通过多头自注意力层,根据Q向量,K向量和V向量计算注意力值,并通过残差与归一化层根据计算得到的注意力值以及原始的Q向量,K向量和V向量进行残差计算与归一化处理,通过前馈网络对处理结果进行线性与非线性变换,再经过一次残差与归一化层,得到样本特征序列对应的样本编码序列,将样本编码序列输入解码器;在解码器中,通过多头自注意力层与残差与归一化层对初始问询词序列进行注意力值计算与残差归一化处理,并将编码器输出的样本编码序列与初始问询词序列的处理结果进行合并,再次进行注意力值计算,得到合并注意力值,并结合初始问询词序列的处理结果与合并注意力值进行残差与归一化处理,再通过前馈网络与残差归一化网络的处理,得到重构样本特征序列。
在一些实施例中,如图6所示,电子设备还可以利用Transformer置换不变的特性,在多头自注意力层的每层中加入位置信息,示例性地,可以是正弦位置信息,以通过位置信息进一步提高初始重构网络对语义的理解能力。具体的根据实际情况进行选择,本公开实施例不作限定。
这里,电子设备将从当前训练样本中提取得到的样本特征序列作为指导信息,对可学习的初始问询词序列进行特征重构,可以加强初始重构网络的语义理解能力,从而在深层语义理解的基础上实现解码重构,以提高重构样本特征序列的准确性,进而提高异常检测的准确性。
S102、通过异常损失函数,基于样本特征序列与重构样本特征序列,对初始检测网络进行迭代训练,直至得到检测网络;其中,检测网络用于对待检测图像中的异常部分进行检测;异常损失函数通过像素级和/或图像级进行损失计算。
本公开实施例中,样本特征序列表征当前训练样本的原始特征,重构样本特征序列表征初始检测网络基于当前训练样本的原始特征进行重构,得到的重构特征。电子设备可以对比重构样本特征序列与样本特征序列之间的差异,通过异常损失函数基于差异进行训练损失的计算与评估,对于不同类型的当前训练样本,以减小总的训练损失为目标,对初始检测网络进行网络参数的调整与训练,直至得到检测网络。
在一些实施例中,基于图1,S102可以通过执行S1021-S1024来实现,如图7所示,将结合各步骤进行说明。
S1021、根据重构样本特征序列与样本特征序列,确定样本特征差异序列。
本公开实施例中,电子设备可以通过计算重构样本特征序列与样本特征序列中每个对应的序列位置上的特征差异,得到样本特征差异序列。如公式(2)所示,如下:
Figure BDA0003211621980000181
公式(2)中,f(u,i)为样本特征序列,
Figure BDA0003211621980000182
为重构样本特征序列;u为序列位置,i为每个序列位置上特征差异向量对应的特征通道的索引。电子设备可以通过公式(2),对样本特征序列与重构样本特征序列进行对位相减,得到样本特征差异序列d(u,i)。
S1022、获取当前训练样本对应的真实值。
本公开实施例中,对于迭代训练过程中的当前轮村里过程,电子设备获取当前训练样本对应的真实值。这里,真实值可以包括像素级的真实值或图像级的真实值。
S1023、基于样本特征差异序列、真实值和异常损失函数,得到当前损失;其中,异常损失函数用于在针对正样本或负样本进行处理的情况下,将正样本对应的重构样本特征序列拉近样本特征序列;将负样本中的异常部分对应的重构样本特征序列推离样本特征序列。
本公开实施例中,为了使得检测网络具备分辨正常图像和异常图像的能力,需要根据统一的学习目标,设计可以兼容正样本与负样本训练的损失函数。并且,对于不同的真实值,如真实值为像素级的真实值或图像级的真实值的当前训练样本,也需要能够兼容像素级和/或图像级损失计算的损失函数来计算每轮训练的损失。这样,电子设备可以根据当前轮训练所使用的当前训练样本的类型,采用对应的损失计算方法或损失函数来得到对应的损失值,
在一些实施例中,为了在模型训练中兼容正样本以及负样本,电子设备可以采用具有“拉近-推离”特性的损失函数,将初始检测网络对正样本或正常像素点的重构特征拉近原始特征,同时对负样本或异常像素点的重构特征推离原始特征,这样即可使得训练得到的重构网络具备异常鉴别的能力。也就是说,异常损失函数用于在针对正样本或负样本进行处理的情况下,将正样本对应的重构样本特征序列拉近样本特征序列;将负样本中的异常部分对应的重构样本特征序列推离样本特征序列。
本公开实施例中,异常损失函数可以通过不同的函数部分兼容像素级和/或图像级的损失计算。电子设备可以根据真实值,采用异常损失函数中相应的函数部分,对样本特征差异序列进行训练损失的评估,得到当前损失。
S1024、基于当前损失对初始检测网络进行调整,并将训练样本集中的下一个训练样本作为当前样本,对调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的检测网络。
本公开实施例中,在对初始检测网络进行迭代训练时,电子设备可以根据当前轮训练所使用的当前训练样本的类型,采用对应的损失计算方法或损失函数来得到对应的损失值,进而可以基于损失值对初始检测网络进行调整与训练,直至最终损失小于预设损失阈值的情况下,得到检测网络。
需要说明的是,在一些实施例中,初始检测网络中包含的特征提取网络也可以是未经训练的初始网络模型。在对特征提取网络为初始网络模型的初始检测网络进行训练的情况下,电子设备可以将特征提取网络与初始检测网络进行协同训练。示例性地,电子设备可以基于样本特征序列与预设特征提取损失函数,计算特征提取网络对应的特征提取损失;并通过异常损失函数,基于样本特征序列与重构样本特征序列,得到初始重构网络的当前损失。电子设备可以在基于特征提取损失,对初始特征提取网络进行调整;并基于当前损失,对初始重构网络进行同步调整,以上述的方式对初始特征提取网络与初始重构网络进行迭代训练,直至得到特征提取损失与当前损失满足预设训练条件的特征提取网络与重构网络,作为检测网络。
可以理解的是,本公开实施例中,通过包含正样本和负样本的训练样本集对初始检测网络进行训练,并在训练过程中通过兼容像素级和/或图像级的异常损失函数,针对不同类型的训练样本计算对应的训练损失,训练得到检测网络,实现了使用多种类型样本的网络训练,提高了网络训练的灵活性。并且,初始检测网络可以在训练过程中,通过正样本与负样本、以及像素级和图像级的标注进行更全面地学习,使得训练得到的检测网络在应用于异常检测时可以达到更高的精度,从而提高了网络训练的准确性。
在一些实施例中,对于本公开实施例中的神经网络训练方法在工业视觉检测场景下的应用,在产线初期产生的负样本极度缺乏的情况下,电子设备可以通过正样本的方式来训练得到检测网络,随着产线的运行,产生的负样本逐渐积累增多,电子设备可以使用负样本继续对正样本方式训练得到的检测网络进行进一步训练,从而进一步提高检测网络的性能,提升检测网络进行异常检测准确性,也使得神经网络的训练方式可以根据产线的实际情况更加灵活地实施,因此提高了网络训练的灵活性与准确性。
本公开实施例中,在使用包含正样本与负样本的训练样本集,对初始检测网络进行训练的过程中,对于每轮训练,电子设备可以根据当前轮训练所要处理的当前训练样本的不同类型,通过异常损失函数来进行当前损失的计算。在当前轮训练完成之后,电子设备可以从训练样本集中获取下一个训练样本,使用下一个训练样本进行下一轮训练,直至训练完成。电子设备每轮训练使用的当前训练样本可以是不同类型的样本,通过不同的当前损失的计算方式,实现了兼容的样本学习与网络训练。下面分别针对当前训练样本为完全正样本、当前训练样本的真实值为像素级的真实值、以及当前训练样本的真实值为图像级的真实值的方法进行介绍。
在一些实施例中,基于图7,S1021之后,还可以执行S001-S002的过程,来实现使用完全正样本进行当前轮训练,如下:
S001、在当前训练样本为完全正样本的情况下,通过回归损失函数,基于样本特征差异序列,计算初始检测网络的当前损失。
本公开实施例中,在当前训练样本为完全正样本的情况下,电子设备可以通过回归损失函数计算完全正样本对应的当前损失。这里,完全正样本可以包括无标签的正常图像。
在一些实施例中,回归损失函数可以包括:平滑(Smooth)L1损失、MSE损失等等,具体的根据实际情况进行选择,本公开实施例不作限定。示例性的,电子设备可以将平滑L1损失作为回归损失函数来计算完全正样本对应的当前损失,如公式(3)所示,如下:
Figure BDA0003211621980000211
公式(3)中,
Figure BDA0003211621980000212
代表样本特征差异序列,Lnor代表完全正样本对应的当前损失。
在一些实施例中,图8示出了在当前训练样本为完全正样本情况下,通过平滑损失函数计算完全正样本对应的当前损失的过程。
S002、基于当前损失对初始检测网络进行调整,并将训练样本集中的下一个训练样本作为当前样本,对调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的检测网络。
本公开实施例中,电子设备基于完全正样本对应的当前损失对初始检测网络进行网络参数的调整,完成当前轮使用完全正样本的训练过程。进而,电子设备可以从训练样本集中获取下一个训练样本,这里,下一个训练样本可以是图像级标注的正样本、图像级标注的负样本、像素级标注的负样本中的任意一个,将其作为当前训练样本,对初始检测网络进行下一轮训练。电子设备通过每轮训练,从包含正样本与负样本的训练样本集中获取不同类型的当前训练样本,对初始检测网络进行迭代地训练,直至最终损失小于预设损失阈值的情况下,得到检测网络。
可以理解的是,电子设备可以通过回归损失函数,对初始检测网络针对完全正样本的重构能力进行评估,从而使得初始检测网络能够支持使用完全正样本的训练,可以使用完全正样本进行机器学习,从而提高了网络训练方法的灵活性和准确性。
在一些实施例中,基于图7,对于当前训练样本的真实值为像素级的真实值的情况,异常损失函数可以包括:像素级损失函数。S1023的过程可以通过执行S201-203,来计算得到当前轮训练过程对应的当前损失,如图9所示,如下:
S201、在真实值为像素级的真实值的情况下,对样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量。
本公开实施例中,在真实值为像素级的真实值的情况下,电子设备可以将负样本特征差异序列中,表征每个像素位置上的特征差异向量转换为通道维度的标量,使得每个像素位置只对应一个标量的特征差异度量。
在一些实施例中,电子设备可以将样本特征差异序列中,每个序列位置上的样本特征差异以特征通道维度进行平均,得到每个序列位置上的样本特征差异度量。示例性地,如公式(4)所示:
Figure BDA0003211621980000221
公式(4)中,每个序列位置u上的样本特征差异对应C维的特征维度,电子设备可以对每个序列位置u上的样本特征差异进行C维均方差处理,得到
Figure BDA0003211621980000222
作为初始的样本特征差异度量。电子设备可以进一步对初始的样本特征差异度量
Figure BDA0003211621980000223
进行平滑化处理,得到每个序列位置u上样本特征差异度量φ(u)。电子设备可以利用在对多尺度样本特征进行形状变换,将其转换为序列形式的过程中得到的序列位置与像素位置的对应关系,根据每个序列位置上的样本特征差异度量,得到每个像素位置上的样本特征差异度量。
S202、通过像素级损失函数,基于样本特征差异度量、像素级的真实值,计算正常像素点对应的正常像素损失,以及异常像素点对应的异常像素损失。
本公开实施例中,在当前训练样本的真实值为像素级的真实值,也即当前训练样本的每个像素点都标注有对应的真实值的情况,电子设备可以将像素级损失函数作为异常损失函数,通过计算每个像素位置上的样本特征差异度量与该像素点对应的像素级的真实值之间的差异,得到正常像素点对应的正常像素损失,以及异常像素点对应的异常像素损失。
在一些实施例中,像素级损失函数为具有上述“拉近-推离”特性的损失函数,电子设备可以利用像素级损失函数,将负样本中的正常像素点对应位置上的负样本特征差异度量减小,以拉近正常像素点的重构特征与原始特征,如多尺度特征之间的距离;同时,将负样本中的异常像素点对应位置上的负样本特征差异度量增大,即推远异常像素点的重构特征与原始特征之间的距离。
在一些实施例中,像素级损失函数包括:正常像素损失部分和异常像素损失部分。在一个负样本对应的像素级的真实值表征像素点为正常像素点的情况下,电子设备可以基于正常像素损失部分,对正常像素点的负样本特征差异度量进行加权平均,得到正常像素损失;在一个负样本对应的像素级的真实值表征像素点为异常像素点的情况下,电子设备可以基于异常像素损失部分,对异常像素点的负样本特征差异度量进行加权平均,得到异常像素损失。其中,正常像素损失与正常像素点的负样本特征差异度量成正相关,异常像素损失与异常像素点的负样本特征差异度量成负相关,从而达到拉近正常像素点的重构特征与原始特征之间的距离,以及推远异常像素点的重构特征与原始特征之间的距离的效果。
S203、基于正常像素损失和异常像素损失,确定当前损失。
本公开实施例中,电子设备可以基于当前训练样本中的各个像素点,根据正常像素损失与异常像素损失,综合计算出真实值为像素级的真实值的情况下,当前训练样本对应的当前损失。
示例性地,上述通过像素级损失函数计算当前损失的过程可以如公式(5)所示,如下:
Figure BDA0003211621980000241
公式(5)中,y(u)为当前训练样本中每个像素点对应的像素级的真实值,α为权重因子;
Figure BDA0003211621980000242
为像素级损失函数中的正常像素损失部分,
Figure BDA0003211621980000243
为像素级损失函数中的异常像素损失部分。Lpp为通过像素级损失函数计算得到的当前损失。以正常像素点对应的像素级的真实值为0,异常像素点对应的像素级的真实值为1为例,电子设备可以根据公式(5),对当前训练样本中的每个像素点进行计算,如下:
对于正常像素点,即y(u)为0的情况,异常像素损失部分对应的计算结果为-αlog(0),可以视为无效值;正常像素损失部分可以表示为
Figure BDA0003211621980000244
公式(5)的过程即为对每个正常像素点对应的样本特征差异度量进行平均,得到正常像素损失。可以看出,对于正常像素点,样本特征差异度量φ(u)越小,正常像素损失也越小。也即正常像素损失与正常像素点对应的样本特征差异度量成正相关。
对于异常像素点,即y(u)为1的情况,正常像素损失部分对应的计算结果为0,异常像素损失部分可以表示为
Figure BDA0003211621980000245
可以看出,对于异常像素点,样本特征差异度量φ(u)越大,异常像素损失越小。也即异常像素损失与异常像素点对应的负样本特征差异度量成负相关。
本公开实施例中,电子设备可以以降低当前损失为训练目标,对初始检测网络的网络参数进行调整。根据上述分析可以得出,为了在每轮训练过程中逐步降低当前损失,电子设备在进行网络参数的调整时,需要提高初始检测网络对正常像素点的重构效果,使得正常像素点的重构特征与原始特征尽量接近,从而减小正常像素点对应的φ(u),进而降低与φ(u)正相关的正常像素损失;同时,降低初始检测网络对异常像素点的重构效果,使得异常像素点的重构特征与原始特征尽量远离,从而增大异常像素点的φ(u),进而降低与φ(u)负相关的异常像素损失。如此,通过网络参数的调整,降低正常像素损失和异常像素损失,进而降低当前损失,从而实现了通过“拉近-推离”特性的像素级损失函数,使得初始检测网络对正常像素点的重构效果与原始特征的差异较小,而对于异常像素点的重构效果与原始特征差异较大,在训练过程中逐步拉大初始检测网络对正常像素点与异常像素点的重构差距,提高初始检测网络对像素点正常或异常的分辨能力。
本公开实施例中,电子设备使用像素级的真实值的当前训练样本进行训练,得到当前损失,在当前损失大于或等于预设损失阈值的情况下,电子设备可以对初始检测网络进行网络参数的调整,以完成当前轮训练过程,并从训练样本集合中获取下一个样本进行下一轮训练,这里,下一个样本可以是其他类型的样本,如图像级的真实值的样本或正样本等等,电子设备以上述方式对初始检测网络进行迭代训练,直至得到最终损失小于预设损失阈值的检测网络。
可以理解的是,电子设备可以通过像素级损失函数,对初始检测网络针对像素级标注的负样本的重构能力进行评估,通过像素级损失函数的“拉近-推离”特性,拉大初始检测网络对正常像素点与异常像素点的重构特征的差距,从而提高了初始检测网络的辨别能力,并实现了对于像素级标签的负样本的训练方法的兼容,从而提高了网络训练的灵活性与准确性。
在本公开的一些实施例中,基于上述公式(4),电子设备在对每个像素位置上的样本特征差异进行标量化时,是同等地对不同特征通道对应的特征差异向量进行平均化处理的。而实际应用中,不同的特征通道对于异常检测的贡献可能是不同的,因此,对于当前训练样本的真实值为像素级的真实值的情况,本公开实施例还提供一种网络训练方法,通过对每个特征通道对应的样本特征差异进行权重分析,进而结合不同的权重进行像素级损失函数的计算,以进一步提高网络训练的准确性。对于当前训练样本的真实值为像素级的真实值的情况,基于图9,如图10所示,S203中确定当前损失的过程可以通过执行S2031-S2033来实现,将结合各步骤进行说明。
S2031、根据正常像素损失与异常像素损失,得到第一当前损失。
本公开实施例中,电子设备可以根据正常像素损失与异常像素损失,通过上述的公式(5)得到第一当前损失。
S2032、通过对样本特征差异序列进行像素位置的分类预测,得到当前分类损失。
本公开实施例中,电子设备可以根据样本特征差异序列中每个序列位置上的样本特征差异进行分类预测,从而得到对应的每个像素位置上的分类预测结果,示例性地,分类预测结果可以是像素点属于正常像素点或异常像素点的概率,进而基于分类预测结果得到当前分类损失。
在一些实施例中,如图11所示,初始检测网络可以包括:初始分类网络,电子设备可以采用初始分类网络,对样本特征差异序列进行像素位置的分类,得到每个像素位置上的样本分类概率。
本公开实施例中,电子设备可以使用初始分类网络,将样本特征差异序列中的每个像素位置上的样本特征差异作为输入,对于样本特征差异在各个特征通道上对应的差异向量进行分类预测,得到每个像素点属于正常像素点或异常像素点的概率,作为每个像素位置上的样本分类概率。
在一些实施例中,对于上述H×W×C维的样本特征差异d(u,i),样本特征差异序列中的每个样本特征差异可以通过C维的d(u)来表示,电子设备可以通过公式(6),对每个像素位置对应的d(u)进行分类,得到每个像素位置上的样本分类概率,如下:
p(u)=C(d(u)) (6)
公式(6)中,对于每个C维的样本特征差异,电子设备可以利用初始分类网络,结合C维通道中各个特征通道对应的特征差异向量进行分类预测,得到每个像素位置上的样本分类概率p(u)。
在一些实施例中,初始分类网络可以是前馈网络FFN,也可以是其他具有分类功能的网络模型,具体的根据实际情况进行选择,本公开实施例不作限定。
本公开实施例中,电子设备可以根据分类损失函数,计算每个像素位置上的样本分类概率与像素级的真实值之间的差距,得到当前分类损失。
在一些实施例中,分类损失函数可以通过加权的交叉熵损失函数来实现,示例性地,如公式(7)所示,如下:
Figure BDA0003211621980000271
公式(7)中,βn为正常像素点对应的预设权重,βa为异常像素点对应的预设权重,Lcls为当前分类损失。其中,βn与βa用于平衡公式(7)中正常像素点与异常像素点在当前分类损失中的权重,避免过多的正常像素点对当前分类损失的计算占据主导地位,以提高初始分类网络进行分类预测的准确性。在一些实施例中,βa可以通过公式(8)来计算,如下:
Figure BDA0003211621980000272
公式(8)中,pa为异常像素点在当前训练样本中的比例,βn的计算可以使用类似公式(8)中的方法得到,这里不在赘述。
S2033、基于第一当前损失与当前分类损失,得到当前损失。
本公开实施例中,电子设备可以结合当前分类损失和第一当前损失,计算得到当前训练样本对应的当前损失。
在一些实施例中,电子设备可以通过加权求和的方式,结合当前分类损失和第一当前损失,计算综合损失。示例性地,如公式(9)所示:
Lpx=Lpp+γLcls (9)
公式(9)中,γ为权重因子,用于平衡当前分类损失与第一当前损失的权重。在一些实施例中,γ可以为10,也可以根据实际情况取其他值,本公开实施例不作限定。
需要说明的是,在一些实施例中,上述S301-S304的方法可以在当前训练样本中的正常像素点和异常像素点在同一数量级的情况下来实施,当异常像素点数量很少的时候,可以将γ设置为0,单独使用第一当前损失对初始重构网络进行训练。也可以根据实际情况选择相应的训练方式,具体的根据实际情况进行选择,本公开实施例不作限定。
本公开实施例中,对于初始检测网络包括初始分类网络的情况,电子设备可以对初始分类网络和初始重构网络进行同步的训练。在当前训练过程中,可以基于当前分类损失,对初始分类网络的网络参数进行调整;同时基于当前损失,对初始重构网络的网络参数进行调整;并根据调整后的分类网络与调整后的初始重构网络得到调整后的初始检测网络,以完成当前轮训练过程。电子设备从训练样本集合中获取任意类型的下一个样本进行下一轮训练,直至得到最终损失小于预设损失阈值的检测网络。
在一些实施例中,对于初始检测网络包括初始分类网络,初始的特征提取网络与初始重构网络的情况,电子设备可以在训练过程中同步对初始分类网络,初始的特征提取网络与初始重构网络进行训练,具体训练过程已在上述的训练过程中进行了介绍,此处不再赘述。
可以理解的是,通过引入分类网络对样本特征差异序列进行分类预测,可以结合每个特征通道对应不同的权重进行像素级损失函数的计算,从而进一步提高了网络训练的准确性。
在一些实施例中,基于图7,对于当前训练样本的真实值为图像级的真实值的情况,异常损失函数可以包括:图像级损失函数。S1023的过程可以通过执行S301-S305,来计算得到当前轮训练过程对应的当前损失,如图12所示,如下:
S301、在真实值为图像级的真实值的情况下,对样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量。
这里,S301中的过程与上述的S201描述一致,此处不再赘述。
S302、从每个像素位置上的样本特征差异度量中,确定数值最大的K个最大样本特征差异度量;K为大于1的正整数。
S303、对K个最大样本特征差异度量进行平均,得到样本特征平均差异度量。
本公开实施例中,图像级的真实值是对整体图像中是否存在异常的标注信息,缺乏对异常或缺陷所在区域的标注。因此,如果直接将图像级的真实值的负样本中的所有区域都作为异常区域,初始检测网络将无法学习到有效的信息。对于图像级的真实值的负样本,电子设备可以通过每个像素位置上的样本特征差异度量,选取最有可能是异常区域的部分,即φ(u)值较大的像素点来进行损失函数的计算。
在一些实施例中,电子设备可以从每个像素位置上的样本特征差异度量中,确定数值最大的K个最大样本特征差异度量;其中,K为大于1的正整数。电子设备K个最大样本特征差异度量进行平均,得到图像级的真实值对应的样本特征平均差异度量。
示例性地,电子设备可以通过公式(10),在当前训练样本的真实值为图像级的真实值的情况下,计算样本特征平均差异度量,如下:
Figure BDA0003211621980000291
公式(10)中,q为样本特征平均差异度量。
S304、通过图像级损失函数,基于样本特征平均差异度量、图像级的真实值,计算当前训练样本对应的正常图像损失与异常图像损失;其中,在当前训练样本为正样本的情况下,样本特征平均差异度量与正常图像损失成正相关;在当前训练样本为负样本的情况下,样本特征平均差异度量与异常图像损失成负相关。
本公开实施例中,电子设备可以基于图像级损失函数,计算样本特征平均差异度量与图像级的真实值之间的差异,得到图像级的真实值的当前训练样本对应的正常图像损失与异常图像损失。
本公开实施例中,图像级的真实值可以包含正常图像与异常图像,图像级损失函数为具有上述“拉近-推离”特性的损失函数,电子设备可以利用图像级损失函数,将正常图像对应的样本特征平均差异度量减小,以拉近正常图像的重构特征与原始特征之间的距离;同时,将异常图像对应的样本特征平均差异度量增大,即推远异常图像的重构特征与原始特征之间的距离。
在一些实施例中,图像级损失函数包括:正常图像损失部分和异常图像损失部分。在图像级的真实值表征图像为正常图像的情况下,电子设备基于正常图像损失部分,将样本特征平均差异度量,确定为正常图像损失;在图像级的真实值表征图像为异常图像的情况下,电子设备基于异常图像损失部分和样本特征平均差异度量,得到异常图像损失。其中,正常图像的样本特征平均差异度量与正常图像损失成正相关,异常图像的样本特征平均差异度量与异常图像损失成负相关。
S305、基于正常图像损失或异常图像损失,确定当前损失。
本公开实施例中,电子设备基于正常图像损失或异常图像损失,对图像级的真实值的当前训练样本进行综合损失评估,得到当前损失。
在一些实施例中,图像级损失函数可以如公式(11)所示,如下:
Limg=(1-y)q-αylog(1-exp(-q)) (11)
公式(11)中,Limg为图像级的真实值的当前训练样本对应的当前损失;y为图像级的真实值;α为权重因子。以正常图像对应的图像级的真实值为0,异常图像对应的图像级真实值为1为例,(1-y)q为图像级损失函数中的正常图像损失部分,-αylog(1-exp(-q))为图像级损失函数中的异常图像损失部分。可以看出,对于图像标注的正样本即正常图像,样本特征平均差异度量q越小,正常图像损失也越小。也即正常图像损失与正常图像对应的样本特征平均差异度量成正相关。对于图像标注的负样本即异常图像,样本特征平均差异度量q越大,异常图像损失越小。也即异常图像损失与异常图像对应的负样本特征平均差异度量成负相关。
同样地,本公开实施例中,电子设备可以通过调整初始检测网络的网络参数,减小正常图像对应的样本特征平均差异度量,增大异常图像对应的样本特征平均差异度量,从而在训练过程中逐步降低当前损失,使得初始检测网络对正常图像的重构效果与原始特征相接近,对于异常图像的重构效果与原始特征差异远离,在训练过程中逐步拉大初始检测网络对正常图像和异常图像的重构差距,使得初始重构网络逐步学习到对于正常图像和异常图像的辨别能力。
本公开实施例中,电子设备使用像素级的真实值的当前训练样本进行训练,得到当前损失,在当前损失大于或等于预设损失阈值的情况下,电子设备可以对初始检测网络进行网络参数的调整,以完成当前轮训练过程,并从训练样本集合中获取下一个样本进行下一轮训练,这里,下一个样本可以是其他类型的样本,如像素级的真实值的负样本或正样本等等,电子设备以上述方式对初始检测网络进行迭代训练,直至得到最终损失小于预设损失阈值的检测网络。
可以理解的是,电子设备可以通过图像级损失函数,对初始检测网络针对图像级标注的负样本的重构能力进行评估,通过图像级损失函数的“拉近-推离”特性,拉大初始检测网络对正常图像与异常图像的重构特征的差距,从而提高了初始检测网络的辨别能力,并实现了对于图像级标签的负样本的训练方法的兼容,从而提高了网络训练的灵活性与准确性。
在一些实施例中,基于图1,在电子设备利用上述兼容正样本与负样本的神经网络训练方法得到的检测网络之后,还可以如图13所示,执行S401-S405,利用训练得到的检测网络,对实际应用场景中的待检测图像进行异常检测,
S401、基于检测网络,对待检测图像进行不同尺度的特征处理,得到多尺度特征序列。
本公开实施例中,电子设备通过检测网络中的特征提取网络,对待检测图像进行不同尺度的特征处理,得到多尺度特征序列与S101中初始检测网络对当前训练样本进行特征处理,得到样本特征序列的过程描述一致,此处不再赘述。
S402、对多尺度特征序列和预设的问询词序列进行重构,得到重构特征序列。
本公开实施例中,预设的问询词序列由初始问询词训练得到,重构网络由初始重构网络训练得到;电子设备可以基于检测网络中的重构网络,对多尺度特征序列和预设的问询词序列进行重构,得到重构特征序列。S402的过程与S101中初始重构网络对样本特征序列和预设的初始问询词序列进行重构,得到重构样本特征序列的过程描述一致,此处不再赘述。
S403、根据重构特征序列与多尺度特征序列,确定每个像素位置上的特征差异。
本公开实施例中,多尺度特征序列表征待检测图像中每个像素位置的原始特征,重构特征序列表征每个像素位置上,基于原始特征进行重构得到的重构特征。电子设备可以通过对比重构特征序列与多尺度特征序列之间的差异,确定每个像素位置上的特征差异,也即重构网络对待检测图像每个像素点的重构效果。
在一些实施例中,电子设备可以将多尺度特征序列与重构特征序列进行序列形式的差异对比,得到特征差异序列,特征差异序列中的每个特征差异对应于每个像素位置。电子设备可以通过特征差异序列表征每个像素位置上的特征差异。
S404、基于特征差异,确定每个像素位置上的异常评分。
本公开实施例中,由于重构网络具有对正常图像或正常像素点的重构特征与原始特征相接近,同时对异常图像或异常像素点的重构特征与原始特征相远离的特性,因此电子设备可以基于每个像素位置上的特征差异所表征的对应像素点的重构效果,确定每个像素位置上的异常评分,异常评分用于表征对应像素点是否为异常像素点。
在一些实施例中,基于图13,的S404中基于特征差异,确定每个像素位置上的异常评分的过程可以通过S501-S502,或者,S601-S603来实现。将结合各步骤进行说明。
S501、对每个像素位置上的特征差异进行通道平均,得到每个像素位置上的中间异常评分。
S502、将中间异常评分作为异常评分。
本公开实施例中,基于上述初始重构网络的训练过程的描述,在S402中的重构网络为未使用分类网络训练得到重构网络的情况下,电子设备可以通过执行S501-S502中的方法,得到待检测图像中每个像素位置上的异常评分。
本公开实施例中,电子设备可以对待检测图像中每个像素位置上的特征差异进行通道平均,得到每个像素位置上的中间异常评分,并将中间异常评分作为异常评分,如公式(12)所示,如下:
Figure BDA0003211621980000331
公式(12)中,d'(u,i)为每个像素位置上的特征差异,C为特征差异对应的特征通道数,s(u)为通过对每个像素位置上的特征差异的各个通道进行通道平均得到的中间异常评分,也即不包含分类网络重构网络所输出的待检测图像中各个像素位置上的异常评分。
在一些实施例中,未通过分类网络训练得到重构网络对待检测图像进行异常检测,得到每个像素位置的异常评分的过程可以如图14所示。电子设备可以使用深度卷积神经网络对待检测图像进行特征处理,得到多尺度特征序列,并通过兼容正样本和负样本训练得到重构网络,对多尺度特征序列与预设的问询词序列进行重构,得到重构特征序列;电子设备将重构特征序列与多尺度特征序列进行差异对比,得到特征差异序列,并对差异特征序列进行通道平均,得到每个像素位置的异常评分。
S601、对每个像素位置上的特征差异进行通道平均,得到每个像素位置上的中间异常评分。
这里,S601的过程与S501描述一致,此处不再赘述。
S602、采用分类网络,对每个像素位置上的特征差异进行像素位置上的分类,得到分类概率。
S603、将分类概率与中间异常评分进行相乘,得到每个像素位置上的异常评分。
本公开实施例中,基于上述初始重构网络的训练过程的描述,在S102中的重构网络为使用分类网络训练得到重构网络的情况下,电子设备可以采用训练得到的分类网络,对每个像素位置上的特征差异进行分类预测,得到分类概率;这里,分类预测的方法与S301中对样本特征差异序列进行分类,得到样本分类概率的方法描述一致,此处不再赘述。
本公开实施例中,电子设备将分类概率作为权重,与中间异常评分进行加权,得到每个像素位置上的异常评分。示例性地,如公式(13)所示:
Figure BDA0003211621980000341
在一些实施例中,电子设备使用通过分类网络训练得到重构网络对待检测图像进行异常检测,得到每个像素位置的异常评分的过程可以如图15所示。
可以理解的是,本公开实施例中,可以根据重构网络的训练方式地采用对应的评分方法进行异常评分,进一步提高了异常检测的准确性。
S405、基于异常评分,绘制待检测图像对应的异常检测图像。
本公开实施例中,电子设备基于异常评分,分别对正常像素点与异常像素点进行区别绘制,得到待检测图像对应的异常检测图像。这样,就可以在异常检测图像中自动标记出异常区域。
在一些实施例中,电子设备可以将每个像素位置的异常评分与预设评分区间进行对比,根据异常评分落入的目标评分区间,以及预设评分区间与预设像素值的对应关系,确定每个像素位置对应的目标像素值。电子设备根据每个像素位置对应的目标像素值绘制出异常检测图像。
示例性地,在每个像素位置上的异常评分小于或者等于评分阈值的情况下,电子设备将该像素位置对应的像素值绘制为第一值;在每个像素位置上的异常评分大于评分阈值的情况下,电子设备将该像素位置对应的像素值绘制为第二值;直至将待检测图像的像素位置绘制完成时,得到异常检测图像。
在一些实施例中,如图16所示,电子设备可以通过深度卷积神经网络,对待检测图像进行不同尺度的特征提取,得到多尺度特征序列,在多尺度特征序列中添加特征信息,通过重构网络中的编码器,将添加了位置信息的多尺度特征序列嵌入到具有全局注意力机制的潜在特征空间中进行编码,得到编码序列。并通过重构网络中的解码器,以编码序列为解码过程的指导信息,对添加了位置信息的预设的问询词向量进行解码,得到特征重构序列。电子设备通过对于多尺度特征序列与特征重构序列的差异,得到特征差异序列,并根据特征差异序列确定每个像素位置上的异常评分,得到每个像素位置上对应的像素值并进行绘制,并将绘制得到的图像与原始的待检测图像进行融合,得到异常检测图像。示例性地,如图17所示,基于图16的异常检测方法,电子设备对待检测图像70进行得到的异常检测图像可以如71所示,从而,实现了对产品进行异常检测的功能。
可以理解的是,本公开实施例中,通过兼容正样本和样本的训练方法得到重构网络,使得重构网络的训练过程能够兼容正样本、负样本以及负样本中的像素级标注和图像级标注等不同的情况,不仅提升了异常检测的通用性与灵活性,同时,使用多类型样本训练得到的重构网络进行异常检测也提高了异常检测的准确性。并且,通过多尺度特征与预设问询词共同进行重构,能够捕捉到待检测图像中更深层次的语义信息,从而进一步提高了异常检测的准确性。
本公开实施例还提供一种神经网络训练装置,图18为本公开实施例提供的神经网络训练装置的结构示意图;如图18所示,神经网络训练装置500包括:
初始检测网络501;用于对训练样本集中的当前训练样本进行特征处理与重构,得到所述当前训练样本对应的样本特征序列与重构样本特征序列;所述训练样本集包含正样本与负样本,所述负样本为存在异常部分的图像;
训练单元502,用于通过异常损失函数,基于所述样本特征序列与重构样本特征序列,对所述初始检测网络进行迭代训练,直至得到检测网络;其中,所述检测网络用于对待检测图像中的异常部分进行检测;所述异常损失函数通过像素级和/或图像级进行损失计算。
在一些实施例中,所述初始检测网络501包括:特征提取网络与初始重构网络;所述特征提取网络,用于对所述当前训练样本进行特征处理,得到样本特征序列;
所述初始重构网络,用于对所述样本特征序列和预设的初始问询词序列进行重构,得到重构样本特征序列。
在一些实施例中,所述训练单元502,还用于根据所述重构样本特征序列与所述样本特征序列,确定样本特征差异序列;获取所述当前训练样本的真实值;基于所述样本特征差异序列、所述真实值和所述异常损失函数,得到当前损失;其中,所述异常损失函数用于在针对所述正样本或负样本进行处理的情况下,将所述正样本对应的重构样本特征序列拉近样本特征序列;将所述负样本中的异常部分对应的重构样本特征序列推离样本特征序列;基于所述当前损失对所述初始检测网络进行调整,并将所述训练样本集中的下一个训练样本作为当前样本,对调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络。
在一些实施例中,所述训练单元502,还用于基于所述样本特征序列与预设特征提取损失函数,计算所述特征提取网络对应的特征提取损失;通过异常损失函数,基于所述样本特征序列与重构样本特征序列,得到所述初始重构网络的当前损失;基于所述特征提取损失,对所述初始特征提取网络进行调整;并基于所述当前损失,对所述初始重构网络进行同步调整,并对所述初始特征提取网络与所述初始重构网络进行迭代训练,直至得到所述特征提取损失与所述当前损失满足预设训练条件的特征提取网络与重构网络,作为所述检测网络。
在一些实施例中,像素级的真实值;所述异常损失函数包括:像素级损失函数;所述像素级的真实值用于在所述当前训练样本中标注正常像素点或异常像素点;
所述训练单元502,还用于在所述真实值为像素级的真实值的情况下,对所述样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量;通过所述像素级损失函数,基于所述样本特征差异度量、所述像素级的真实值,计算所述正常像素点对应的正常像素损失,以及异常像素点对应的异常像素损失;基于所述正常像素损失和所述异常像素损失,确定所述当前损失。
在一些实施例中,所述真实值包括:图像级的真实值;所述异常损失函数包括:图像级损失函数;所述图像级的真实值用于标注所述当前训练样本为正样本或负样本;所述训练单元502,还用于在所述真实值为图像级的真实值的情况下,对所述样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量;从所述每个像素位置上的样本特征差异度量中,确定数值最大的K个最大样本特征差异度量;K为大于1的正整数;对所述K个最大样本特征差异度量进行平均,得到样本特征平均差异度量;通过所述图像级损失函数,基于所述样本特征平均差异度量、所述图像级的真实值,计算所述当前训练样本对应的正常图像损失与异常图像损失;其中,在所述当前训练样本为正样本的情况下,所述样本特征平均差异度量与所述正常图像损失成正相关;在所述当前训练样本为负样本的情况下,所述样本特征平均差异度量与所述异常图像损失成负相关;基于所述正常图像损失或所述异常图像损失,确定所述当前损失。
在一些实施例中,所述像素级损失函数包括:正常像素损失部分和异常像素损失部分;
所述训练单元502,还用于对于所述当前训练样本中的每个像素点,在所述像素级的真实值表征像素点为所述正常像素点的情况下,基于所述正常像素损失部分,对所述正常像素点的样本特征差异度量进行加权平均,得到所述正常像素损失;所述正常像素点的样本特征差异度量与所述正常像素损失成正相关;在所述像素级的真实值表征像素点为异常像素点的情况下,基于所述异常像素损失部分,对所述异常像素点的样本特征差异度量进行加权平均,得到所述异常像素损失;所述异常像素点的样本特征差异度量与所述异常像素损失成负相关。
在一些实施例中,所述图像级损失函数包括:正常图像损失部分和异常图像损失部分;
所述训练单元502,还用于在所述图像级的真实值表征所述当前训练样本为正样本的情况下,基于所述正常图像损失部分,将所述负样本特征平均差异度量,确定为所述正常图像损失;在所述图像级的真实值表征所述当前训练样本为负样本的情况下,基于所述异常图像损失部分和所述负样本特征平均差异度量,得到所述异常图像损失。
在一些实施例中,所述训练单元502,还用于根据所述正常像素损失与所述异常像素损失,得到第一当前损失;通过对所述样本特征差异序列进行像素位置的分类预测,得到当前分类损失;基于所述第一当前损失与所述当前分类损失,得到所述当前损失。
在一些实施例中,所述初始检测网络包括:初始分类网络;所述训练单元502,还用于采用所述初始分类网络,对所述样本特征差异序列进行像素位置的分类,得到每个像素位置上的样本分类概率;基于每个像素位置上的所述样本分类概率、所述像素级的真实值和分类损失函数,得到所述当前分类损失。
在一些实施例中,所述训练单元502,还用于基于所述当前分类损失,对所述初始分类网络的网络参数进行调整;基于所述当前损失,对所述初始重构网络的网络参数进行调整;并根据调整后的分类网络与调整后的初始重构网络得到调整后的初始检测网络;将所述训练样本集中的下一个训练样本作为当前样本,对所述调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络。
在一些实施例中,所述装置还包括异常检测单元,所述异常检测单元,用于所述得到检测网络之后,基于所述检测网络,对待检测图像进行不同尺度的特征处理,得到多尺度特征序列;对所述多尺度特征序列和预设的问询词序列进行重构,得到重构特征序列;根据所述重构特征序列与所述多尺度特征序列,确定每个像素位置上的特征差异;基于所述特征差异,确定所述每个像素位置上的异常评分;基于所述异常评分,绘制所述待检测图像对应的异常检测图像。
在一些实施例中,所述异常检测单元,还用于对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的中间异常评分,将所述中间异常评分作为所述异常评分。
在一些实施例中,所述异常检测单元,还用于对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的中间异常评分;采用分类网络,对每个像素位置上的所述特征差异进行分类,得到分类概率;将所述分类概率与所述中间异常评分进行相乘,得到所述每个像素位置上的所述异常评分。
在一些实施例中,所述异常检测单元,还用于在每个像素位置上的异常评分小于或者等于评分阈值的情况下,将该像素位置对应的像素值绘制为第一值;在每个像素位置上的异常评分大于评分阈值的情况下,将该像素位置对应的像素值绘制为第二值;直至将所述待检测图像的像素位置绘制完成时,得到所述异常检测图像。
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
本公开实施例还提供一种电子设备,图19为本公开实施例提供的电子设备的结构示意图,如图19所示,电子设备2包括:存储器21和处理器22,其中,存储器21和处理器22通过通信总线23连接;存储器21,用于存储可执行计算机程序;处理器22,用于执行存储器21中存储的可执行计算机程序时,实现本公开实施例提供的神经网络训练方法。
本公开实施例提供一种计算机可读存储介质,存储有计算机程序,用于引起处理器22执行时,实现本公开实施例提供的神经网络训练方法。
在本公开的一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在本公开的一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过包含正样本和负样本的训练样本集对初始检测网络进行训练,并在训练过程中通过兼容像素级和/或图像级的异常损失函数,针对不同类型的训练样本计算对应的训练损失,训练得到检测网络,实现了使用多种类型样本的网络训练,提高了网络训练的灵活性。并且,初始检测网络可以在训练过程中,通过正样本与负样本、以及像素级和图像级的标注进行更全面地学习,使得训练得到的检测网络在应用于异常检测时可以达到更高的精度,从而提高了网络训练的准确性。并且,电子设备将从当前训练样本中提取得到的样本特征序列作为指导信息,对可学习的初始问询词序列进行特征重构,可以加强初始重构网络的语义理解能力,从而在深层语义理解的基础上实现解码重构,以提高重构样本特征序列的准确性,进而提高异常检测的准确性。进一步的,通过重构网络的全局注意力捕捉,加强重构网络对语义信息的深层次理解,使得重构网络可以在理解图像深层语义特征的前提下实现特征重构。进一步的,电子设备可以通过像素级或图像级损失函数的“拉近-推离”特性,拉大初始检测网络对正常像素点与异常像素点的重构特征的差距,从而提高了初始检测网络的辨别能力,并实现了对于像素级和图像级标签的负样本的训练方法的兼容,从而提高了网络训练的灵活性与准确性。
以上所述,仅为本公开的实施例而已,并非用于限定本公开的保护范围。凡在本公开的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本公开的保护范围之内。

Claims (18)

1.一种神经网络训练方法,其特征在于,包括:
通过初始检测网络,对训练样本集中的当前训练样本进行特征处理与重构,得到所述当前训练样本对应的样本特征序列与重构样本特征序列;所述训练样本集包含正样本与负样本,所述负样本为存在异常部分的图像;
通过异常损失函数,基于所述样本特征序列与重构样本特征序列,对所述初始检测网络进行迭代训练,直至得到检测网络;其中,所述检测网络用于对待检测图像中的异常部分进行检测;所述异常损失函数通过像素级和/或图像级进行损失计算。
2.根据权利要求1所述的方法,其特征在于,所述初始检测网络包括:特征提取网络与初始重构网络;所述通过初始检测网络,对训练样本集中的当前训练样本进行特征处理与重构,得到所述当前训练样本对应的样本特征序列与重构样本特征序列,包括:
通过所述特征提取网络,对所述当前训练样本进行特征处理,得到样本特征序列;
基于所述初始重构网络,对所述样本特征序列和预设的初始问询词序列进行重构,得到重构样本特征序列。
3.根据权利要求1或2所述的方法,其特征在于,所述通过异常损失函数,基于所述样本特征序列与重构样本特征序列,对所述初始检测网络进行迭代训练,直至得到检测网络,包括:
根据所述重构样本特征序列与所述样本特征序列,确定样本特征差异序列;
获取所述当前训练样本的真实值;
基于所述样本特征差异序列、所述真实值和所述异常损失函数,得到当前损失;其中,所述异常损失函数用于在针对所述正样本或负样本进行处理的情况下,将所述正样本对应的重构样本特征序列拉近样本特征序列;将所述负样本中的异常部分对应的重构样本特征序列推离样本特征序列;
基于所述当前损失对所述初始检测网络进行调整,并将所述训练样本集中的下一个训练样本作为当前样本,对调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络。
4.根据权利要求2所述的方法,其特征在于,所述通过异常损失函数,基于所述样本特征序列与重构样本特征序列,对所述初始检测网络进行迭代训练,直至得到检测网络,包括:
基于所述样本特征序列与预设特征提取损失函数,计算所述特征提取网络对应的特征提取损失;
通过异常损失函数,基于所述样本特征序列与重构样本特征序列,得到所述初始重构网络的当前损失;
基于所述特征提取损失,对所述初始特征提取网络进行调整;并基于所述当前损失,对所述初始重构网络进行同步调整,并对所述初始特征提取网络与所述初始重构网络进行迭代训练,直至得到所述特征提取损失与所述当前损失满足预设训练条件的特征提取网络与重构网络,作为所述检测网络。
5.根据权利要求3所述的方法,其特征在于,所述真实值包括:像素级的真实值;所述异常损失函数包括:像素级损失函数;所述像素级的真实值用于在所述当前训练样本中标注正常像素点或异常像素点;
所述基于所述样本特征差异序列、所述真实值和所述异常损失函数,得到当前损失,包括:
在所述真实值为像素级的真实值的情况下,对所述样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量;
通过所述像素级损失函数,基于所述样本特征差异度量、所述像素级的真实值,计算所述正常像素点对应的正常像素损失,以及异常像素点对应的异常像素损失;
基于所述正常像素损失和所述异常像素损失,确定所述当前损失。
6.根据权利要求3所述的方法,其特征在于,所述真实值包括:图像级的真实值;所述异常损失函数包括:图像级损失函数;所述图像级的真实值用于标注所述当前训练样本为正样本或负样本;所述基于所述样本特征差异序列、所述真实值和所述异常损失函数,得到当前损失,包括:
在所述真实值为图像级的真实值的情况下,对所述样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的样本特征差异度量;
从所述每个像素位置上的样本特征差异度量中,确定数值最大的K个最大样本特征差异度量;K为大于1的正整数;
对所述K个最大样本特征差异度量进行平均,得到样本特征平均差异度量;
通过所述图像级损失函数,基于所述样本特征平均差异度量、所述图像级的真实值,计算所述当前训练样本对应的正常图像损失与异常图像损失;其中,在所述当前训练样本为正样本的情况下,所述样本特征平均差异度量与所述正常图像损失成正相关;在所述当前训练样本为负样本的情况下,所述样本特征平均差异度量与所述异常图像损失成负相关;
基于所述正常图像损失或所述异常图像损失,确定所述当前损失。
7.根据权利要求5所述的方法,其特征在于,所述像素级损失函数包括:正常像素损失部分和异常像素损失部分;
所述通过所述像素级损失函数,基于所述样本特征差异度量、所述像素级的真实值,计算所述正常像素点对应的正常像素损失,以及异常像素点对应的异常像素损失,包括:
对于所述当前训练样本中的每个像素点,在所述像素级的真实值表征像素点为所述正常像素点的情况下,基于所述正常像素损失部分,对所述正常像素点的样本特征差异度量进行加权平均,得到所述正常像素损失;所述正常像素点的样本特征差异度量与所述正常像素损失成正相关;
在所述像素级的真实值表征像素点为异常像素点的情况下,基于所述异常像素损失部分,对所述异常像素点的样本特征差异度量进行加权平均,得到所述异常像素损失;所述异常像素点的样本特征差异度量与所述异常像素损失成负相关。
8.根据权利要求6所述的方法,其特征在于,所述图像级损失函数包括:正常图像损失部分和异常图像损失部分;
所述通过所述图像级损失函数,基于所述样本特征平均差异度量、所述图像级的真实值,计算所述当前训练样本对应的正常图像损失与异常图像损失,包括:
在所述图像级的真实值表征所述当前训练样本为正样本的情况下,基于所述正常图像损失部分,将所述负样本特征平均差异度量,确定为所述正常图像损失;
在所述图像级的真实值表征所述当前训练样本为负样本的情况下,基于所述异常图像损失部分和所述负样本特征平均差异度量,得到所述异常图像损失。
9.根据权利要求5或7所述的方法,其特征在于,所述基于所述正常像素损失和所述异常像素损失,确定所述当前损失,包括:
根据所述正常像素损失与所述异常像素损失,得到第一当前损失;
通过对所述样本特征差异序列进行像素位置的分类预测,得到当前分类损失;
基于所述第一当前损失与所述当前分类损失,得到所述当前损失。
10.根据权利要求9所述的方法,其特征在于,所述初始检测网络包括:初始分类网络;所述通过对所述样本特征差异序列进行像素位置的分类预测,得到当前分类损失,包括:
采用所述初始分类网络,对所述样本特征差异序列进行像素位置的分类,得到每个像素位置上的样本分类概率;
基于每个像素位置上的所述样本分类概率、所述像素级的真实值和分类损失函数,得到所述当前分类损失。
11.根据权利要求10所述的方法,其特征在于,所述基于所述当前损失对所述初始检测网络进行调整,并将所述训练样本集中的下一个训练样本作为当前样本,对调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络,包括:
基于所述当前分类损失,对所述初始分类网络的网络参数进行调整;
基于所述当前损失,对所述初始重构网络的网络参数进行调整;并根据调整后的分类网络与调整后的初始重构网络得到调整后的初始检测网络;
将所述训练样本集中的下一个训练样本作为当前样本,对所述调整后的初始检测网络进行下一轮训练,直至得到最终损失小于预设损失阈值的所述检测网络。
12.根据权利要求1所述的方法,其特征在于,所述得到检测网络之后,所述方法还包括:
基于所述检测网络,对待检测图像进行不同尺度的特征处理,得到多尺度特征序列;
对所述多尺度特征序列和预设的问询词序列进行重构,得到重构特征序列;
根据所述重构特征序列与所述多尺度特征序列,确定每个像素位置上的特征差异;
基于所述特征差异,确定所述每个像素位置上的异常评分;
基于所述异常评分,绘制所述待检测图像对应的异常检测图像。
13.根据权利要求12所述的方法,其特征在于,所述基于所述特征差异,确定所述每个像素位置上的异常评分,包括:
对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的中间异常评分,将所述中间异常评分作为所述异常评分。
14.根据权利要求12或13所述的方法,其特征在于,所述基于所述特征差异,确定所述每个像素位置上的异常评分,包括:
对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的中间异常评分;
采用分类网络,对每个像素位置上的所述特征差异进行分类,得到分类概率;
将所述分类概率与所述中间异常评分进行相乘,得到所述每个像素位置上的所述异常评分。
15.根据权利要求13或14所述的方法,其特征在于,所述基于所述异常评分,绘制所述待检测图像对应的异常检测图像,包括:
在每个像素位置上的异常评分小于或者等于评分阈值的情况下,将该像素位置对应的像素值绘制为第一值;
在每个像素位置上的异常评分大于评分阈值的情况下,将该像素位置对应的像素值绘制为第二值;直至将所述待检测图像的像素位置绘制完成时,得到所述异常检测图像。
16.一种神经网络训练装置,其特征在于,包括:
初始检测网络,用于对训练样本集中的当前训练样本进行特征处理与重构,得到所述当前训练样本对应的样本特征序列与重构样本特征序列;所述训练样本集包含正样本与负样本,所述负样本为存在异常部分的图像;
训练单元,用于通过异常损失函数,基于所述样本特征序列与重构样本特征序列,对所述初始检测网络进行迭代训练,直至得到检测网络;其中,所述检测网络用于对待检测图像中的异常部分进行检测;所述异常损失函数通过像素级和/或图像级进行损失计算。
17.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至15任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至15任一项所述的方法。
CN202110932654.8A 2021-08-13 2021-08-13 神经网络训练方法、装置、电子设备及存储介质 Pending CN113688844A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110932654.8A CN113688844A (zh) 2021-08-13 2021-08-13 神经网络训练方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110932654.8A CN113688844A (zh) 2021-08-13 2021-08-13 神经网络训练方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113688844A true CN113688844A (zh) 2021-11-23

Family

ID=78579926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110932654.8A Pending CN113688844A (zh) 2021-08-13 2021-08-13 神经网络训练方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113688844A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115272301A (zh) * 2022-09-20 2022-11-01 江苏新世嘉家纺高新科技股份有限公司 一种基于机器人的筒子纱缺陷自动检测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115272301A (zh) * 2022-09-20 2022-11-01 江苏新世嘉家纺高新科技股份有限公司 一种基于机器人的筒子纱缺陷自动检测方法

Similar Documents

Publication Publication Date Title
CN113688889A (zh) 异常检测方法、装置、电子设备及计算机可读存储介质
WO2021093468A1 (zh) 视频分类方法、模型训练方法、装置、设备及存储介质
Azadi et al. Auxiliary image regularization for deep cnns with noisy labels
CN113688890A (zh) 异常检测方法、装置、电子设备及计算机可读存储介质
CN113836992B (zh) 识别标签的方法、训练标签识别模型的方法、装置及设备
Shi et al. Finding it at another side: A viewpoint-adapted matching encoder for change captioning
CN110930378B (zh) 基于低数据需求的肺气肿影像处理方法及系统
CN109492610B (zh) 一种行人重识别方法、装置及可读存储介质
CN113111716B (zh) 一种基于深度学习的遥感影像半自动标注方法和装置
CN112529210A (zh) 模型训练方法、装置以及计算机可读存储介质
CN111680757A (zh) 一种基于自编码器的零样本图像识别算法及系统
CN113065525A (zh) 年龄识别模型训练方法、人脸年龄识别方法及相关装置
CN116304984A (zh) 基于对比学习的多模态意图识别方法及系统
CN113688844A (zh) 神经网络训练方法、装置、电子设备及存储介质
JP7225731B2 (ja) 多変数データシーケンスの画像化
Singh et al. CNN based approach for traffic sign recognition system
CN115909336A (zh) 文本识别方法、装置、计算机设备和计算机可读存储介质
Sumbul et al. Generative reasoning integrated label noise robust deep image representation learning
CN116994049A (zh) 全自动针织横机及其方法
CN116957921A (zh) 图像渲染方法、装置、设备及存储介质
CN117095406A (zh) 一种获取指针水表读数的后处理方法、系统、装置及介质
CN115376195B (zh) 训练多尺度网络模型的方法及人脸关键点检测方法
US11687782B2 (en) Systems and methods for recognition of user-provided images
CN113516182B (zh) 视觉问答模型训练、视觉问答方法和装置
CN111798376B (zh) 图像识别方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination