CN116934670A - 使用Siamese自动编码器实现特征重要性以进行有效的图像变化检测 - Google Patents
使用Siamese自动编码器实现特征重要性以进行有效的图像变化检测 Download PDFInfo
- Publication number
- CN116934670A CN116934670A CN202211314153.4A CN202211314153A CN116934670A CN 116934670 A CN116934670 A CN 116934670A CN 202211314153 A CN202211314153 A CN 202211314153A CN 116934670 A CN116934670 A CN 116934670A
- Authority
- CN
- China
- Prior art keywords
- encoder
- images
- siamese
- pair
- image
- 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
Links
- 230000008859 change Effects 0.000 title abstract description 31
- 238000001514 detection method Methods 0.000 title abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 90
- 230000006870 function Effects 0.000 claims abstract description 51
- 238000013528 artificial neural network Methods 0.000 claims abstract description 37
- 230000003044 adaptive effect Effects 0.000 claims abstract description 14
- 238000000926 separation method Methods 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 45
- 230000015654 memory Effects 0.000 claims description 25
- 230000000977 initiatory effect Effects 0.000 claims 3
- 230000006641 stabilisation Effects 0.000 claims 3
- 238000011105 stabilization Methods 0.000 claims 3
- 238000010801 machine learning Methods 0.000 description 124
- 230000008569 process Effects 0.000 description 33
- 238000004891 communication Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 238000003860 storage Methods 0.000 description 20
- 239000013598 vector Substances 0.000 description 19
- 238000004519 manufacturing process Methods 0.000 description 13
- 238000013527 convolutional neural network Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000015556 catabolic process Effects 0.000 description 8
- 238000006731 degradation reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000005291 magnetic effect Effects 0.000 description 8
- 238000012417 linear regression Methods 0.000 description 7
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000013450 outlier detection Methods 0.000 description 4
- 206010035664 Pneumonia Diseases 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 208000002177 Cataract Diseases 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 206010012689 Diabetic retinopathy Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000004925 denaturation Methods 0.000 description 1
- 230000036425 denaturation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000000491 multivariate analysis Methods 0.000 description 1
- 238000009828 non-uniform distribution Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000026683 transduction Effects 0.000 description 1
- 238000010361 transduction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本公开的多个实施例涉及使用Siamese自动编码器实现特征重要性以进行有效的图像变化检测。提供了用于使用改进的“子”神经网络和损失函数实现Siamese神经网络的系统和方法。例如,系统可以使用带有卷积自动编码器的Siamese神经网络作为孪生子网络(例如,Siamese自动编码器或“SAE”)来检测图像中的粒度变化。在一些示例中,损失函数可以是SAE网络的自适应损失函数,而不是对比损失函数,这有助于顺利控制跨图像的变化检测的粒度。在一些示例中,可以计算图像分离距离值以确定图像对之间的变化值。图像分离距离值可以使用与神经网络的自动编码器的编码器部分的隐空间相关联的Euclidean距离来确定。
Description
背景技术
在人工智能(AI)环境中,数据专家可以根据用例(诸如分类或回归)使用机器学习(ML)技术来构建和拟合ML模型。ML模型是用标记的数据进行训练的,然后是验证过程,以确定性能,从而得到一个合理的广义的ML模型。专家评估若干模型,通过调节参数来细化ML模型,并且在生产环境中部署最终ML模型以对输入数据流执行分析。
例如,边缘计算被用作一种分布式、开放式信息技术(IT)架构,其特点是分散处理能力,例如支持移动计算和物联网(IoT)技术。随着边缘处计算设备的激增,可以使用各种方法(包括ML算法)分析这些设备收集的海量数据。由于边缘设备可以具有有限的数据处理能力,因此仅在边缘系统上执行有限数量的海量数据分析。由于这样的服务器具有巨大的数据处理能力,因此,海量数据分析的大部分是在通常通过云网络而提供的服务器处执行的。因此,在大多数实现中,诸如对于IoT技术,训练环境是通过云网络设置的,并且边缘系统用作生产环境。
在一些应用中,在云服务器处,对收集的数据执行的分析可以用于训练ML模型。根据某些参数的定义,各种算法可以改善边缘系统的功能。然而,在实际应用中,系统的动态行为可能会影响ML模型的决策。动态行为可以来自各种来源,包括传感器效率低下、传感器变性、测量参数的瞬态变化、以及待分析的新参数的任何引入。
动态行为可以在数据中呈现为异常、异常值或漂移。例如,在一段时间内,输入数据流或预测输出数据可能会发生漂移,或者输入数据流与输出之间的关系可能会发生概念转变。“漂移”可以是指目标变量(ML模型正试图预测)的统计特性,它可能会随着时间以不可预见的方式发生变化。随着时间的变化可能会导致预测随着时间的推移变得不准确。“异常”和“异常值”可以是指与大多数其他数据项有显著差异的数据项。这些异常或异常值可能是由于影响模型预测行为的噪声或意外数据点而发生的,并且可以进行更深入的检查。
输入数据流中存在的异常值和数据流漂移可能会影响使用标记的数据预先训练的ML模型的预测行为。
附图说明
根据一个或多个不同示例,参考下图详细描述本公开。这些图仅用于说明目的,并且仅描述典型示例。
图1示出了根据本公开的一个示例的用于更新图像分类的机器学习(ML)模型的系统的网络连接图;
图2示出了根据本公开的一个示例的用于托管生产环境以更新用于图像分类的ML模型的设备的不同组件的框图;
图3A示出了根据本公开的一个示例的由与第一批次图像相对应的重构误差而准备的集群;
图3B示出了根据本公开的一个示例的使用最佳偏好值通过亲和力传播为第一批次图像而准备的集群的样本表示;
图4A示出了根据本公开的一个示例的由与第二对/第二批次图像相对应的重构误差而准备的集群;
图4B示出了根据本公开的一个示例的使用最佳偏好值通过亲和力传播为第二对/第二批次图像而准备的集群的样本表示;
图5示出了根据本公开的一个示例的用于更新用于图像分类的ML模型的云服务器的框图;
图6示出了根据本公开的示例的用于更新机器学习模型的过程;
图7示出了根据本公开的示例的用于更新机器学习模型的过程;
图8示出了根据本公开的示例的训练机器学习模型;
图9示出了根据本公开的一个示例的已处理图像;
图10示出了根据本公开的一个示例的已处理图像;
图11示出了根据本公开的一个示例的对导致劣化的重要特征进行可视化,拍摄原始图像和劣化的样本数字;
图12示出了根据本公开的一个示例的使用改进的子神经网络和损失函数模型实现Siamese自动编码器的过程;
图13是可以用于实现本公开中所述示例的各种特征的示例计算组件;以及
图14描绘了可以在其中实现本文中描述的各种示例的示例计算机系统的框图。
这些附图并不详尽,也未将本公开限于所公开的精确形式。
具体实施方式
在诸如云服务器上托管的训练环境中,机器学习技术(诸如分类或回归)用于使用标记的数据训练机器学习(ML)模型。一旦经过训练,ML模型就会得到验证,以便ML模型提供所需要的性能,然后部署在托管生产环境的设备(诸如边缘设备)上以预测事件或与事件相关联的值。预测可以用于预测或决策环境或应用、或其他预期目的。使用机器学习技术开发的ML模型用于若干技术领域,以从图像或时间序列数据中理解数据模式。例如,机器学习可以用于增强或协助医疗领域的若干应用的图像处理,例如糖尿病视网膜病变分级、骨折检测、白内障和胸部疾病等。
相似性检测是一种特殊的图像处理技术,它可以使用本文中描述的一种或多种机器学习技术(包括通过Siamese自动编码器)标识图像的常见部分。Siamese自动编码器(Siamese AutoEncoder)是一种人工智能(AI)或机器学习(ML)模型(可以互换使用),该模型使用由两个或更多个相同的“子”神经网络组成的神经网络架构实现,其中每个子神经网络都可以在输入数据上生成特征向量并且比较该向量以标识它们之间的相似性或差异性。例如,每个相同的神经网络都可以使用卷积神经网络(CNN)作为“子”神经网络。每个神经网络都可以从两个输入图像中选取一个,并且通过学习两个输入之间的相似性来进行训练以区分这两个输入。一旦每个神经网络都经过训练,神经网络就可以对两幅图像进行分类:它们是相同的还是不同的。这种方法可以使用相似性得分分类(例如,作为二进制输出)对两个输入图像是否相似进行分类,并且对于粒度变化检测可能无效。
此外,在训练过程中可以实现损失函数技术。例如,对比损失可以通过图像距离计算来实现,诸如Euclidean距离。当实现对比损失时,“子”神经网络可以生成相似性值,该相似性值针对每个图像分类将0测量为1。当相似性值接近1时,神经网络可以标识相似图像,而相似性值接近0时,可以标识不同图像。例如,相似性可以通过将相似性值与阈值进行比较来确定。这种方法可以使用相似性值分类将两个输入图像分类为相似或不相似,但在确定图像部分的粒度变化时可能无效。
应用的示例可以使用改进的子神经网络和损失函数来实现Siamese自动编码器。例如,系统可以使用带有卷积自动编码器的Siamese神经网络作为孪生子网络(例如,Siamese自动编码器或“SAE”)来检测图像中的粒度变化。在一些示例中,损失函数可以是自适应损失函数,它在常规对比损失之上结合了自适应边际计算,这有助于实现对跨图像的变化检测粒度的平滑控制。在一些示例中,可以计算图像分离距离值以确定图像对之间的变化值。图像分离距离值可以使用与神经网络的自动编码器的编码器部分的隐空间(latent space)相关联的Euclidean距离来确定。
在一些示例中,对比损失函数在每个历元(epoch)(例如,与定义学习模型将使用整个训练数据集的次数的超参数相对应的历元)中使用动态计算的自适应边际来实现,以用于粒度变化检测。可以使用损失函数实现距离计算(例如,使用与Euclidean距离的余弦相似性)。这可以有助于使用基于角度的评估将向量值的不均匀分布合并在计算中,以实现与参考图像相比跨图像的变化(或相异性)检测的平滑粒度。
此外,为了防止ML模型因上述原因而劣化,系统可以通过对托管生产环境的设备接收的图像应用数据处理技术来检测数据漂移和异常值。例如,深度学习网络(例如,卷积神经网络或CNN)可以用于使用图像训练数据训练机器学习(ML)模型以用于分类。此外,自动编码器在托管训练环境的设备(即,云服务器)处使用用于训练ML模型的图像训练数据进行训练,而没有任何异常。对自动编码器进行训练,直到它能够以最小损失(即,重构误差)重构预期输出。在水位线内训练之后,包括稳定误差(损失)值的自动编码器输出数据称为基线数据并且用作参考。基线数据用作托管生产环境的设备(即,边缘设备)中漂移分析的参考。基线数据可以基于生产环境中生成的稳定误差值进行持续细化。
在后期训练中,自动编码器和ML模型可以部署在托管生产环境的设备上。在部署之后,自动编码器可以重构托管生产环境的设备接收的图像。图像可以从图像捕获设备(诸如医疗装置)接收。在自动编码器的操作期间,图像重构期间发生的数据丢失被捕获作为重构误差。重构误差与与对应图像相关联的时间戳和唯一标签一起被存储。
表示重构误差的数据点可以使用亲和力传播进行聚类。对于聚类操作,数据点可以按预定义的可调大小批次提供。亲和力传播可以基于指示数据点表示数据点集群的可能性的偏好值执行聚类操作。当前公开的一个重要特征包括通过对数据点应用线性回归来动态设置偏好值,以便聚类操作可以高效执行,以产生最佳数目的集群。
在使用亲和力传播形成数据点集群之后,可以基于一个或多个因素来确定异常值,诸如与一个或多个人口稠密集群的最大距离、数据点的值计数、以及与基线数据中预定义水位线的比较。此外,数据漂移是基于预定义时间段内集群密度的变化来确定的。集群密度的变化通过直方图分析和/或集群密度之间的自相关来确定。
部署在托管生产环境的设备上的ML模型将接收的图像分类为一个或多个类别。因此,ML模型的分类输出与异常值和数据漂移相关联以形成数据包。数据包被传输到托管训练环境的设备,其中数据包用于ML模型的微调。
在整个公开过程中实现了技术改进。例如,所提出的系统可以使用具有新损失函数的卷积自动编码器和基于隐空间的自动编码器距离测量来改进用于图像识别的机器学习。该系统可以确定图像中的粒度变化、异常,并且对类似图像进行分类分组。
当前公开中对特定应用(诸如医疗应用)的任何引用仅为便于解释而提供,而不应当被解释为本文所述的方法的应用的限制因素。因此,本领域技术人员可以将本公开中提供的细节用于任何类似应用。
图1示出了用于更新机器学习(ML)模型的系统的网络连接图100。边缘设备102被示出为与图像源104-1至104-n(统称为图像源104)连接。在一些示例中,边缘设备102指示托管生产环境的设备。例如,如图1所示,图像源104可以是医疗装置,例如超声波扫描仪104-1、计算机断层扫描(CT)扫描仪104-2和便携式X射线机104-3、手持用户设备(诸如智能手机104-4)、数码相机104-5、或数据存储设备(诸如硬盘驱动器(HDD)104-n)。
图2提供了边缘设备102的示例。例如,边缘设备102可以包括ML模型220,ML模型220接收数据(例如,图像)以通过ML模型运行或分析。ML模型220可以使用从图像源104接收的图像或其他类似图像来训练。为了训练ML模型220,图像可以通过通信网络传输到连接到边缘设备102的云服务器106。必须理解,在连续的描述过程中,云服务器106指示托管训练环境的设备。在ML模型220(稍后参考图2和图5进行解释)在云服务器106处被训练之后,ML模型220可以部署在边缘设备102处,以处理可以从图像源104接收的新图像。
在边缘设备102上部署ML模型220之后,当新图像与用于训练ML模型220的图像相比包括不同信息时,相关信息可以在边缘设备104处被提取。在一个方面,边缘设备102可以从图像源104接收新图像。图像可以提供给自动编码器以进行重构。图像重构过程中发生的数据丢失可以被捕获作为重构误差。
与重构误差相对应的数据点可以使用合适的聚类技术进行聚类,诸如亲和力传播。数据点集群可以用于基于一个或多个规则确定异常值。此外,数据漂移可以通过标识预定义时间段内集群密度的变化来确定。ML模型220可以对提供给边缘设备102的新图像进行分类。ML模型220的分类输出可以与异常值和数据漂移相关联,并且被转发到云服务器106,以细化/更新ML模型220。
图2示出了根据本公开的一个示例的边缘设备102的不同组件的框图。边缘设备102可以包括接口202、处理器204和存储器206。存储器206可以包括各种单元,包括自动编码器208、重构误差捕获单元210、聚类单元212、异常值检测单元214、数据漂移检测单元216和分类单元218。在存储器206内配置的这些单元可以松散耦合以提供数据处理流水线。单元松散耦合表示每个单元的功能可以独立于剩余单元的功能,并且任何单元的重新配置或更换可能不会影响剩余单元的处理或结果。
为了更新部署在边缘设备102上的ML模型220,首先,从一个或多个图像源104接收的图像可以被提供给自动编码器208。应当注意,在边缘设备102上实现之前,自动编码器208可以在云服务器106上进行训练。有关自动编码器208的训练的详细信息在稍后参考图5提供。
例如,自动编码器208可以使用无监督人工神经网络来实现。自动编码器208在云服务器106上经过预先训练,以高效压缩和编码图像数据,然后从其压缩和编码的表示重构图像数据。图像数据被重构,以使其尽可能接近提供给自动编码器208的图像数据。在压缩、编码和重构过程中,自动编码器208学习将图像数据压缩成更小的维度,其中图像数据的编码表示存在于隐空间中。
当自动编码器208重构从一个或多个图像源104接收的图像时,在一段时间内,重构误差捕获单元210捕获重构误差,即每个图像重构期间发生的损失。因此,与对应原始图像相比,每个重构误差对应于重构图像中的信息损失。重构误差可以存储在与对应图像相关联的时间戳和/或标签中。
与重构误差相对应的数据点提供给聚类单元212,以使用合适的聚类技术进行聚类。在一个优选实现中,可以使用亲和力传播对数据点进行聚类。数据点可以按预定义可调大小批次提供,以用于聚类。因此,聚类技术将产生按批次提供的数据点的集群。必须注意,使用亲和力传播进行聚类的一个特殊优势包括不需要定义要准备的集群的数目。因为在出现异常值和数据漂移期间,集群计数可以跨批次进行动态计算,所以将集群数目的初始化留给亲和力传播可以有助于实现这一目的。
亲和力传播基于确定数据点之间的相似性的原则,并且通过最大化数据点与其样例之间的总相似性来准备集群。样例可以与表示集群的点相对应。在集群期间,数据点可以彼此发送消息,直到实现聚合。
例如,处理数据点di和dk的N个样本以产生集群(表示为N×N矩阵)可以包括确定数据点di与dk之间的相似性值(存储为相似性矩阵S(i,j))。S的对角线(包括S(i,i))可以表示输入偏好。这种输入偏好(以下称为偏好值)指示数据点成为样例的可能性。偏好值控制通过亲和力传播产生的集群的数目,并且因此可以进行初始化。偏好值可以被仔细设置,因为将偏好值设置为接近最小可能相似性值会导致生成较少的集群,而将偏好值设定为大于或等于最大可能相似性值则会导致生成大量集群。
在一个示例中,通过对数据点进行线性回归来动态确定最佳偏好值。在该过程中,可以对表示重构误差的每批次数据点执行趋势分析,以动态确定偏好值。在趋势过程中确定的较大斜率指示数据点扩展了很长的距离,而较小斜率指示数据点之间的距离较小。为了达到平衡,从相似性矩阵S中动态计算零相似性与最小相似性之间的最佳偏好值,以基于数据点之间的距离给出集群范围。这将确保具有适当数据点密度的最佳集群计数。
现在描述动态确定最佳偏好值的详细方式。首先,对一批数据点进行线性回归,并且确定指示拟合优度(r_scor)的参数。该参数指示通过线性回归检查的数据点是具有高亲和力还是分散性。良好拟合可以指示数据点可以聚类成较少集群,而不良拟合可以指示数据点可以聚类成较多集群。依次确定拟合ML模型的直线的斜率(m)和斜角(θ)。然后,从相似性集合/矩阵S中提取最小值和中值。在这样的计算之后,可以基于拟合优度(r_scor)与预定义阈值的比较来确定最佳偏好值。例如,在一种实现中,拟合优度(r_scor)可以与第一阈值0.7和第二阈值0.3进行比较。必须理解,阈值0.7和0.3是实际示例,并且被公开作为供用户调节以控制集群密度粒度的变量。换言之,用户可以通过经由用户界面提供的可调特征来控制变化的粒度。在一种情况下,当拟合优度(r_scor)大于第一阈值,即r_scor>0.7时,最优偏好值可以确定为最小值+θ*((中值-最小值)/(90度))。在另一种情况下,当拟合优度(r_scor)小于或等于第一阈值并且大于或等于第二阈值,即r_scor<=0.7并且r_scor>=0.3时,最佳偏好值可以设置为中值。在另一种情况下,当拟合优度(r_scor)小于或等于第二阈值并且大于零,即r_scor<=0.3并且r_scor>0时,最佳偏好值可以设置为中值的一半。以这种方式,最佳偏好值通过线性回归动态设置,并且聚类单元212使用最佳偏好值通过亲和力传播高效准确地对数据点进行聚类。
由聚类单元212准备的数据点的集群可以被提供给异常值检测单元214。异常值检测单元214基于一个或多个因素确定集群中的异常值,该一个或多个因素包括与一个或多个人口稠密集群的最大距离、数据点的值计数、以及与基线数据中预定义的水位线的比较。基线数据指示在云服务器106上产生的自动编码器208的输出,并且包括在自动编码器208在上水位线和下水位线内训练之后获取的稳定误差(损失)值。水位线指示参考误差值,并且可以由用户/操作员调节。
图3A示出了根据与第一批次图像相对应的重构误差而准备的集群302和304。集群302可以被视为人口稠密集群,其包括若干数据点。集群304可以被标识为异常值集群,因为它远离人口稠密集群,即集群302。图3B示出了使用最佳偏好值通过亲和力传播而准备的集群的样本表示。第一集群中的数据点可以被视为与样例306链接。同样,在第二集群中,可以看到单个数据点与样例308连接。
在一个示例中,数据漂移检测单元216通过以时间方式评估集群的密度来检测数据漂移。在一段时间内集群密度相对于基线数据的变化表明数据漂移,即数据模式的偏差。每个集群的密度变化是使用自相关来确定的,诸如Pearson相关。
图4A示出了根据与第二对/第二批次图像的重构误差而准备的集群402和404。将集群402和404与集群302和304进行比较,可以很容易地观察到集群密度的变化,该变化指示数据漂移。图4B示出了使用最佳偏好值通过亲和力传播而准备的集群的样本表示。可以看到第一集群中的数据点与样例406链接。类似地,在第二集群中,可以看到数据点与样例408连接。
现在描述确定数据漂移的详细过程。对于由聚类单元212创建的每个集群,至少可以执行下面提到的一些步骤。首先,使用直方图分析导出每个集群内数据点的密度分布。每个集群的直方图分析输出保存在密度集中。因此,每跨两个密度集和以时间方式创建的基线数据就会进行自相关。在执行自相关时,如果两个密度集的直方图计数不同,则将“0”值插补插入计数较低的密度集中。通过自相关获取的输出将参考设置的阈值进行分析,以确定数据漂移。例如,大于阈值的强相关性将指示一致的密度模式。替代地,小于阈值的弱正相关指示密度模式发生变化。此外,负相关性指示数据模式在密度模式中表现出显著漂移。最后,如果通过自相关获取的输出在预定义时间段内单调下降,则可以标识数据漂移。
在一个示例中,提供给自动编码器208的图像也提供给ML模型220。ML模型200将图像分类为一个或多个类别。由ML模型220提供的这样的分类输出被提供给分类单元218。分类单元218将ML模型220提供的分类输出与异常值检测单元214检测到的异常值和数据漂移检测单元216检测到的数据漂移相关联,以形成数据包。数据包可以包括至少三类分离信息,即异常值/异常、分类图像中的数据漂移、和非分类图像中的数据漂移。数据包可以传输到云服务器106,以确定是否要更新ML模型220,然后更新ML模型220。
图5示出了根据本公开的示例的用于训练和更新ML模型220的云服务器106的框图。如图所示,云服务器106可以包括接口502、(多个)处理器504和存储器506。存储器506可以包括训练ML模型220所需要的数据集508,ML模型220在训练之后可以部署在边缘设备102上。数据集507包括训练数据510、测试数据512和验证数据514。使用所有这些数据,即训练数据510、测试数据512和验证数据5124,ML模型220在机器学习环境516中进行训练。
在云服务器106处,ML模型220可以使用从图像源104接收的图像或其他类似图像进行训练。例如,如果需要ML模型220通过处理患者胸部的X射线图像来检测肺炎,则ML模型220将使用已知受肺炎影响的患者的X射线图像进行训练。在一种实现中,深度学习网络(例如,卷积神经网络(CNN))可以用于训练ML模型220。在训练之后,ML模型120可以部署在边缘设备102上。
在ML模型220在边缘设备102上的部署之后,如上所述,数据包在云服务器106处被接收。数据包包括与异常值和数据漂移相关联的ML模型220的分类输出。数据包用于补充训练数据510,使用该训练数据510,ML模型220可以在微调过程中进行更新。数据包可以被评估,以确定数据包是否包括ML模型220要使用其进行更新的任何基本信息,或者数据包是否包括要丢弃的不重要信息。例如,数据包中存在的一些信息是零星存在的,它可以被标识为传感器捕获图像时引入的噪声或错误,并且因此可以被丢弃。另一方面,数据包中的一些其他信息明显存在,其可以被标识为有用信息,ML模型220将使用该信息进行更新。
在一种实现中,ML模型220的权重可以基于数据包中的信息进行调节,以更新ML模型220。在更新之后,ML模式更新或已更新ML模型可以被传输到边缘设备102以进行部署。
存储器506还包括使用训练数据510进行训练的自动编码器208。最初,在部署在边缘设备102上之前,自动编码器208经过训练,直到它能够以最小重构误差重构预期输出(图像)。重构误差指示损失值,并且被确定为自动编码器208重构的图像的均方误差(MSE)输出。此外,最小重构误差对应于上水位线与下水位线之间的一系列值,其可以基于图像的重构质量进行调节。基线数据用作标识边缘设备102处的数据漂移的参考。自动编码器208和基线数据两者均使用从边缘设备102接收的数据包在云服务器106上更新。
因此,上述系统和方法提供以下操作:使用被配置为确定最佳数目的数据集群的亲和力聚类确定边缘系统处的异常值和数据漂移,将ML模型的分类输出与异常值和数据漂移相关联,并且将相关信息传送给云服务器,以更新ML模型。仅将相关信息传送到云服务器可以节省更新ML模型所需要的时间、带宽和计算能力。使用数据漂移而更新的ML模型以及与ML模型的分类输出相关的异常值将预测可以用于边缘设备处的决策制定的准确输出。
提供了多种更新ML模型的方法,如图6和图7所示。例如,在图6中的框610,向自动编码器和ML模型提供多个图像。每个自动编码器和ML模型都可以在服务器之上在类似训练数据上进行预先训练。自动编码器可以在服务器之上预先训练,直到它能够重构具有预定义可调阈值内的错误值的图像。一旦在边缘设备上实现,自动编码器将重构多个图像,并且ML模型将多个图像分类为一个或多个类别。
在框620,可以确定一个或多个重构误差以进行进一步处理。重构误差可以发生在多个图像的重构期间。重构误差可以与与对应图像相关联的时间戳和标签一起存储。表示重构误差的数据点可以成批提供,以实现用于聚类的预定义可调大小。
在框630,可以发起聚类过程。例如,可以使用亲和力传播对数据点进行聚类。通过对数据点应用线性回归,动态设置亲和力传播用于确定数据点之间的相似性的偏好值。偏好值指示数据点表示数据点集群的可能性,并且通过线性回归对重构误差的值执行趋势分析来动态设置。优先值动态设置在零与从相似性矩阵S获取的最小相似性值之间。
在一些示例中,可以从数据点集群中确定异常值。例如,异常值可以基于一个或多个因素来确定,这些因素包括距一个或多个人口稠密的集群的最大距离、数据点的值计数、以及与基线数据中预定义水位线的值的比较。基线数据可以对应于在云服务器处训练的自动编码器的输出,并且包括稳定的重构误差值。
在框640,可以确定是否存在数据漂移。数据漂移的存在可以基于预定义时间段内集群密度的变化。集群密度的变化可以通过直方图分析和/或跨集群密度的自相关来确定。
在框650,可以生成数据包。数据包可以包括ML模型的分类输出、异常值和/或数据漂移。数据包可以用于微调ML模型。
图7示出了更新ML模型的另一种方法。例如,在图7中,描述了使用ML模型的增强粒度变化检测过程。例如,系统可以结合通过粒度变化检测进行的特征重要性评估与图像数据集中的异常和/或质量评估。使用这些信息,可以重新训练ML模型,以标识每个图像中的一个或多个关键特征。在一些示例中,ML模型可以被不断地重新训练。
如前所述,可以实现各种ML模型,包括Siamese自动编码器,或者可以将系统推广到卷积神经网络或其他ML模型。当实现Siamese自动编码器时,Siamese自动编码器可以与使用相同权重的人工神经网络相对应,同时在两个不同输入向量上串联工作,以计算可比较的输出向量。通常,输出向量的一个是预先计算的,从而形成基线,另一输出向量与该基线进行比较。
在框710,可以使用本文中描述的类似过程训练ML模型。例如,可以向ML模型提供正图像对和负图像对以进行训练。正对可以包括锚图像和类似图像,负对可以包括锚图像和不同图像。
作为医疗领域中的一个示例,正图像对可以属于同一类X射线图像数据集(例如,[正常,正常]),其中“正常”是锚图像。负图像对可以包括属于不同类的两个图像(例如,[正常,肺炎])。
在训练ML模型时,该过程可以随机采样正负对的示例。这些对可以用作训练数据,以便ML模型跨数据集学习相似性值。
图8中提供了使用Siamese自动编码器的说明性训练过程。在框810,ML模型可以接收正图像对和负正图像对。正对可以包括锚图像和类似图像,负对可以包括锚图像和不同图像。
在框820(示出为第一神经网络路径框820A和第二神经网络路径框820B),图像对可以分离并且提供给相同神经网络。例如,两个神经网络路径可以对应于两个相同神经网络(例如,两个CNN等),其中每个神经网络可以接收两个输入图像中的一个。神经网络可以通过学习两个输入图像之间的相似性值来区分这两个图像,目的是区分两个图像是相同的还是不同的。
在框830(示出为第一神经网络路径框830A和第二神经网络路径框830B),每个图像可以提供给自动编码器的编码器或其他无监督神经网络。在编码器处,该过程可以学习如何压缩和编码图像数据并且在两个路径之间共享学习的权重。编码器可以减小输入尺寸,并且将输入图像数据压缩为编码表示(例如,向量数据)。
在框840(示出为第一神经网络路径框840A和第二神经网络路径框840B),可以确定隐空间。例如,典型过程可以确定Euclidean距离,而该过程可以从框830确定编码器部分的隐空间以确定图像数据之间的距离。(多个)隐空间值可以在训练过程中稍后的自适应边际损失函数中使用(在框870)。
在框850(示出为第一神经网络路径框850A和第二神经网络路径框850B),每个图像可以提供给自动编码器或其他无监督神经网络的解码器。在编码器处,该过程可以学习如何将向量数据从简化的编码表示重构为尽可能接近原始输入图像数据的表示。
在框860,来自孪生子网的解码输出图像可以提供给合并层,合并层使用增强的相似性距离Ld计算解码输出图像之间的距离度量。Ld定义为Euclidean距离(例如,解码输出图像之间的距离)乘以归一化(Enc_latent_vector1和Enc_latent_vector2的余弦相似性),其中Enc_latent_vector1和Eng_latent_vector2对应于来自孪生自动编码器网络的每个编码器的隐空间数字数据,如830A和830B所示。
在框870(和图7的框720),可以通过训练过程实现损失函数。可以实现各种损失函数。例如,一个典型的损失函数可以包括对比损失函数,该对比损失函数通过对比训练期间提供给网络的两个输入图像来区分相似和不同图像。期望目标是在训练期间,正图像对的距离较小,负图像对的距离较大。
第一(对比)损失函数可以定义为:损失=Y*d2+(1-Y)*最大值(0,M-d)2,其中当输入图像来自同一类时,Y=0;当输入图像来自不同类时,Y=1;M是定义半径的边际,使得该边际内的不同输入对只会导致损耗;d是孪生网络的输出之间的Euclidean距离。在一些示例中,边际M是大于0的固定值,其使得ML模型充当相似和不同图像的分类器。
第二(自适应边际)损失函数可以定义为:对于训练运行的每个历元,可以使用以下公式确定跨历元的动态计算的边际交替方向方法(AdM):损失=Y*Ld2+(1-Y)×最大值(0,AdM-Ld)2,其中AdM=M1+(M2-e((M1-M2)×(alpha/epoch_count)))。M1和M2是上边际值和下边际值,例如0.1到1.0;epoch_count是训练运行的总历元数;alpha是可调的并且小于边际粒度的历元计数,由用户可控制(例如,经由用户界面);并且,如本文所述,Ld是Euclidean距离*归一化(余弦相似性(Enc_latent_vector1,Enc_latent_vector2));并且Enc_latent_vector1和Enc_latent_vector2是来自孪生自动编码器网络中的每个编码器的隐空间数值数据。在一些示例中,可以组合余弦相似性增强,以增加损失计算的稳健性。这可以包括通过向量之间基于角度的评估来考虑向量值的不均匀分布。
在一些示例中,每(多个)历元的自适应边际计算的对比损失函数可以实现细微图像变化检测。例如,该对比损失函数可以通过改变损失函数中的“alpha”参数来调节期望粒度范围。
ML模型可以被训练,直到预期输出被重构,损失误差在阈值误差内。可以导出基线,该基线包括锚图像和推理过程中使用的最小损失值阈值。
在框730,已训练ML模型可以与推理环境中的基线一起部署。已训练ML模型可以用于粒度变化检测和/或异常检测。
对于粒度变化检测,ML模型可以接收与锚图像一起成对提供给ML模型的新图像(训练期间未使用)。ML模型输出在0到1之间的相似性值,其中接近0的值指示不相似对,接近1的值指示不同对。图像现在分级为0到1之间的值,以指示相似性的微调程度,而不是二进制相似或不相似输出。这些异常图像的相关相异性值可以指示图像的变化程度。
这些图像可以以视觉可描述格式提供,这种格式突出了对变化做出贡献的重要特征。视觉可描述格式的一个示例包括使用现有图像相似性度量,诸如结构相似性指数度量(SSIM),该度量是为了说明目的而提供的,而不应限制。
对于异常评估,可以从数据批次上的编码器模块中提取CAE的隐空间。可以在编码器的隐空间上发起聚类技术(例如,亲和力传播)。推断异常可以用于生成单独的集群。异常可以包括例如距基线较远的低密度数据值。
如粒度变化检测所述,图像可以以视觉可描述格式提供,这种格式突出显示对变化做出贡献的重要特征。视觉可描述格式的一个示例包括使用SSIM,SSIM是为了说明目的而提供的,而不应限制。
在框740,根据推理阶段期间新接收的图像确定相似性或差异性。例如,系统可以实现Siamese自动编码器,以确定可以被聚类以用于异常评估的成对图像之间的定量分离。在一些示例中,Siamese自动编码器提供了有序预测值列表,其范围从非常相似(接近1.0)到非常不相似(接近0.0)。此外,Siamese自动编码器还可以为一批图像提供预测值的趋势图,以帮助用户根据趋势线的斜率评估劣化速度。
在框750,基于相似性或差异性确定分类,并且提供分类输出。例如,系统可以使用距离测量,距离测量使用解码器网络输出之间的Euclidean距离与自动编码器网络的编码器部分的隐空间上的余弦距离相结合。距离测量可以实现更大的损失评估。在其他示例中,系统可以将最高相似性值与医疗疾病分类相关联,并且将分类与推理阶段接收的一个或多个支持图像一起提供给用户界面。
在一些示例中,分类输出可以使用图像处理技术来生成。例如,具有相似性或差异性的一个或多个图像可以提供给图像处理技术,以生成变化的带有框的突出显示或作为热图的图像。
图9和图10中示出了使用本文讨论的ML模型的各种图像比较和图像处理技术。例如,图9示出了对比损失函数与Siamese卷积神经网络的使用,图10示出了Siamese自动编码器的自适应损失函数。本文中描述的系统和方法可以通过对这些图示中示出的图像进行排名来执行逐渐变化检测。排名可以基于概率和/或预测值,该概率和/或者预测值不限制图像的分离(例如,使用自适应边际),并且可以使用图像距离分离技术(例如,结构相似性指数度量(“SSIM”)和增强的对比损失函数、以及动态计算的跨图像自适应边际。
在图9和图10中的每个中,示出了数字“5”的15个图像输入图像,这些图像具有逐渐劣化特性。提供这十五个图像作为本文中描述的模型的输入,以用于预测和测量与锚图像的相似性。对于相同输入和锚图像数字,预测可以指示为“真”或“假”(或其他二进制度量)。在一些示例中,预测值可以在1.0到0.0之间,这可以反映锚图像预测中相似性的置信值。“高”置信度预测值可以对应于“1.0”或以其他方式指示高相似性,而“低”置信度预计值可以对应于“0.0”或以其他方式指示低相似性或高相异性。
图9指示使用现有对比损失函数技术和Siamese卷积神经网络(CNN)。从图像1到图像11,可以观察到预测值大约相同,约为0.998,这表明即使对于劣化图像也具有较高的置信度。从图像11到图像15的预测值可能会出现显著的突然变化,预测值在0.974到0.0004之间有显著的劣化。
图10指示使用采用自适应损失函数的SAE。在图像1到图像15中,本文中描述的技术可以适当地检测具有粒度预测值的逐渐劣化图像。例如,在图像1到图像15之间,图像可以继续劣化。因此,如图所示,检测到平滑和细微劣化,预测值为0.995到0.058。
图11示出了根据本公开的一个示例的对导致劣化的重要特征进行可视化,拍摄原始图像和劣化的样本数字。在该示例中,提供了原始图像1110、劣化图像1120和突出显示的差异图像1130。虽然比较图像是为了演示目的而提供的,但系统可以接收其他图像类型(例如,医疗用例、智能制造等)。
本公开的一个示例可以是一种制品,其中机器可读介质(诸如微电子存储器)上存储有指令,该指令将一个或多个数据处理组件(此处统称为“处理器”)编程为执行上述操作。在其他示例中,这些操作中的一些可以由包括硬连线逻辑的特定硬件组件执行(例如,专用数字滤波器块和状态机)。备选地,这些操作可以通过编程数据处理组件和固定硬连线电路组件的任何组合来执行。
在上述描述中,为了便于解释,列出了很多具体细节,以提供对当前系统和方法的透彻理解。很明显,在没有这些具体细节的情况下,可以实践这些系统和方法。说明书中提及的“示例”或类似语言表示与该示例相关描述的特定特征、结构或特性如所述被包括,但可以不被包括在其他示例中。
在本说明书中,术语“机器学习”广泛指代一种人工智能技术,其中计算机的行为是根据经验数据发展的。在某些情况下,输入的经验数据可以来自数据库,并且产生被认为是生成数据的机制的特征的模式或预测。此外,机器学习的一个主要重点是设计算法来识别复杂模式并且根据输入数据做出智能决策。机器学习可以包括很多方法和技术,例如:有监督学习、无监督学习、强化学习、多元分析、基于案例的推理、反向传播和转导。
在上述描述和图中,描述了用于更新ML模型的系统和/或方法的一些示例和/或实现。如本文中使用的,云服务器可以用于提供服务,例如数据处理、数据通信、数据存储、或者可以能够在云服务器或基于云的服务上运行的任何其他产品或活动。如本文中使用的,云服务器可以是用于计算和/或存储目的的物理和虚拟资源的任何适当组合。例如,云服务器可以包括任何适当数目的个体资源、服务器和服务器组,包括资源、服务器和服务器组的虚拟实例。云服务器可以包括边缘设备可以访问的任何适当数目的云和/或其他资源网络。
边缘设备可以对应于能够处理从诸如移动设备、台式计算机、膝上型计算机、平板计算机、物联网(IoT)设备、医疗设备、机器人等数据源接收的图像的设备。边缘设备可以执行包括人工智能/机器学习(ML)模型的应用。在一些实现中,边缘设备可以使用已训练ML模型处理图像,以生成预测数据、置信度得分和/或性能得分。
上述实现提供了用于ML模型管理、ML模型部署、ML模式反馈收集和ML模型重新训练等的系统,以支持在边缘设备上可执行的应用。ML模型可以根据边缘设备与其他边缘系统和/或云服务器之间共享的特征进行选择和部署。从边缘设备接收的信息可以用于更新/重新训练ML模型的实例,并且ML模型可以被跟踪、记录和存储,以便为单个边缘设备、一组边缘设备等专门管理和定制ML模型。ML模型持续或定期监测其准确性,并且根据信息进行更新,并且部署在各种边缘设备上。
提供边缘设备与云服务器之间的通信的计算机网络可以使用有线和/或无线通信技术实现。计算机网络可以包括各种网络组件,诸如交换机、提供边缘(PE)路由器、客户边缘(CE)路由器、中间路由器、网桥、计算机、服务器等。计算机网络中的网络设备可以实现内部网关协议(IGP),包括但不限于开放最短路径优先(OSPF)、路由信息协议(RIP)、中间系统到中间系统(IS-IS)和增强内部网关路由协议(EIGRP)。
接口可以用于提供输入或从系统获取输出。该接口可以实现为命令行接口(CLI)、图形用户接口(GUI)。此外,应用程序编程接口(API)也可以用于与边缘设备和云服务器进行远程交互。
处理器可以包括一个或多个通用处理器(例如,或Advanced Micro(AMD)微处理器)和/或一个或多个专用处理器(例如,数字信号处理器或片上系统(SOC)现场可编程门阵列(FPGA)处理器)、MIPS/ARM类处理器、微处理器、数字信号处理器、专用集成电路、微控制器、状态机或任何类型的可编程逻辑阵列。
存储器可以包括但不限于非暂态机器可读存储设备,诸如硬盘、磁带、软盘、光盘、光盘只读存储器(CD-ROM)、磁光盘、半导体存储器(诸如ROM)、随机存取存储器(RAM)、可编程只读存储器(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、闪存、磁卡或光学卡、或适合存储电子指令的其他类型的介质/机器可读介质。
应当注意,本文中使用的术语“优化”、“最优”等可以用于表示完成或实现尽可能有效或完美的性能。然而,正如阅读本文档的本领域普通技术人员将认识到的那样,并不总是能达到完美。因此,这些术语还可以包括在给定情况下完成或实现尽可能好或有效或实用的性能,或完成或实现比使用其他设置或参数可以实现的性能更好的性能。
图12示出了可以由本文中讨论的计算组件实现的示例过程,包括图13所示的计算组件。如图13所示,计算组件1300可以包括硬件处理器1302和机器可读存储介质1304,以用于执行指令以执行图12所示的过程。
硬件处理器1302可以是一个或多个中央处理单元(CPU)、基于半导体的微处理器、和/或适合检索和执行存储在机器可读存储介质204中的指令的其他硬件设备。硬件处理器可以从各个组件(诸如组件1310-1360)获取、解码和执行指令,以控制用于图像变化检测的过程或操作。作为检索和执行指令的替代或补充,硬件处理器1302可以包括一个或多个电子电路,该电子电路包括用于执行一个或多个指令的功能的电子组件,诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他电子电路。
机器可读存储介质1304可以是包含或存储可执行指令的任何电子、磁、光或其他物理存储设备。因此,机器可读存储介质1304可以是例如随机存取存储器(RAM)、非易失性RAM(NVRAM)、电可擦除可编程只读存储器(EEPROM)、存储设备、光盘等。在一些示例中,机器可读存储介质1304可以是非暂态存储介质,其中术语“非暂态”不包括暂态传播信号。
使用ML训练组件1310,图13的硬件处理器1302可以执行图12的指令1210以在一对或多对图像上训练Siamese自动编码器。
使用数据组件1320,图13的硬件处理器1302可以执行图12的指令1220以接收第二对图像。
使用编码器/解码器引擎1330,图13的硬件处理器1302可以执行图12的指令1230,以将第二对图像中的每个图像提供给已训练Siamese自动编码器的编码器和解码器,以生成已解码第二对图像。
使用微调组件1340,图13的硬件处理器1302可以执行图12的指令1240,以使用已解码第二对图像发起损失函数的微调。
使用相似性值组件1350,图13的硬件处理器1302可以执行图12的指令1250,以确定与已解码第二对图像相关联的相似性值。
使用图像特征输出组件1360,图13的硬件处理器1302可以执行图12的指令1260,以基于相似性值生成图像特征输出。
图14描绘了可以在其中实现本文中描述的各种示例的示例计算机系统1400的框图。计算机系统1400包括总线1402或用于传递信息的其他通信机制、与总线1402耦合以处理信息的一个或多个硬件处理器1404。(多个)硬件处理器1404例如可以是一个或多个通用微处理器。
计算机系统1400还包括耦合到总线1402的主存储器1406,诸如随机存取存储器(RAM)、高速缓存和/或其他动态存储设备,主存储器1406用于存储要由处理器1404执行的信息和指令。存储器1406还可以用于在要由处理器1404执行的指令的执行期间存储临时变量或其他中间信息。这样的指令当存储在处理器1404可访问的存储介质中时将计算机系统1400呈现为专用机器,该专用机器被定制以执行在指令中指定的操作。
计算机系统1400还包括用于存储用于处理器1404的静态信息和指令的耦合到总线1402的只读存储器(ROM)1408或其他静态存储设备。诸如磁盘、光盘、或USB拇指驱动器(闪存驱动器)等用于存储信息和指令的存储设备1410被提供并且耦合到总线1402。
计算机系统1400可以经由总线1402耦合到显示器1412,诸如液晶显示器(LCD)(或触摸屏),显示器1412用于向计算机用户显示信息。包括字母数字键和其他键的输入设备1414耦合到总线1402,输入设备1414用于将信息和命令选择传送到处理器1404。另一种类型的用户输入设备是光标控件1416,诸如鼠标、轨迹球或光标方向键,光标控件1416用于将方向信息和命令选择传送到处理器1404并且用于控制显示器1412上的光标移动。在一些示例中,与光标控件相同的方向信息和命令选择可以通过在没有光标的情况下接收触摸屏上的触摸来实现。
计算系统1400可以包括用户界面模块以实现GUI,该GUI可以作为由(多个)计算设备执行的可执行软件代码而存储在大容量存储设备中。作为示例,该模块和其他模块可以包括组件,诸如软件组件、面向对象的软件组件、类组件和任务组件、进程、功能、属性、过程、子例程、程序代码段、驱动程序、固件、微码、电路系统、数据、数据库、数据结构、表格、数组和变量。
通常,如本文中使用的,词语“组件”、“引擎”、“系统”、“数据库”、“数据存储区”等可以指代体现在硬件或固件中的逻辑,或者指代软件指令集合,可能具有入口和出口点,以编程语言编写,诸如Java、C或C++。软件组件可以编译并且链接到可执行程序中,安装在动态链接库中,或者可以用诸如BASIC、Perl或Python等解释性编程语言编写。应当理解,软件组件可以从其他组件或它们自身调用,和/或可以响应于检测到的事件或中断而被调用。被配置用于在计算设备上执行的软件组件可以在计算机可读介质上提供,诸如光盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质,或作为数字下载(并且可以最初以压缩或可安装格式存储,这种格式在执行之前需要安装、解压缩或解密)。这样的软件代码可以部分或全部存储在执行计算设备的存储器设备上,以供计算设备执行。软件指令可以嵌入在固件中,诸如EPROM。还将理解,硬件组件可以包括所连接的逻辑单元,诸如门和触发器,和/或可以包括可编程单元,诸如可编程门阵列或处理器。
计算机系统1400可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文所述的技术,这些逻辑与计算机系统相结合引起计算机系统1400成为或将其编程为特殊用途的机器。根据一个示例,本文中的技术由计算机系统1400响应于(多个)处理器1404执行包含在主存储器1406中的一个或多个指令的一个或多个序列而执行。这些指令可以从另一存储介质(诸如存储设备1410)读入主存储器1406中。主存储器1406中包含的指令序列的执行引起(多个)处理器1404执行本文中描述的处理步骤。在替代示例中,可以使用硬连线电路系统代替软件指令或与软件指令结合使用。
如本文中使用的术语“非暂态介质”和类似术语是指存储引起机器以特定方式操作的数据和/或指令的任何介质。这种非暂态介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备1410。易失性介质包括动态存储器,诸如主存储器1406。非暂态介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或盒式存储器、以及它们的联网版本。
非暂态介质不同于传输介质但可以与传输介质结合使用。传输介质参与在非暂态介质之间传递信息。例如,传输介质包括同轴电缆、铜线和光纤,包括构成总线802的导线。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些。
计算机系统1400还包括耦合到总线1402的通信接口1418。通信接口1418提供耦合到连接到一个或多个本地网络的一个或多个网络链路的双向数据通信。例如,通信接口1418可以是综合服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器、或用于提供与对应类型的电话线的数据通信连接的调制解调器。作为另一示例,通信接口1418可以是用于提供到兼容LAN(或与WAN通信的WAN组件)的数据通信连接的局域网(LAN)卡。也可以实现无线链路。在任何这样的实现中,通信接口1418发送和接收携带表示各种类型信息的数字数据流的电、电磁或光信号。
网络链路通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路可以通过本地网络提供与主机或由互联网服务提供商(ISP)运营的数据设备的连接。ISP进而通过现在通常称为“互联网”的全球分组数据通信网络提供数据通信服务。本地网络和互联网都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号和网络链路上的通过通信接口1418的信号(它们携带数字数据进出计算机系统1400)是传输介质的示例形式。
计算机系统1400可以通过(多个)网络、网络链路和通信接口1418发送消息和接收数据,包括程序代码。在互联网示例中,服务器可以通过互联网、ISP、本地网络和通信接口1418针对应用程序传输所请求的代码。
所接收的代码可以由处理器1404在接收到时执行,和/或存储在存储设备1410或其他非易失性存储装置中以供以后执行。
前面部分中描述的过程、方法和算法中的每个可以体现在由包括计算机硬件的一个或多个计算机系统或计算机处理器执行的代码组件中,并且由其完全或部分自动化。一个或多个计算机系统或计算机处理器也可以操作以支持相关操作在“云计算”环境中的执行或作为“软件即服务”(SaaS)。过程和算法可以部分或全部在专用电路系统中实现。上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合使用。不同的组合和子组合旨在落入本公开的范围内,并且某些方法或过程块在一些实现中可以省略。本文中描述的方法和过程也不限于任何特定顺序,并且与其相关的块或状态可以以其他适当的顺序执行,或者可以并行执行,或者以一些其他方式执行。块或状态可以添加到所公开的示例中或从所公开的示例实施例中移除。某些操作或过程的执行可以分布在计算机系统或计算机处理器之间,不仅驻留在单个机器内,而是部署在多个机器上。
如本文中使用的,可以利用任何形式的硬件、软件或其组合来实现电路。例如,可以实现一个或多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑组件、软件例程或其他机制来组成电路。在实现中,本文描述的各种电路可以实现为分立电路,或者所描述的功能和特征可以在一个或多个电路之间部分或全部共享。即使功能的各种特征或元素可以单独作为单独的电路描述或要求保护,这些特征和功能也可以在一个或多个公共电路之间共享,并且这种描述不应当要求或暗示需要单独的电路来实现这些特征或功能。在电路全部或部分使用软件实现的情况下,这样的软件可以被实现以与能够执行关于其描述的功能的计算或处理系统(诸如计算机系统800)一起操作。
如本文中使用的,术语“或”可以被解释为包括或排他的意思。此外,单数的资源、操作或结构的描述不应当被解读为排除复数。除非另有明确说明,或在所使用的上下文中以其他方式理解,否则诸如“可以(can)”、“可以(could)”、“可能(might)”或“可以(may)”等条件性语言通常旨在传达某些示例包括而其他示例不包括某些特征、元件和/或步骤。
除非另有明确说明,否则本文档中使用的术语和短语及其变体应当被解释为开放式而非限制性的。诸如“常规的”、“传统的”、“正常的”、“标准的”、“已知的”等形容词以及类似含义的术语不应当被解释为将所描述的项目限于给定时间段或限于截至给定时间可用的项目,但应当理解为包括现在或将来任何时间可能可用或已知的常规、传统、正常或标准技术。在某些情况下,诸如“一个或多个”、“至少”、“但不限于”或其他类似短语的存在不应当被理解为表示在可能没有这样的扩大词下打算或要求使用较窄的情况。
Claims (20)
1.一种计算设备,包括:
存储器;以及
一个或多个处理器,被配置为执行存储在所述存储器中的机器可读指令以用于执行方法,所述方法包括:
在成对图像上训练Siamese自动编码器,其中已训练的Siamese神经网络检测所述成对图像中的相似性和差异性;
接收第二对图像;
将所述第二对图像中的每个图像提供给已训练的所述Siamese自动编码器的编码器和解码器,以生成已解码第二对图像;
使用所述已解码第二对图像发起损失函数的微调,其中所述损失函数是自适应边际损失函数,所述自适应边际损失函数包括上边际值和下边际值;
确定与所述已解码第二对图像相关联的相似性值;以及
基于所述相似性值生成图像特征输出。
2.根据权利要求1所述的计算设备,其中所述损失函数与已训练的所述Siamese自动编码器相关联。
3.根据权利要求1所述的计算设备,其中所述Siamese自动编码器在所述成对图像上的所述训练导出所述Siamese自动编码器的稳定之后的损失基线。
4.根据权利要求1所述的计算设备,还包括:
将已训练的所述Siamese自动编码器传输给第二计算设备,其中所述第二对图像是从所述第二计算设备的接口被接收的。
5.根据权利要求1所述的计算设备,其中所述编码器还包括隐空间,并且其中所述方法还包括:
提取所述编码器的所述隐空间;
对所提取的隐空间进行聚类;以及
从经聚类的隐空间中确定异常。
6.根据权利要求5所述的计算设备,其中所述图像特征输出使用从所述经聚类的隐空间中确定的所述异常。
7.根据权利要求5所述的计算设备,其中在成对图像上训练所述Siamese自动编码器使用图像分离距离计算。
8.根据权利要求1所述的计算设备,其中在成对图像上训练所述Siamese自动编码器期间使用的所述损失函数跨历元动态计算边际交替方向方法(AdM)。
9.一种计算机实现的方法,包括:
在成对图像上训练Siamese自动编码器,其中已训练的Siamese神经网络检测所述成对图像中的相似性和差异性;
接收第二对图像;
将所述第二对图像中的每个图像提供给已训练的所述Siamese自动编码器的编码器和解码器以生成已解码第二对图像;
使用所述已解码第二对图像发起损失函数的微调,其中所述损失函数是自适应边际损失函数,所述自适应边际损失函数包括上边际值和下边际值;
确定与所述已解码第二对图像相关联的相似性值;以及
基于所述相似性值生成图像特征输出。
10.根据权利要求9所述的计算机实现的方法,其中所述损失函数与已训练的所述Siamese自动编码器相关联。
11.根据权利要求9所述的计算机实现的方法,其中所述Siamese自动编码器在所述成对图像上的所述训练导出所述Siamese自动编码器的稳定之后的损失基线。
12.根据权利要求9所述的计算机实现的方法,还包括:
将已训练的所述Siamese自动编码器传输给第二计算设备,其中所述第二对图像是从所述第二计算设备的接口被接收的。
13.根据权利要求9所述的计算机实现的方法,其中所述编码器还包括隐空间,并且其中所述方法还包括:
提取所述编码器的所述隐空间;
对所提取的隐空间进行聚类;以及
从经聚类的隐空间中确定异常。
14.根据权利要求13所述的计算机实现的方法,其中所述图像特征输出使用从所述经聚类的隐空间中确定的所述异常。
15.根据权利要求13所述的计算机实现的方法,其中在成对图像上训练所述Siamese自动编码器使用图像分离距离计算。
16.根据权利要求9所述的计算机实现的方法,其中在成对图像上训练所述Siamese自动编码器期间使用的所述损失函数跨历元动态计算边际交替方向方法(AdM)。
17.一种计算机实现的方法,包括:
在成对图像上训练Siamese自动编码器,其中已训练的Siamese神经网络检测成对图像中的相似性和差异性;
接收第二对图像;
将所述第二对图像中的每个图像提供给已训练的所述Siamese自动编码器的编码器和解码器以生成已解码第二对图像;
使用所述已解码第二对图像发起损失函数的微调,其中所述损失函数是自适应边际损失函数,所述自适应边际损失函数包括上边际值和下边际值;
确定与所述已解码第二对图像相关联的相似性值;以及
基于所述相似性值生成图像特征输出。
18.根据权利要求9所述的计算机实现的方法,其中所述损失函数与已训练的所述Siamese自动编码器相关联,已训练的所述Siamese自动编码器跨历元动态计算边际交替方向方法(AdM)。
19.根据权利要求9所述的计算机实现的方法,其中所述Siamese自动编码器在所述成对图像上的所述训练导出所述Siamese自动编码器的稳定之后的损失基线。
20.根据权利要求9所述的计算机实现的方法,还包括:
将已训练的所述Siamese自动编码器传输给第二计算设备,其中所述第二对图像是从所述第二计算设备的接口被接收的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/707,612 | 2022-03-29 | ||
US17/707,612 US20230316710A1 (en) | 2022-03-29 | 2022-03-29 | Enabling feature importance using siamese autoencoders for effective image change detection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116934670A true CN116934670A (zh) | 2023-10-24 |
Family
ID=88019213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211314153.4A Pending CN116934670A (zh) | 2022-03-29 | 2022-10-25 | 使用Siamese自动编码器实现特征重要性以进行有效的图像变化检测 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230316710A1 (zh) |
CN (1) | CN116934670A (zh) |
DE (1) | DE102022126665A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117291844A (zh) * | 2023-11-24 | 2023-12-26 | 长沙微妙医疗科技有限公司 | 一种医学图像去噪方法、系统、设备以及介质 |
CN117291914B (zh) * | 2023-11-24 | 2024-02-09 | 南昌江铃华翔汽车零部件有限公司 | 汽车零部件缺陷检测方法、系统、计算机及存储介质 |
-
2022
- 2022-03-29 US US17/707,612 patent/US20230316710A1/en active Pending
- 2022-10-13 DE DE102022126665.6A patent/DE102022126665A1/de active Pending
- 2022-10-25 CN CN202211314153.4A patent/CN116934670A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230316710A1 (en) | 2023-10-05 |
DE102022126665A9 (de) | 2023-12-21 |
DE102022126665A1 (de) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | Web traffic anomaly detection using C-LSTM neural networks | |
CN116934670A (zh) | 使用Siamese自动编码器实现特征重要性以进行有效的图像变化检测 | |
Mulvey et al. | Cell fault management using machine learning techniques | |
Lughofer | Extensions of vector quantization for incremental clustering | |
US20090210368A1 (en) | System and method for real time pattern identification | |
JP5429940B2 (ja) | マルチレベル分類モデルを構築する方法とシステム | |
US20220215289A1 (en) | Managing data drift and outliers for machine learning models trained for image classification | |
US20210365478A1 (en) | Updating data models to manage data driftand outliers | |
Yilmaz | Online nonparametric anomaly detection based on geometric entropy minimization | |
CN115699041A (zh) | 利用专家模型的可扩展迁移学习 | |
Akaramuthalvi et al. | Comparison of conventional and automated machine learning approaches for breast cancer prediction | |
Tham et al. | Active learning for IoT data prioritization in edge nodes over wireless networks | |
KR20210124811A (ko) | 네트워크 장애 진단을 위한 학습 데이터를 생성하는 학습 데이터 생성 장치 및 방법 | |
Yang et al. | Detection of Alzheimer's Disease Using Graph-Regularized Convolutional Neural Network Based on Structural Similarity Learning of Brain Magnetic Resonance Images | |
US20230110925A1 (en) | System and method for unsupervised multi-model joint reasoning | |
Gias et al. | Samplehst: Efficient on-the-fly selection of distributed traces | |
CN113169890B (zh) | 分类系统及方法 | |
Moradi et al. | Smooth unsupervised domain adaptation considering uncertainties | |
JP2020181265A (ja) | 情報処理装置、システム、情報処理方法及びプログラム | |
Okuno et al. | Extrapolation towards imaginary 0-nearest neighbour and its improved convergence rate | |
CN115600478B (zh) | 软件定义广域网分析系统及其操作方法 | |
US20240220514A1 (en) | Updating data models to manage data drift and outliers | |
Appasani et al. | An Incremental Naive Bayes Learner for Real-time Health Prediction | |
Singh et al. | Intrusion detection using spatial-temporal features based on Riemannian manifold | |
Raja et al. | A novel feature selection based parallel ensemble classification model for COPD detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |