学习方法、对应的系统、设备和计算机程序产品与流程

文档序号:15387690发布日期:2018-09-08 00:46阅读:160来源:国知局

本发明涉及例如基于时间一致性的用于电子设备的学习方法(诸如自管理学习),例如用于可穿戴设备。



背景技术:

可穿戴设备由于其越来越低的成本以及环境和惯性传感器的改进精度而在市场上变得越来越普遍,市场朝着向设备行为添加进一步的智能来发展。

通常,面向应用分类器可被安装在这种设备中,以提供场景(例如,用户的移动类型或环境声)的实时预测。

安装在可穿戴设备中的分类器可基于手动选择特征后跟随通用分类器(例如,支持向量机或决策树)。

这种分类器可以对大型策划数据集进行训练,而不在设备中安装分类器时考虑更新。

这会导致各种缺点,诸如:

-分类器中的错误不会被校正,直到发布新固件或更新设备,

-分类器不能针对特定用户进行个性化,并且(仅)可以得益于大范围的场景和用户行为下的精度。



技术实现要素:

在一个实施例中,一种方法包括:从传感器的集合接收传感器数据;运行所述传感器数据的场景分类器(contextclassifier),以从中生成原始预测(rawprediction)的集合,其中,所述场景分类器包括分类器模型参数的集合;向所述原始预测应用时间滤波(temporalfiltering)以及启发滤波(heuristicfiltering),以生成滤波预测;根据所述滤波预测计算预测错误;通过应用于根据所述预测错误计算的所述分类器模型参数更新的集合中的参数来更新所述场景分类器。在一个实施例中,所述时间滤波包括在利于预测错误的平均化的时间窗上滤波所述原始预测。在一个实施例中,所述原始预测的所述时间滤波包括以下步骤中的一个或多个:投票滤波,以选择在时间窗上最频繁发生的原始预测;以及平均化,以选择时间窗上最可能的原始预测。在一个实施例中,该方法包括:检测所述场景分类器中的类别转变;以及使用于时间滤波的所述时间窗与所述场景分类器中的所述类别转变对准。在一个实施例中,所述启发滤波包括:选择所述场景分类器中的源类别和目标类别之间的转变,其中在时间窗上已经检测到达到确认阈值的目标类别的多个预测。在一个实施例中,所述启发滤波包括:提供识别所述场景分类器中的误分类对的混淆矩阵;以及检测所述原始预测中具有的概率大于误分类阈值的误分类对,并且用估计的真实类别替换与本文的原始预测类别。在一个实施例中,在时间滤波之后应用启发滤波。在一个实施例中,该方法包括:向所述原始预测应用低延迟滤波;以及将所述低延迟滤波原始预测呈现为用户反馈。在一个实施例中,所述原始预测包括可识别目标类别上的概率分布。在一个实施例中,根据滤波预测计算所述预测错误包括:根据所述滤波预测的子集计算所述预测错误,通过以下步骤中的一个或多个选择所述子集:当所述原始预测在可识别目标类别上包括概率分布时,选择概率大于选择阈值的预测;以及在所选子集中对于所述分类器中的每个类别包括均等数量的样本。在一个实施例中,该方法包括:记录与相应滤波预测的集合相对应的所述传感器数据的序列;形成传感器数据/滤波预测对的集合;以及将所述传感器数据/滤波预测对的集合添加到用于所述场景分类器的训练集合中。

在一个实施例中,一种系统包括场景分类器,场景分类器用于接收来自传感器的集合的传感器数据,并从中生成原始预测的集合,其中所述场景分类器包括:分类器模型参数的集合;时间滤波和启发滤波电路,用于接收所述原始预测并从中生成滤波预测;更新模块,用于根据所述滤波预测计算预测错误,并通过应用于根据所述预测错误计算的分类器模型参数更新的集合中的参数来更新所述场景分类器。在一个实施例中,该系统使用本文公开的一种或多种方法。在一个实施例中,可穿戴设备包括本文公开的系统。在一个实施例中,可穿戴设备包括传感器的集合,其向所述场景分类器网络提供传感器数据。在一个实施例中,可穿戴设备包括用户界面以呈现表示所述原始预测的用户反馈。在一个实施例中,可加载到至少一个处理模块的存储器中的计算机程序产品包括用于执行本文公开的一种或多种方法的步骤的软件代码部分。

一个或多个实施例可以包括对应系统(例如,嵌入到可穿戴设备中的电路)、对应(例如,可穿戴)设备以及可加载到至少一个处理模块(例如,计算机)的存储器中且包括用于在至少一个处理模块上运行产品时执行方法步骤的计算机程序产品。如本文所使用的,提到这种计算机程序产品被理解为等效于提到计算机可读介质,该介质包含用于控制处理系统以协调根据一个或多个实施例的方法的实施的指令。提到“至少一个计算机”用于强调以模块和/或分布式形式实施的一个或多个实施例的可能性。

一个或多个实施例可以包括用于运行场景分类器(例如,预测用户的行为)的嵌入式设备的自管理学习算法。

在一个或多个实施例中,不同预测之间的时间一致性的开发可以提供用于分类器的管理信号。

在一个或多个实施例中,设备中的分类器可以通过预计算分类器更新步骤来在线更新。

一个或多个实施例可以涉及仅存储分类器错误,使得降低了存储器要求。

一个或多个实施例的优点可以包括以下一个或多个:

-在嵌入式设备上连续更新“在线(onboard)”的分类器是可能的,使得随时间改进了预测;

-训练程度变得可能,即使不接触远程服务器(涉及到通信负担),同时还可以避免用户数据的通信和存储(可以提供保护隐私的学习的形式作为副产品);

-在由单个用户最可能使用的设备中,一个或多个实施例可以提供对特定用户微调的形式,至少在特定用户的行为不明显不同于由原始(“未调整”)模型编码的参考行为的范围中;

-如果设备中可用足够的存储容量,则一个或多个实施例可以基于所选用户简档实施模型切换,或者基于不同的程序实施用户检测。

在设备中采用一个或多个实施例可以有利于在服务器和设备之间交换有限数据,同时使用在线训练随时间更新参数存储器。一个或多个实施例可以涉及存储过去的信息以训练新模型,例如在专用存储空间中,这可以有利于减少(甚至可能几乎不需要)服务器通信。

在一个实施例中,一种方法包括:接收来自传感器的集合的传感器数据;基于接收到的传感器数据,使用具有分类器模型参数的集合的场景分类器生成原始预测的集合;向所述原始预测应用时间滤波和启发滤波,生成滤波预测;根据所述滤波预测生成预测错误;以及基于所述预测错误更新所述分类器模型参数的集合的模型参数。在一个实施例中,所述时间滤波包括在时间窗上对所述原始预测进行滤波。在一个实施例中,所述原始预测的所述时间滤波包括以下步骤中的一个或多个:投票滤波,以选择在时间窗上最频繁发生的原始预测;以及平均化,以选择时间窗上最可能的原始预测。在一个实施例中,该方法包括:检测所述场景分类器中的类别转变;以及使所述时间窗与所述类别转变对准。在一个实施例中,所述启发滤波包括选择在所述场景分类器中的源类别和目标类别之间的转变,其中在时间窗上已经检测到达到确认阈值的目标类别的多个预测。在一个实施例中,所述启发滤波包括:提供识别所述场景分类器中的误分类对的混淆矩阵;以及检测所述原始预测中具有的概率大于误分类阈值的误分类对,并且用估计的真实类别替换与检测的误分类对相关联的原始预测类别。在一个实施例中,该方法包括:在所述时间滤波之后应用所述启发滤波。在一个实施例中,该方法包括:向所述原始预测应用低延迟滤波;以及将所述低延迟滤波原始预测呈现为用户反馈。在一个实施例中,所述原始预测包括可识别目标类别上的概率分布。在一个实施例中,根据滤波预测生成预测错误包括:选择所述滤波预测的子集,并且根据所述滤波预测的子集生成所述预测错误,选择所述子集包括以下步骤中的至少一个:当所述原始预测在可识别目标类别上包括概率分布时,选择概率大于选择阈值的预测;以及在所选子集中对于所述分类器中的每个类别包括均等数量的样本。在一个实施例中,该方法包括:记录与相应滤波预测的集合相对应的所述传感器数据的序列;形成传感器数据/滤波预测对的集合;以及将所述传感器数据/滤波预测对的集合添加到用于所述场景分类器的训练集合中。

在一个实施例中,一种系统包括:存储器;以及分类电路,耦合至所述存储器,其中,所述分类电路在操作中:接收传感器数据;基于接收到的传感器数据,使用分类器模型参数的集合生成原始预测的集合;使用时间滤波和启发滤波对所述原始预测进行滤波,生成滤波预测;根据所述滤波预测生成预测错误;以及基于所述预测错误,更新所述分类器模型参数的集合的模型参数。在一个实施例中,所述时间滤波包括在时间窗上滤波所述原始预测。在一个实施例中,所述原始预测的所述时间滤波包括以下步骤中的一个或多个:投票滤波,以选择在时间窗上最频繁发生的原始预测;以及平均化,以选择时间窗上最可能的原始预测。在一个实施例中,所述分类电路在操作中:检测所述原始预测中的类别转变;以及使所述时间窗与检测到的所述类别转变对准。在一个实施例中,所述启发滤波包括选择源类别和目标类别之间的转变,其中在时间窗上已经检测到达到确认阈值的目标类别的多个预测。在一个实施例中,所述启发滤波包括:提供识别误分类对的混淆矩阵;以及检测所述原始预测中具有的概率大于误分类阈值的误分类对,并且用估计的真实类别替换与检测的误分类对相关联的原始预测类别。在一个实施例中,所述分类电路在操作中在所述时间滤波之后应用所述启发滤波。在一个实施例中,所述分类电路在操作中:向所述原始预测应用低延迟滤波;以及基于所述低延迟滤波原始预测,生成用户反馈。在一个实施例中,所述原始预测包括可识别目标类别上的概率分布。在一个实施例中,所述分类电路在操作中选择所述滤波预测的子集,并且根据所述滤波预测的子集生成所述预测错误,选择所述子集包括以下步骤中的至少一个:当所述原始预测在可识别目标类别上包括概率分布时,选择概率大于选择阈值的预测;以及在所选子集中对于每个分类类别包括均等数量的样本。在一个实施例中,所述分类电路在操作中:记录与相应滤波预测的集合相对应的所述传感器数据的序列;形成传感器数据/滤波预测对的集合;以及将所述传感器数据/滤波预测对的集合添加到训练集合中,以训练所述分类电路。在一个实施例中,该系统包括:传感器的集合,耦合至分类电路,其中,所述传感器的集合在操作中生成传感器数据。在一个实施例中,该系统包括:用户界面,耦合至分类电路,其中,用户界面在操作中提供表示原始预测的用户反馈。在一个实施例中,该系统包括:可穿戴设备,至少包括所述传感器的集合和所述用户界面。

在一个实施例中,一种非暂态计算机可读介质的内容配置分类电路以执行方法,该方法包括:基于传感器数据,使用包括分类器模型参数的集合的分类模型生成原始预测的集合;向所述原始预测应用时间滤波和启发滤波,生成滤波预测;根据所述滤波预测生成预测错误;以及基于所述预测错误更新所述分类器模型参数的集合的模型参数。在一个实施例中,所述时间滤波包括在时间窗上对所述原始预测进行滤波。在一个实施例中,所述内容包括由所述分类电路执行的指令。

附图说明

现在将参照附图仅通过示例描述一个或多个实施例,其中:

图1是一个或多个实施例的示例性框图;

图2是一个或多个实施例的可能操作的示例性功能框图;以及

图3示意性地示出根据一个或多个实施例的设备。

具体实施方式

在以下描述中,示出了一个或多个具体细节,目的在于提供对本说明书的实施例的示例的深度理解。在不具有一个或多个具体细节的情况下,或者通过其他方法、部件、材料等可以得到实施例。在其他情况下,不详细示出或描述已知结构、材料或操作,使得不会模糊实施例的特定方面。

在本说明书的框架中提到“一个实施例”或“实施例”用于表示相对于该实施例描述的具体配置、结构或特征包括在至少一个实施例中。因此,在本说明书的一个或多个点中存在的诸如“在实施例中”或者“在一个实施例中”的描述不是必须表示一个或同一实施例。此外,在一个或多个实施例中,可以以任何充分的方式来组合具体构造、结构或特性。

提供本文使用的参考符号仅是为了方便,因此不限定实施例的保护范围。

通过一般背景,可以注意到,有人管理的训练可以得益于带注释数据集的可用性,而无人管理的训练会显示出不太满意的性能。

妥协结果是“自管理学习”,其中,诸如时间一致性的启发法可用于提供带注释数据而不涉及用户的介入。

除了可应用于图像之外,一个或多个实施例可以涉及识别(参见noroozi,m.,&favaro,p.,unsupervisedlearningofvisualrepresentationsbysolvingjigsawpuzzles,eccv,pp.69–84)。计算机视觉和模式识别(阿姆斯特丹,荷兰,2016)、视频(参见lotter,w.,kreiman,g.,&cox,d.,deeppredictivecodingnetworksforvideopredictionandunsupervisedlearning,arxiv1605.08104,2016)以及预测时间序列的顺序(参见hyvarinen,a.,&morioka,h.,unsupervisedfeatureextractionbytime-contrastivelearningandnonlinearica,arxiv1605.06336,2016),自管理学习还可应用于以在线方式更新模型,例如通过在具有相关联的计算和存储约束的嵌入式平台中开发。

在图1和图3的框图中例示的一个或多个实施例可以包括系统10,其在操作中实施学习框架,该学习框架可运行(例如,唯一地)在嵌入式平台上并且基于内隐学习信号更新其中的权重。

在一个或多个实施例中,提供了一(时间窗),其可用足够的长度,可以检测和去除网络预测中的瞬时错误。

一个或多个实施例可以涉及使用域依赖假设(例如,人不可以从奔跑切换到驾驶并在几秒的时间跨度中返回),从而有利于去除特定的系统性错误。

在一个或多个实施例中,这种错误校正可以被发送回网络,以执行一个或多个训练迭代和参数更新。

一个或多个实施例可以包括对可能与系统耦合的用户界面ui应用短、低延迟滤波器。应理解,虽然在图1中示出,但用户界面ui可以是独立于实施例的元件。

图1例示的系统10可以接收来自用于分类过程的一个或多个传感器s的输入信号(简称为“输入”)in。

基于对来自一个或多个“物理”传感器的信号执行的计算(例如,从重力加速推导的定向)的加速计、陀螺仪、压力/湿度传感器以及可能的“虚拟”传感器是这种传感器的示例,其可以是独立于实施例的元件。

图1例示的系统10可以安装在设备d(参见图3)中(例如,作为嵌入式系统)。

诸如sensortile或可穿戴传感器单元(wesu)的可穿戴设备可以是这种设备d的示例,其可以进行修改以包括一个或多个实施例。

图1的示例图中的框表示以下电路/模块/功能,其例如可以使用诸如一个或多个处理核、独立电路、分立电路等或它们的各种组合的电路来实施:

100:分类器,接收来自相关传感器的输入in,并且提供原始预测rp;

102:短时(低延迟)时间滤波器,接收来自分类器100的输出,从而例如驱动用户界面ui;

104:长时时间滤波器,接收来自分类器100的输出;

106:序列启发,接收来自分类器100的输出;

gt:“地面真值(groundtruth)”,即通过经由长时时间滤波器104和序列启发106对来自分类器100的原始预测rp进行滤波所得到的(校正)预测的序列;

108:地面真值(gt)选择(例如,概率大于阈值的校正预测和/或被选择为对于每一类具有相等数量的样本的子集),以用于更新(再训练)分类器模型;

110:数据记录器(例如,存储器),接收来自传感器s的输入in以及来自108处的地面真值(gt)选择的输出;

112:分类器100的更新函数,由gt选择功能108驱动。

在一个或多个实施例中,图1中例示的系统10可以包括一个或多个分类程序(例如,分类器100),其接收传感器读数(例如,输入in),并且以被识别的目标类的概率分布p的形式提供预测。

在一个或多个实施例中,可以使用高质量和/或手动检查注释对较大的、干净的数据集训练提供“原始”模型。

在一个或多个实施例中,用户界面ui可以为用户提供反馈(例如,用户的移动类型、环境声)。

在一个或多个实施例中,用户界面ui例如可以包括小屏幕、文本-语音或声音界面。

在一个或多个实施例中,用户界面ui可以接收在102处以小时间间隔进行滤波的预测(例如,通过平滑预测概率或者使用一些简单的启发)。

在一个或多个实施例中,长时时间滤波器104可以存储传感器读数和来自分类器100的预测概率(例如,多达10-15分钟),并且生成通过在较大窗口进行滤波而得到的更好预测,例如通过假设状态变化具有(远)大于分类器响应时间的时间标度。

在一个或多个实施例中,域依赖启发(例如,基于用户的行为不能在没有站立或走路的中间步骤的情况下突然切换(即,从奔跑到驾驶)的识别)可应用于启发106。

在一个或多个实施例中,可以根据预测模式来应用复杂的启发:例如,长时间走路过程中散布的短时骑行间隔可以识别为很可能对应于分类器错误。

前面提到的10-15分钟的示例性值与可用产品中的同步延迟兼容。

一个或多个实施例可以在实施时间滤波器中(例如,在104处)采用不同的选择。

简单的选择是投票滤波器,其中,所选类别是在时间窗中更频繁发生的类别。

如果时间窗的步长为t并且nk是用于类别k的预测的数量,则所选类别可以是:

特定的预测模型可以为每个类别返回概率,其表示预测可以为真的可能性。

一个或多个实施例中的一种方法是在窗口的t步内的给定时间t处为类别k平均(所有)概率pk(t),然后仅寻找时间t处的最可能类别c(t)。

在一个或多个实施例中,可以通过使用指数平均来实施平均化:

其中,是当前估计的平均值,并且α是表示“逆有效窗口长度”的系数,例如,如果α=0.01,则平均值将大概地取决于最后100个样本。

在一个或多个实施例中,例如通过为更确信的预测使用较大值以及为不太确信的预测使用较小值,可以对最后预测的可能性适配α的值。

在这种情况下,α可以是最有可能的预测的递增函数,即:

应注意,这种时间滤波器的操作可以得益于相对较长周期内类别变化的存在,允许错误被平均化,代价为增加的等待时间并且在类别转变附近引入预测错误。

在一个或多个实施例中,不同的程序可用于独立地估计何时发生“体制”改变,例如通过对数据的短时延伸估计自回归移动平均模型(arma)(其可以假设来自属于相同类别的信号)并且检查预测何时超过预定阈值thr。

其中,y(t)是时间t处的信号,是来自arma模型的估计值,并且y(t)是arma模型的系数。

在一个或多个实施例中,通过分类器100在转变周围不太“确信”,可以通过搜索滤波概率都低于给定阈值的短时间隔来检测改变。

一旦检测到改变,时间滤波器104就可以对准至改变,例如通过设置t的值以在均匀信号上适应时间窗。

在一个或多个实施例中,在能够去除由噪声或不正确的预测引起的瞬时错误的同时,时间滤波器(例如,104)可能不能考虑关于问题的知识并且校正系统估计错误,诸如类别预测为具有远大于其他类型的概率。该行为例如可以与以平均值引入的错误相关。

为了减少错误,一个或多个实施例可以采用简化模型并且校正被发现与启发不一致的那些预测。

如图1示意性示出的,虽然启发滤波器(例如,106)可应用于来自分类器的原始预测,但一个或多个实施例可得益于以与时间滤波器的级联方式来应用启发滤波器106(例如,在时间滤波器之后和在瞬时边界上对准之后)。

在一个或多个实施例中,一个类别(开始)和另一类别(目的地)之间的转变可以(仅)在已经找到时间窗上目标类别的给定数量的预测之后被确认,其中所有对上的最大时间间隔上的预测被存储在序列中。

在一个或多个实施例中,时间窗的尺寸和确认的数量可以取决于所考虑的类别对(源、目标)。此外,如果特定转变被认为是不太可能或者甚至不可行(例如,在人类行为识别中,突然从骑行变为驾驶),则确认的数量可以按照惯例设置为无限大。在简化版本中,窗口尺寸和确认的映射可以(仅)取决于目标类别。

在一个或多个实施例中,滤波器可以开发出从所谓的混淆矩阵(其表示用于每一对(预测、真值)类别的预测的百分比)中在训练时间处已知潜在估计错误的事实,理想完美的分类器具有所有值都等于1的对角线混淆矩阵。

在一个或多个实施例中,给出两个被检测改变之间的间隔,滤波器可以估计特定间隔内的预测的分布,例如通过对发生率进行计数或者通过估计预测的多项分布的参数。

在一个或多个实施例中,已知从混淆矩阵中发生并且具有大于阈值的估计概率的误分类对(预测、真值)可以通过用估计的真正类别替换预测类别来进行校正。

在一个或多个实施例中,对来自分类器100的(原始)预测应用时间滤波器(例如,104)和启发滤波器(例如,106)可以生成预测的新序列,其不同于滤波器校正预测的样本中的原始序列。

在一个或多个实施例中,这些差异可以提供候选地面真值(gt)的集合,可能用于再训练模型。

例如,对于对校正的置信度进行编码的滤波器(诸如基于平均概率的时间滤波器(例如,104))来说,在一个或多个实施例中仅可以选择概率大于阈值的校正。

此外,在一个或多个实施例中,仅可以选择(例如,108处)所有潜在地面真值的子集,以针对每个类别具有均等数量的样本,从而有利于模型的平衡再训练(例如,经由更新函数112)。

在一个或多个实施例中,与滤波预测序列p的生成一起,图1中例示的系统100可以保持原始输入样本的序列(in)被馈送至分类器100。

在一个或多个实施例中,这可以发生在数据记录模块110中,例如输入样本in与滤波序列中的预测p之间的1:1对应关系。

例如,在一个或多个实施例中,当生成候选地面真值gt的列表时,可以从数据记录模块110中提取对应输入样本in以形成可添加到用于模型的训练集合中的对(输入、真值预测(true_prediction))的集合。

在一个或多个实施例中,过滤预测p可以利用延迟来生成,该延迟与输入数据获取相比可以较长(例如,根据滤波器104和106的长度,在10-15分钟之后),由此可以利用延迟生成训练对。

在一个或多个实施例中,在一批预测p和对应输入数据in已经被滤波并且生成地面真值gt之后,110处的日志可以被清除以减小系统的存储要求。

在一个或多个实施例中,系统10中包括的存储器的量可以是数据率和滤波器的最大延迟的函数。

在一个或多个实施例中,可以在已经收集足够数量的训练对之后来执行模型的管理再训练(例如,经由更新函数112)。

在一个或多个实施例中,更新函数112可以基于传统的标准来实施,例如根据系统的预期应用。

例如,在本文例示的一个或多个实施例中,分类器100(更确切地,本文实施的分类程序)可以使用随机梯度下降(sgd)来训练。

由于各种原因,这是有利的,例如:

一个实施例可以固有地为在线方法,使得只要新数据变得可用,就可以更新模型;

除了分类模型之外还可以存储损失的单个更新函数(神经网络用语中的“倒推”,backwardpass),以训练模型。

例如,在一个或多个实施例中,特定数量的错误预测可以利用它们对应的输入数据来选择并且以组(批量)来组织。使用每个迭代中的更新函数,该批量中的错误可以反向传播至参数,并且可以利用可用批量上的一个或多个推导(pass)执行多次迭代。在该(短时)训练步骤之后,可以用新的参数替代模型参数。

图2是用于包括多个分类层100a、100b、…、100n的复杂模型的更新函数112的示意图,如用于现代神经网络架构的情况。

在一个或多个实施例中,例如在110处记录的传感器输入(例如,in)可用于生成新预测rp,并且估计的地面真值gt被用于计算可在多个不同输入上平均的错误e。

在一个或多个实施例中,更新函数112可包括计算被添加到当前模型参数中的项δwi=fi(e)i=1,..,n的函数,并且e是根据预测rp和底面真值gt计算的错误。

在一个或多个实施例中,该函数可以对每个参数相对于错误的分布敏感,例如在分类器100采用神经网络布局的情况下,其可以采用诸如以下的形式:

其中,wi是被更新的当前参数,l是损耗因数(表示为参数和输入的函数的错误e的函数),o是分类器网络100的输出(例如,预测概率rp),以及x是传感器输入(图1中的in)。

例如,图2可以被认为是图1中的更新块112的示意性表示,其中,为了更新分类器100中的参数,生成预测以通过gt计算错误。

如以下所讨论的,一个或多个实施例可以涉及计算预测而不记录数据in(即,仅存储预测)。然而,预测取决于当前权重:如果仅存储预测,则在更新权重之后,原始数据被用于生成新预测(即,存储的预测被“燃烧”)。

如上面公式所示,递增的错误将生成参数wi中相应增加的变化以及较大的更新。

应注意,本文讨论的预测模型可以经受漂移,即性能的逐渐损失,例如由于(高质量)预测中的系统错误和/或漂移样本分布并减小模型的泛化能力的错误/模糊的示例上的偏移。

为了对此进行校正,一个或多个实施例可以在损失函数中包括稳定目标,例如通过对参考数据存储原始模型的预测并且迫使新模块具有相同的行为。参见li,z.,&hoiem,d.,learningwithoutforgetting,arxiv1606.09282(2016)。因此,这种改变可以早已结合到更新函数中,而不会不利地影响性能。

本文例示的一个或多个实施例可以包括时间窗上的传感器读数in的记录(例如,在110处),而先前讨论的更新函数112可以使用(例如,仅使用)预测错误作为输入。在一个或多个实施例中,模型参数仍然可以在仅存储预测概率rp的情况下被更新。

在一个或多个实施例中,预测rp可以链接至特定的模型,由此,只要参数被更新,计算的错误就可以不再有效。然而,这些数据仍然可以例如被用于训练算法的单次迭代。例如,如果分类程序例如基于16hz加速计数据每秒在五个类别中计算预测,则数据存储要求可以减小例如10x倍(例如,每秒从48到5个漂移)。

如所指出的,一个或多个实施例能够在嵌入式设备上实现分类器100的持续更新。训练程序可以不涉及接触远程服务器,由此使其可以避免传输和存储用户数据,由此提供保护隐私的学习的形式作为副产品。参见mcmahan,h.b.,moore,e.,ramage,d.,&arcas,b.a.y.,federatedlearningofdeepnetworksusingmodelaveraging,arxiv1602.05629(2016)。

根据一个或多个实施例的方法可以包括:

接收来自传感器的集合(例如,s)的传感器数据(例如,in);

运行所述传感器数据的场景分类器(例如,100),以从中生成原始预测(例如,rp),其中,所述场景分类器(100)包括分类器模型参数的集合;

向所述原始预测应用时间滤波(例如,104)以及启发滤波(例如,106),以生成滤波预测(例如,gt,108),

根据所述滤波预测计算预测错误(例如,e),

通过向所述分类器模型参数的集合中的参数应用根据所述预测错误计算的更新(例如,δwi)来更新(例如,在112处)所述场景分类器。

在一个或多个实施例中,所述时间滤波可以包括在时间窗上滤波所述原始预测,以利于预测错误的平均化。

在一个或多个实施例中,所述时间滤波可以包括以下步骤中的一个或多个:

投票滤波,以选择在时间窗上更频繁发生的原始预测,

平均化,以选择时间窗上最可能的原始预测。

一个或多个实施例可以包括:

检测所述场景分类器中的类别转变,以及

对准用于时间滤波的所述时间窗与所述场景分类器中的所述类别转变。

在一个或多个实施例中,所述启发滤波可以包括选择在所述场景分类器中的源类别和目标类别之间的转变,其中在时间窗上检测到达到确认阈值的目标类别的多个预测。

在一个或多个实施例中,所述启发滤波可以包括:

提供识别所述场景分类器中的误分类对的混淆矩阵,

检测所述原始预测中具有大于误分类阈值的概率的误分类对,并且用估计的真实类别替换原始预测类别。

一个或多个实施例可以包括在时间滤波之后应用所述启发滤波。

一个或多个实施例可以包括:

向所述原始预测应用低延迟滤波(例如,102),

将所述低延迟滤波原始预测表示为用户反馈(例如,ui)。

在一个或多个实施例中,所述原始预测可以包括可识别目标类别上的概率分布。

在一个或多个实施例中,根据滤波预测计算预测错误可以包括:根据所述滤波预测的子集计算所述预测错误,所述子集(例如,在108处)通过以下步骤进行选择:

其中,所述原始预测包括可识别目标类别上的概率分布,选择概率大于选择阈值的预测,和/或

使所选子集针对所述分类器中的每个类别包括相等数量的样本。

一个或多个实施例可以包括:

记录(例如,在110处)与相应滤波预测的集合相对应的所述传感器数据的序列,

形成传感器数据/滤波预测对的集合,

将所述传感器数据/滤波预测对的集合添加至用于所述场景分类器的集合。

在一个或多个实施例中,系统可以包括:

场景分类器(例如,神经网络),用于接收来自传感器的集合的传感器数据,并且从中生成原始预测,其中所述场景分类器包括分类器模型参数的集合,

时间滤波和启发滤波电路,用于接收所述原始预测并从中生成滤波预测,

更新模块,用于根据所述滤波预测计算预测错误,并且通过在根据所述预测错误计算的分类器模型参数更新的集合中应用参数来更新所述场景分类器,该系统被配置用于利用一个或多个实施例的方法来进行操作。

一个或多个实施例可以包括设备(例如,d),任选为可穿戴类型,其包括:

根据一个或多个实施例的系统,

传感器的集合(例如,s),与所述系统耦合以向所述场景分类器网络提供所述传感器数据。

根据一个或多个实施例的设备可以包括用于呈现表示所述原始预测的用户反馈的用户界面。

一个或多个实施例可以包括计算机产品程序,其可加载到至少一个处理模块(例如,系统10)的存储器中并且包括用于执行一个或多个实施例的方法步骤的软件代码部分。

一些实施例可以采用计算机程序产品的形式或者包括计算机程序产品。例如,根据一个实施例,提供了一种计算机可读介质,其包括适于执行上述一种或多种方法或功能的计算机程序。介质可以是通过适当的驱动或者经由适当连接读取的物理存储介质(诸如只读存储器(rom)芯片或者盘,诸如数字通用盘(dvd-rom)、压缩盘(cd-rom)、硬盘驱动器、存储器)、网络或者便携式介质产品,包括在一个或多个这种计算机可读介质上存储的一个或多个条形码中或者其他相关代码中被编码并且可由适当的读取设备来读取。

此外,在一些实施例中,一些系统和/或模块和/或电路和/或块可以其他方式来实施或提供,诸如至少部分地以固件和/或硬件来实施或提供,包括但不限于一个或多个专用集成电路(asic)、数字信号处理器、分立电路、逻辑门、标准集成电路、状态机、查找表、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器),现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)等以及采用rfid技术的设备、以及各种它们的组合。

不对基本原则存在偏见,细节和实施例可以相对于仅通过示例公开的发生变化,甚至是显著变化,而不背离保护范围。

上面描述的各个实施例可以进行组合以提供进一步的实施例。如果需要采用各个实施例的概念来提供又一些实施例,则可以修改实施例的各个方面。

可以根据上面详细的描述对实施例进行这些和其他改变。一般地,在以下权利要求中,所使用的术语不应将权利要求限于说明书和权利要求中公开的具体实施例,而是应该包括所有可能的实施例以及这些权利要求的全部等效范围。因此,不通过本公开限制权利要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1