机器学习离散化级别缩减的制作方法

文档序号:33367697发布日期:2023-03-08 00:46阅读:30来源:国知局
机器学习离散化级别缩减的制作方法

1.本公开总体上涉及用于诸如图像的张量数据的二值化和/或其他比特缩减的系统和方法。更具体地,本公开涉及机器学习模型,其产生具有减少数量的离散化级别的输出张量数据(例如,在将彩色图像压缩为黑白图像时保留和匹配颜色信息)。


背景技术:

2.张量可以保存结构化数据。张量内的数据可以具有与之相关联的多个离散化级别。作为一个示例,图像可以被表示为具有不同强度级别的离散张量。作为一个示例,图像可以由通道的组合来表示。例如,图像可以表示为各种通道的组合,每个通道对应于颜色、色调、强度等。例如,一些图像可以被表示为具有红色通道、蓝色通道和绿色通道的张量,这些通道在每个通道处具有变化的强度级别,对应于张量中一点处相应颜色的强度。显示屏和其他系统可以基于张量显示信息,诸如图像。


技术实现要素:

3.本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中获知,或者可以通过实施例的实践获知。
4.本公开的一个示例方面涉及一种用于提供具有改进的信息表示的经级别缩减的张量数据的计算机实现的方法。该计算机实现的方法可以包括获得输入张量数据。该计算机实现的方法可以包括将输入张量数据作为输入提供给机器学习离散化级别缩减模型,该模型被配置成接收具有多个离散化级别的张量数据,并且响应于接收到张量数据,产生具有减少数量的离散化级别的经级别缩减的张量数据。该机器学习离散化级别缩减模型可以包括被配置成接收张量数据的至少一个输入层和连接到该至少一个输入层的一个或多个级别缩减层,该一个或多个级别缩减层被配置成接收具有第一数量的离散化级别的输入并提供具有减少数量的离散化级别的层输出,其中每个级别缩减层与相应数量的离散化级别相关联,并且至少部分地基于具有与级别缩减层相关联的相应数量的离散化级别的离散化激活函数,在一个或多个级别缩减层的每一层缩减离散化级别。该计算机实现的方法可以包括从机器学习离散化级别缩减模型获得经级别缩减的张量数据。使用重建输入张量数据来训练机器学习离散化级别缩减模型,该重建输入张量数据是使用机器学习离散化级别缩减模型的输出生成的。
5.本公开的另一个示例方面涉及一种计算机实现的方法,用于训练离散化级别缩减模型,以提供具有改进的信息表示的经级别缩减的张量数据。该计算机实现的方法可以包括由包括一个或多个计算设备的计算系统获得训练数据,该训练数据包括输入张量数据。该计算机实现的方法可以包括由计算系统向离散化级别缩减模型提供训练数据,该离散化级别缩减模型被配置成接收包括多个离散化级别的张量数据,并且响应于接收张量数据,产生具有减少数量的离散化级别的经级别缩减的张量数据。该计算机实现的方法可以包括由计算系统并且至少部分地基于离散化级别缩减模型来确定经级别缩减的张量数据。该计
算机实现的方法可以包括由计算系统至少部分地基于离散化级别缩减模型,至少部分地基于经级别缩减的张量数据来确定重建输入张量数据。该计算机实现的方法可以包括由计算系统至少部分基于输入张量数据和重建输入张量数据来确定损失。该计算机实现的方法可以包括由计算系统至少部分基于该损失来调整离散化级别缩减模型的一个或多个参数。
6.本公开的另一个示例方面涉及一种或多种存储机器学习离散化级别缩减模型的非暂时性计算机可读介质,该机器学习离散化级别缩减模型被配置成接收包括多个离散化级别的张量数据,并且响应于接收张量数据,产生包括减少数量的离散化级别的经级别缩减的张量数据。该机器学习离散化级别缩减模型可以包括被配置成接收张量数据的至少一个输入层和连接到该至少一个输入层的多个级别缩减层,该多个级别缩减层被配置成渐进地和单调地缩减该多个级别缩减层中的每一个的离散化级别的数量。
7.在本文描述的示例中,提供了机器学习离散化级别缩减模型。机器学习离散化级别缩减模型被配置成接收具有多个离散化级别的张量数据,并且响应于接收到张量数据,产生具有减少数量的离散化级别的经级别缩减的张量数据。
8.可以使用重建输入张量数据来训练机器学习离散化级别缩减模型,该重建输入张量数据是使用机器学习离散化级别缩减模型的输出生成的。机器学习离散化级别缩减模型可以存储在一个或多个非暂时性计算机可读存储介质上。
9.机器学习离散化级别缩减模型可以包括被配置成接收张量数据的至少一个输入层;以及连接到至少一个输入层的一个或多个级别缩减层,一个或多个级别缩减层被配置成接收具有第一数量的离散化级别的输入,并提供具有减少数量的离散化级别的层输出。
10.每个级别缩减层可以与相应数量的离散化级别相关联,并且可以至少部分地基于具有与级别缩减层相关联的相应数量的离散化级别的离散化激活函数,在一个或多个级别缩减层的每一层缩减离散化级别。离散化激活函数可以是双曲正切函数。
11.一个或多个级别缩减层可以各自被配置成至少部分地基于缩放因子来缩减离散化级别的数量。例如,缩放因子可以是一半。
12.一个或多个级别缩减层可以渐进地和单调地缩减一个或多个级别缩减层中的每个级别缩减层的离散化级别的数量。
13.离散化级别缩减模型可以包括至少一个特征表示层,该特征表示层被配置成将来自输入层的输入张量数据映射到输入张量数据的特征表示。
14.离散化级别缩减模型可以包括至少一个通道缩减层,该通道缩减层被配置成将到具有第一数量的通道的至少一个通道缩减层输入数据的输入缩减为具有减少数量的通道的至少一个通道缩减层的输出。
15.机器学习离散化级别缩减模型可以包括输出层,该输出层被配置成提供经级别缩减的张量数据。
16.机器学习离散化级别缩减模型可以包括一个或多个重建层,其被配置成从经级别缩减的张量数据重建重建输入张量数据。
17.离散化级别缩减模型包括颜色旁路网络。颜色旁路网络可以包括一个或多个完全连接的隐藏单元。例如,颜色旁路网络可以包括一到十个完全连接的隐藏单元。
18.根据在此描述的示例,存在一种计算机实现的方法,用于使用机器学习离散化级别缩减模型来提供具有改进的信息表示的经级别缩减的张量数据。该方法包括:获取输入
张量数据;将输入张量数据作为输入提供给机器学习离散化级别缩减模型;从机器学习离散化级别缩减模型获得经级别缩减的张量数据。
19.根据这里描述的另一个示例,有一种计算机实现的方法,用于训练离散化级别缩减模型,以提供具有改进的信息表示的经级别缩减的张量数据。该方法包括获得训练数据,该训练数据包括输入张量数据;将训练数据提供给离散化级别缩减模型;至少部分地基于离散化级别缩减模型,确定经级别缩减的张量数据;至少部分地基于离散化级别缩减模型,至少部分地基于经级别缩减的张量数据来确定重建输入张量数据;至少部分基于输入张量数据和重建输入张量数据来确定损失;以及至少部分基于该损失来调整离散化级别缩减模型的一个或多个参数。
20.该损失可以包括输入张量数据和重建输入张量数据之间的像素差异。
21.在离散化级别缩减模型包括颜色旁路网络的情况下,至少部分地基于经级别缩减的张量数据确定重建输入张量数据可以包括:从一个或多个重建层获得第一重建输入张量数据分量,第一重建输入张量数据分量至少部分地基于经级别缩减的张量数据;从颜色旁路网络获得第二重建输入张量数据分量,第二重建输入张量数据分量至少部分基于输入张量数据;以及至少部分基于第一重建输入张量数据分量和第二重建输入数据分量来确定重建输入张量数据。
22.第一重建输入张量数据分量可以包括重建图像,第二重建输入张量数据分量可以包括重建图像的色调。
23.在使用机器学习离散化级别缩减模型的方法或训练机器学习离散化级别缩减模型的方法中,输入张量数据包括图像数据,并且其中经级别缩减的张量数据包括二值化的图像数据。
24.经级别缩减的张量数据的离散化级别的减少数量是两个离散化级别。
25.根据在此描述的另一个示例,系统包括一个或多个处理器和一个或多个存储指令的计算机可读存储器设备,当这些指令被实现时,使一个或多个处理器执行以上或以下阐述的任何方法。
26.本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
27.参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。并入本说明书并构成其一部分的附图示出了本公开的示例实施例,并与描述一起用于解释相关原理。
附图说明
28.针对本领域普通技术人员的实施方式的详细讨论在参考附图的说明书中阐述,其中:
29.图1a描绘了根据本公开的示例实现的执行离散化级别缩减的示例计算系统的框图。
30.图1b描绘了根据本公开的示例实现的执行离散化级别缩减的示例计算设备的框图。
31.图1c描绘了根据本公开的示例实现的执行离散化级别缩减的示例计算设备的框
图。
32.图2描绘了根据本公开的示例实现的示例离散化级别缩减系统的框图。
33.图3描绘了根据本公开的示例实现的示例离散化级别缩减模型的框图。
34.图4描绘了根据本公开的示例实现的示例离散化级别缩减模型的框图。
35.图5描绘了根据本公开的示例实现的示例离散化级别缩减模型的框图。
36.图6a、6b、6c和6d描绘了根据本公开的示例实现的示例离散化激活函数。
37.图7描绘了根据本公开的示例实现的用于提供具有改进的视觉信息表示的经级别缩减的张量数据的示例计算机实现方法的流程图。
38.图8描绘了根据本公开的示例实现的示例计算机实现的方法的流程图,该方法用于训练离散化级别缩减模型以提供具有改进的视觉信息表示的经级别缩减的张量数据。
39.在多个附图中重复的附图标记旨在标识各种实施方式中的相同特征。
具体实施方式
40.总的来说,本公开涉及用于张量数据的二值化和/或其他比特缩减的系统和方法,张量数据诸如是可视的或以其他方式可显示的张量数据,诸如图像(例如二维图像)。二值化指的是将具有多个离散化级别(例如,每级别24比特)的离散化张量数据转换成仅具有两个离散化级别(例如,0和1,诸如黑白或双色调图像)的张量数据。此外,张量数据可以从具有多个通道(例如,颜色通道)转换成具有单个通道的张量数据。作为一个示例,原始(例如,输入)张量数据可以是或包括具有256(例如,8比特)离散化级别的rgb图像数据,并且经级别缩减的(例如,输出)张量数据可以是具有带有两个离散化级别的单通道的双色调(例如,黑白)图像数据,对应于双色调像素级别(例如,黑白、阴影和非阴影等)。本公开的示例方面可以被推广到任何合适的级别缩减,诸如将张量数据缩减到四个离散化级别(例如,两个比特)、八个离散化级别(例如,三个比特)等。
41.作为一个示例,在旨在显示或以其他方式利用张量数据的介质不能(例如,由于结构和/或其他限制)传达足够的信息来准确表示张量数据的情况下,张量数据的比特缩减可能是有用的。例如,诸如包括在电子阅读器或电子墨水系统中的双色显示屏可能不能显示rgb图像,因为显示器的像素可能限于两种颜色(例如,阴影/亮和非阴影/亮)。作为另一个示例,打印机可以被配置成打印黑白图像,诸如用于报纸打印、批量打印、影印等。作为另一个示例,差减构造系统(subtractive construction system),诸如cnc机器,激光蚀刻等。可能能够基于图像执行差减构造,但是可能限于两个级别(例如,蚀刻和不蚀刻、切割或不切割等)或者与图像的原始数量的离散化级别相比减少数量的离散化级别。本公开的示例方面尤其可以在这些和其他场景中找到益处,其中有限的显示介质旨在显示全色图像,并且其中期望保持图像的视觉完整性(例如,可理解性)。本领域普通技术人员应该理解,为了说明的目的,针对图像数据讨论了这里描述的系统和方法,并且可以扩展到具有多个离散化级别和/或一个或多个通道的任何合适的张量数据。
42.一些现有的图像二值化方法不能在二值化图像中保持原始图像中可用的视觉信息。例如,图像二值化的一个示例方法是阈值化,其中基于像素处的强度,图像的每个像素被转换成两种颜色(例如,黑色和白色)中的一种,该强度通常是交叉通道强度,诸如每种颜色的平均强度。虽然这种方法可以产生二值化图像,但与原始图像相比,它可能会丢失细
节。例如,阈值处理可能无法复制二值化图像中不同着色区域之间的区别,而是对于许多图像,尤其是具有相似强度的许多不同颜色的图像,产生无法解释的阴影区域。另一个示例方法是抖动。抖动,像阈值处理一样,经常不能捕捉颜色之间的区别,并且另外给输出图像增加了暗化或其他噪声。此外,抖动经常会丢失细节。另一个示例方法是边缘表示。边缘表示经常会恶化噪声(例如,jpeg压缩噪声),并且可能无法表示颜色,而仅仅是定义颜色之间的边缘。此外,对于细节图像,边缘表示可能变得难以理解。因此,许多(如果不是全部的话)现有的图像二值化方法不能保持原始图像的视觉完整性,并且经常不能充分地类似原始图像。此外,这些图像除了不能传达原始图像中可用的信息之外,还可能使观看者感到不愉快。
43.图像二值化中的另一个挑战涉及缺乏用于机器学习合适的训练数据。例如,传统的生成式机器学习技术需要现有的示例输出数据,例如输入和输出数据的集合,其表示机器学习模型的期望的性能。手动创建足够数量的充分二值化或经级别缩减的输出数据可能是困难的或不可能的。此外,通过现有方法创建用于训练的二值化输出数据产生了包括现有方法的上述问题的输出数据。使用这种训练数据可能不允许机器学习模型提供对现有方法的任何改进。因此,在使用机器学习来二值化图像时遇到了挑战。
44.根据本公开的示例方面的系统和方法可以为这些和其他问题提供解决方案。例如,根据本公开的示例方面的系统和方法可以提供具有改进的视觉信息表示的经级别缩减的张量数据。例如,如果经级别缩减的张量数据是图像数据,则与由诸如阈值处理、抖动、边缘表示等现有方法产生的经级别缩减的图像相比,缩减的离散化级别图像数据可以更好地捕捉原始图像中可用的信息,诸如通道(例如,颜色)边界、形状和区域、图像的主题等。
45.如这里所使用的,离散化级别指的是可以由特定通道内的张量的值保持的离散的多个值之一。例如,对于每个通道具有256个离散化级别的图像可以包括对于每个通道和每个像素具有在0和255之间的强度的像素值。通常,多个离散化级别可以对应于用于存储张量数据的每一项的比特数和/或解释张量数据的介质的输出能力。例如,具有256个离散化级别的张量数据中的数据项可能需要8比特来存储和/或可用于将显示屏中的像素颜色驱动到256个离散强度之一。作为另一个示例,具有两个离散化级别的张量数据中的数据项可以用于打开或关闭像素、打印或不打印点等。虽然更多数量的通道和/或离散化级别可以传达更多的信息,但是这还会导致存储的存储器需求增加和/或显示的成本和/或(过个)计算要求增加。
46.根据本公开的示例方面,可以通过机器学习离散化级别缩减模型从输入张量数据中产生经级别缩减的张量数据。机器学习离散化级别缩减模型可以被配置成接收包括至少一个通道的输入张量数据,并且响应于接收输入张量数据,产生经级别缩减的张量数据。经级别缩减的张量数据可以包括减少数量的离散化级别(例如,与输入张量数据相比)。经级别缩减的张量数据可以近似(例如,视觉上近似)输入张量数据。例如,缩减的离散化级别图像可以是具有两个离散化级别的二值图像。双色调图像可以近似具有更多离散化级别(账户入256个离散化级别)的全色图像。附加地和/或替代地,在一些实施方式中,经级别缩减的张量数据可以包括比输入张量数据更少的通道。例如,经级别缩减的张量数据可以包括单个通道,而输入张量数据可以包括多于一个通道(例如,三个通道、四个通道等)。
47.在一些实施方式中,机器学习离散化级别缩减模型可以包括多个层。例如,这些层
可以形成将输入张量数据转换成输出张量数据的网络。此外,在一些实施方式中,这些层可以从输出张量数据重建输入张量数据。重建输入数据可以是使用经级别缩减的张量数据以及在一些实现中来自颜色旁路网络的信息来重建输入张量数据的尝试。例如,重建输入张量数据可以用于确定相对于原始输入张量数据的损失。损失可以通过每一层反向传播以训练模型。在一些实施方式中,可以仅使用经级别缩减的张量数据和/或颜色旁路网络信息来产生重建输入数据,这可以直观地提供模型被训练为包括在经级别缩减的张量数据中重建输入张量数据所需的信息。重建输入张量数据可用于训练模型。
48.离散化级别缩减模型可以包括被配置成接收张量数据的至少一个输入层。例如,输入层可以接收张量数据,诸如像素数据(例如,m
×
n图像)。输入层可以作为张量数据的入口点。
49.在一些实施方式中,离散化级别缩减模型可以包括至少一个特征表示层。例如,在一些实现中,至少一个特征表示层可以是或可以包括卷积层,诸如3
×
3、6
×
6等卷积层。(多个)特征表示层可以将来自输入层的输入张量数据映射(例如,通过卷积)到输入张量数据的特征表示,诸如特征图。在一些实施方式中,(多个)特征表示层可以是(多个)步长-1卷积层,诸如(多个)3
×
3、步长-1卷积层。
50.例如,卷积层可以通过将卷积核(诸如权重核)应用于先前的层中的数据来操作。可以在中心应用核,诸如在先前的层中的对应位置。该层的步长可以指对于卷积层中每个值的核移动的位置的数量。可以通过应用卷积核来计算一个值。该值可以作为激活函数的输入来提供,并且激活函数的输出可以是卷积层处(例如,卷积层的单元处)的值。根据本公开的示例方面,在离散化级别缩减模型中(例如,在(多个)级别缩减层处)使用卷积层可能是有益的。例如,卷积层可以直观地防止二值化表示(例如,经级别缩减的张量数据)变得不可解释,因为这些表示可以仅由卷积层的核指定的数据形成。
51.虽然卷积层被提供作为一个示例实现,但是应当理解,可以替换地使用其他实现。仅举例来说,可以单独或与卷积层结合使用基于自我关注的模型,诸如变换器,来提供特征表示层。
52.在一些实现中,机器学习离散化级别缩减模型可以是或者可以包括通道缩减层。例如,通道缩减层可以被配置成从先前的层(例如,(多个)输入层和/或(多个)特征表示层)接收输入数据。来自先前的层的输入数据可以具有第一数量的通道,诸如,例如三个通道、四个通道等。通道缩减层可以缩减具有第一数量通道的输入数据,以输出具有第二(例如,缩减的)数量通道的数据,诸如,例如单个通道。例如,通道缩减层可以将来自多个通道的数据组合成缩减的多个通道和/或单个通道。作为示例,通道缩减层可以直观地将指示全色图像的数据转换为指示对应于全色图像的灰度图像的数据。在一些实现中,通道缩减层可以保留多个离散化级别。例如,通道缩减层的输入数据和/或输出数据可以具有相同数量的离散化级别。
53.根据本公开的示例方面,机器学习离散化级别缩减模型可以包括将至少一个输入层连接到输出层的一个或多个级别缩减层。例如,(多个)级别缩减层可以从(多个)先前的层(例如,(多个)输入层、(多个)特征缩减层、(多个)通道缩减层、(多个)先前的级别缩减层等)接收输入数据。在一些实现中,(多个)级别缩减层可以是或可以包括(多个)卷积层,诸如(多个)3
×
3、6
×
6等卷积层。在一些实现中,(多个)级别缩减层可以是(多个)步长-1卷积
层。
54.一个或多个级别缩减层中的每一个都可以被配置成至少部分地基于缩放因子来减少离散化级别的数量。在一些实施方式中,缩放因子可以是一半。例如,在一些实现中,(多个)级别缩减层中的每一个可以将该层的输出处的离散化级别缩减到该层的输入处的离散化级别的一半。例如,如果层的输入具有128个离散化级别的通道,则该通道的输出可能具有64个离散化级别。根据本公开的示例方面,可以采用其他合适的缩放因子来缩减离散化级别。在一些实现中,每个级别缩减层可以具有相同的缩放因子(例如,一半)。附加地和/或可替换地,在一些实现中,第一级别缩减层可以具有第一缩放因子,第二级别缩减层可以具有不同于第一缩放因子的第二缩放因子。
55.作为一个示例,可以通过离散化激活函数在每个级别缩减层缩减离散化级别,该离散化激活函数具有对应于该层的期望数量的离散化级别的多个激活级别。例如,在一些实施方式中,(多个)级别缩减层可以各自包括离散化激活函数,该离散化激活函数具有对应于来自先前的层的减少数量的离散化级别的多个激活级别。在一些实施方式中,每个级别缩减层可以具有离散化的激活函数,其激活级别的数量是先前的层(例如,紧邻的先前的层)的激活级别的数量的一半。在一些实施方式中,离散化激活函数可以是离散化的双曲正切函数。例如,对于任何给定的输入,离散化的双曲正切函数可以被离散化为离散的多个输出。
56.在一些实施方式中,在离散化级别缩减模型的训练(例如,反向传播)期间,可以忽略至少(多个)级别缩减层中的激活函数。例如,激活函数可以在前向传播和/或推断期间使用,但是在反向传播步骤期间不受影响。例如,激活功能在训练期间可能不被修改。
57.根据本公开的示例方面,离散化级别缩减模型可以包括任何合适数量的(多个)级别缩减层。例如,(多个)级别缩减层的数量可以至少部分地基于输出层处的离散化级别的期望数量和/或每个级别缩减层减少离散化级别数量的缩放因子。例如,一个示例实现包括七个级别缩减层,每个级别缩减层将输出处的离散化级别的数量缩减到输入处的一半。例如,示例实现可以被配置成将具有256个离散化级别的输入数据缩减到具有两个离散化级别的二值化输出数据。作为另一个示例,如果期望输出数据具有四个离散化级别,则可以仅包括五个级别缩减层,每个级别缩减层将离散化级别的数量缩减到输入级别的一半。例如,在一些实现中,(多个)级别缩减层可以渐进地和/或单调地缩减一个或多个级别缩减层中的每个级别缩减层的离散化级别的数量。例如,每个随后的级别缩减层可以具有比先前的级别缩减层更少的离散化级别。
58.根据本公开的示例方面,离散化级别缩减模型可以包括输出层,该输出层被配置成提供经级别缩减的张量数据。例如,输出层可以提供经级别缩减的张量数据作为离散化级别缩减模型的输出(例如,图像)。在一些实施方式中,输出层还可以是最终级别缩减层。例如,除了提供输出数据作为离散化级别缩减模型的输出之外,输出层还可以缩减来自倒数第二个级别缩减层的输入,以输出具有期望数量的离散化级别的数据。作为另一示例,输出层可以是最终级别缩减层,其被配置成将到输出层的输入的离散化级别的数量缩减到经级别缩减的张量数据的减少数量的离散化级别。在一些实施方式中,经级别缩减的张量数据的减少数量的离散化级别可以是两个离散化级别(例如,0和1)。在一些实现中,输出层包括空间分量(例如,m
×
n个二进制像素的图像),这样在输出层中找到的表示可以作为图像
直接返回,诸如无需任何进一步的变换或其他修改。在一些实施方式中,可以省略(多个)中间级别缩减层,使得模型直接从输入分辨率变为期望的输出分辨率。忽略
59.附加地和/或可替换地,机器学习离散化级别缩减模型可以包括一个或多个重建层。(多个)重建层可以在输出层之后。例如,(多个)重建层可以尝试从经级别缩减的张量数据重建输入张量数据。在一些实施方式中,重建层可以在结构上类似于和/或等同于(多个)特征表示层。例如,在一些实现中,(多个)重建层可以是或可以包括(多个)卷积层,诸如(多个)3
×
3、6
×
6等卷积层和/或(多个)步长-1卷积层。(多个)重建层可以至少在训练期间使用和/或可以在推断期间不使用。例如,(多个)重建层可以从部署的模型中省略和/或包括在部署的模型中,诸如用于在部署后调整模型。例如,重建输入数据可能不被用作或提供为模型的输出。
60.直观地,包括至少用于训练的重建层可以确保模型学会产生输出张量数据,该输出张量数据包括足够的通道(例如,颜色)和/或空间信息,以精确地重建原始张量数据(例如,图像)。例如,这可以导致足够的颜色信息被包括在二进制图像中(例如,作为学习的二进制模式),使得颜色信息可以在二进制图像本身中被感知。因此,虽然重建层可能不用于生成机器学习离散化级别缩减模型的最终输出,但是当在训练步骤中使用时,它们可以提供模型的改进的生成能力。这在监督训练数据不容易获得(例如,合适的二值化图像)的情况下可能是有益的,因为模型可以仅在容易获得的输入数据(例如,任何合适的图像)上以无监督的方式训练。
61.在一些实施方式中,张量数据的维度可以由机器学习离散化级别缩减模型来保持。例如,一些或所有维度(例如,长度、宽度、高度等)可以与经级别缩减的张量数据的对应维度相同。例如,由机器学习离散化级别缩减模型产生的二值化图像可以与输入图像具有相同的视觉维度(例如,宽度
×
高度)。
62.在一些实施方式中,离散化级别缩减模型可以进一步包括颜色旁路网络。颜色旁路网络可以将图像范围的信息(例如,颜色信息)传递通过离散化级别缩减模型的一些或所有层。例如,颜色旁路网络可以传递图像范围信息,诸如色调和/或颜色信息,以提供颜色旁路重建的重建,该重建与由(多个)重建层生成的重建相分离。颜色旁路网络可以包括一个或多个隐藏单元。在一些实施方式中,颜色旁路网络可以完全连接到离散化级别缩减模型的层,例如输入层。例如,颜色旁路网络可以包括完全连接到该层的一个或多个完全连接的隐藏单元。例如,包括完全连接的隐藏单元可以允许隐藏单元捕获图像范围信息。在离散化级别缩减模型的层是卷积层的实现中,这可以提供这些层(例如,(多个)特征表示层、(多个)级别缩减层等),其可以捕获局部空间信息,而颜色旁路网络可以捕获图像范围信息,诸如色彩、色调等。
63.直观上,包括颜色旁路网络允许图像范围信息,例如色彩、色调等被传递给颜色旁路重建。这提供了不必在经级别缩减的张量数据处捕获该信息,该信息在级别缩减表示中可能是无用的(例如,因为级别缩减表示可能缺少例如颜色通道)。相反,该信息通过补充颜色旁路网络传递,提供经级别缩减的张量数据以包括(例如,在一些实现中,借助于卷积层)增加的局部空间/边界信息,这对于提供具有改善的视觉信息的经级别缩减的张量数据是有用的。然而,通过将该信息传递通过颜色旁路网络,可以用于训练模型。例如,作为第一重建输入张量数据分量,来自重建层的重建可以与作为第二重建输入张量数据分量的颜色旁
路重建相结合,以重建重建输入张量数据。然后,可以在该重建输入张量数据上训练该模型(例如,与直接从重建层进行重建相反)。
64.通常,期望颜色旁路网络包括足够的隐藏单元来捕获期望的图像范围信息,但是不要大到使得颜色旁路网络将捕获局部信息,这可以防止该信息被包括在经级别缩减的张量数据中。因此,在一些实施方式中,颜色旁路网络可以包括1到10个隐藏单元,诸如1到10个完全连接的隐藏单元。例如,在一些实施方式中,颜色旁路网络可以包括两个隐藏单元。直观地,这两个隐藏单元可以捕捉与图像的维度相关的信息,例如宽度方向的颜色梯度和/或高度方向的颜色梯度,尽管这仅是为了说明的目的而描述的,并且隐藏单元可以捕捉任何合适的图像范围的信息。
65.在一些实施方式中,计算系统可以被配置用于提供具有改进的视觉信息表示的经级别缩减的张量数据。根据本公开的示例方面,计算系统可以包括(例如,存储在存储器中)机器学习离散化级别缩减模型。例如,离散化级别缩减模型可以被配置成接收包括至少一个通道的张量数据,并且响应于接收到张量数据,产生包括用于至少一个通道的减少数量的离散化级别的经级别缩减的张量数据。
66.该计算系统可以包括一个或多个处理器和一个或多个存储指令的计算机可读存储器设备,这些指令在被实现时使一个或多个处理器执行操作。例如,这些操作可以实现一种计算机实现的方法,用于提供具有改进的视觉信息表示的经级别缩减的张量数据。作为一个示例,操作可以包括获得张量数据。附加地和/或可替换地,操作可以包括将张量数据作为输入提供给机器学习离散化级别缩减模型。附加地和/或可替换地,操作可以包括从机器学习离散化级别缩减模型获得经级别缩减的张量数据。
67.在一些实施方式中,机器学习离散化级别缩减模型可以存储在计算机可读存储器中。例如,根据本公开的示例方面,一个或多个非暂时性计算机可读介质可以存储机器学习离散化级别缩减模型。例如,离散化级别缩减模型可以被配置成接收包括至少一个通道的张量数据,并且响应于接收到张量数据,产生包括用于至少一个通道的减少数量的离散化级别的经级别缩减的张量数据。
68.在一些实施方式中,计算系统可以被配置成实施用于训练离散化级别缩减模型的计算机实施的方法,以提供具有改进的视觉信息表示的经级别缩减的张量数据。例如,计算系统可以包括一个或多个计算设备。作为一个示例,计算系统可以是被配置成训练和/或分布离散化级别缩减模型的训练计算系统。作为另一个示例,计算系统可以是本地计算系统,诸如客户端计算系统和/或服务器计算系统,其被配置成使用离散化级别缩减模型来训练和/或执行推断。
69.该计算机实现的方法可以包括获得(例如,通过包括一个或多个计算设备的计算系统)训练数据。训练数据可以是用于训练离散化级别缩减模型的任何合适的训练数据。例如,训练数据可以包括输入张量数据。在许多情况下,准备有监督的训练数据(例如,输入和期望的输出数据的对)可能是困难的或不可能的,因此,这里描述的系统和方法可以提供无监督的训练。例如,训练数据可以仅包括输入数据,诸如图像库。
70.该计算机实现的方法可以包括将训练数据提供(例如,通过计算系统)给离散化级别缩减模型。离散化级别缩减模型可以被配置成接收具有多个离散化级别的张量数据,并且响应于接收张量数据,产生具有减少数量的离散化级别的经级别缩减的张量数据。
71.根据本公开的示例方面,离散化级别缩减模型可以是任何合适的离散化级别缩减模型。例如,在一些实施方式中,离散化级别缩减模型可以包括被配置成接收输入张量数据的至少一个输入层。附加地和/或替代地,在一些实施方式中,离散化级别缩减模型可以包括输出层,该输出层被配置成提供经级别缩减的张量数据。附加地和/或替代地,在一些实现中,离散化级别缩减模型可以包括将至少一个输入层连接到输出层的一个或多个级别缩减层。一个或多个级别缩减层可以被配置成缩减一个或多个级别缩减层中的每个级别缩减层的离散化级别的数量。例如,在一些实现中,(多个)级别缩减层可以渐进地和/或单调地缩减一个或多个级别缩减层中的每个级别缩减层的离散化级别的数量。例如,每个随后的级别缩减层可以具有比先前的级别缩减层更少的离散化级别。
72.附加地和/或替代地,在一些实施方式中,离散化级别缩减模型可以包括一个或多个重建层,其被配置成从经级别缩减的张量数据重建重建输入张量数据。此外,在一些实施方式中,离散化级别缩减模型可以包括颜色旁路网络,诸如包括一个或多个完全连接的隐藏单元的颜色旁路网络,诸如从一个到十个隐藏单元,诸如两个隐藏单元。
73.该计算机实现的方法可以包括至少部分基于离散化级别缩减模型来确定(例如,通过计算系统)经级别缩减的张量数据。例如,经级别缩减的张量数据可以由离散化级别缩减模型来确定,诸如由离散化级别缩减模型的输出层来确定。经级别缩减的张量数据可以作为输出提供和/或可以被传播用于训练模型(例如,作为输出提供或不提供)。在一些实施方式中,经级别缩减的张量数据可以是或者可以包括从训练数据的输入图像生成的二值化图像。例如,在一些实施方式中,输入张量数据可以是或者可以包括图像数据,和/或经级别缩减的张量数据可以是或者可以包括二值化图像数据。作为一个示例,可以通过将输入张量数据提供给包括例如(多个)输入层、(多个)特征表示层、(多个)通道缩减层、(多个)级别缩减层和/或(多个)输出层的离散化级别缩减模型来确定经级别缩减的张量数据。
74.该计算机实现的方法可以包括至少部分基于离散化级别缩减模型,至少部分基于经级别缩减的张量数据,确定(例如,通过计算系统)重建输入张量数据。例如,重建输入张量数据可以至少从经级别缩减的张量数据中重建,诸如通过离散化级别缩减模型的(多个)重建层。重建输入张量数据可以类似于输入张量数据。例如,重建输入张量数据可以包括比经级别缩减的张量数据更大量的信息和/或以更容易感知的方式的信息,包括从经级别缩减的张量数据外推以重建输入张量数据的信息。通常,希望重建输入张量数据尽可能地接近输入张量数据,同时符合离散化级别缩减模型的结构。以这种方式,模型可以学习在经级别缩减的张量数据处提供足够的空间信息,以接近地重建输入张量数据。
75.在一些实施方式中,诸如离散化级别缩减模型包括颜色旁路网络的实施方式,确定重建输入张量数据可以至少部分基于经级别缩减的张量数据和颜色旁路重建。例如,在一些实施方式中,确定重建输入张量数据可以包括获得(例如,通过计算系统)第一重建输入张量数据分量。可以从一个或多个重建层获得第一重建输入张量数据分量。第一重建输入张量数据分量可以至少部分基于经级别缩减的张量数据。例如,第一重建输入张量数据分量可以是(例如,中间)重建输入张量数据,其由重建层从经级别缩减的张量数据产生。作为一个示例,第一重建输入张量数据分量可以是近似于输入图像的重建图像(例如,全色图像)。例如,重建图像可以具有与输入图像相同数量的通道和/或离散化级别。根据本公开的示例方面,通过包括来自颜色旁路网络的信息,可以使该图像更接近地逼近输入图像。
76.附加地和/或替代地,在一些实施方式中,确定重建输入张量数据可以包括获得(例如,通过计算系统)第二重建输入张量数据分量。第二重建输入张量数据分量可以从颜色旁路网络获得。例如,在一些实施方式中,第二重建输入张量数据可以是颜色旁路重建。例如,可以从颜色旁路重建层获得第二重建输入张量数据分量,该颜色旁路重建层包括在颜色旁路网络中和/或以其他方式连接到颜色旁路网络。第二重建输入张量数据分量可以至少部分基于输入张量数据。例如,在一些实施方式中,可以至少部分基于连接到(例如,完全连接到,诸如通过包括至少一个完全连接的隐藏单元)包括输入张量数据的输入层的颜色旁路网络来获得第二重建输入张量数据分量。在一些实施方式中,第二重建输入张量数据分量可以是基于输入图像的重建图像。第二重建输入张量分量可以是包括比第一重建输入张量数据分量的重建图像更少的局部空间信息的重建图像。例如,第二重建输入张量数据分量可以是重建图像的色调,诸如一个或多个梯度等。
77.附加地和/或替代地,在一些实施方式中,确定重建输入张量数据可以包括至少部分地基于第一重建输入张量数据分量和第二重建输入数据分量来确定(例如,通过计算系统)重建输入张量数据。例如,在一些实施方式中,可以至少部分基于第一重建输入张量数据分量和第二重建输入数据分量的逐像素组合来确定重建输入张量数据。
78.该计算机实现的方法可以包括至少部分基于输入张量数据和重建输入张量数据来确定(例如,通过计算系统)损失。例如,在一些实施方式中,损失可以是或者可以包括输入张量数据和重建输入张量数据之间的像素差异。例如,损失可以传达输入张量数据和重建输入数据之间的差异。该损失可以包括或定义一个或多个梯度,诸如相对于离散化级别缩减模型的参数的梯度。例如,在一些实施方式中,可以用诸如adam的反向传播/优化算法来训练模型。
79.该计算机实现的方法可以包括至少部分基于该损失来调整(例如,通过计算系统)离散化级别缩减模型的一个或多个参数。离散化级别缩减模型可以包括(多个)层(诸如(多个)输入层、(多个)特征表示层、(多个)通道缩减层、(多个)级别缩减层、(多个)输出层、(多个)重建层等)的一个或多个参数(诸如,例如节点和/或链接权重、核权重、激活值或级别等)和/或颜色旁路网络、和/或离散化级别缩减模型的其他部分。这些参数可以基于损失进行调整,诸如基于损失的梯度。例如,损失(例如,损失的梯度)可以通过离散化级别缩减模型反向传播,以调整模型的参数,从而训练模型。在一些实施方式中,离散化激活函数(诸如离散化双曲正切激活函数)的激活值或级别在训练期间可以不变。例如,由于离散化激活函数被定义为离散化输入,因此在训练期间可能不需要移动、缩放或以其他方式修改激活函数。因此,在反向传播步骤期间,可以忽略离散化激活函数的激活级别,这有助于简化模型的训练。
80.至少以这种方式,可以训练离散化级别缩减模型来产生经级别缩减的张量数据,该经级别缩减的张量数据包括足够的信息来重建足够精确的重建输入张量数据。这可以提供包括足够量的空间信息的经级别缩减的张量数据,这可以转化为例如经级别缩减的张量数据的图像的改善的可视性和/或可用性,以及各种其他用途。此外,即使在难以和/或不可能产生足够量的监督训练数据的情况下,本文描述的系统和方法也可以提供训练离散化级别缩减模型。例如,可以(例如,仅)使用容易获得的图像来训练模型,同时需要对图像进行很少或不需要修改。
81.直观地,机器学习离散化级别缩减模型可以学习将全色图像的颜色映射到不同的二进制或其他经级别缩减的散列或纹理中。该模型还可以直观地学习“纹理映射”,该“纹理映射”通过在相似颜色的情况下相似而在视觉上反映它们的源颜色。该行为没有被明确定义,并且事实上是以根据本公开的示例方面描述的方式配置机器学习模型的意外结果。这种行为可以提供经级别缩减的图像的生成,经级别缩减的图像可以更好地捕捉视觉信息,从而提高图像的可用性。
82.根据本公开的示例方面的系统和方法可以在各种应用中找到应用。作为一个示例,这里描述的系统和方法可以用于双色调打印。例如,与例如灰度和/或彩色打印相比,双色调打印可以更快和/或以更低的成本执行。双色调打印可适用于例如工作表、报纸或其他合适介质的批量打印。例如,根据本公开的示例方面,在此描述的系统和方法可以用于将灰度和/或全色图像转换成适于双色调打印的双色调图像。作为一个示例,这里描述的系统和方法可以被结合到与打印机硬件相关联的驱动软件或其他软件中。作为另一个示例,这里描述的系统和方法可以用来准备用于打印的文档。
83.作为另一个示例,这里描述的系统和方法可以用作网络服务或其他图像处理服务。例如,用户可以将(例如,全色)图像上传到图像处理服务,并且接收二值化或其他经比特缩减的图像作为来自该服务的输出。该服务可以是本地服务,诸如存储在用户操作的计算设备的存储器上的服务,和/或网络服务,诸如存储在远离用户操作的计算设备和/或经由因特网或其他网络访问的服务。作为一个示例,这里描述的系统和方法可以被结合到图像滤波器中,该图像滤波器将全色图像转换成二值图像或其他经比特缩减的图像。
84.作为另一个示例,在此描述的系统和方法可以用于为一些构造应用生成图像和/或示意图,诸如差减构造(例如,激光蚀刻、cnc机器、机器切割机等)。例如,在此描述的系统和方法可以被结合到驱动软件或其他与差减构造系统相关的软件中。作为另一个示例,这里描述的系统和方法可以用于生成提供给(多个)差减构造系统的图像或其他(例如,二进制)示意图。
85.作为另一个示例,在此描述的系统和方法可以用于生成双色调或其他经比特缩减的图像,用于在双色调或其他受限显示器上显示。例如,这里描述的系统和方法可以用于为双色调显示器(例如,双色调像素显示器)生成图像,诸如电子阅读器、电子墨水显示器、计算器等。作为一个示例,本文描述的系统和方法可以作为软件被包括在包括双色调显示器的设备上。
86.作为另一个示例,这里描述的系统和方法可以用作有损压缩方案。例如,离散化级别缩减模型可用于从输入张量数据产生经级别缩减的张量数据。简化的离散化张量数据可以需要更少的计算资源(例如,存储器中更少的比特、更少的带宽等)来存储和/或传输和/或解释输入张量数据。然后,(多个)重建层可以用于重建输入张量数据,诸如在稍后的时间点和/或在除了生成经级别缩减的张量数据的计算系统之外的计算系统处。
87.本文描述的系统和方法可以提供许多技术效果和益处,包括但不限于对计算技术的改进。作为一个示例,这里描述的系统和方法可以从输入张量数据产生具有改进的空间信息保留的经级别缩减的张量数据。这种改进的空间信息保留能够有助于张量数据的改进的可用性,诸如,例如,二值化或其他经级别缩减的图像的改进的可视性和/或信息传输能力。这可以提供更能反映输入张量数据的经级别缩减的张量数据,这可以提高作为有损压
缩方案、在有限能力显示器上显示等的可用性。
88.作为另一个示例,改进的空间信息保留可以提供具有改进的空间信息保留的经级别缩减的张量数据以用于应用中,对于这些应用由于根据常规方法的经级别缩减的张量数据不能传达足够的在那些应用中有用的信息而已经必须使用更高级别的张量数据。例如,由于传统的二值化图像不能传达足够的空间信息而先前需要全色图像的应用可以发现使用根据本公开的示例方面产生的可以传达足够的空间信息的二值化图像。这可以在至少这些应用中提供计算资源节省,因为根据本公开的示例方面产生的二值化图像和/或其他经级别缩减的张量数据可以具有减少的用于存储、传输和/或解释的计算资源需求(例如,每像素更少的比特)。
89.现在参考附图,将更详细地讨论本公开的示例实现。
90.图1a描绘了根据本公开的示例实现执行离散化级别缩减的示例计算系统100的框图。系统100包括通过网络180通信耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
91.用户计算设备102可以是任何类型的计算设备,例如个人计算设备(例如,膝上型或桌上型)、移动计算设备(例如,智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
92.用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器内核、微处理器、asic、fpga、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等及其组合。存储器114可以存储数据116和由处理器112执行以使用户计算设备102执行操作的指令118。
93.在一些实现中,用户计算设备102可以存储或包括一个或多个离散化级别缩减模型120。例如,离散化级别缩减模型120可以是或者可以以其他方式包括各种机器学习模型,例如神经网络(例如,深度神经网络)或者其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如,长短期记忆递归神经网络)、卷积神经网络或其他形式的神经网络。参考图2至图5讨论示例离散化级别缩减模型120。
94.在一些实现中,一个或多个离散化级别缩减模型120可以通过网络180从服务器计算系统130接收,存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实现。在一些实现中,用户计算设备102可以实现单个离散化级别缩减模型120的多个并行实例(例如,跨离散化级别缩减模型的多个实例执行并行离散化级别缩减)。
95.更具体地,根据本公开的示例方面,可以通过机器学习离散化级别缩减模型120从输入张量数据中产生经级别缩减的张量数据。机器学习离散化级别缩减模型120可以被配置成接收包括至少一个通道的输入张量数据,并且响应于接收输入张量数据,产生经级别缩减的张量数据。经级别缩减的张量数据可以包括减少数量的离散化级别(例如,与输入张量数据相比)。经级别缩减的张量数据可以近似(例如,视觉上近似)输入张量数据。例如,经缩减的离散化级别图像可以是具有两个离散化级别的二值图像。双色调图像可以近似具有更多离散化级别(诸如256个离散化级别)的全色图像。附加地和/或替代地,在一些实施方
式中,经级别缩减的张量数据可以包括比输入张量数据更少的通道。例如,经级别缩减的张量数据可以包括单个通道,而输入张量数据可以包括多于一个通道(例如,三个通道、四个通道等)。
96.附加地或可替换地,一个或多个离散化级别缩减模型140可以被包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130中,或者由该服务器计算系统130存储和实现。例如,离散化级别缩减模型140可以由服务器计算系统140实现为web服务(例如,离散化级别缩减服务)的一部分。因此,一个或多个模型120可以在用户计算设备102处存储和实现,和/或一个或多个模型140可以在服务器计算系统130处存储和实现。
97.用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以用来提供用户输入的其他手段。
98.服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器内核、微处理器、asic、fpga、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等及其组合。存储器134可以存储数据136和由处理器132执行以使服务器计算系统130执行操作的指令138。
99.在一些实现方式中,服务器计算系统130包括一个或多个服务器计算设备或者由一个或多个服务器计算设备来实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
100.如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个机器学习离散化级别缩减模型140。例如,模型140可以是或者可以包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。参考图2至图5讨论示例模型140。
101.用户计算设备102和/或服务器计算系统130可以通过与通过网络180通信耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150可以与服务器计算系统130分离,或者可以是服务器计算系统130的一部分。
102.训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器内核、微处理器、asic、fpga、控制器、微控制器等)并且可以是可操作地连接的一个处理器或多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等及其组合。存储器154可以存储数据156和由处理器152执行的指令158,以使训练计算系统150执行操作。在一些实施方式中,训练计算系统150包括一个或多个服务器计算设备或者由一个或多个服务器计算设备实施。
103.训练计算系统150可以包括模型训练器160,其使用各种训练或学习技术,诸如,例如误差的反向传播,来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140。例如,损失函数可以通过(多个)模型反向传播,以更新(多个)模型的一个或多个参数(例如,基于损失函数的梯度)。可以使用各种损失函数,诸如均方误差、似
然损失、交叉熵损失、铰链损失和/或各种其他损失函数。梯度下降技术可用于在多次训练迭代中迭代更新参数。在一些实施方式中,例如,(多个)模型120和/或140可以在训练期间存储在模型训练器160处,并且随后被传输到用户计算设备120和/或服务器计算系统130。模型训练器160可以提供用于推断的离散化模型的(多个)层和/或其他组件(例如,输入层、输出层和其间连接的(多个)层),并且可以提供和/或保留用于训练的模型的(多个)层和/或其他组件(例如,(多个)重建层、(多个)重建输出层、颜色旁路网络等)。
104.在一些实施方式中,执行误差的反向传播可以包括随时间执行截短的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、丢弃等)来提高被训练模型的泛化能力。
105.特别地,模型训练器160可以基于一组训练数据162来训练离散化级别缩减模型120和/或140。训练数据162可以包括例如用于训练(多个)离散化级别缩减模型120、140的任何合适的训练数据162。例如,训练数据162可以包括输入张量数据,诸如图像数据(例如,全色图像数据)。图像数据可以以任何合适的(例如数字)图像格式提供,诸如,例如bmp、jpeg/jpg、png、tiff或任何其他合适的格式。在许多情况下,准备有监督的训练数据(例如,输入和期望的输出数据的对)可能是困难的或不可能的,因此,这里描述的系统和方法可以提供无监督的训练。例如,训练数据162可以仅包括输入数据,诸如图像库。
106.在一些实现中,如果用户已经提供了同意,则训练示例可以由用户计算设备102提供。因此,在这样的实现中,提供给用户计算设备102的模型120可以由训练计算系统150根据从用户计算设备102接收的用户特定数据来训练。在某些情况下,这个过程可以被称为个性化模型。
107.模型训练器160包括用于提供所需功能的计算机逻辑。模型训练器160可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实施方式中,模型训练器160包括一组或多组计算机可执行指令,这些指令存储在有形的计算机可读存储介质中,诸如ram硬盘或光学或磁性介质。
108.网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或其某种组合,并且可以包括任何数量的有线或无线链路。一般而言,网络180上的通信可以使用各种通信协议(例如,tcp/ip、http、smtp、ftp)、编码或格式(例如,html、xml)和/或保护方案(例如,vpn、安全http、ssl),经由任何类型的有线和/或无线连接来承载。
109.在一些实施方式中,本公开的(多个)机器学习模型的输入可以是图像数据。(多个)机器学习模型可以处理图像数据以生成输出。作为示例,(多个)机器学习模型可以处理图像数据以生成图像识别输出(例如,图像数据的识别、图像数据的潜在嵌入、图像数据的编码表示、图像数据的散列等)。作为另一个示例,(多个)机器学习模型可以处理图像数据以生成图像分割输出。作为另一个示例,(多个)机器学习模型可以处理图像数据以生成图像分类输出。作为另一示例,(多个)机器学习模型可以处理图像数据以生成图像数据修改输出(例如,图像数据的变更等)。作为另一示例,(多个)机器学习模型可以处理图像数据以生成编码的图像数据输出(例如,图像数据的编码和/或压缩表示等)。作为另一个示例,(多个)机器学习模型可以处理图像数据以生成放大的图像数据输出。作为另一个示例,(多个)机器学习模型可以处理图像数据以生成预测输出。
110.在一些实施方式中,本公开的(多个)机器学习模型的输入可以是潜在编码数据(例如,输入的潜在空间表示等)。(多个)机器学习模型可以处理潜在编码数据以生成输出。例如,(多个)机器学习模型可以处理潜在编码数据以生成识别输出。作为另一个示例,(多个)机器学习模型可以处理潜在编码数据以生成重建输出。作为另一个示例,(多个)机器学习模型可以处理潜在编码数据以生成搜索输出。作为另一个示例,(多个)机器学习模型可以处理潜在编码数据以生成重新聚类输出。作为另一个示例,(多个)机器学习模型可以处理潜在编码数据以生成预测输出。
111.在一些实施方式中,本公开的(多个)机器学习模型的输入可以是传感器数据。(多个)机器学习模型可以处理传感器数据以生成输出。例如,(多个)机器学习模型可以处理传感器数据以生成识别输出。作为另一个示例,(多个)机器学习模型可以处理传感器数据以生成预测输出。作为另一个示例,(多个)机器学习模型可以处理传感器数据以生成分类输出。作为另一个示例,(多个)机器学习模型可以处理传感器数据以生成分割输出。作为另一个示例,(多个)机器学习模型可以处理传感器数据以生成分割输出。作为另一个示例,(多个)机器学习模型可以处理传感器数据以生成可视化输出。作为另一个示例,(多个)机器学习模型可以处理传感器数据以生成诊断输出。作为另一个示例,(多个)机器学习模型可以处理传感器数据以生成检测输出。
112.在一些情况下,(多个)机器学习模型可被配置成执行包括对输入数据进行编码以进行可靠和/或高效的传输或存储(和/或相应的解码)的任务。例如,该任务可以是音频压缩任务。输入可以包括音频数据,输出可以包括压缩的音频数据。在另一示例中,输入包括视觉数据(例如,一个或多个图像或视频),输出包括压缩的视觉数据,并且任务是视觉数据压缩任务。在另一个示例中,该任务可以包括为输入数据(例如,输入音频或视频数据)生成嵌入。
113.在一些情况下,输入包括视觉数据,并且任务是计算机视觉任务。在一些情况下,输入包括一个或多个图像的像素数据,并且任务是图像处理任务。例如,图像处理任务可以是图像分类,其中输出是一组分数,每个分数对应于不同的对象类别,并且表示一个或多个图像描绘属于该对象类别的对象的可能性。图像处理任务可以是对象检测,其中图像处理输出识别一个或多个图像中的一个或多个区域,并且对于每个区域,识别该区域描绘感兴趣对象的可能性。作为另一个示例,图像处理任务可以是图像分割,其中图像处理输出为一个或多个图像中的每个像素定义了预定类别集合中每个类别的相应可能性。例如,类别集合可以是前景和背景。作为另一个示例,类别集合可以是对象类别。作为另一示例,图像处理任务可以是深度估计,其中图像处理输出为一个或多个图像中的每个像素定义相应的深度值。作为另一个示例,图像处理任务可以是运动估计,其中网络输入包括多个图像,并且图像处理输出为输入图像之一的每个像素定义在网络输入中的图像之间的像素处描绘的场景的运动。
114.图1a示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现中,模型120可以在用户计算设备102本地训练和使用。在一些这样的实现中,用户计算设备102可以实现模型训练器160来基于用户特定的数据个性化模型120。
115.图1b描绘了根据本公开的示例实现执行离散化级别缩减的示例计算设备10的框
图。计算设备10可以是用户计算设备或服务器计算设备。
116.计算设备10包括多个应用(例如,应用1至n)。每个应用都包含自己的机器学习库和(多个)机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
117.如图1b所示,每个应用可以与计算设备的多个其他组件通信,诸如,例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实施方式中,每个应用可以使用api(例如,公共api)与每个设备组件通信。在一些实现中,每个应用使用的api是特定于该应用的。
118.图1c描绘了根据本公开的示例实现执行离散化级别缩减的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
119.计算设备50包括多个应用(例如,应用1至n)。每个应用都与中央智能层通信。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用可以使用api(例如,跨所有应用的公共api)与中央智能层(以及存储在其中的(多个)模型)通信。
120.中央智能层包括许多机器学习模型。例如,如图1c所示,可以为每个应用提供相应的机器学习模型(例如,模型),并由中央智能层管理。在其他实现中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实施方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实施方式中,中央智能层被包括在计算设备50的操作系统中,或者由计算设备50的操作系统来实现。
121.中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的集中式数据仓库。如图1c所示,中央设备数据层可以与计算设备的多个其他组件通信,例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现中,中央设备数据层可以使用api(例如,私有api)与每个设备组件通信。
122.图2描绘了根据本公开的示例实现的示例离散化级别缩减系统200的框图。离散化级别缩减系统200可以包括机器学习离散化级别缩减模型202。在一些实施方式中,离散化级别缩减模型202被训练成接收描述输入张量数据的一组输入数据204,并且作为接收输入数据204的结果,提供描述经级别缩减的张量数据的输出数据206。
123.图3描绘了根据本公开的示例实现的示例离散化级别缩减模型300的框图。离散化级别缩减模型300包括(多个)离散化级别缩减层302。(多个)离散化级别缩减层可以包括被配置成将输入数据204(例如,输入张量数据)缩减为输出数据206(例如,经级别缩减的张量数据)的层。例如,(多个)离散化级别缩减层302可以是产生离散化级别缩减模型300的总体输出的层。作为示例,(多个)离散化级别缩减层302可以是或者可以包括(多个)输入层、(多个)特征表示层、(多个)通道缩减层、(多个)级别缩减层和/或(多个)输出层。
124.附加地和/或替代地,离散化级别缩减模型300可以包括(多个)重建层304。(多个)重建层304可以从至少输出数据206(例如,经级别缩减的张量数据)产生重建输入数据306(例如,重建输入张量数据)。例如,(多个)重建层304可以包括提供重建输入数据306的重建输出层。重建输入数据306可以或可以不作为离散化级别缩减模型300的输出来提供。通常,重建输入数据306用于训练模型300,以改进输出数据206的预测,如本文所述。
125.图4描绘了根据本公开的示例实现的示例离散化级别缩减模型400的框图。根据本
公开的示例方面,输出数据206(例如,经级别缩减的张量数据)可以通过离散化级别缩减模型400从输入数据204(例如,输入张量数据)产生。机器学习离散化级别缩减模型400可以被配置成接收包括至少一个通道的输入张量数据,并且响应于接收输入张量数据,产生经级别缩减的张量数据。经级别缩减的张量数据可以包括减少数量的离散化级别(例如,与输入张量数据相比)。经级别缩减的张量数据可以近似(例如,视觉上近似)输入张量数据。例如,经缩减的离散化级别图像可以是具有两个离散化级别的二值图像。双色调图像可以近似具有更多离散化级别(诸如256个离散化级别)的全色图像。附加地和/或替代地,在一些实施方式中,经级别缩减的张量数据可以包括比输入张量数据更少的通道。例如,经级别缩减的张量数据可以包括单个通道,而输入张量数据可以包括多于一个通道(例如,三个通道、四个通道等)。
126.在一些实施方式中,机器学习离散化级别缩减模型400可以包括多个层。例如,这些层可以形成将输入数据204(例如,输入张量数据)转换成输出数据206(例如,经级别缩减的张量数据)的网络。此外,在一些实施方式中,这些层可以从输出数据206(例如,经级别缩减的张量数据)重建输入数据204(例如,输入张量数据)。重建输入张量数据可以用于训练模型400。例如,重建输入张量数据可以用于确定相对于原始输入张量数据的损失。损失可以通过每一层反向传播以训练模型400。
127.离散化级别缩减模型400可以包括被配置成接收张量数据的至少一个输入层402。例如,输入层402可以接收张量数据,诸如像素数据(例如,m
×
n图像)。输入层402可以作为张量数据的入口点。
128.在一些实施方式中,离散化级别缩减模型400可以包括至少一个特征表示层404。例如,在一些实现中,至少一个特征表示层404可以是或可以包括卷积层,诸如3
×
3、6
×
6等卷积层。(多个)特征表示层404可以将来自输入层402的输入张量数据映射(例如,通过卷积)到输入张量数据的特征表示,诸如特征图。在一些实施方式中,(多个)特征表示层404可以是(多个)步长-1卷积层,诸如(多个)3
×
3步长-1卷积层。
129.例如,卷积层可以通过将卷积核(诸如权重核)应用于先前的层中的数据来操作。可以在中心应用核,例如在先前的层中的对应位置。该层的步长可以指对于卷积层中每个值核移动的位置的数量。可以通过应用卷积核来计算一个值。该值可以作为激活函数的输入来提供,并且激活函数的输出可以是卷积层(例如,卷积层的单元)处的值。根据本公开的示例方面,在离散化级别缩减模型400中(例如,在(多个)级别缩减层408处)使用卷积层可能是有益的。例如,卷积层可以直观地防止二值化表示(例如,经级别缩减的张量数据)变得不可解释,因为这些表示可以仅由卷积层的核指定的数据形成。
130.在一些实施方式中,机器学习离散化级别缩减模型400可以是或者可以包括通道缩减层406。例如,通道缩减层406可以被配置成从先前的层(例如,(多个)输入层402和/或(多个)特征表示层404)接收输入数据。来自先前的层的输入数据可以具有第一数量的通道,诸如,例如三个通道、四个通道等。通道缩减层406可以缩减具有第一数量通道的输入数据,以输出具有第二(例如,减少的)数量的通道(诸如单个通道)的数据。例如,通道缩减层406可以将来自多个通道的数据组合成经缩减的多个通道和/或单个通道。作为示例,通道缩减层406可以直观地将指示全色图像的数据转换为指示对应于全色图像的灰度图像的数据。在一些实现中,通道缩减层406可以保留多个离散化级别。例如,通道缩减层406的输入
数据和/或输出数据可以具有相同数量的离散化级别。
131.根据本公开的示例方面,机器学习离散化级别缩减模型400可以包括将至少一个输入层402连接到输出层410的一个或多个级别缩减层408。例如,(多个)级别缩减层408可以从(多个)先前的层(例如,(多个)输入层402、(多个)特征缩减层、(多个)通道缩减层406、(多个)先前的级别缩减层408等)接收输入数据。在一些实现中,(多个)级别缩减层408可以是或可以包括(多个)卷积层,诸如(多个)3
×
3、6
×
6等卷积层。在一些实现中,(多个)级别缩减层408可以是(多个)步长-1卷积层。
132.一个或多个级别缩减层408可以各自被配置成至少部分地基于缩放因子来缩减离散化级别的数量。在一些实施方式中,缩放因子可以是一半。例如,在一些实现中,(多个)级别缩减层408中的每一个可以将该层的输出处的离散化级别缩减到该层的输入处的离散化级别的一半。例如,如果层的输入具有128个离散化级别的通道,则该通道的输出可能具有64个离散化级别。根据本公开的示例方面,可以采用其他合适的缩放因子来缩减离散化级别。在一些实施方式中,每个级别缩减层408可以具有相同的缩放因子(例如,一半)。附加地和/或可替换地,在一些实现中,第一级别缩减层408可以具有第一缩放因子,第二级别缩减层408可以具有不同于第一缩放因子的第二缩放因子。
133.在一些实现中,(多个)级别缩减层408可以渐进地和/或单调地缩减一个或多个级别缩减层中的每个级别缩减层的离散化级别的数量。例如,每个随后的级别缩减层408可以比先前的级别缩减层408具有更少的离散化级别。作为一个示例,离散化级别可以在每个级别缩减层408处通过离散化激活函数来缩减,该离散化激活函数具有对应于该层处的期望数量的离散化级别的多个激活级别。例如,在一些实现中,(多个)级别缩减层408可以每个包括离散化激活函数,该离散化激活函数具有对应于来自先前的层的减少数量的离散化级别的多个激活级别。在一些实施方式中,每个级别缩减层408可以具有离散化的激活函数,其激活级别的数量是先前的层(例如,紧邻的先前的层)的激活级别的数量的一半。在一些实施方式中,离散化激活函数可以是离散化的双曲正切函数。例如,对于任何给定的输入,离散化的双曲正切函数可以被离散化为离散的多个输出。
134.在一些实施方式中,在离散化级别缩减模型400的反向传播期间,可以忽略至少(多个)级别缩减层408中的激活函数。例如,激活函数可以在前向传播和/或推断期间使用,但是在反向传播步骤期间不受影响。例如,激活功能在训练期间可能不被修改。
135.根据本公开的示例方面,离散化级别缩减模型400可以包括任何合适数量的(多个)级别缩减层408。例如,(多个)级别缩减层408的数量可以至少部分地基于输出层410处的期望的离散化级别数量和/或每个级别缩减层408缩减离散化级别数量的缩放因子。例如,一个示例实现包括七个级别缩减层408,每个级别缩减层将输出处的离散化级别的数量缩减到输入处的一半。例如,示例实现可以被配置成将具有256个离散化级别的输入数据缩减到具有两个离散化级别的二值化输出数据。作为另一个示例,如果期望输出数据具有四个离散化级别,则可以仅包括五个级别缩减层408,每个级别缩减层将离散化级别的数量缩减到输入级别的一半。
136.根据本公开的示例方面,离散化级别缩减模型400可以包括输出层410,其被配置成提供经级别缩减的张量数据。例如,输出层410可以提供经级别缩减的张量数据作为离散化级别缩减模型400的输出(例如,图像)。在一些实施方式中,输出层410可以另外是最终级
别缩减层408。例如,输出层410除了提供输出数据作为离散化级别缩减模型400的输出之外,还可以缩减来自倒数第二个级别缩减层408的输入,以输出具有期望数量的离散化级别的数据。作为另一个示例,输出层410可以是最终级别缩减层408,其被配置成将到输出层410的输入的离散化级别的数量缩减到经级别缩减的张量数据的减少数量的离散化级别。在一些实施方式中,经级别缩减的张量数据的减少数量的离散化级别可以是两个离散化级别(例如,0和1)。在一些实现中,输出层410包括空间分量(例如,m
×
n个二进制像素的图像),这样在输出层410中找到的表示可以作为图像直接返回,诸如无需任何进一步的变换或其他修改。
137.附加地和/或替代地,机器学习离散化级别缩减模型400可以包括一个或多个重建层412。(多个)重建层412可以在输出层410之后。例如,(多个)重建层412可以尝试从经级别缩减的张量数据重建输入张量数据。作为一个示例,重建输出层414(例如,最终重建层)可以提供重建输入张量数据。在一些实施方式中,(多个)重建层412可以在结构上类似于和/或等同于(多个)特征表示层404。例如,在一些实现中,(多个)重建层412可以是或可以包括(多个)卷积层,诸如(多个)3
×
3、6
×
6等卷积层和/或(多个)步长-1卷积层。(多个)重建层412可以至少在训练期间使用和/或可以在推断期间不使用。例如,(多个)重建层412可以从部署的模型400中省略和/或包括在部署的模型400中,诸如用于在部署之后调整模型400。例如,重建输入数据可以不被用作或提供为模型400的输出。
138.直观地,包括用于至少训练的(多个)重建层412可以确保模型400学会产生输出张量数据,该输出张量数据包括足够的通道(例如,颜色)和/或空间信息以精确地重建原始张量数据(例如,图像)。例如,这可以导致足够的颜色信息被包括在二进制图像中(例如,作为学习的二进制模式),使得颜色信息可以在二进制图像本身中被感知。因此,虽然(多个)重建层412可能不用于生成机器学习离散化级别缩减模型400的最终输出,但是当在训练步骤中使用时,它们可以提供模型400的改进的生成能力。这在有监督的训练数据(例如,合适的二值化图像)不容易获得的情况下可能是有益的,因为模型400可以仅在容易获得的输入数据(例如,任何合适的图像)上以无监督的方式被训练。
139.在一些实施方式中,张量数据的维度可以由机器学习离散化级别缩减模型400来保持。例如,一些或所有维度(例如,长度、宽度、高度等。)可以与经级别缩减的张量数据的对应维度相同。例如,由机器学习离散化级别缩减模型400产生的二值化图像可以与输入图像具有相同的视觉维度(例如,宽度
×
高度)。
140.图5描绘了根据本公开的示例实现的示例离散化级别缩减模型500的框图。根据本公开的示例方面,输出数据206(例如,经级别缩减的张量数据)可以通过离散化级别缩减模型500从输入数据204(例如,输入张量数据)产生。机器学习离散化级别缩减模型500可以被配置成接收包括至少一个通道的输入张量数据,并且响应于接收输入张量数据,产生经级别缩减的张量数据。经级别缩减的张量数据可以包括减少数量的离散化级别(例如,与输入张量数据相比)。经级别缩减的张量数据可以近似(例如,视觉上近似)输入张量数据。例如,经缩减的离散化级别图像可以是具有两个离散化级别的二值图像。双色调图像可以近似具有更多离散化级别(诸如256个离散化级别)的全色图像。附加地和/或替代地,在一些实施方式中,经级别缩减的张量数据可以包括比输入张量数据更少的通道。例如,经级别缩减的张量数据可以包括单个通道,而输入张量数据可以包括多于一个通道(例如,三个通道、四
个通道等)。
141.在一些实施方式中,机器学习离散化级别缩减模型500可以包括多个层。例如,这些层可以形成将输入数据204(例如,输入张量数据)转换成输出数据206(例如,经级别缩减的张量数据)的网络。此外,在一些实施方式中,这些层可以从输出数据206(例如,经级别缩减的张量数据)重建输入数据204(例如,输入张量数据)。重建输入张量数据可以用于训练模型500。例如,重建输入张量数据可以用于确定相对于原始输入张量数据的损失。损失可以通过每一层反向传播以训练模型500。
142.离散化级别缩减模型500可以包括被配置成接收张量数据的至少一个输入层502。例如,输入层502可以接收张量数据,诸如像素数据(例如,m
×
n图像)。输入层502可以作为张量数据的入口点。
143.在一些实施方式中,离散化级别缩减模型500可以包括至少一个特征表示层504。例如,在一些实现中,至少一个特征表示层504可以是或者可以包括卷积层,诸如3
×
3、6
×
6等卷积层。(多个)特征表示层504可以将来自输入层502的输入张量数据映射(例如,通过卷积)到输入张量数据的特征表示,诸如特征图。在一些实施方式中,(多个)特征表示层504可以是(多个)步长-1卷积层,诸如(多个)3
×
3、步长-1卷积层。
144.例如,卷积层可以通过将卷积核(诸如权重核)应用于先前的层中的数据来操作。可以在中心应用核,诸如在先前的层中的对应位置。该层的步长可以指对于卷积层中每个值核移动的位置的数量。可以通过应用卷积核来计算一个值。该值可以作为激活函数的输入来提供,并且激活函数的输出可以是卷积层(例如,卷积层的单元)处的值。根据本公开的示例方面,在离散化级别缩减模型500中(例如,在(多个)级别缩减层508处)使用卷积层可能是有益的。例如,卷积层可以直观地防止二值化表示(例如,经级别缩减的张量数据)变得不可解释,因为这些表示可以仅由卷积层的核指定的数据形成。
145.在一些实现中,机器学习离散化级别缩减模型500可以是或者可以包括通道缩减层506。例如,通道缩减层506可以被配置成从先前的层(例如,(多个)输入层502和/或(多个)特征表示层504)接收输入数据。来自先前的层的输入数据可以具有第一数量的通道,例如三个通道、四个通道等。通道缩减层506可以缩减具有第一数量的通道的输入数据,以输出具有第二(例如,减少的)数量的通道(诸如单个通道)的数据。例如,通道缩减层506可以将来自多个通道的数据组合成经缩减的多个通道和/或单个通道。作为示例,通道缩减层506可以直观地将指示全色图像的数据转换为指示对应于全色图像的灰度图像的数据。在一些实现中,通道缩减层506可以保留多个离散化级别。例如,通道缩减层506的输入数据和/或输出数据可以具有相同数量的离散化级别。
146.根据本公开的示例方面,机器学习离散化级别缩减模型500可以包括将至少一个输入层502连接到输出层510的一个或多个级别缩减层508。例如,(多个)级别缩减层508可以从(多个)先前的层(例如,(多个)输入层502、(多个)特征缩减层、(多个)通道缩减层506、(多个)先前的级别缩减层508等)接收输入数据。在一些实现中,(多个)级别缩减层508可以是或可以包括(多个)卷积层,诸如(多个)3
×
3、6
×
6等卷积层。在一些实现中,(多个)级别缩减层508可以是(多个)步长-1卷积层。
147.一个或多个级别缩减层508可以各自被配置成至少部分地基于缩放因子来减少离散化级别的数量。在一些实施方式中,缩放因子可以是一半。例如,在一些实现中,(多个)级
别缩减层508中的每一个可以将该层的输出处的离散化级别缩减到该层的输入处的离散化级别的一半。例如,如果层的输入具有128个离散化级别的通道,则该通道的输出可能具有64个离散化级别。根据本公开的示例方面,可以采用其他合适的缩放因子来缩减离散化级别。在一些实施方式中,每个级别缩减层508可以具有相同的缩放因子(例如,一半)。附加地和/或可替换地,在一些实现中,第一级别缩减层508可以具有第一缩放因子,第二级别缩减层508可以具有不同于第一缩放因子的第二缩放因子。
148.作为一个示例,可以通过离散化激活函数在每个级别缩减层508缩减离散化级别,该离散化激活函数具有对应于该层的期望数量的离散化级别的多个激活级别。例如,在一些实施方式中,(多个)级别缩减层508可以各自包括离散化激活函数,该离散化激活函数具有对应于来自先前的层的减少数量的离散化级别的多个激活级别。在一些实施方式中,每个级别缩减层508可以具有离散化的激活函数,其激活级别的数量是先前的层(例如,紧邻的先前的层)的激活级别的数量的一半。在一些实施方式中,离散化激活函数可以是离散化的双曲正切函数。例如,对于任何给定的输入,离散化的双曲正切函数可以被离散化为离散的多个输出。
149.在一些实施方式中,在离散化级别缩减模型500的反向传播期间,可以忽略至少(多个)级别缩减层508中的激活函数。例如,激活函数可以在前向传播和/或推断期间使用,但是在反向传播步骤期间不受影响。例如,激活功能在训练期间可能不被修改。
150.根据本公开的示例方面,离散化级别缩减模型500可以包括任何合适数量的(多个)级别缩减层508。例如,(多个)级别缩减层508的数量可以至少部分地基于输出层510处的期望的离散化级别数量和/或每个级别缩减层508缩减离散化级别数量的缩放因子。例如,一个示例实现包括七个级别缩减层508,每个级别缩减层将输出处的离散化级别的减少数量到输入处的一半。例如,示例实现可以被配置成将具有256个离散化级别的输入数据缩减到具有两个离散化级别的二值化输出数据。作为另一个示例,如果期望输出数据具有四个离散化级别,则可以只包括五个级别缩减层508,每个级别缩减层将离散化级别的减少数量到输入级别的一半。
151.根据本公开的示例方面,离散化级别缩减模型500可以包括输出层510,其被配置成提供经级别缩减的张量数据。例如,输出层510可以提供经级别缩减的张量数据作为离散化级别缩减模型500的输出(例如,图像)。在一些实施方式中,输出层510可以另外是最终级别缩减层508。例如,输出层510除了提供输出数据作为离散化级别缩减模型500的输出之外,还可以缩减来自倒数第二个级别缩减层508的输入,以输出具有期望数量的离散化级别的数据。作为另一个示例,输出层510可以是最终级别缩减层508,其被配置成将输出层510的输入的离散化级别的数量缩减到经级别缩减的张量数据的减少数量的离散化级别。在一些实施方式中,经级别缩减的张量数据的减少数量的离散化级别可以是两个离散化级别(例如,0和1)。在一些实现中,输出层510包括空间分量(例如,m
×
n个二进制像素的图像),这样在输出层510中找到的表示可以作为图像直接返回,诸如无需任何进一步的变换或其他修改。
152.附加地和/或替代地,机器学习离散化级别缩减模型500可以包括一个或多个重建层512。(多个)重建层512可以在输出层510之后。例如,(多个)重建层512可以尝试从经级别缩减的张量数据重建输入张量数据。作为一个示例,重建输出层514(例如,最终重建层)可
以提供重建输入张量数据。在一些实施方式中,(多个)重建层512可以在结构上类似于和/或等同于(多个)特征表示层504。例如,在一些实现中,(多个)重建层512可以是或可以包括(多个)卷积层,诸如(多个)3
×
3、6
×
6等卷积层和/或(多个)步长-1卷积层。(多个)重建层512可以至少在训练期间使用和/或可以在推断期间不使用。例如,(多个)重建层512可以从部署的模型500中省略和/或包括在部署的模型500中,诸如用于在部署之后调整模型500。例如,重建输入数据可能不被用作或提供为模型500的输出。
153.直观地,包括用于至少训练的(多个)重建层512可以确保模型500学会产生输出张量数据,该输出张量数据包括足够的通道(例如,颜色)和/或空间信息以精确地重建原始张量数据(例如,图像)。例如,这可以导致足够的颜色信息被包括在二进制图像中(例如,作为学习的二进制模式),使得颜色信息可以在二进制图像本身中被感知。因此,虽然(多个)重建层512可能不用于生成机器学习离散化级别缩减模型500的最终输出,但是当在训练步骤中使用时,它们可以提供模型500的改进的生成能力。这在监督训练数据(例如,合适的二值化图像)不容易获得的情况下可能是有益的,因为模型500可以仅在容易获得的输入数据(例如,任何合适的图像)上以无监督的方式被训练。
154.在一些实施方式中,张量数据的维度可以由机器学习离散化级别缩减模型500来保持。例如,一些或所有维度(例如,长度、宽度、高度等)可以与经级别缩减的张量数据的对应维度相同。例如,由机器学习离散化级别缩减模型500产生的二值化图像可以与输入图像具有相同的视觉维度(例如,宽度
×
高度)。
155.离散化级别缩减模型500可以进一步包括颜色旁路网络522。颜色旁路网络522可以传递图像范围信息(例如,颜色信息)通过离散化级别缩减模型500的一些或所有层。例如,颜色旁路网络522可以传递图像范围信息,诸如色调和/或颜色信息,以在颜色旁路重建层524提供颜色旁路重建的重建,该颜色旁路重建与由(多个)重建层512(例如,在重建输出层514处)生成的重建相分离。颜色旁路网络522可以包括一个或多个隐藏单元。在一些实施方式中,颜色旁路网络522可以完全连接到离散化级别缩减模型500的层,诸如,例如输入层502。例如,颜色旁路网络522可以包括完全连接到输入层502的一个或多个完全连接的隐藏单元。例如,包括完全连接的隐藏单元可以允许隐藏单元捕获图像范围信息。在离散化级别缩减模型500的层是卷积层的实现中,这可以提供这些层(例如,(多个)特征表示层、(多个)级别缩减层等)可以捕获局部空间信息,而颜色旁路网络522可以捕获图像范围信息,例如色彩、色调等。作为一个示例,颜色旁路网络通常可以捕捉整体亮度或整体阴影效果,例如捕捉右上角是最亮的,左下角是最暗的。
156.直观地,包括颜色旁路网络522可以提供图像范围信息,例如色彩、色调等以被传递到颜色旁路重建输出层524处的颜色旁路重建。这使得不必在输出数据206处的经级别缩减的张量数据处捕捉该信息,该信息在级别缩减表示中可能是无用的(例如,因为级别缩减表示可能缺少例如颜色通道)。相反,该信息通过补充颜色旁路网络522传递,使得经级别缩减的张量数据包括(例如,在一些实现中,借助于卷积层)增加的局部空间/边界信息,这对于提供具有改进的空间(例如,视觉)信息的经级别缩减的张量数据是有用的。然而,通过将该信息传递通过颜色旁路网络522,它可以用于训练模型500。例如,作为第一重建输入张量数据分量的来自重建层512和/或514的重建可以与作为第二重建输入张量数据分量的来自颜色旁路重建输出层524的颜色旁路重建相结合,以重建重建输入张量数据。模型500然后
可以在该重建输入张量数据上训练(例如,与直接从重建层512和/或514重建相反)。作为一个示例,分量514和524可以通过像素级相加来组合,诸如通过逐个像素地相加在一起。
157.通常,期望颜色旁路网络522包括足够的隐藏单元来捕获期望的图像范围信息,但是不要大到使得颜色旁路网络522将捕获局部信息,这可以防止该信息被包括在经级别缩减的张量数据中。因此,在一些实施方式中,颜色旁路网络522可以包括一至十个隐藏单元,诸如一至十个完全连接的隐藏单元。例如,在一些实施方式中,颜色旁路网络522可以包括两个隐藏单元。直观地,这两个隐藏单元可以捕捉与图像的维度相关的信息,诸如宽度方向的颜色梯度和/或高度方向的颜色梯度,尽管这仅是为了说明的目的而描述的,并且隐藏单元可以捕捉任何合适的图像范围信息。
158.图6a、6b、6c和6d描绘了根据本公开的示例实现的示例离散化激活函数600、620、640和660。例如,离散化激活函数600、620、640、660是具有递减数量的激活级别(例如,对应于递减的离散化级别)的离散化双曲正切函数。作为一个示例,离散化激活函数600包括256个激活级别,能够产生具有256个离散化级别的层输出。例如,对包括函数600的层的输入将被用作函数600的输入,并被映射到函数的输出,作为在该层保留的值。例如,如果输入张量数据具有256个离散化级别,诸如输入图像数据具有每通道每像素8比特,则激活函数600可以被包括在第一级别缩减层。类似地,图6b描绘了具有64个激活级别的离散化激活函数620,对应于64个离散化级别。激活函数620可以被包括在产生具有64个离散化级别的输出的级别缩减层,诸如第三级别缩减层(例如,在每个级别缩减层将离散化级别的数量缩减到输入数量的一半的实现中)。类似地,图6c描绘了具有16个激活级别的离散化激活函数640,对应于16个离散化级别。如图6a至图6c所示,激活级别数量的减少通常对应于输出数据粒度的减少,这可以提供由数据传送的更少信息,同时缩减存储、传输和/或解释数据的要求。最后,图6d描绘了仅具有两个离散化级别0和1的激活函数660。例如,激活函数660可以被包括作为输出层和/或最终级别缩减层的激活函数,以提供二值化输出。
159.图7描绘了根据本公开的示例实现的示例计算机实现的方法700的流程图,该方法用于提供具有改进的(例如,空间)信息表示的经级别缩减的张量数据。尽管为了说明和讨论的目的,图7描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定说明的顺序或布置。在不脱离本公开的范围的情况下,方法700的各个步骤可以以各种方式被省略、重新排列、组合和/或修改。
160.计算机实现的方法700可以包括,在702,获得(例如,通过计算系统)输入张量数据。例如,可以从用户获得输入张量数据,诸如响应于用户执行文件上传或文件传输动作。作为另一个示例,可以从单独的计算系统接收输入张量数据。在一些实施方式中,输入张量数据可以是或者可以包括图像数据,诸如全色图像。
161.计算机实现的方法700可以包括,在704,提供(例如,通过计算系统)输入张量数据作为对机器学习离散化级别缩减模型的输入。离散化级别缩减模型可以被配置成接收具有多个离散化级别的张量数据,并且响应于接收张量数据,产生具有减少数量的离散化级别的经级别缩减的张量数据。
162.计算机实现的方法700可以包括,在706,从机器学习离散化级别缩减模型获得(例如,通过计算系统)经级别缩减的张量数据。例如,模型可以提供经级别缩减的张量数据作为模型的输出。经级别缩减的张量数据可以具有来自输入张量数据的减少数量的离散化级
别。
163.计算机实现的方法700可以包括,在708,(例如,通过计算系统)显示经级别缩减的张量数据。例如,经级别缩减的张量数据可以被显示(例如,作为图像),提供给打印机、建筑机械或其他合适的设备,和/或以其他方式显示给用户。
164.图8描绘了根据本公开的示例实现的示例计算机实现的方法800的流程图,该方法用于训练离散化级别缩减模型以提供具有改进的(例如空间)信息表示的经级别缩减的张量数据。尽管为了说明和讨论的目的,图8描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定说明的顺序或布置。在不脱离本公开的范围的情况下,方法800的各个步骤可以以各种方式被省略、重新排列、组合和/或修改。
165.计算机实现的方法800可以包括,在802,获得(例如,通过包括一个或多个计算设备的计算系统)训练数据。训练数据可以是用于训练离散化级别缩减模型的任何合适的训练数据。例如,训练数据可以包括输入张量数据。在许多情况下,准备有监督的训练数据(例如,输入和期望的输出数据的对)可能是困难的或不可能的,因此,这里描述的系统和方法可以提供无监督的训练。例如,训练数据可以仅包括输入数据,诸如图像库。
166.计算机实现的方法800可以包括,在804,将训练数据提供(例如,通过计算系统)给离散化级别缩减模型。离散化级别缩减模型可以被配置成接收具有多个离散化级别的张量数据,并且响应于接收张量数据,产生具有减少数量的离散化级别的经级别缩减的张量数据。
167.根据本公开的示例方面,离散化级别缩减模型可以是任何合适的离散化级别缩减模型。例如,在一些实施方式中,离散化级别缩减模型可以包括被配置成接收输入张量数据的至少一个输入层。附加地和/或替代地,在一些实施方式中,离散化级别缩减模型可以包括输出层,该输出层被配置成提供经级别缩减的张量数据。附加地和/或替代地,在一些实现中,离散化级别缩减模型可以包括将至少一个输入层连接到输出层的一个或多个级别缩减层。一个或多个级别缩减层可以被配置成缩减一个或多个级别缩减层中的每个级别缩减层的离散化级别的数量。附加地和/或替代地,在一些实施方式中,离散化级别缩减模型可以包括一个或多个重建层,其被配置成从经级别缩减的张量数据重建重建输入张量数据。此外,在一些实施方式中,离散化级别缩减模型可以包括颜色旁路网络,诸如包括一个或多个完全连接的隐藏单元(诸如从一个到十个隐藏单元,诸如两个隐藏单元)的颜色旁路网络。
168.计算机实现的方法800可以包括,在806,至少部分基于离散化级别缩减模型来确定(例如,通过计算系统)经级别缩减的张量数据。例如,经级别缩减的张量数据可以由离散化级别缩减模型来确定,诸如由离散化级别缩减模型的输出层来确定。经级别缩减的张量数据可以作为输出提供和/或可以被传播用于训练模型(例如,作为输出提供或不提供)。在一些实施方式中,经级别缩减的张量数据可以是或者可以包括从训练数据的输入图像生成的二值化图像。例如,在一些实施方式中,输入张量数据可以是或者可以包括图像数据。附加地和/或替代地,经级别缩减的张量数据可以是或者可以包括二值化的图像数据。作为一个示例,可以通过将输入张量数据提供给包括例如(多个)输入层、(多个)特征表示层、(多个)通道缩减层、(多个)级别缩减层和/或(多个)输出层的离散化级别缩减模型来确定经级别缩减的张量数据。
169.计算机实现的方法800可以包括,在808,至少部分基于离散化级别缩减模型,至少部分基于经级别缩减的张量数据,确定(例如,通过计算系统)重建输入张量数据。例如,重建输入张量数据可以至少从经级别缩减的张量数据中重建,诸如通过离散化级别缩减模型的(多个)重建层。重建输入张量数据可以类似于输入张量数据。例如,重建输入张量数据可以包括比经级别缩减的张量数据更大量的信息和/或以更容易感知的方式的信息,包括从经级别缩减的张量数据外推以重建输入张量数据的信息。通常,希望重建输入张量数据尽可能地接近输入张量数据,同时符合离散化级别缩减模型的结构。以这种方式,模型可以学习在经级别缩减的张量数据处提供足够的空间信息,以接近地重建输入张量数据。
170.在一些实施方式中,诸如离散化级别缩减模型包括颜色旁路网络的实施方式,确定重建输入张量数据可以至少部分基于经级别缩减的张量数据和颜色旁路重建。例如,在一些实施方式中,确定重建输入张量数据可以包括获得(例如,通过计算系统)第一重建输入张量数据分量。可以从一个或多个重建层获得第一重建输入张量数据分量。第一重建输入张量数据分量可以至少部分基于经级别缩减的张量数据。例如,第一重建输入张量数据分量可以是(例如,中间)重建输入张量数据,其由重建层从经级别缩减的张量数据产生。作为一个示例,第一重建输入张量数据分量可以是近似于输入图像的重建图像(例如,全色图像)。例如,重建图像可以具有与输入图像相同数量的通道和/或离散化级别。根据本公开的示例方面,通过包括来自颜色旁路网络的信息,可以使该图像更接近地近似输入图像。
171.附加地和/或替代地,在一些实施方式中,确定重建输入张量数据可以包括获得(例如,通过计算系统)第二重建输入张量数据分量。第二重建输入张量数据分量可以从颜色旁路网络获得。例如,在一些实施方式中,第二重建输入张量数据可以是颜色旁路重建。例如,可以从颜色旁路重建层获得第二重建输入张量数据分量,该颜色旁路重建层包括在颜色旁路网络中和/或以其他方式连接到颜色旁路网络。第二重建输入张量数据分量可以至少部分基于输入张量数据。例如,在一些实施方式中,可以至少部分基于连接到(例如,完全连接到,诸如通过包括至少一个完全连接的隐藏单元)包括输入张量数据的输入层的颜色旁路网络来获得第二重建输入张量数据分量。在一些实施方式中,第二重建输入张量数据分量可以是基于输入图像的重建图像。第二重建输入张量分量可以是包括比第一重建输入张量数据分量的重建图像更少的局部空间信息的重建图像。例如,第二重建输入张量数据分量可以是重建图像的色调,诸如一个或多个梯度等。
172.附加地和/或替代地,在一些实施方式中,确定重建输入张量数据可以包括至少部分地基于第一重建输入张量数据分量和第二重建输入数据分量来确定(例如,通过计算系统)重建输入张量数据。例如,在一些实施方式中,可以至少部分基于第一重建输入张量数据分量和第二重建输入数据分量的逐像素组合来确定重建输入张量数据。
173.计算机实现的方法800可以包括,在810,至少部分基于输入张量数据和重建输入张量数据来确定(例如,通过计算系统)损失。例如,在一些实施方式中,损失可以是或者可以包括输入张量数据和重建输入张量数据之间的像素差异。例如,损失可以传达输入张量数据和重建输入数据之间的差异。该损失可以包括或定义一个或多个梯度,诸如相对于离散化级别缩减模型的参数的梯度。在一些实施方式中,可以仅使用经级别缩减的张量数据和/或(在一些实施方式中)颜色旁路网络信息来产生重建输入数据,这可以直观地提供模型被训练为包括在经级别缩减的张量数据中重建输入张量数据所需的信息。
174.计算机实现的方法800可以包括,在812,至少部分基于该损失来调整(例如,通过计算系统)离散化级别缩减模型的一个或多个参数。离散化级别缩减模型可以包括(多个)层(诸如(多个)输入层、(多个)特征表示层、(多个)通道缩减层、(多个)级别缩减层、(多个)输出层、(多个)重建层等)的一个或多个参数(诸如,例如节点和/或链接权重、核权重、激活值或级别等)和/或颜色旁路网络、和/或离散化级别缩减模型的其他部分。这些参数可以基于损失进行调整,诸如基于损失的梯度。例如,损失(例如,损失的梯度)可以通过离散化级别缩减模型反向传播,以调整模型的参数,从而训练模型。在一些实施方式中,离散化激活函数(例如离散化双曲正切激活函数)的激活值或级别在训练期间可以不变。例如,由于离散化激活函数被定义为离散化输入,因此在训练期间可能不需要移动、缩放或以其他方式修改激活函数。因此,在反向传播步骤期间,可以忽略离散化激活函数的激活级别,这有助于简化模型的训练。
175.至少以这种方式,可以训练离散化级别缩减模型来产生经级别缩减的张量数据,该经级别缩减的张量数据包括足够的信息来重建足够精确的重建输入张量数据。这可以提供包括足够量的空间信息的经级别缩减的张量数据,这可以转化为例如经级别缩减的张量数据的图像的改善的可视性和/或可用性,以及各种其他用途。此外,即使在难以和/或不可能产生足够量的监督训练数据的情况下,本文描述的系统和方法也可以提供训练离散化级别缩减模型。例如,可以(例如,仅)使用容易获得的图像来训练模型,同时需要对图像进行很少或不需要修改。
176.直观地,机器学习离散化级别缩减模型可以学习将全色图像的颜色映射到不同的二进制或其他经级别缩减的散列或纹理中。该模型还可以直观地学习“纹理映射”,该“纹理映射”通过在相似颜色的情况下相似而在视觉上反映它们的源颜色。该行为没有被明确定义,并且事实上是以根据本公开的示例方面描述的方式配置机器学习模型的意外结果。这种行为可以提供经级别缩减的图像的生成,经级别缩减的图像可以更好地捕捉视觉或其他空间信息,从而提高图像的可用性。
177.这里讨论的技术涉及服务器、数据库、软件应用和其他基于计算机的系统,以及所采取的行动和发送到这些系统和从这些系统接收的信息。基于计算机的系统的固有灵活性允许在组件之间对任务和功能进行多种可能的配置、组合和划分。例如,这里讨论的过程可以使用单个设备或组件或者组合工作的多个设备或组件来实现。数据库和应用程序可以在单个系统上实现,也可以分布在多个系统上。分布式组件可以顺序或并行操作。
178.虽然本主题已经关于其各种具体示例实现进行了详细描述,但是每个示例都是以解释的方式提供的,而不是对本公开的限制。本领域的技术人员在理解了前述内容之后,可以容易地对这种实施方式进行变更、变型和等效。因此,本主题公开不排除包括对本主题的这种修改、变化和/或添加,这对于本领域普通技术人员来说是显而易见的。例如,作为一个实施方式的一部分示出或描述的特征可以与另一个实施方式一起使用,以产生更进一步的实施方式。因此,本公开旨在覆盖这些改变、变化和等同物。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1