使用自动编码器神经网络压缩端节点中的信息的制作方法

文档序号:29509038发布日期:2022-04-06 19:25阅读:72来源:国知局
使用自动编码器神经网络压缩端节点中的信息的制作方法
使用自动编码器神经网络压缩端节点中的信息


背景技术:

1.端节点设备通常感测和收集关于其环境的数据。例如,这种数据可以是音频或图像。通常不容许端节点对这种数据执行有意义的计算,例如进行语音识别以检测关键字或检测图像中人的存在。因此,端节点通常会将原始数据发送到云,在云中使用强大的机器学习算法来处理原始数据。然而,原始数据的传输需要带宽和功耗,这对于电池供电的设备或其他功率受限的设备而言可能是惊人地大。


技术实现要素:

2.在一个方面,一种装置包括:传感器,用于感测真实世界信息;数字化器,其耦合到所述传感器以将所述真实世界信息数字化为数字化信息;信号处理器,其耦合到所述数字化器以将所述数字化信息处理成频谱图;神经引擎,其耦合到所述信号处理器,所述神经引擎包括自动编码器,所述自动编码器用于将所述频谱图压缩成经压缩的频谱图;以及,无线电路,其耦合到所述神经引擎以将所述经压缩的频谱图发送到远程目的地,以使得所述远程目的地能够处理所述经压缩的频谱图。
3.在一个示例中,神经引擎用于存储用于自动编码器的模型。该模型可以包括神经网络的结构和多个系数,并且可以是根据真实世界类型的信息使用至少一个相关函数生成的预训练模型。该装置可以从远程目的地接收更新的模型,并且基于更新的模型来更新模型的多个系数权重中的至少一些系数权重。自动编码器的解码器可以将第一经压缩的频谱图解压缩成第一重构频谱图,该第一经压缩的频谱图由自动编码器的编码器从第一频谱图压缩。
4.在一个示例中,该装置可以将第一频谱图与第一重构频谱图进行比较,并且至少部分地基于该比较将第一频谱图而不是第一经压缩的频谱图发送至远程目的地。该装置可以响应于来自远程目的地的请求将第一频谱图与第一重构频谱图进行比较。
5.在一个示例中,真实世界信息包括了语音信息,该装置包括语音控制的端节点设备。语音控制的端节点设备可以至少部分地基于经压缩的频谱图从远程目的地接收至少一个命令。真实世界信息可以是图像信息,并且该装置可以至少部分地基于图像信息,基于在远程目的地检测到图像信息中的人,响应于来自远程目的地的命令而采取动作。
6.在另一方面,一种方法包括:生成包括编码器和解码器的自动编码器,并生成分类器,其中,编码器用于将频谱图编码为经压缩的频谱图,解码器用于将经压缩的频谱图解码为恢复的频谱图,并且分类器用于从解码的压缩的频谱图确定至少一个关键字;计算自动编码器的第一损失并计算分类器的第二损失;至少部分地基于所述第一损失和所述第二损失来联合训练所述自动编码器和所述分类器;以及,将经训练的自动编码器和经训练的分类器存储在非暂时性存储介质中。
7.在一个示例中,该方法还包括基于所述第一损失与所述第二损失的加权和来联合训练所述自动编码器和所述分类器。该方法还可以包括:根据相关系数计算第一损失;根据二元交叉熵计算第二损失。该方法还可包括将自动编码器的经训练的编码器部分发送到一
个或多个端节点设备以使该一个或多个端节点设备能使用该经训练的编码器部分来压缩频谱图。该方法还可以包括从解码器不对称地生成编码器。
8.在又一方面,一种语音控制的设备可以包括:麦克风,用于接收语音输入;数字化器,其耦合到所述麦克风以将所述语音输入数字化为数字化信息;信号处理器,其耦合到所述数字化器以从所述数字化信息生成频谱图;控制器,其耦合到信号处理器,该控制器包括自动编码器的编码器,用于将频谱图压缩成对应于语音输入的经压缩的频谱图;以及,无线电路,其耦合到所述控制器,以将所述经压缩的频谱图发送到远程服务器,以使所述远程服务器能够处理所述经压缩的频谱图。响应于来自远程服务器的命令,控制器可以使无线电路向远程服务器发送与另一语音输入相对应的未压缩频谱图。
9.在一个示例中,控制器还包括自动编码器的解码器,用于将由自动编码器的编码器压缩的一个或多个经压缩的频谱图解压缩成一个或多个重构频谱图。控制器可以从远程服务器接收至少一个第二命令,并且响应于该至少一个第二命令来实现用户请求的操作,其中,语音输入包括用户请求的操作。语音控制的设备还可以包括用于存储编码器的模型的缓存。该模型可以包括神经网络的结构和多个系数权重,其中,该模型包括使用针对该频谱图的至少一个相关函数生成的预训练模型。
10.在一个示例中,语音控制的设备还可以包括第二缓存,用于存储编码器的第二模型,其中,第二模型包括第二神经网络的结构和多个第二系数权重。第二模型可以是使用用于图像输入的至少一个相关函数生成的预训练模型。编码器可以与自动编码器的解码器不对称,该解码器存在于远程服务器处以对该经压缩的频谱图进行解压缩,并且该解码器可以具有比编码器更大的内核和更多的滤波器或者不同的架构。
附图说明
11.图1是根据一个实施例的端节点设备的框图。
12.图2是根据一个实施例的云服务器的框图。
13.图3是根据一个实施例的方法的流程图。
14.图4是根据另一实施例的方法的流程图。
15.图5是根据又一实施例的方法的流程图。
16.图6是根据一个实施例的用于执行自动编码器和分类器的组合训练的一个系统的框图。
17.图7是根据一个实施例的可以作为端节点而并入无线网络中的代表性设备的框图。
18.图8是根据一个实施例的代表性无线自动化网络的框图。
具体实施方式
19.在各种实施例中,端节点设备可以被配置为感测真实世界信息,诸如语音数据、图像数据等。进而,端节点设备可以在将所感测的信息发送到诸如进一步处理数据的基于云的目的地之类的远程实体之前最少地处理该信息。
20.由于端节点设备通常具有有限的处理和功率资源(例如,端节点设备可以是电池供电的装置),因此可以在基于云的目的地处执行更复杂的处理。尽管实施例可以变化,但
是这里描述的实施方式可以处在语音控制的端节点设备的背景下,除其他设备类型外诸如遥控器、诸如照明、安全、hvac组件的家庭自动化组件。对于此类语音控制的设备,所感测输入可为语音,其中,所述设备可被配置成响应于关键字而被唤醒。在唤醒之后,设备可以感测语音串,并将语音编码成一个频谱图或频谱图序列。此后,该设备使用经训练的自动编码器可将(多个)频谱图压缩成经压缩的频谱图(或经压缩的频谱图的序列)格式,其随后被发送到基于云的目的地。
21.在许多情况下,该端节点设备可以是一种无线使能的设备,使得到诸如基于云的目的地之类的远程源的通信可以经由无线局域网(wlan)来进行,例如根据给定的ieee 802.11标准,其继而例如通过网关经由诸如因特网之类的网络耦合到基于云的目的地。
22.尽管在某些情况下,设备本身可能使用机器学习技术来训练自动编码器,但更典型地是由于设备的有限计算和功率能力,自动编码器可被预训练并加载到端节点设备中。在已知该端节点设备的预期使用的情况下,自动编码器可以在制造期间被预加载到端节点设备中,例如加载到设备的非暂时性存储介质中。注意,在这种情况下,响应于从基于云的目的地接收到的对自动编码器模型的更新,自动编码器还可以在现场被更新。
23.此外,由于该自动编码器是针对特定类型的输入信息预训练的,因此在一些情况下,端节点设备可以被配置有多个自动编码器,每个自动编码器用于处理不同的信息类型。例如,第一编码方案可以用于语音输入,并且第二编码方案可以用于另一输入类型,例如图像信息。这样,根据传入数据的性质,可以为自动编码器设计合适的算法。注意,为特定信息类型设计的给定自动编码器实现可能不能最优地用于不同性质的数据。在具有一个或多个自动编码器的一个实施例中,可自动学习每个合适数据集的高效压缩。在一些实施例中,可以取决于输入信息的类型的特性使用一个或多个相关函数来训练自动编码器。相反,通常使用均方误差技术来训练自动编码器。
24.现在参考图1,其示出了根据一个实施例的端节点设备的框图。如图1所示,设备100可以是任何类型的端节点设备,诸如物联网(iot)设备。在一些情况下,设备100可以是诸如上述的语音控制的设备。针对某些唤醒关键字和可能的其他本地处理的关键字的小集合,设备100可被配置成完全处理并响应于此而采取某一动作。然而,在许多情况下,传入语音可以在装置100内被最小地处理,并且然后被发送到诸如基于云的目的地之类的远程目的地以供进一步处理和处置。
25.在图1所示的高级配置中,设备100包括输入传感器110。应当理解,在不同的实施方式中,可以存在多个传感器,每个传感器感测不同类型的真实世界信息,诸如环境条件、图像信息、语音或其他音频信息等。因此,输入传感器110可以包括一个或多个麦克风,并且可能包括其他传感器,诸如图像传感器、视频传感器、热传感器、加速计、无源红外传感器等。
26.输入传感器110继而耦合到数字化器120,例如模数转换器,其将信息数字化并将其提供给信号处理器130,该信号处理器可执行各种信号处理,诸如滤波、放大等。注意,在一些实施方式中,该信号处理中的至少一些可以在数字化器120之前的模拟域中执行。在任何情况下,数字化的经处理的信息都可被提供给处理器140,该处理器可以是设备100的系统的主处理器,诸如微控制器、处理核或其他通用处理电路或其他这样的控制器。
27.与本文的讨论相关,处理器140可以对该信息执行附加的信号处理,包括将数字化
信息转换成频谱图。处理器140继而耦合到神经引擎150,其在一些情况下可以被实现为专用硬件电路。在不同的实施例中,神经引擎150可以用全连接层或卷积神经网络层来实现。注意,在一些情况下,信号处理器130、处理器140和神经引擎150中的至少两个可以一起实现。
28.在任何情况下,神经引擎150可以根据经训练的参数来压缩频谱图,该经训练的参数可以存储在扁平缓存155中。在一个实施例中,这样的参数可以包括神经网络的结构和多个权重系数。注意,在一些实施方式中,仅存在自动编码器的编码器部分。在其它实施方式中,自动编码器的编码器和解码器部分二者都可以存在。处理器140还可以至少临时地将未压缩的频谱图存储在存储器160中。
29.为了实现对所感测的信息的远程处理,处理器140可以从神经引擎150接收经压缩的频谱图并将其提供给无线电路170,该无线电路可以经由天线180无线地发送经压缩的信息。应当理解,天线180还可以被配置为接收传入信息,诸如来自基于云的目的地的命令信息,以使设备100能够响应于接收到的命令信息来执行某个动作。尽管在图1的实施例中以这种高级配置示出,但是许多变化和替换都是可能的。
30.现在参考图2,其示出了云服务器200的框图,该云服务器可以是例如存在于数据中心内的远程服务器。云服务器200可被配置为从大量远程定位的端节点设备处接收传入的经压缩的频谱图,如本文所述地解压缩并处理经解压缩的信息。
31.此外,图2示出了云服务器200的涉及用于特定类型的感测信息的自动编码器模型的初始训练的组件。虽然为了便于说明,所有这些组件都被示出在单个的云服务器200中,但是应当理解,在某些情况下,这些组件也可以存在于不同的服务器中。并且,实际上,如本文所述的初始训练(和训练更新)可以由不同硬件(诸如不同(例如,云)服务器)上的不同实体来执行。例如,预训练可以由ic或iot设备制造商来执行,该制造商执行该训练以在设备被出售之前将自动编码器加载到设备中。在其他情况下,该预训练可以由系统分发者来执行,该系统分发者将设备实现到诸如家庭自动化网络的网络架构中。并且,在某些情况下,对从端节点设备接收到的经压缩的信息的处理也可以由该同一实体来执行。
32.如图所示,云服务器200包括了自动编码器210,其包括编码器212和解码器214。在一个实施方式中,自动编码器210可以是具有3
×
3内核和16个滤波器的对称自动编码器。然而,在其他情况下,编码器212可以相对于解码器214是不对称的,从而提供了更简单的、不太计算密集的编码器,因为编码通常将在端节点设备中执行。在一个示例性实施例中,不对称自动编码器可以包括2x滤波器、5x5内部内核(kernel)和7x7输出内核。作为另一示例,不对称自动编码器可以包括4x滤波器、7x7内部内核和11x11输出内核。在一些实施例中,自动编码器210可以以高达大约16x的压缩比和低重构损失执行压缩(尽管如果允许一定量的重构损失,则可以实现更高的压缩比)。这样,可以利用端节点设备中的相对简单(例如,低循环计数)编码器和云服务器200中的更复杂(例如,更高循环计数)解码器来实现更好的压缩比。
33.如图所示,云服务器200可以将扁平缓存发送到至少包括编码器212的模型的端节点设备。该扁平缓存可以包括神经网络结构和多个系数权重,以实现自动编码器210的编码器212。在一些情况下,在其中期望将解码器提供给端节点设备以供在执行如本文所描述的本地质量检查中使用的实例中,扁平缓存(或另一扁平缓存)还可包括用于解码器214的结
构和系数权重。
34.如进一步所示,自动编码器210还从连接的端节点设备接收经压缩的信息,例如以经压缩的频谱图的形式。将这种经压缩的频谱图提供给解码器214,所述解码器可以对它们进行解压缩。如图所示,将解压缩的频谱图提供给频谱图处理器240,其可以被实现为分类器。该机器学习分类器可以处理频谱图以识别原始感测的真实世界信息(诸如语音信息、图像信息等)的属性。
35.分类结果可以从分类器提供给命令解释器250,其可以将这些结果解释成一个或多个命令以发送回端节点设备。例如,对于语音信息,分类器所识别的关键字可被用于生成针对端节点设备要采取的动作的命令。这些动作可以包括播放特定媒体文件、在自动化网络中执行操作等。在图像信息的情况下,经分类的结果可以指示本地环境中存在人,这可以触发命令解释器250发送特定命令,诸如打开灯、触发警报等。
36.仍然参考图2,当频谱图处理器240例如由于质量差而难以对所接收的信息进行分类时,其可以向端节点设备发送对未压缩信息的请求。端节点设备可以响应于该请求发送未压缩信息,例如可以直接提供给频谱图处理器240的各种未压缩频谱图(因为不需要在自动编码器210中执行解码)。更进一步,例如频谱图形式的这种未压缩信息可以被提供给训练逻辑220,其可以基于这种传入信息执行增量训练。
37.仍然参考图2,训练逻辑220也可以使用数据集230中的信息来执行自动编码器210的初始训练,该信息可以是训练数据集的各种样本以使得预训练能够发生。应当理解,虽然在图2的实施例中以这种高级配置示出,但是许多各种替代也是可能的。
38.现在参考图3,其示出了根据一个实施例的方法的流程图。更具体地说,方法300是由端节点设备执行的方法,用于接收传入的真实世界信息,最小地处理它,并将它发送到远程目的地。虽然为了说明,图3是在真实世界信息是音频信息的上下文中,但是理解实施例不限于这个方面,并且在其它实施方式中,真实世界信息可以具有各种各样的不同的信息类型。
39.如图所示,方法300通过在端节点设备中接收音频样本(框310) 开始。例如,端节点设备可以包括麦克风或其他传感器以检测音频输入,诸如用户的语音。在框320,例如在诸如滤波、信号调节等的某些模拟前端处理之后,可以对该音频样本进行数字化。接下来在框330,可以处理数字化音频样本。在实施例中,可以将样本处理成频谱图。当然,在其它实施方式中也可以生成音频样本的其它数字表示,诸如可以适合于其它类型的输入信息。例如,在另一种情况下,单个快速傅立叶变换(fft)可以用于时间平稳信号。
40.仍然参照图3,控制接下来转到框340,其中可以压缩频谱图。在一个实施例中,可以在神经引擎中执行频谱图压缩,该神经引擎可以在端节点设备的硬件处理器中实现。更特别地,在这里的实施例中,具有预训练的模型的自动编码器可以执行压缩。此后,在框350处,可以将经压缩的频谱图发送到基于云的目的地,例如,远程服务器。该远程服务器可以进一步处理所接收的音频样本,例如,以确定端节点设备响应于音频样本(例如,语音命令)而要采取的各种动作。应当理解,虽然在图3的实施例中以这种高级配置示出,但是许多变化和替代也是可能的。
41.现在参考图4,示出了根据另一实施例的方法的流程图。更具体地说,图4的方法400是用于识别何时将经压缩的信息从端节点设备发送到目的地可能不合适的方法。因此,
方法400可以在端节点设备自身内执行。在一些情况下,方法400可以根据周期性间隔来执行,以定期地确定从端节点设备发送的经压缩的信息的质量(其中,可以控制周期性间隔以降低功耗)。在其他情况下,方法400可以响应于从远程目的地接收到传入的经压缩的信息不具有适当质量的指示而被执行。
42.如图所示,方法400通过将经压缩的频谱图解压缩为重构频谱图开始(框410)。在一个实施例中,自动编码器可以例如使用预训练的解码器来执行该解压缩。应当理解,为了使该操作发生,端节点设备包括了全自动编码器(编码器和解码器二者)。接下来在框420,端节点设备可以生成其生成的原始频谱图和通过对经压缩的频谱图进行解压缩而获得的重构频谱图之间的比较结果。作为一个示例,可以在这两个频谱图之间进行某种类型的差值计算。接下来在菱形框430处,确定该比较结果是否超过阈值。阈值可以采取各种形式,但是也可以是测量在端节点设备内执行的压缩的质量水平的阈值。
43.如果该比较结果没有超过阈值,则当前自动编码器模型是适当的,因此控制转到框440,其中,端节点设备可继续向基于云的目的地发送经压缩的频谱图。否则,当确定比较结果超过阈值时,这指示自动编码器执行的压缩没有提供合适的结果。因此,在框450处,完整的未压缩频谱图可以被发送到基于云的目的地。另外,比较指示符或其他反馈信息也可以被发送到基于云的目的地。注意,响应于接收到该通知,基于云的目的地可例如通过更新训练来执行对自动编码器模型的更新。在这种训练更新结束时,更新的模型参数可被发送到端节点设备(和其它端节点设备),以实现对自动编码器模型的更新。应当理解,虽然在图4的实施例中时以这种高级配置示出的,但是许多变化和替代是可能的。
44.现在参考图5,其示出了根据又一实施例的方法的流程图。具体讲,方法500是如所描述的用于执行自动编码器和分类器的训练的方法。在一个实施例中,方法500可以由一个或多个云服务器或其他计算系统来执行。这样,方法500可以由硬件电路、固件、软件和/或其组合来执行。
45.方法500通过生成自动编码器和分类器(框510)开始。注意,自动编码器和分类器的生成可以根据给定模型,其中,自动编码器包括编码器和解码器。在不同的实施方式中,编码器和解码器可以是对称的或不对称的。继而,分类器可以被生成为机器学习分类器,以将输入分类到对应的标签类别中。作为示例,除许多其它分类的问题外,输入可被分类成特定关键字、图像内的人的检测、姿势检测。
46.仍然参考图5,接下来在框520,可以独立地计算自动编码器的损失和分类器的损失。作为示例,自动编码器损失可被确定为以下之一:输入和输出之间的差的绝对值的和(l1范数);输入和输出之间的差的平方和(l2范数);以及,输入和输出之间的相关性(皮尔逊相关性)。在一个实施例中,分类器损失可以被确定为预测类和真实类之间的二元交叉熵。在一些情况下,可以确定联合损失(例如,l2和交叉熵)。
47.接下来在框530,可以联合训练自动编码器和分类器。可以执行该联合训练以最小化损失函数。在一个实施例中,联合训练可以基于损失的加权和。然后,在框540,经训练的自动编码器和分类器可被存储在例如可存在于一个或多个云服务器中的一个或多个非暂时性存储介质中。
48.在这一点上,模型被适当地训练,并且可以被用于编码和解码信息,然后分类所得到的信息。为了使得能够对来自端节点设备的感测信息进行基于云的处理,在框550,经训
练的自动编码器可被发送到一个或多个此类设备。在某些情况下,可以发送包括编码器和解码器的全自动编码器。在其他情况下,尤其是在降低复杂度的iot设备的上下文中,可仅发送自动编码器的编码器部分。此时,云服务器可以开始从一个或多个设备接收经压缩的数据,例如,以经压缩的频谱图的形式。
49.注意,随着时间的推移,可能执行自动编码器和分类器中的一个或多个的增量训练。作为一个示例,可以以预定间隔执行这种增量训练。或者,当确定正在从终端设备接收较低质量的经压缩的数据时,分类器可以触发这种增量训练。当触发该增量训练时,控制从菱形框560传递到框570,其中,可响应于来自云服务器的请求从一个或多个端节点设备接收一个或多个未压缩频谱图。这些未压缩频谱图可用于进一步训练自动编码器和/或分类器。控制返回到框520,如上所述,其中,增量训练可以类似于初始训练来执行。应当理解,虽然在图5的实施例中以这样的高级配置示出了,但是许多变化和替代也是可能的。
50.现在参考图6,示出了根据一个实施例的用于执行自动编码器和分类器的组合训练的系统的框图。如图6所示,系统600可以在诸如服务器等的计算设备内实现。组合训练可以发生在由编码器610和解码器630形成的自动编码器与分类器640之间。
51.图6还示出了通过这些组件的数据流。更具体地说,可以是未压缩的频谱图的输入x在编码器610内被编码以生成与经压缩的频谱图对应的代码620。该经压缩的频谱图被提供作为解码器630的输入,其解压缩代码620以生成重构的未压缩的频谱图x。继而,该值被提供作为分类器640的输入,其基于原始频谱图x生成对应于目标单词y的分类标签y。
52.通过在系统600内执行训练,可以最小化多个损失函数。在一个实施例中,自动编码器的损失函数可以是以下之一:l
autotcoder
=|x-x|1或|x-x|2或ρ(x,x),其中,ρ是皮尔森相关系数。继而,分类器640的损失函数可以是:l
classifier
=binary_crossentropy(y,y)。
53.注意,这两个所得到的损失可以根据例如加权和来组合,以执行组合训练。例如,可以针对这些多个损失执行反向传播。在一个实施例中,可以对每个损失执行独立的反向传播。在另一种情况下,组合损失可以被反向传播。可以将对应于网络结构和加权系数的所得到的经训练的参数存储在非暂时性存储介质中,以便二者在基于云的目的地内使用以及用于至少将自动编码器的编码器提供给一个或多个端节点设备。
54.同样如上所述,可以执行多个训练,其中,每个训练用于针对不同信息类型(例如语音、图像、视频等)训练自动编码器(和分类器)。
55.实施例可以在许多不同类型的端节点设备中实现。现在参考图7,示出了可以作为节点并入无线网络的代表性设备700的框图。并且如本文所述,设备700可执行压缩,并将经压缩的频谱图传送到远程服务器,并继而从远程服务器接收命令。在图7所示的实施例中,设备700可以是传感器、致动器、控制器或能够在无线控制网络中的各种使用情况下使用的其他设备,包括感测、计量、监视、嵌入式应用、通信应用等。
56.在所示的实施例中,设备700包括存储器系统710,其在一个实施例中可以包括诸如闪速存储器的非易失性存储器和诸如ram的易失性存储装置。在一个实施例中,该非易失性存储器可以被实现为能够存储指令和数据的非暂时性存储介质。如本文所述,这种非易失性存储器可以存储用于一个或多个自动编码器的代码和数据(例如,经训练的参数),并且还可以存储执行包括图3和4的方法的代码。
57.存储器系统710经由总线750耦合到数字核720,其可包含充当设备的主处理单元
的一个或多个核和/或微控制器。如图所示,数字核720包括神经网络725,其可以执行频谱图的压缩/解压缩,如本文所述。如进一步所示,数字核720可以耦合到时钟发生器730,其可以提供一个或多个锁相环或其他时钟发生电路,以生成供设备的电路使用的各种时钟。
58.如进一步所示,设备700还包括功率电路740,其可包括一个或多个电压调节器。根据特定的实施方式,可以可选地存在附加电路,以提供各种功能和与外部设备的交互。这种电路可以包括接口电路760,其可以提供与各种片外设备的接口,传感器电路770,其可以包括各种片上传感器,包括数字和模拟传感器,以感测期望的信号,诸如语音输入、图像输入等。
59.另外,如图7所示,可以提供收发器电路780,以便能够例如根据一个或多个局域无线通信方案(诸如zigbee、蓝牙、z-wave、thread等)来发射和接收无线信号。应当理解,虽然以此高级视图示出,但许多变化和替代是可能的。
60.现在参考图8,示出了根据一个实施例的代表性无线自动化网络的框图。如图8所示,网络800可以被实现为网状网络,其中,各种节点810(810
0-n
)彼此通信,并且还可以从特定的源节点向给定的目的节点传送消息。这种基于消息的通信也可以在各种节点810和网络控制器820之间实现。
61.应当理解,虽然在图8中以非常高级示出了,但是网络800也可以采取除网状网络之外的许多形式。例如,在其他情况下,星形网络、点对点网络或其他网络拓扑结构可以是可能的。此外,虽然为了便于说明而示出了一般节点810,但是应当理解,在特定应用中可以存在许多不同类型的节点。例如,在家庭自动化系统的上下文中,节点810可以具有许多不同类型。作为示例,节点810可以包括传感器、照明组件、门锁或其他致动器、hvac组件、安全组件、窗盖和可能的娱乐组件、或其他接口设备,以使得能够经由网络800控制这样的组件。当然,在不同的实施方式中,还可以有附加的或不同类型的节点。
62.另外,不同的节点810可以根据不同的无线通信协议进行通信。作为示例,除其他可能的无线通信协议外,代表性通信协议可以包括蓝牙、zigbee、z-wave和thread。在一些情况下,某些节点可能能够根据多个通信协议进行通信,而其它节点可能仅能够根据所述协议中的给定的一个进行通信。在网络800内,某些节点810可与相同通信协议的其它节点通信,以便提供直接消息通信或用于实现与网络控制器820或其它组件的基于网状的通信。在其它实例中,例如,对于某些蓝牙设备,可以直接在给定节点810和网络控制器820之间进行通信。
63.这样,在图8的实施例中,网络控制器820可以被实现为多协议通用网关。网络控制器820可以是网络内的主控制器,并且可以被配置为执行操作以建立网络并实现不同节点之间的通信,以及在设备进入和离开网络800时更新这种建立。
64.另外,网络控制器820还可以是与诸如基于云的设备之类的远程设备交互的接口。为此,网络控制器820还可以例如经由因特网与远程云服务器840通信。远程云服务器840可包括处理器、存储器和非暂时性存储介质,其可被用于生成和预训练自动编码器并执行本文描述的其他操作。如还示出的,可以用于与网络800交互的一个或多个用户接口850可以位于远程处,并且可以经由因特网830与网络控制器820通信。作为示例,这样的用户接口850可以在被授权访问网络800的用户的移动设备(诸如智能电话、平板计算机等)内实现。例如,用户可以是家庭的房主,在该家庭中无线网络800被实现为家庭自动化网络。在其他
情况下,用户可以是授权雇员,诸如it个人、维护个人等,其使用远程用户接口850来与网络800交互,例如在建筑物自动化网络的上下文中。应当理解,许多其他类型的自动化网络(诸如工业自动化网络、智慧城市网络、农业作物/牲畜监视网络、环境监视网络、商店货架标签网络、资产跟踪网络或健康监视网络等)也可以利用如本文所述的实施例。
65.尽管已经参考有限数量的实施例描述了本发明,但是本领域技术人员应当从中意识到可以有许多修改和变化。所附权利要求旨在覆盖落入本发明的真实精神和范围内的所有这样的修改和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1