用于改进基于卷积神经网络的机器学习模型的系统和方法与流程

专利2023-10-15  91


用于改进基于卷积神经网络的机器学习模型的系统和方法


背景技术:

1.计算的进步已使最近机器学习用于使许多任务自动化。机器学习(ml)已在诸如网络排名和推荐系统等多个消费者应用中证明了自己。在企业场景的背景下,ml正在成为广泛应用中引人注目的工具,例如营销/销售优化、流程自动化、预防性医疗保健、预测性维护、网络安全、欺诈检测等。
2.某些ml技术基于人工神经网络(也称为“神经网络”)。人工神经网络是松散地基于人脑的程序。神经网络由许多连接的神经元组成。神经元是接收输入并返回输出的函数。每个神经元通常与权重相关联,该权重强调了特定神经元的重要性。例如,假设一个神经网络被配置为对一张图片是否是一只鸟进行分类。在这样的情况下,包含鸟的特征的神经元的权重将超过不典型的鸟的特征。
3.神经网络的权重是通过对数据集的训练来学习的。网络执行多次,通过考虑到损失函数的反向传播来改变其权重。本质上,神经网络测试数据、做出预测并确定表示其准确性的得分。然后,神经网络使用这个得分通过相应地更新权重来使自己更加准确。通过这个过程,神经网络能够学习以提高其预测的准确性。
4.卷积神经网络是一个特殊类型的神经网络。这样的网络包括多个不同的层,这些层应用功能来从输入到其中的数据项中提取各种特征并降低数据项的复杂性。卷积神经网络的训练方式与其他人工神经网络类似,其中卷积神经网络被初始化有随机权重,使用这些随机权重做出预测,并使用损失函数确定其准确性。然后基于损失函数来更新权重,以尝试做出更准确的预测。
5.卷积神经网络取得了巨大的成功,是计算机视觉中常见的建模选择,并且经常用于其他应用,诸如语音识别和自然语言处理。从新操作到可扩展架构和规范化技术,所有级别的改进都主要集中在最终模型准确性上。然而,最近的贡献倾向于使这些模型更高效,同时牺牲准确性。


技术实现要素:

6.提供本发明内容部分是为了以简化形式介绍概念的选择,这些概念将在下面的具体实施方式中进一步描述。本发明内容部分无意标识所要求保护的主题的关键特征或基本特征,也无意用于限制所要求保护的主题的范围。
7.描述了用于改进基于卷积神经网络的机器学习模型的方法、系统、装置和计算机可读存储介质。例如,卷积神经网络被配置为将基于要分类的数据项生成的特征图进行分解。特征图被分解为第一子集和第二子集。第一子集表示数据项的高频分量,并且第二子集表示数据项的低频分量。使用基于学习上采样的技术对特征图的第二子集进行上采样,并与特征图的第一子集组合。将组合特征图与滤波器卷积,以提取与数据项相关联的一个特征集。特征图的第一子集也被下采样并与特征图的第二子集组合。将组合特征图与滤波器卷积,以提取与数据项相关联的另一特征集。基于卷积操作提取的特征集来分类数据项。
8.下面结合附图对实施例的进一步特征和优点以及各个实施例的结构和操作进行
详细描述。注意,方法和系统不限于本文描述的特定实施例。这些实施例在本文中仅出于说明性目的而呈现。基于本文包含的教导,其他实施例对于相关领域的技术人员将是清楚的。
附图说明
9.附图图示了本技术的实施例,其被组合在本文中并构成说明书的一部分,这些附图进一步用于解释实施例的原理并使相关领域的技术人员能够做出和使用实施例。
10.图1示出了根据示例实施例的用于使用卷积神经网络来分类数据项的系统的框图。
11.图2a至图2c示出了表示根据示例实施例的关于图像的卷积操作的图。
12.图3a至图3c示出了表示根据示例实施例的关于特征图的池化操作的图。
13.图4a至图4c示出了表示根据另一示例实施例的关于特征图的池化操作的图。
14.图5示出了根据示例实施例的卷积层的框图。
15.图6a至图6c描绘了图示根据示例实施例的被用于对特征图进行上采样的转置卷积操作的图。
16.图7示出了根据示例实施例的用于经由卷积神经网络对数据项进行分类的方法的流程图。
17.图8是可用于实现各种实施例的示例性基于处理器的计算机系统的框图。
18.当结合附图时,本文描述的实施例的特征和优点将通过以下阐述的详细描述变得更加清楚,其中相同的附图标记贯穿全文标识对应的元件。在附图中,相似的附图标记通常表示相同的、功能相似的和/或结构相似的元件。元素首次出现的附图由相应参考编号中最左边的数字表示。
具体实施方式
19.i.简介
20.以下具体实施方式部分公开了许多示例实施例。本专利申请的范围不限于所公开的实施例,还包括所公开的实施例的组合,以及对公开的实施例的修改。
21.说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但每个实施例可以并不必然包括该特征、结构或特性。而且,这样的词组可以不必然指同一实施例。此外,当结合实施例描述特定特征、结构或特性时,无论是否明确描述,都认为在本领域技术人员的理解内结合其他实施例来影响这样的特征、结构或特性。
22.在讨论中,除非另有说明,修饰本公开的一个实施例的一个或多个特征的条件或关系特性的形容词,诸如“基本上”和“大约”,应理解为表示针对预期的应用,该条件或特性被定义为在对于实施例的操作可以接受的公差范围内。
23.多个示例性实施例描述如下。注意,本文提供的任何章节/小节标题并非旨在限制。实施例是贯穿本文档描述的,并且任何类型的实施例可以包括在任何章节/小节下。此外,在任何章节/小节中公开的实施例可以以任何方式与在相同章节/小节和/或不同章节/小节中描述的任何其他实施例组合。
24.ii.示例实施例
25.本文描述的实施例涉及改进基于卷积神经网络的机器学习模型。例如,如本文所描述的,卷积神经网络被配置为将基于要分类的数据项生成的特征图进行分解。特征图被分解为第一子集和第二子集。第一子集表示数据项的高频分量,第二子集表示数据项的低频分量。使用基于学习上采样的技术对特征图的第二子集进行上采样,并与特征图的第一子集组合。利用滤波器对组合特征图进行卷积,以提取与数据项相关联的一组特征。特征图的第一子集也被下采样,并与特征图的第二子集相结合。利用滤波器对组合特征图进行卷积,以提取与数据项相关联的另一组特征。基于卷积操作提取的特征集,对数据项进行分类。
26.本文所描述的实施例有利地改进了基于卷积神经网络的机器学习模型的性能。特别地,如本文所描述的,与常规的基于频率的卷积技术相比,基于不同的基于频率的特征图子集提取特征所需的卷积数目减少了。这有利地减少了训练卷积神经网络和使用卷积神经网络对数据项进行分类所需的处理开销。此外,卷积神经网络的训练速度和数据项的分类速度也提高了。
27.此外,这样的模型生成的分类更准确。如此,使用这些模型的任何技术领域也得到了改进。例如,考虑在工业过程中使用基于卷积神经网络的机器学习模型的场景,例如预测性维护。在中断发生之前预测生产线中断的能力对于制造商来说是非常有价值的。它允许经理将停机时间安排在最有利的时间,并消除计划外的停机时间。计划外停机严重影响利润幅度,也可能导致客户群流失。它还扰乱了供应链,导致库存过剩。功能不佳的基于卷积神经网络的机器学习模型会不正确地预测中断,因此会无意中导致中断供应链的意外停机。
28.考虑另一种场景,其中基于卷积神经网络的机器学习模型用于网络安全。该模型将预测在计算系统上执行的代码是否是恶意的,并自动使补救措施发生。功能不佳的基于卷积神经网络的机器学习模型可能会错误地对恶意代码进行误分类,从而导致代码损害系统。
29.考虑又一种场景,其中基于卷积神经网络的机器学习模型用于自动驾驶(即,自动驾驶交通工具)。自动驾驶交通工具在路上可能会遇到许多不同的状况。如果驾驶员要将自己的生命托付给自动驾驶交通工具,他们需要确保这些交通工具能够为任何情况做好准备。更重要的是,交通工具应该比人类驾驶员更好地应对这些情况。交通工具不能仅限于处理一些基本场景。交通工具必须学习并适应周围其他交通工具不断变化的行为。机器学习算法使自动驾驶汽车能够实时做出决策。这增加了对自动驾驶汽车的安全性和信任度。功能不佳的基于卷积神经网络的机器学习模型可能会对交通工具所处的特定状况进行误分类,从而危及交通工具乘客的安全。
30.考虑另一场景,其中基于卷积神经网络的机器学习模型被用于生物技术中,用于预测患者的生命体征、预测患者是否患有疾病,或者分析x射线或mri。功能不佳的基于卷积神经网络的机器学习模型可能会对生命体征和/或疾病进行误分类,或者无法准确地分析x射线或mri。在这种情况下,患者可能无法接受必要的治疗。
31.这些示例只是可以通过更准确的基于卷积神经网络的机器学习模型获得改进的技术的一小部分样本。改进的基于卷积神经网络的机器学习模型的实施例描述如下。
32.例如,图1示出了根据实施例的用于使用卷积神经网络102分类数据项的系统100
的框图。如图1所示,系统100包括卷积神经网络102。卷积神经网络102被配置为分类数据项(例如,数据项122)。数据项包括但不限于数字图像、视频内容、语音的样本、音频内容和/或文本内容。卷积神经网络102包括多个层。多个层至少包括第一卷积层104、第一池化层106、第二卷积层108、第二池化层110和全连接层112。
33.第一卷积层104被配置为接收数据项作为输入(例如,数据项122)。对于接收到的每个数据项122,第一卷积层106被配置为从中提取第一组特征。第一组特征的示例包括较低级别的特征,诸如边缘、曲线和/或颜色。通过对数据项122的各个部分应用一个或多个滤波器(也称为“核”)来提取特征。特别地,每个滤波器与数据项122的各个部分卷积,以生成特征图114(也称为激活图)。每个特征图114捕获将其相关联的滤波器应用到数据项122的各个部分的结果。如图1所示,已经生成了六个特征图,这意味着六个不同的滤波器被应用到数据项122。在数据项122是图像的示例中,第一滤波器可以被配置为提取数据项122中的边缘,第二滤波器可以配置为提取数据项122中的平滑度,第三滤波器可以配置为提取数据项122的特定颜色,等等。特征图114被提供给第一池化层106。
34.图2a至图2c示出了表示根据实施例的关于图像222的卷积操作的图。图像222是如上面参考图1所描述的数据项122的示例。图像222以像素值阵列的形式表示。为了执行卷积,首先在图像222的左上角应用滤波器202。如图2a所示,滤波器202是被配置为检测图像222中的垂直边缘的sobel滤波器,尽管本文描述的实施例不限于此。被滤波器202覆盖的图像222的像素值与滤波器202的对应滤波器值相乘,并且乘积相加。结果(即,315)被放置在特征图214中的对应位置。特征图214是如上面参考图1所描述的特征图114的示例。
35.如图2b所示,滤波器202被移动一个或多个像素并且该过程被重复。在图2b所示的示例中,对于本次迭代,值370被存储在特征图214中。该过程被重复直到图像222中的所有可能区域都被滤波。例如,图2c描绘了特征图214,其所有值都被确定。如图2c所示,特征图214的尺寸小于图像222的尺寸。然而,所描述的实施例不限于此。如果需要,可以通过用特定值(例如,0)填充特征图214,来保留相同的尺寸。
36.注意,为简单起见,通过图2a至图2c示出了二维卷积操作。然而,在某些实施例中,卷积操作是通过三个维度来执行的。例如,每个图像222可以表示为具有宽度尺寸、高度尺寸和深度尺寸的三维矩阵,其中深度对应于图像222中使用的rgb颜色通道。
37.可以将多个滤波器(每个滤波器配置为检测不同的特征)应用到图像222以生成对应的特征图214。再次参考图1,特征图114被提供给第一池化层106。根据一个实施例,在将特征图214提供给第一池化层106之前,特征图214可以被提供给整流线性单元(rectifier linear unit,relu),其执行如下的逐元素操作,该逐元素操作将特征图214中的任何负像素值设置为零。
38.第一池化层106被配置为执行下采样操作,该下采样操作降低每个特征图114的维度以生成池化特征图116。池化特征图116被提供给第二卷积层108。这使得卷积网络102的后续层(例如,第二卷积层108、第二池化层110和全连接层112)能够确定比仅边缘和曲线更大规模的细节。可以通过将具有较小尺寸的滤波器应用到每个特征图114来执行下采样。根据一个实施例,该滤波器被配置为确定特定特征图114中由滤波器覆盖的每个区域中的最大值。根据另一实施例,该滤波器被配置为确定特定特征图114的每个区域的平均值。在任一情况下,被应用到特征图114的滤波器可以与一个步幅相关联,该步幅指定该滤波器在每
个特征图112上移动多少像素值。
39.例如,图3a至图3c示出了表示根据实施例的关于特征图214的池化操作的图。滤波器302被配置为确定在滤波器302被应用到的特征图214的区域中的最大值。如图3a所示,2x2滤波器302初始时被应用到特征图214的左上角。在所示示例中,该初始区域中的最大值为370。因此,值370被存储在滤波器302中的相应位置中。滤波器302与步幅值2相关联。因此,在下一次迭代中,滤波器302移动两个像素值。
40.例如,如图3b所示,滤波器302被移动两个像素值,并且该过程被重复。在图3b所示的示例中,针对本次迭代,值325被存储在特征图214中。该过程被重复直到特征图214中的所有可能位置都被池化。例如,图2c描绘了池化特征图316,其所有值都被确定。池化特征图316是池化特征图116的示例。如图2c所示,池化特征图316的尺寸小于特征图212的尺寸。数据项122(和基于该数据项的特征图214)可以包括大量信息(例如,大量像素)。池化操作减小了特征图214的大小,同时仍保留了大部分相关信息。
41.图4a至图4c示出了表示根据另一个实施例的关于特征图214的池化操作的图。滤波器402被配置为确定在滤波器402被应用到的特征图214的区域中的平均值。如图4a所示,2x2滤波器402初始时被应用到特征图214的左上角。在所示的示例中,该初始区域中的平均值为332.5。该值被取整为333,但本文描述的实施例不限于此。因此,值333被存储在滤波器302中的相应位置。滤波器402与步幅值2相关联。相应地,在下一次迭代中,滤波器302移动两个像素值。
42.例如,如图4b所示,滤波器402被移动两个像素值,并且重复该过程。在图4b所示的示例中,针对本次迭代,值293(从292.5向上取整)被存储在特征图214中。该过程被重复直到特征图214中的所有可能位置都被池化。例如,图4c描绘了池化特征图416,其所有值都被确定。池化特征图416是池化特征图116的示例。
43.注意,参考图3a至图3c以及图4a至图4c描述的池化操作仅仅是示例性的,并且可以利用其他池化操作。此外,也可以使用不同的步幅值。例如,特定滤波器(例如滤波器302和/或402)的步幅可以被配置为每隔一个像素值进行跳过。根据实施例,在如图1所示的卷积神经网络102的训练期间学习特定滤波器(例如,滤波器302和/或402)的步幅值。根据另一实施例,特定滤波器(例如滤波器302和/或402)的步幅值是预定的或是硬编码的值。
44.再次参考图1,第二卷积层108被配置为接收池化特征图116。第二卷积层108被配置为提取与由第一卷积层104提取的第一组特征不同的第二组特征。第二组的特征的示例包括较高级别的特征,诸如形状(例如,圆形、三角形、正方形,等)。通过对池化特征图116的各个部分应用一个或多个滤波器(不同于第一卷积层104使用的滤波器)来提取第二组特征。特别地,每个滤波器与池化特征图116的各个部分卷积,以生成第二特征图118。每个第二特征图118捕获将其相关联的滤波器应用到池化特征图116的各个部分的结果。如图1所示,已经生成了十二个第二特征图118,这意味着将十二个不同的滤波器应用到池化特征图118。第二特征图118被提供给第二池化层110。
45.根据一个实施例,池化特征图116被分解成包括数据项122的高频分量的特征图和包括数据项122的低频分量的特征图,并且第二卷积层108基于这样的特征图来执行卷积。例如,图5描绘了根据示例实施例的卷积层500的框图。卷积层500是如上面参考图1所描述的第二卷积层108的示例。如图5所示,卷积层500包括分解器502、压缩器504、下采样器506、
上采样器508、第一组合器510和第二组合器512、第一卷积器514和第二卷积器516。
46.分解器502被配置为接收如上面参考图1所描述的池化特征图116作为输入。分解器502被配置为将池化特征图116分解成第一子集518和第二子集520。第一子集518表示池化特征图116所基于的数据项(例如,数据项122)的高频分量。第二子集520表示池化特征图116所基于的数据项(例如,数据项122)的低频分量。低频分量比高频分量低一个倍频程(即低频分量是高频分量空间分辨率的一半)。例如,在数据项122是数字图像的实施例中,可以以不同的频率传送信息,其中较高的频率用数字图像的更精细的细节被编码,其中像素值在图像的给定空间尺寸上快速变化,而较低的频率使用没有那么多细节的全局结构被编码(例如,在图像的给定空间尺寸上变化缓慢的像素值)。第一子集518被提供给下采样器506和组合器510,并且第二子集520被提供给压缩器504。
47.根据一个实施例,池化特征图116要被分解成第一子集518并且第二子集520的程度由参数522定义。参数522定义了要被包括在第一子集中的池化特征图116的第一数目与要被包括在第二子集中的池化特征图116的第二数目之间的比率。
48.在一个实施例中,参数522是介于0和1之间的值。根据这样的实施例,为参数522设置的值越小,要被包括在第二子集520中的池化特征图116的数目越小(即,相对较少数量的池化特征图116被分配给低频分量)。参数522的值0.5导致包括在第一子集518和第二子集518的每一个中的池化特征图116的数目相等。参数522的值0导致被包括在第二子集518中的池化特征图116的相等为0(即,所有池化特征图116都被分配给高频分量)。参数522的值为1导致被包括在第一子集518中的池化特征图116的数量为0(即,所有池化特征图116都被分配给低频分量)。
49.根据一个实施例,参数522是可配置的。根据另一个实施例,参数522是预定的或是硬编码的值。根据又一实施例,参数522是机器可学习的参数(例如,在如图1所示的卷积神经网络102的训练期间被确定)。
50.压缩器504被配置为压缩(或下采样)第二子集520,以生成经经压缩的第二子集524。经由第二子集520表示的许多信息在空间上是冗余的。因此,压缩第二子集520有利地减少了维护第二子集520所需的内存量。压缩器504可以使用各种技术来压缩第二子集520,包括但不限于如上文所描述的最大池化技术或平均池化技术。经压缩的第二子集524被提供给上采样器508和组合器512。
51.上采样器508被配置为对经压缩的第二子集524进行上采样以生成经上采样的特征图526。上采样器508利用学习上采样技术对经压缩的第二子集524进行上采样。学习上采样利用转置卷积来生成经上采样的特征图526,其中经压缩的第二子集524中每个特征图的值与具有更大尺寸的滤波器卷积。上采样器508将经压缩的第二子集524上采样至第一子集518的分辨率。经上采样的特征图526被提供给组合器510。
52.例如,图6a至图6c描绘了图示根据实施例的被用于对特征图进行上采样的转置卷积操作的图。在图6a至图6c所示的示例中,2x2特征图602被上采样为4x4特征图606(如图6c所示)。特征图602是被包括在经压缩的第二子集524中的特征图的示例,并且经上采样的特征图606是被包括在经上采样的特征图526中的特征图的示例。注意,特征图602和经上采样的特征图606的尺寸仅仅是示例性的,并且特征图602和经上采样的特征图606可以具有其他尺寸。
53.为了将特征图602上采样至特征图606,将3x3滤波器(或核)604应用到特征图602。例如,上采样器508将滤波器604转换为转置卷积矩阵608,如图6b所示,并且将特征图602展平为1x4展平矩阵610,如图6a所示。在图6b所示的示例中,转置卷积矩阵608是4
×
16的矩阵,在其每一列中包括滤波器604的所有值。在其中未存储有滤波器604的值的元素被用零填充。
54.如图6c所示,上采样器508将转置卷积矩阵608与展平矩阵610卷积以生成1x16特征图612。将特征图612被重新整形为4x4矩阵,以生成上采样特征图606。
55.根据一个实施例,滤波器606的值(或权重)是机器可学习的参数(例如,在如图1所示的卷积神经网络102的训练期间被确定)。
56.再次参考图5,上采样器508对经压缩的第二子集524中包括的每个特征图进行上采样,以生成多个经上采样的特征图526。经上采样的特征图526被提供给组合器510。
57.与其他传统上采样技术(例如,基于最近邻的上采样技术、双线性插值、双线性插值、三次插值等)相比,这样的上采样技术生成原始输入的更准确表示或重建。
58.再次参考图5,下采样器506被配置为对第一子集518的每个特征图进行下采样,以生成经下采样的特征图528。下采样器506可以使用各种技术对第一子集518的每个特征图进行下采样,包括但不限于如本文所描述的最大池化技术或平均池化技术。下采样器506将第一子集518下采样至第二子集520的分辨率。经下采样的特征图528被提供给组合器512。
59.组合器510被配置为将第一子集518的特征图与经上采样的特征图526组合,以生成组合特征图530。根据一个实施例,组合器510通过将第一子集518的特征图与经上采样的特征图526级联,来组合第一子集518的特征图与经上采样的特征图526。通过将第一子集518的特征图与上采样特征图526组合,经由第一子集518的特征图提供的数据项122的高频分量受到数据项122的低频部分的影响(也称为频率间通信),这样的低频部分是由经上采样的特征图526提供的。这使得卷积神经网络102的后续层(例如,全连接层112)能够被告知数据项122的高频分量和低频分量两者的特征。
60.卷积器514被配置为从组合特征图530提取第二组特征。第二组特征经由输出特征图532来表示。以与上述第一卷积层104类似的方式提取特征。例如,通过将滤波器应用到组合特征图530的各个部分来提取特征。特别地,每个滤波器与组合特征图530的各个部分卷积,以生成输出特征图532。每个输出特征图532捕获将其相关联的滤波器应用到组合特征图530的各个部分的结果。输出特征图530被提供给如图1所示的第二池化层110。
61.组合器512被配置为将经压缩的特征图524的特征图与经下采样的特征图528组合,以生成组合特征图534。根据一个实施例,组合器512通过将经压缩的特征图524与经下采样的特征图528级联,来组合经压缩的特征图524与经下采样的特征图528。通过将经压缩的特征图524与经下采样的特征图528组合,经由经压缩的特征图524提供的数据项122的低频分量受到数据项122的高频部分的影响,这样的高频部分是由经下采样的特征图528提供的。这使得卷积神经网络102的后续层(例如,全连接层112)能够被告知数据项122的低频分量和高频分量两者的特征。
62.卷积器516被配置为从组合特征图534中提取第二组特征。通过输出特征图536表示第二组特征。以与上述第一卷积层104类似的方式提取特征。例如,通过将滤波器应用到组合特征图534的各个部分来提取特征。具体地,每个滤波器与组合特征图534的各个部分
卷积,以生成输出特征图536。每个输出特征图536捕获将其相关联的滤波器应用到组合特征图534的各个部分的结果。输出特征图536被提供给第二池化层110,如图5所示。输出特征图530和输出特征图536是如图1所示的第二特征图118的示例。
63.如上文所描述,仅需要两个卷积(由卷积器514和516执行)来提取已被分解为高频和低频分量的特征图的给定部分的特征。常规的卷积神经网络需要至少两倍多的卷积。因此,本文描述的技术有利地提高了基于卷积神经网络的机器学习模型的性能,因为由于需要较少数目的卷积而需要较少的处理开销。
64.在某些实施例中,第一卷积层104包括与第二卷积层108相同的分量。根据这样的实施例,参数522被设置为0,从而导致分解器502不将池化特征图116分解成子集518和520(即,所有池化特征图116被分配给高频分量)。此外,各个分量(以及由此执行的操作)被绕过。例如,压缩器504、上采样器508、下采样器506、组合器510、组合器512和卷积器516可以被绕过,并且卷积器514直接将(多个)滤波器应用到池化特征图116。
65.再次参考图1,第二池化层110被配置为执行下采样操作,该下采样操作降低每个第二特征图118的尺寸,以生成池化特征图120,这些池化特征图120被提供给全连接层112。下采样可以通过以与第一池化层106执行的方式相似的方式,对每个第二特征图118应用滤波器具有较小的尺寸来执行。特别地,第二池化层110可以使用各种技术来对第二特征图118进行下采样,包括但不限于如上文所描述的最大池化技术或平均池化技术。
66.全连接层112被配置为将池化特征图120展平为单维向量并确定哪些特征与特定分类最相关。例如,如果卷积神经网络102被训练来预测数据项112是否是狗的图像,则扁平向量可以包括表示例如爪、四条腿等高级特征的高值。类似地,如果卷积神经网络102被训练以预测数据项122是鸟,展平向量可以包括表示诸如翅膀、喙等特征的高值。基于分析,全连接层112输出针对数据项122的分类124。分类124基于数据项122是特定分类的概率。分类124可以被提供给用户(例如,通过用户使用的应用的图形用户界面)和/或可以被提供给另一个应用供其使用。
67.应注意,虽然卷积神经网络102包括两个卷积层和两个池化层,但本文描述的实施例不限于此,卷积神经网络102可以包括任意数目的卷积层和/或池化层,其中每个卷积层被配置为检测不同的特征。例如,第一卷积层可以配置为检测低级别特征(例如,边缘、曲线等),第二卷积层可以配置为检测中级别特征(例如,形状),第三卷积层可以配置为检测高级别特征(例如,眼睛、爪、腿、臂等),等等。
68.因此,卷积神经网络可以被配置为以多种方式来分类数据项。例如,图7示出了根据示例实施例的用于经由卷积神经网络来分类数据项的方法的流程图700。在一个实施例中,流程图700可以通过卷积神经网络102及其中包括的层(例如,卷积层104和108以及卷积层500,如图5中所述)来实现。因此,流程图700将继续参考图1至图5进行描述。基于以下关于流程图700、卷积神经网络102和卷积层500的讨论,其他结构和操作实施例对于相关领域的技术人员将是显而易见的。
69.图7的流程图700从步骤702开始。在步骤702,基于数据项的输入特征图集被分解为第一子集和第二子集,第一子集表示数据项的第一频率分量,第二子集表示数据项的第二频率分量。例如,参考图5,分解器502将基于数据项122的输入特征图集(例如,池化特征图116)分解为表示数据项122的第一(例如,高频)频率分量的第一子集518和表示数据项
122的第二(例如,低频)频率分量的第二子集520。
70.根据一个或多个实施例,分解输入特征图集包括:确定参数,该参数定义要被包括在第一子集中的输入特征图的第一数目与要被包括在第二子集中的输入特征图的第二数目之间的比率。基于该参数,将输入特征图集分解为第一子集和第二子集。例如,参考图5,分解器502通过确定参数522来分解池化特征图116,该参数522定义了要被包括在第一子集518中的特征图的第一数目与要被包括在第二子集520中的特征图的第二数目之间的比率。分解器502基于参数522,将输入特征图集分解为第一子集518和第二子集520。
71.根据一个或多个实施例,第二频率分量比第一频率分量低一个倍频程。
72.根据一个或多个实施例,数据项包括以下至少一项:数字图像、音频信号、语音信号或文本内容。
73.在步骤704,将第二子集的上采样版本与第一子集组合,以生成第一组合集,第二子集的上采样版本基于对第二子集的每个输入特征图执行的转置卷积而被确定。例如,参考图5,组合器510将第二子集520的上采样版本(例如,经上采样的特征图526)与第一子集518组合,以生成第一组合集(例如,组合特征图530)。上采样器508被配置为基于对经压缩的第二子集524中的每个特征图执行的转置卷积来生成京上采样的特征图526。
74.根据一个或多个实施例,将第二子集上采样至第一子集的分辨率。例如,参考图5,上采样器508将经压缩的第二子集524上采样至第一子集518的分辨率。
75.在步骤706,将第一组合集与至少第一滤波器卷积,以生成第一输出特征图集。例如,参考图5,第一组合集(例如,组合特征图530)与第一滤波器(例如,如图2a至图2b所示的滤波器202)卷积,以生成第一输出特征图集(例如,输出特征图532)。
76.在步骤708,将第一子集的下采样版本与第二子集组合,以生成第二组合集。例如,参考图5,组合器512将第二子集(例如,经压缩的第二子集524)与第一子集518的下采样版本(例如,经下采样的特征图528)组合以生成第二组合集(例如,组合特征图534)。
77.根据一个或多个实施例,第一子集的下采样版本基于对第一子集中的每个输入特征图执行的池化操作而被确定。例如,参考图5,下采样器506基于对第一子集518中的每个特征图执行的池化操作来确定下采样特征图528。下采样器506可以使用各种技术对第一子集518进行下采样,包括但不限于如上文所描述的最大池化技术或平均池化技术。
78.根据一个或多个实施例,通过将第一子集下采样至第二子集的分辨率来生成第一子集的下采样版本。例如,参考图5,下采样器506通过将第一子集518下采样至第二子集520的分辨率来下采样第一子集518。
79.在步骤710,将第二组合集与至少第二滤波器卷积,以生成第二输出特征图集。例如,参考图5,卷积器516将第二组合集(例如,组合特征图534)与至少第二滤波器(例如,如图2a至图2b所示的滤波器202)卷积,以生成第二输出特征图集(例如,输出特征图536)。
80.在步骤712,基于第一输出特征图集和第二输出特征图集来分类数据项。例如,参考图5,输出特征图532和536被提供给池化层110。池化层110对输出特征图532和536(图1所示的第二特征图118)进行下采样。生成池化特征图120,如图1所示,第二池化层110向全连接层112提供池化特征图120,全连接层112基于池化特征图120对数据项122进行分类。
81.iii.附加示例实施例
82.注意,虽然本文描述的实施例公开了特征图可以由分解器502(如图5所示)分解成
高频分量和低频分量,但是特征图可以分解成任意数目的分量。例如,在某些实施例中,特征图被分解成k个离散分量,其中k是任何正整数。例如,在k为3的实施例中,特征图被分解为三个子集,其中第一子集表示高频分量,第二子集表示中频分量,第三子集表示高频成分。
83.根据这样的实施例,分解器502利用多个参数,每个参数确定要被分配给特定离散分量的特征图的百分比。注意,卷积层500执行的卷积数目对应于k的值。
84.iv.示例计算机系统实现
85.卷积神经网络102、第一卷积层104、第一池化层106、第二卷积层108、第二池化层110、全连接层112、滤波器202、滤波器302、滤波器402、分解器502、压缩器504、上采样器508、下采样器506、组合器510、组合器512、卷积器514、卷积器516和滤波器606(和/或其中描述的任何组件)和/或流程图700,可以用硬件、或与软件和/或固件中的一者或两者相组合的硬件来实现。例如,卷积神经网络102、第一卷积层104、第一池化层106、第二卷积层108、第二池化层110、全连接层112、滤波器202、滤波器302、滤波器402、分解器502、压缩器504、上采样器508、下采样器506、组合器510、组合器512、卷积器514、卷积器516和滤波器606(和/或其中描述的任何组件)和/或流程图700可以被实现为计算机程序代码/指令,这样的计算机程序代码/指令被配置为在一个或多个处理器中执行并被存储在计算机可读存储介质中。
86.备选地,卷积神经网络102,第一卷积层104、第一池化层106、第二卷积层108、第二池化层110、全连接层112、滤波器202、滤波器302、滤波器402、分解器502、压缩器504、上采样器508、下采样器506、组合器510、组合器512、卷积器514、卷积器516和滤波器606(和/或其中描述的任何组件)和/或流程图700可以被实现为硬件逻辑/电路。
87.例如,在一个实施例中,卷积神经网络102、第一卷积层104、第一池化层106、第二卷积层108、第二池化层110、全连接层112、滤波器202、滤波器302、滤波器402、分解器502、压缩器504、上采样器508、下采样器506、组合器510、组合器512、卷积器514、卷积器516和滤波器606(和/或其中描述的任何组件)和/或者流程图700可以一起在soc中实现。soc可以包括集成电路芯片,其包括以下中一者或多者:处理器(例如,中央处理单元(cpu)、微控制器、微处理器、数字信号处理器(dsp)等)、存储器、一个或多个通信接口,和/或其他电路,并且可以可选地执行接收到的程序代码和/或包括嵌入式固件以执行功能。
88.图8描绘了其中可以实现实施例的计算设备800的示例性实现。例如,卷积神经网络102、第一卷积层104、第一池化层106、第二卷积层108、第二池化层110、全连接层112、滤波器202、滤波器302、滤波器402、分解器502、压缩器504、上采样器508、下采样器506、组合器510、组合器512、卷积器514、卷积器516和滤波器606(和/或其中描述的任何组件)和/或流程图700(和/或其中描述的任何组件)可以在与固定或移动计算机实施例中,被实现在类似于计算设备800的一个或多个计算设备中,包括计算设备800的一个或多个特征和/或替代特征。本文提供的计算设备800的描述是为了说明的目的而提供的,而不是限制性的。如相关领域的技术人员所知,实施例可以在其他类型的计算机系统中实现。
89.如图所示。如图8所示,计算设备800包括一个或多个处理器、称为处理器电路802,系统存储器804和总线806,总线806将包括系统存储器804在内的各个系统组件耦合到处理器电路802。处理器电路802是电气和/或光学电路,其被实现在一个或多个物理硬件电路装
置元件和/或集成电路装置(半导体材料芯片或芯片)中,作为中央处理单元(cpu)、微控制器、微处理器和/或其他物理硬件处理器电路。处理器电路802可以执行被存储在计算机可读介质中的程序代码,诸如操作系统830、应用832、其他程序834等的程序代码。总线806表示几种类型的总线结构中的一种或多种,包括内存总线或内存控制器、外围总线、加速图形端口以及使用各种总线架构中的任何一种的处理器或本地总线。系统存储器804包括只读存储器(rom)808和随机存取存储器(ram)810。基本输入/输出系统812(bios)被存储在rom 808中。
90.计算设备800还具有以下驱动器中的一个或多个:用于读取和写入硬盘的硬盘驱动器814、用于从可移动磁盘818进行读取或写入的磁盘驱动器816、以及用于从诸如cd rom、dvd rom或其他光学介质的可移动光盘822进行读取或写入的光盘驱动器820。硬盘驱动器814、磁盘驱动器816和光盘驱动器820分别通过硬盘驱动器接口824、磁盘驱动器接口826和光盘驱动器接口828连接到总线806。驱动器及其相关联的计算机可读介质为计算机提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。尽管描述了硬盘、可移动磁盘和可移动光盘,但也可以使用其他类型的基于硬件的计算机可读存储介质来存储数据,例如闪存卡、数字视频磁盘、ram、rom和其他硬件存储介质。
91.多个程序模块可以被存储在硬盘、磁盘、光盘、rom或ram上。这些程序包括操作系统830、一个或多个应用832、其他程序834和程序数据836。应用832或其他程序834可以包括例如计算机程序逻辑(例如计算机程序代码或指令)用于实现卷积神经网络102、第一卷积层104、第一池化层106、第二卷积层108、第二池化层110、全连接层112、滤波器202、滤波器302、滤波器的任何特征402、分解器502、压缩器504、上采样器508、下采样器506、组合器510、组合器512、卷积器514、卷积器516和滤波器606(和/或其中描述的任何组件)、流程图700和/或描述的其他实施例在此处。
92.用户可以通过诸如键盘838和定点设备840之类的输入设备将命令和信息输入到计算设备800中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏板、卫星天线、扫描仪、触摸屏和/或触摸板、接收语音输入的语音识别系统、接收手势输入的手势识别系统,等等。这些和其他输入设备通常通过耦合到总线806的串行端口接口842连接到处理器电路802,但也可以通过其他接口连接,例如并行端口、游戏端口或通用串行总线(usb)。
93.显示屏幕844还通过诸如视频适配器846之类的接口连接到总线806。显示屏幕844可以在计算设备800的外部或被结合在计算设备800中。显示屏幕844可以显示信息以及作为用户界面用于接收用户命令和/或其他信息(例如,通过触摸、手势、虚拟键盘等)。除了显示屏幕844之外,计算设备800可以包括其他外围输出设备(未示出),例如扬声器和打印机。
94.计算设备800通过适配器或网络接口850、调制解调器852或用于在网络上建立通信的其他装置连接到网络848(例如,互联网)。可以是内部或外部的调制解调器852可以通过串行端口接口842连接到总线806,如图8所示,或者可以使用包括并行接口在内的另一接口类型连接到总线806。
95.如本文所用,术语“计算机程序介质”、“计算机可读介质”和“计算机可读存储介质”用于指代物理硬件介质,例如与硬盘驱动器814、可移动硬盘相关联的硬盘磁盘818、可移动光盘822、其他物理硬件介质,例如ram、rom、闪存卡、数字视频磁盘、zip磁盘、mem、基于纳米技术的存储设备,以及其他类型的物理/有形硬件存储介质。这样的计算机可读存储介
质与通信介质(不包括通信介质)有区别且不重叠。通信介质将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波的调制数据信号中。术语“调制数据信号”是指这样一种信号,它的一个或多个特性被设置或改变,以便在信号中编码信息。作为示例而非限制,通信介质包括无线介质,例如声学、rf、红外线和其他无线介质,以及有线介质。实施例还涉及与针对计算机可读存储介质的实施例分离且不重叠的这种通信介质。
96.如上文所描述,计算机程序和模块(包括应用832和其他程序834)可以被存储在硬盘、磁盘、光盘、rom、ram或其他硬件存储介质。这样的计算机程序也可以通过网络接口850、串行端口接口842或任何其他接口类型来接收。这样的计算机程序在由应用执行或加载时,使计算设备800能够实现本文所讨论的实施例的特征。因此,这样的计算机程序表示计算设备800的控制器。
97.实施例还涉及计算机程序产品,计算机程序产品包括被存储在任何计算机可读介质上的计算机代码或指令。这样的计算机程序产品包括硬盘驱动器、光盘驱动器、存储设备包、便携式记忆棒、存储卡和其他类型的物理存储硬件。
98.v.进一步的示例实施例
99.本文描述了一种用于经由卷积神经网络来分类数据项的方法。该方法包括:将基于数据项的输入特征图集分解为第一子集和第二子集,第一子集表示数据项的第一频率分量,第二子集表示数据项的第二频率分量;将第二子集的上采样版本与第一子集组合,以生成第一组合集,第二子集的上采样版本基于对第二子集的每个输入特征图执行的转置卷积而被确定;将第一组合集与至少第一滤波器卷积,以生成第一输出特征图集;将第一子集的下采样版本与第二子集组合,以生成第二组合集;将第二组合集与至少第二滤波器卷积,以生成第二输出特征图集;基于第一输出特征图集和第二输出特征图集来分类数据项。
100.在前述方法的一个实施例中,所述分解包括:确定参数,该参数定义要被包括在第一子集中的输入特征图的第一数目与要被包括在第二子集中的输入特征图的第二数目之间的比率;并且基于该参数将输入特征图集分解为第一子集和第二子集。
101.在上述方法的一个实施例中,第二子集的上采样版本通过以下生成:将第二子集上采样至第一子集的分辨率。
102.在上述方法的一个实施例中,第二频率分量比第一频率分量低一个倍频程。
103.在前述方法的一个实施例中,第一子集的下采样版本基于对第一子集的每个输入特征图执行的池化操作而被生成。
104.在上述方法的一个实施例中,第一子集的下采样版本通过以下生成:将第一子集下采样至第二子集的分辨率。
105.在上述方法的一个实施例中,所述数据项包括以下至少之一:数字图像;音频信号;语音信号;或文本内容。
106.本文还描述了一种系统。该系统包括至少一个处理器电路;以及至少一个存储器,存储被配置为由所述至少一个处理器电路执行的程序代码,程序代码包括:卷积神经网络的卷积层,卷积层被配置为:将基于数据的输入特征图集项分解为第一子集和第二子集,第一子集表示数据项的第一频率分量,第二子集表示数据项的第二频率分量;将第二子集的上采样版本与第一子集组合以生成第一组合集,第二子集的上采样版本基于对第二子集的每个输入特征图执行的转置卷积确而被定;将第一组合集与至少第一滤波器卷积,以生成
第一输出特征图集;将第一子集的下采样版本与第二子集组合以生成第二组合集;以及将第二组合集与至少第二滤波器卷积,以生成第二输出特征图集;以及卷积神经网络的全连接层,全连接层被配置为基于第一输出特征图集和第二输出特征图集来分类数据项。
107.在上述系统的一个实施例中,卷积层还被配置为:确定参数,该参数定义要被包括在第一子集中的输入特征图的第一数目与要被包括在第二子集中的输入特征图的第二数目之间的比率;以及基于该参数,将输入特征图集分解为第一子集和第二子集。
108.在前述系统的一个实施例中,卷积层被配置为通过以下来生成第二子集的上采样版本:将第二子集上采样至第一子集的分辨率。
109.在前述系统的一个实施例中,第二频率分量比第一频率分量低一个倍频程。
110.在前述系统的一个实施例中,卷积层基于对第一子集的每个输入特征图执行的池化操作来生成第一子集的下采样版本。
111.在前述系统的一个实施例中,卷积层通过以下方式生成第一子集的下采样版本:将第一子集下采样至第二子集的分辨率。
112.在上述系统的一个实施例中,数据项包括以下至少一项:数字图像;音频信号;语音信号;或文本内容。
113.一种计算机可读存储介质,其上记录有程序指令,程序指令当由计算设备的至少一个处理器执行时,执行用于经由卷积神经网络来分类数据项的方法。该方法包括:将基于数据项的输入特征图集分解为第一子集和第二子集,第一子集表示数据项的第一频率分量,第二子集表示数据项的第二频率分量;将第二子集的上采样版本与第一子集组合,以生成第一组合集,第二子集的上采样版本基于对第二子集的每个输入特征图执行的转置卷积而被确定;将第一组合集与至少第一滤波器卷积,以生成第一输出特征图集;将第一子集的下采样版本与第二子集组合以生成第二组合集;将第二组合集与至少第二滤波器卷积,以生成第二输出特征图集;以及基于第一输出特征图集和第二输出特征图集来分类数据项。
114.在前述计算机可读存储介质的一个实施例中,所述分解包括:确定参数,该参数定义要被包括在第一子集中的输入特征图的第一数目与要被包括在第二子集中的输入特征图的第二数目之间的比率;基于该参数,将输入特征图集分解为第一子集和第二子集。
115.在前述计算机可读存储介质的一个实施例中,第二子集的上采样版本通过以下生成:将第二子集上采样至第一子集的分辨率。
116.在上述计算机可读存储介质的一个实施例中,第二频率分量比第一频率分量低一个倍频程。
117.在前述计算机可读存储介质的一个实施例中,第一子集的下采样版本基于对第一子集的每个输入特征图执行的池化操作而被生成。
118.在前述计算机可读存储介质的一个实施例中,第一子集的下采样版本通过以下生成:将第一子集下采样至第二子集的分辨率。
119.vi.示例实施例
120.虽然上面已经描述了各种实施例,但应该理解它们仅作为示例而不是限制的方式呈现。相关领域的技术人员将理解,在不背离如所附权利要求限定的所描述实施例的精神和范围的情况下,可以在其中进行形式和细节的各种改变。因此,本实施例的广度和范围不应受任何上述示例性实施例的限制,而应仅根据所附权利要求及其等同体来定义。

技术特征:
1.一种用于经由卷积神经网络来分类数据项的方法,包括:将基于数据项的输入特征图集分解为第一子集和第二子集,所述第一子集表示所述数据项的第一频率分量,所述第二子集表示所述数据项的第二频率分量;将所述第二子集的上采样版本与所述第一子集组合,以生成第一组合集,所述第二子集的所述上采样版本基于对所述第二子集的每个输入特征图执行的转置卷积而被确定;将所述第一组合集与至少第一滤波器卷积,以生成第一输出特征图集;将所述第一子集的下采样版本与所述第二子集组合,以生成第二组合集;将所述第二组合集与至少第二滤波器卷积,以生成第二输出特征图集;以及基于所述第一输出特征图集和所述第二输出特征图集来分类所述数据项。2.根据权利要求1所述的方法,其中所述分解包括:确定参数,所述参数定义要被包括在所述第一子集中的输入特征图的第一数目与要被包括在第二子集中的输入特征图的第二数目之间的比率;以及基于所述参数,将所述输入特征图集分解为所述第一子集和所述第二子集。3.根据权利要求1所述的方法,其中所述第二子集的所述上采样版本通过以下生成:将所述第二子集上采样至所述第一子集的分辨率。4.根据权利要求1所述的方法,其中所述第二频率分量比所述第一频率分量低一个倍频程。5.根据权利要求1所述的方法,其中所述第一子集的所述下采样版本基于对所述第一子集的每个输入特征图执行的池化操作而被生成。6.根据权利要求1所述的方法,其中所述第一子集的所述下采样版本通过以下生成:将所述第一子集下采样至所述第二子集的分辨率。7.根据权利要求1所述的方法,其中所述数据项包括以下至少一项:数字图像;音频信号;语音信号;或文本内容。8.一种系统,包括:至少一个处理器电路;以及至少一个存储器,存储被配置为由所述至少一个处理器电路执行的程序代码,所述程序代码包括:卷积神经网络的卷积层,所述卷积层配置为:将基于数据项的输入特征图集分解为第一子集和第二子集,所述第一子集表示所述数据项的第一频率分量,所述第二子集表示所述数据项的第二频率分量;将所述第二子集的上采样版本与所述第一子集组合,以生成第一组合集,所述第二子集的所述上采样版本基于对所述第二子集的每个输入特征图执行的转置卷积而被确定;将所述第一组合集与至少第一滤波器卷积,以生成第一输出特征图集;将所述第一子集的下采样版本与所述第二子集组合,以生成第二组合集;以及将所述第二组合集与至少第二滤波器卷积,以生成第二输出特征图集;以及所述卷积神经网络的全连接层,所述全连接层被配置为基于所述第一输出特征图集和
所述第二输出特征图集来分类所述数据项。9.根据权利要求8所述的系统,其中所述卷积层还被配置为:确定参数,所述参数定义要被包括在所述第一子集中的输入特征图的第一数目与要被包括在第二子集中的输入特征图的第二数目之间的比率;以及基于所述参数,将所述输入特征图集分解为所述第一子集和所述第二子集。10.根据权利要求8所述的系统,其中所述卷积层被配置为通过以下来生成所述第二子集的所述上采样版本:将所述第二子集上采样至所述第一子集的分辨率。11.根据权利要求8所述的系统,其中所述第二频率分量比所述第一频率分量低一个倍频程。12.根据权利要求8所述的系统,其中所述卷积层基于对所述第一子集的每个输入特征图执行的池化操作来生成所述第一子集的所述下采样版本。13.根据权利要求8所述的系统,其中所述卷积层通过以下来生成所述第一子集的所述下采样版本:将所述第一子集下采样至所述第二子集的分辨率。14.根据权利要求8所述的系统,其中所述数据项包括以下至少一项:数字图像;音频信号;语音信号;或文本内容。15.一种计算机可读存储介质,其上记录有程序指令,所述程序指令在由计算设备的至少一个处理器执行时执行根据权利要求1至7中任一项所述的方法。

技术总结
本文公开了改进的基于卷积神经网络的机器学习模型。卷积神经网络被配置为将基于要分类的数据项生成的特征图进行分解。特征图被分解为第一子集和第二子集。第一子集表示数据项的高频分量,并且第二子集表示数据项的低频分量。第二子集被上采样并与第一子集组合。将组合特征图与滤波器卷积,以提取与数据项相关联的一个特征集。第一子集也被下采样并与第二子集组合。将组合特征图与滤波器卷积,以提取另一特征集。基于卷积操作提取的特征集来分类数据项。据项。据项。


技术研发人员:S
受保护的技术使用者:微软技术许可有限责任公司
技术研发日:2021.01.20
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-5732.html

最新回复(0)