真实世界音频训练数据的自动挖掘
1.在机器学习领域中,必须获取用于训练机器学习模型的干净且正确标记的数据来训练模型。日期的收集和监管通常涉及评估者,他们听取以各种方式收集的数据并标记数据。因此,收集此种音频训练数据通常是非常劳动密集型的,容易产生各种偏见并且存在隐私风险。
技术实现要素:2.本说明书涉及收集音频数据,以用于训练机器学习模型来辨识音频数据中的特征。下面描述的系统和方法有助于以设备上(on-device)的方式自动地标记真实世界音频数据,而无需将它们从设备转移出来供人类评估者审查。这样会降低私人数据泄露风险的可能性。然后,标记的数据可以在设备上用于设备上联邦学习(federated leaming)(在这种情况下,天可以从未需要离开设备)或传递到云,其中数据可以用于对模型进行服务器端训练(在这种情况下,避免不需要的隐私风险和人类评估者的金钱成本)。
3.一般来说,本说明书中描述的主题的一个创新方面可以体现方法中,所述方法包括由包括多个麦克风的用户设备接收音频记录集合的动作,其中对于每个音频记录集合,该集合中的每个音频记录在特定时间间隔期间通过用户设备中的多个麦克风中的相应的单独的麦克风记录,并且每个特定时间间隔对于每个音频记录集合是不同的;对于每个音频记录集合,由检测器确定该音频记录集合中的音频记录是否包括特定音频特征,并且音频记录中的另一音频记录是否不包括特定音频特征;对于被确定为包括含有特定音频特征的音频记录和包括不含有特定音频特征的另一音频记录的每个音频记录集合,生成经标记的训练样本,所述经标记的训练样本包括(i)被确定为不包括特定音频特征的音频记录的至少一部分,以及(ii)指示存在特定音频特征的标记。此方面的其它实施例包括对应系统、装置和在计算机存储设备上编码的计算机程序,所述计算机程序被配置成执行方法的动作。
4.在一些实施方式中,所述方法还包括使用生成的所标记训练样本来训练机器学习模型。一旦训练,机器学习模型可以在用户设备上执行。
5.在一些实施方式中,生成包括(i)被确定为不包括特定音频特征的音频记录的至少一部分以及(ii)指示存在特定音频特征的标记的所述经标记的训练样本包括:生成经标记的训练样本,使得所述经标记的训练样本包括(i)被确定为不包括特定音频特征的每个音频记录的一部分,以及(ii)指示存在特定音频特征的标记。所述方法还可以包括:从被确定为不包括特定音频特征的音频记录的部分中选择音频记录的子部分,所选择的子部分与被确定为包括特定音频特征且特定音频特征是根据其来被确定为存在于音频记录中的音频记录的子部分在时间上一致;以及将所选择的子部分用作音频记录的所述一部分。
6.在一些实施方式中,由机器学习模型确定音频记录集合中的音频记录是否包括特定音频特征以及音频记录中的另一音频记录是否不包括特定音频特征包括:确定来自第一麦克风的音频记录是否包括特定音频特征;当来自第一麦克风的音频记录被确定为包括特定音频特征时,确定来自其它麦克风中的一个或多个的音频记录是否包括特定音频特征;
以及当来自第一麦克风的音频记录被确定为不包括特定音频特征时,确定来自其它麦克风的其它音频记录不包括特定特征。
7.可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。预先标记的音频训练数据集可以在没有评估者审查的情况下收集,但具有对数据进行正确标记的高置信度。这样大大减少音频数据收集时间和开销。因为可以使用真实世界数据,所以可以在各种规模上进行收集,而不会不利地影响收集时间。此外,因为基于由自动化设备过程辨识音频特征而预先标记音频数据,所以音频数据不受人类评估者审查时固有的人类偏见的影响。
8.音频数据的收集可以用于训练专门为特定用户设备定制的模型。例如,在发布新的移动设备时,可以在短时间段(例如,一天)内收集来自数千个设备的音频训练数据的数据收集,并且特定于新设备的模型可以在发布该设备之后被快速地训练并被分发给该设备。因为每个特定设备可能具有特定声学收集特性(例如,具有特定响应的特定麦克风,以及特定设备的不同于其它设备的特定物理布置),所以为特定设备收集的训练数据准确地反映可以针对所述设备预期的模型输入。因此,当基于每设备模型训练模型时,可以提高准确度。另一优点是收集特定于特定类型的设备(例如,特定智能手机型号)的训练数据,以及捕获数据的环境的特定听觉属性(例如,房间声学、例如城市嗡嗡声的噪声背景等)。另一个优点是避免将捕获的数据暴露给人类评估者,从而最大限度地减少数据泄露隐私风险。
9.此外,通过使用从自不同麦克风捕获的对应音频获得的标记来标记所捕获音频数据,随后在该数据上训练的机器学习模型在处理边缘情况时可以显示出更高的准确度。
10.在附图和以下具体实施方式中阐述本说明书中描述的主题的一个或多个实施例的细节。主题的其它特征、方面和优点将从具体实施方式、附图和权利要求书变得显而易见。
附图说明
11.图1是音频数据收集过程和模型训练的系统流程图。
12.图2a是用于生成标记的训练样本的示例过程的流程图。
13.图2b是用于生成标记的训练样本的另一示例过程的流程图。
14.图3图示从音频记录数据集合生成标记的训练样本的示例。
具体实施方式
15.例如智能手机的多个电子设备通常包括多个麦克风。每个单独的麦克风可以同时记录相同的音频以生成相同音频的多个音频记录。本说明书描述自动地收集干净且正确标记的训练数据且无需人工审查的方法。具体来说,下文描述的系统和方法能够使用用户设备获取真实世界音频记录以生成用于训练机器学习模型的训练样本,所述用户设备包括用于记录来自环境的音频的多个麦克风。每个训练样本包括来自用户设备中的至少一个麦克风的音频记录以及描述音频特征的标记,所述音频特征被确定为存在于这些音频记录中的一个中并且还被确定为不存在于训练样本中包括的音频记录中。因为设备将来自至少一个麦克风的音频记录确定为具有特定音频特征,所以从设备上的另一个麦克风同时生成且不被确定为具有特定音频特征的音频记录可以被标记为具有音频特征并且用作训练样本。
16.具有多个麦克风的用户设备可以从每个麦克风生成音频记录。在给定时间间隔内,每个麦克风将在相同环境中记录并且在特定时间间隔中生成音频记录。一般来说,记录将包括噪声。这种噪声在每个通道(“通道”是麦克风的输出)上可能不同,使得一个或多个记录可能会导致检测到所述特征,而其它记录可能不会检测到所述特征。例如,这可能是由于一只手在麦克风中的一个上、麦克风被部分遮挡等。每个音频记录的质量还基于麦克风的性能特性、麦克风与音频源的距离,以及麦克风相对于音频源的对准。其它因素也可能影响音频质量。
17.为了生成用于音频记录集合的标记,用户设备检测在音频记录集合中的一个音频记录中说出的音频特征,例如特定单词或短语。在以至少预定置信度识别音频记录中的一个中的单词时,用户设备可以选择音频记录和同时记录的其它音频记录以生成标记的训练样本。所选择的音频数据用检测到的单词或短语进行标记。
18.在一些实施方式中,机器学习模型使用预定麦克风以及其相应的音频记录来检测音频特征。如果未检测到音频特征,则不处理来自其它麦克风的音频。通常,预定麦克风是比用户设备上的其它麦克风具有更高质量的麦克风,或者位于用户设备上的某个位置以接收衰减量和遮挡量最小的所发出语音声音的麦克风。如果检测到音频特征,则处理来自其它麦克风的音频,以确定是否在其它音频中检测到特征的存在。这样做是例如为了保持用户设备上的处理能力和电池寿命,因为在主通道上运行标记检测过程以检测音频特征会减少为其它通道调用标记检测过程的次数。
19.在其它实施方式中,即使在预定麦克风中未检测到音频特征时,也处理来自每个麦克风的音频。
20.在一些实施方式中,在机器学习模型成功地检测到音频记录集合中的一个音频记录中的音频特征时,集合中的所有音频记录用作训练样本。在其它实施方式中,仅将未检测到单词的那些音频记录用作训练样本。
21.在一些实施方式中,在记音频记录频的时间间隔期间说出多个单词。在此实施方式中,机器学习模型检测音频记录中是否存在多个单词以及与每个记录相关联的时间戳。音频记录的其余部分基于时间戳进行拆分,由此为特定音频特征和对应训练样本生成音频记录,其中标记是特定单词。
22.在整个本说明书中,作为示例描述的音频特征是语音检测过程监测的关键词或“热词”。然而,下面描述的方法和系统可以用于为其它音频特征生成训练数据。例如,所述系统和方法可以用于生成模型的训练数据示例,所述模型检测除了语音之外的声音,例如音乐,或检测来自动物和机器的声音。更一般来说,所述方法和系统可以适用于为任何类型的可检测音频特征生成标记数据。
23.下文更详细地描述这些特征和额外特征。
24.图1是音频数据收集过程和模型训练的系统流程图100。人180使用电子设备102并对设备说话,例如以调用电子助手。电子设备102包括三个麦克风104、106和108。电子设备102还包括机器学习模型150(或检测特定音频特征的某一其它音频处理系统或过程,并且通常可以称为“检测器”)。
25.由麦克风104、106和108生成的音频数据可以临时地存储在例如设备上存储器的数据存储介质140中。假设人180已经在三个不同时间对设备102讲话,从而导致电子设备
102中的麦克风在相应的时间间隔t0-t1、t2-t3和t4-t5内生成音频记录集合160、165和170。每个音频记录集合包括三个音频记录。音频记录集合160包括三个音频记录110、112和114。类似地,音频记录集合165和170分别包括记录120、122、124和130、132、134。
26.如将描述的,音频记录集合中的仅一个音频记录集合用于生成标记的训练样本。具体来说,机器学习模型150(或其它检测过程)确定在集合160的音频记录110中存在音频特征,例如特定热词或短语,但未在记录112和114中的检测音频特征。正例检测(positive detection)由记录110旁边的值1指示,并且未检测由记录112和114旁边的值0指示。此处,音频特征是由附图标记w160表示的特定热词的检测。
27.音频记录集合160中的其它音频记录112和114存储为训练样本,因为在这些记录中没有检测到单词w160。具体来说,记录112和114用通过模型140检测到的单词w160标记。训练样本112和114以及对应标记w160随后存储在存储介质140上。在存储训练样本时,训练样本可以用于进一步训练机器学习模型150,或替选地提供给用户设备102外部的系统以用于训练模型。随后可以使用此数据和其它音频数据训练模型。
28.其它音频数据集合(集合165和170)不用于创建标记的训练样本。然而,由于不同的原因,每个都没有使用。参考集合165,在每个音频记录120、122和124中检测到音频特征。跨越所有音频记录的检测通常指示单词清晰且相对于信号的噪声较小,并且因此与特征更容易受到噪音或其它检测挑战影响的音频相比,对于训练机器学习过程的实用性更小。因此,音频不用于生成标记的训练样本。
29.参考集合170,在任何音频记录130、132和134中都没有检测到音频特征。跨越所有音频的检测都不指示无法用于训练检测模型的音频。因此,音频不用于生成标记的训练样本。
30.图2a和2b是用于生成标记的训练样本的示例过程200和220的两个示例系统流程图。图2a的过程200是仅在第一记录(来自主要或预定麦克风的记录)中检测到音频特征并且在来自其它麦克风的一个或多个记录中未检测到音频特征时生成标记的训练样本的过程。当需要节能时,或当可以确定更高置信度时使用过程200,因为预定麦克风通常相对于其它麦克风生成更高质量的音频信号。
31.图2b的过程220是在集合中的任一音频记录中检测到音频特征并且在集合中的至少一个另一音频记录中未检测到音频特征时生成标记的训练样本的过程。当需要更激进的手段来生成标记的训练样本时,使用过程220。
32.每个过程可以在用户设备102上执行,或者替选地,在从用户设备接收音频记录集合的基于云的系统中执行。
33.参考图2a,过程200接收音频记录集合(202)。例如,可以接收图1的集合160、165或170中的任一个。
34.在接收到音频记录集合时,集合中的第一音频记录由检测器分析以检测特定音频特征(204)。检测器可以是机器学习的模型,或能够检测特定音频特征的某一其它过程、软件或设备。如果集合中的第一音频记录确定为不包括第一音频特征,则过程200不制作标记的训练样本(206)。
35.然而,如果集合中的第一音频记录被确定为包括第一音频特征,则过程200确定音频记录集合中的其它音频记录是否不包括特定音频特征(208)。
36.如果过程200未能在集合中的一个或多个其它音频记录中检测到音频特征,则该一个或多个音频记录用音频特征标记并且用作训练样本。具体来说,过程200生成标记的训练样本,所述训练样本包括(i)被确定为不包括特定音频特征的音频记录的至少一部分,以及(ii)指示存在特定音频特征的标记(210)。
37.相反,如果过程200在集合中的每个其它音频记录中检测到音频特征,则过程200不制作标记的训练样本(206)。
38.参考图2b,过程220接收音频记录集合(222)。例如,可以接收图1的集合160、165或170中的任一个。
39.过程200然后选择集合中的音频记录,并且确定集合中的音频记录是否包括特定音频特征(224)。如果音频记录不包括音频特征,则过程确定是否有未经处理的另一音频记录供选择(226)。如果是,则选择该记录且过程200返回到224。如果不是,则音频记录都不包括音频特征,且因此过程200不制作标记的训练样本(230)。
40.然而,如果所选择的音频记录不包括音频特征,则过程200确定音频记录集合中的其它音频记录是否不包括特定音频特征(228)。
41.如果过程220未能在集合中的一个或多个其它音频记录中检测到音频特征,则该一个或多个音频记录用音频特征标记并且用作训练样本。具体来说,过程220生成标记的训练样本,所述训练样本包括(i)被确定为不包括特定音频特征的音频记录的至少一部分,以及(ii)指示存在特定音频特征的标记(232)。
42.相反,如果过程220在集合中的每个其它音频记录中检测到音频特征,则过程220不制作标记的训练样本(226)。
43.在一些实施方式中,将整个片段或每个音频记录存储为标记的训练样本。在其它实施方式中,仅将音频记录中检测到音频特征的部分存储为标记的训练样本。这种后一实施方式在图3中图示,图3是从音频记录数据集合生成标记的训练样本的图示。
44.音频记录集合301包括在从t0到t5的时间段期间记录的四个音频记录302、304、306和308。检测过程在音频记录304和306中的时间段t2到t3之间的音频中检测到存在感兴趣的音频特征(由加括号的{c}指示),如这些音频记录中的时间段t2-t3的有界框所指示。然而,在记录302和308中,未检测到音频特征。
45.系统(例如,执行程序以生成标记的音频数据的用户设备,或执行程序以生成标记的音频数据的基于云的系统)从确定为不包括特定音频特征的音频记录的部分中选择音频记录的子部分,所述子部分与确定为包括特定音频特征的音频记录的子部分在时间上一致。例如,选择在t2与t3之间的时间段的音频记录的子部分。音频记录302和308的所选择子部分随后用作音频记录的部分,以生成用描述符{c}标记的标记训练330数据。描述符{c}指示存在音频特征。来自记录304和306的子部分还可以用于标记的训练数据中。
46.一旦生成包括标记的训练样本的标记数据集,它就可以用于训练机器学习模型以辨识音频中的音频特征。例如,机器学习模型可以包括神经网络模型,例如卷积神经网络、循环神经网络和/或长短期记忆网络。机器学习模型可以例如使用随机初始化的模型参数从头开始训练。替选地,可以使用生成的标记数据集细化预训练的神经网络。
47.在训练期间,来自标记数据集中的标记样本的音频数据由机器学习模型处理以生成音频数据的候选分类/描述符。候选分类/描述符可以指示音频数据中可能存在音频特
征。在一些实施例中,在训练期间仅使用来自特定设备的音频数据,以针对所述特定设备的属性来定制模型。
48.将候选分类/描述符与音频数据的已知标记进行比较。可以使用分类损失函数执行比较。此损失函数的示例是交叉熵损失函数。
49.基于候选分类/描述符与音频数据的已知标记的比较而更新机器学习模型的参数。例如,此类参数可以包括神经网络节点的权重和偏差。可以使用例如梯度下降的优化过程来确定从损失函数的参数更新。
50.可以迭代训练,直到满足阈值条件。阈值条件可以是阈值迭代次数和/或对正在实现的验证数据集的阈值分类准确度。在每次迭代中,可以使用来自标记数据集中的标记样本的不同音频数据。
51.一旦训练,设备就可以使用机器学习模型来执行音频辨识/分类任务。
52.在一些实施方式中,可能希望将标记模型的音频特征检测阈值设置为高值,以提升检测到的音频特征的精度,即使这是以收集更少数据为代价的。这是因为检测阈值会影响收集到的音频样本的“质量”与“数量”之间的平衡。最佳选择可能是特定于用例的,但一般来说,最大化精度的高阈值更可能在这种场境(context)下运作良好,因为对所推断标记能够使用这些阈值训练高质量模型的正确性有信心。如果收集的数据可以由人类评估者验证,则出现所推断标记的正确性不太重要的情况。虽然这并没有完全消除人类评估者的所有优势,但它可能仍然是有利的,因为其减少需要交给评估者的数据量,并且他们的评分可以简化为接受或拒绝机器推断的标记。
53.在本文所论述的系统收集关于用户的个人信息,或可以利用个人信息的情况下,可以向用户提供控制应用程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户的偏好或用户的当前位置的信息),或控制是否和/或如何接收可能与用户更相关的内容的机会。另外,某些数据可以在存储或使用之前通过一种或多种方式处理,使得清除个人身份信息。例如,可以处理用户的身份,使得无法确定用户的个人可识别信息,或者可以在获得位置信息的情况下将用户的地理位置进行泛化(例如,城市、邮政编码或州级别),使得无法确定用户的特定位置。因此,用户可以控制如何收集关于用户的信息以及内容服务器如何使用这些信息。
54.本说明书中描述的主题和操作的实施例可以在数字电子电路,或在计算机软件、固件或硬件,包括本说明中所公开的结构以及其结构等效物,或在其中的一者或多者的组合中实施。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即,在计算机存储介质上编码以供数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。
55.计算机存储介质可以是计算机可读存储设备、计算机可读存储衬底、随机或串行接入存储器阵列或设备,或其中的一者或多者的组合,或可以包括在计算机可读存储设备、计算机可读存储衬底、随机或串行接入存储器阵列或设备,或其中的一者或多者的组合中。此外,尽管计算机存储介质不是传播信号,但是计算机存储介质可以是在人为产生的传播信号中编码的计算机程序指令的源或目标。计算机存储介质还可以是一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其它存储设备),或可以包括在一个或多个单独的物理组件或介质中。
56.本说明中描述的操作可以实施为由数据处理装置对存储于一个或多个计算机可读存储设备上或从其它源接收的数据执行的操作。
57.术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上系统,或多个片上系统,或前述项的组合。装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行环境、虚拟机,或其中的一者或多者的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,例如,网络服务、分布式计算基础结构和网格计算基础结构。
58.计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程性语言,并且所述计算机程序可以用任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境中的其它单元。计算机程序可以,但未必对应于文件系统中的文件。程序可以存储在保存其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于所讨论的程序的单个文件中,或多个协调文件(例如,存储一个或多个模块、子程序或代码的一部分的文件)中。计算机程序可以被部署为在一个计算机上或在多个计算机上执行,所述多个计算机位于一个位置处或跨越多个位置分布并且通过通信网络互连。
59.本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过在输入数据上操作并且产生输出来执行动作。过程和逻辑流还可以通过专用逻辑电路执行并且装置还可以实施为所述专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
60.举例来说,适用于执行计算机程序的处理器包括通用微处理器和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器,以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从所述一个或多个大容量存储设备接收数据或将数据传递到所述一个或多个大容量存储设备,或两者。然而,计算机不需要具有此类设备。此外,计算机可以嵌入另一设备中,例如,仅举几例,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器、或便携式存储设备(例如,通用串行总线(usb)闪存驱动器)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
61.为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示设备,例如,crt(阴极射线管)或lcd(液晶显示器)监视器的计算机上实施,以将信息显示给用户以及键盘和指向设备,例如鼠标或轨迹球,用户可以通过所述指向设备将输入提供到计算机。其它种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;以及从用户产生的输入可以用任何
形式接收,包括声音、语音或触觉输入。另外,通过将文档发送到用户使用的设备以及从所述设备接收文档;例如,通过响应于从网络浏览器接收的请求而将网页发送到用户的用户设备上的网络浏览器,计算机可以与用户交互。
62.本说明书中描述的主题的实施例可以在计算系统中实施,所述计算系统包括后端组件,例如作为数据服务器,或包括中间件组件,例如应用程序服务器,或包括前端组件,例如具有图形用户界面或网络浏览器的用户计算机,用户可以通过所述图形用户界面或网络浏览器与本说明书中描述的主题的实施方式交互,或包括一个或多个此后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信的任何形式或介质(例如通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网络(例如,因特网)和对等网络(例如,特定的对等网络)。
63.尽管本说明书含有许多特定实施方式细节,但是这些细节不应解释为限制任何特征或可以主张的内容的范围,而是对特定于特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各个特征也可以单独地在多个实施例中或在任何合适的子组合中实施。此外,尽管特征可以在上文描述为在某些组合中起作用且甚至初始地如此主张,但是来自所主张组合的一个或多个特征在一些情况下可以从所述组合中删除,并且所主张组合可以针对子组合或子组合的变体。
64.类似地,尽管在图中以特定次序描绘操作,但是这不应理解为需要按所示的特定次序或按顺序次序执行此类操作,或执行所有所说明的操作以实现所需要的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各个系统组件的分离不应理解为在所有实施例中需要此种分离,并且应理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装成多个软件产品。
65.因此,已描述主题的特定实施例。其它实施例在所附权利要求书的范围内。在一些情况下,权利要求书中叙述的动作可以按不同次序执行并且仍实现所需要的结果。另外,附图中描绘的过程不一定需要按所示的特定次序或按顺序次序实现所需要的结果。在某些实施方式中,多任务和并行处理可以是有利的。