CN110678825B - 具有机器学习功能的低功率环境计算系统 - Google Patents
具有机器学习功能的低功率环境计算系统 Download PDFInfo
- Publication number
- CN110678825B CN110678825B CN201880035038.9A CN201880035038A CN110678825B CN 110678825 B CN110678825 B CN 110678825B CN 201880035038 A CN201880035038 A CN 201880035038A CN 110678825 B CN110678825 B CN 110678825B
- Authority
- CN
- China
- Prior art keywords
- computing system
- processing
- machine learning
- low power
- power
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 94
- 230000006870 function Effects 0.000 title description 3
- 238000012545 processing Methods 0.000 claims abstract description 257
- 238000000034 method Methods 0.000 claims abstract description 117
- 230000008569 process Effects 0.000 claims abstract description 109
- 230000007613 environmental effect Effects 0.000 claims abstract description 94
- 230000004044 response Effects 0.000 claims abstract description 36
- 230000002093 peripheral effect Effects 0.000 claims description 36
- 230000003213 activating effect Effects 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 19
- 230000007704 transition Effects 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000005236 sound signal Effects 0.000 description 39
- 238000013528 artificial neural network Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 9
- 230000002618 waking effect Effects 0.000 description 9
- 235000019800 disodium phosphate Nutrition 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 5
- 238000001994 activation Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000005452 bending Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3231—Monitoring the presence, absence or movement of users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Power Sources (AREA)
- User Interface Of Digital Computer (AREA)
- Feedback Control In General (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
本文公开了用于处理环境计算系统中的应用的方法、系统和装置。所述方法中的一个包括由低功率处理部件确定特定传感器信号具有特定属性。作为响应,机器学习引擎使用所述传感器信号在机器学习模型上执行推理过程,以生成模型输出。如果所述机器学习引擎的所述模型输出匹配特定于应用的条件,则激活所述其它处理部件中的一个或多个以执行对应于所述特定于应用的条件的特定应用。
Description
技术领域
本说明书涉及环境计算。
背景技术
移动计算设备,例如智能电话、个人数字助理、电子平板电脑、笔记本电脑等,通常使用由一个或多个可再充电电池提供的功率。在必须对电池进行再充电(例如,通过向电池施加电流)之前,可再充电电池仅向设备提供有限的电量。给移动计算设备的电池再充电通常需要将移动计算设备连接到电网,这降低或消除了移动计算设备的移动性。因此,减少移动计算设备的功率消耗,从而延长其电池寿命是重要的目标。
移动计算设备可以包括一个或多个或外围传感器。例如,一些移动计算设备包括麦克风、相机、加速度计等。移动计算设备还可以包括一个或多个处理部件以处理由一个或多个外围传感器收集的数据。例如,一些移动计算设备包括中央处理单元(CPU)、数字信号处理器(DSP)或其它处理部件。
移动计算设备可以基于由其一个或多个外围传感器收集并由其一个或多个处理部件处理的数据而执行动作。例如,一些移动计算设备可以响应于由麦克风检测到并由CPU处理的语音命令而执行动作。然而,将处理部件维持在活动状态以使得它们可以处理传感器数据会消耗大量功率。
发明内容
本说明书描述了用于在计算设备上实现低功率环境计算的技术。在本说明书中描述的环境计算系统在任何给定时间以几种不同的功率状态中的一个进行操作,每种功率状态由加电的部件的组合来定义。可以通过机器学习引擎确定已加电的部件的组合,所述机器学习引擎实现经训练的模型,所述模型将传感器数据作为输入并生成输出,所述输出可以用于确定应当激活处理部件的哪种组合以进一步处理传感器数据。
例如,在最低功率监视功率状态下,系统只能向外围接口和具有电源控制单元(PCU)的控制子系统供电。在监视功率状态下,外围接口可以等待接收来自计算设备的环境的输入。
当一个或多个外围接口从所述环境接收输入并生成对应的传感器信号时,系统可以进入处理功率状态,所述功率状态通常比监视功率状态消耗更多的功率。在处理功率状态下,系统将功率供应给低功率处理部件,例如低功率CPU或低功率DSP,以对通过外围接口接收的传感器信号执行初始解释。例如,低功率处理部件可以基于传感器信号的属性而确定无需借助机器学习引擎即可解释传感器信号,或者应由机器学习引擎进一步解释传感器信号。
机器学习引擎然后可以使用传感器信号来生成代表潜在多个更高级别功率状态中的一个的输出,每个功率状态由要激活的部件的特定组合定义。在本说明书中,激活部件是指向该部件供应足以允许该部件开始处理数据的附加功率。在这种情境下,通过从关闭或保留状态转变到活跃的处理状态,可以激活部件。可以通过系统激活更复杂、功率更高并且可能是专用的处理部件例如一个或多个高功率DSP、主CPU集群或高功率机器学习引擎来实现更高级别的功率状态。例如,机器学习引擎可以生成指示麦克风正在接收对应于人类语音命令的音频数据的输出。然后,输出可以致使系统为专用音频DSP提供功率以便处理音频数据。
这些技术允许依赖于对传感器数据的连续监视的多种复杂应用以较低的耗电状态运行。例如,如果系统根据接收到的雷达信号确定用户的脸部朝向实现所述系统的计算设备的显示器,则所述系统可以处理功率状态以在没有接收到来自用户的任何其它输入的情况下自动打开计算设备的显示器。
本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。环境计算系统可以执行多种复杂的任务,同时比以前的方法消耗更少的功率。通过使用机器学习引擎,可以进一步提高节电和延长电池寿命。机器学习引擎可以生成代表部件的自定义组合的输出,这消除了对唤醒芯片的所有部件或不唤醒任何部件的需要。这种方法还极大地增加了可能的功率状态的数量,而又不会使硬件控制逻辑过于复杂。这些方法还允许系统执行复杂的任务,所述任务需要对环境进行连续监控而无需唤醒设备的主CPU集群。这允许环境计算系统对环境变化做出更快速的响应,同时还降低了功率消耗。因此,环境计算系统可以提供更大的功能,而对计算设备的电池寿命的影响有限,并且可以增加具有复杂环境状态的计算设备的总电池寿命。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其它特征、方面和优点将变得显而易见。
附图说明
图1是示例环境计算系统的图解。
图2是示例环境计算系统的功率状态的状态图。
图3是用于连续激活环境计算系统中的附加处理部件的示例过程的流程图。
图4是用于激活特定处理部件以处理与特定于应用的条件对应的应用的示例过程的流程图。
图5是用于生成对语音命令的文本到话音音频响应的示例过程的流程图。
图6是用于执行手势特定应用的示例过程的流程图。
在各种附图中,相似的附图标记和命名指示相似的部件。
具体实施方式
图1是包括低功率环境计算能力的示例计算设备100的图解。设备100可以包括在任何适当的计算设备中实现的系统,所述计算设备例如智能电话、智能手表、健身追踪器、个人数字助理、电子平板电脑、笔记本电脑等。可以使用计算设备100的系统,以使得计算设备100可以保持在低功率状态,但是仍然通过顺序地唤醒系统的适当处理部件来连续地监视和响应来自环境的输入。在本说明书中,术语“唤醒”和“激活”将用于表示向特定的处理部件或其它电子电路供应增加的功率量。系统可能已经或可能没有为正在被唤醒或激活的处理部件或其它电路供电。换句话说,被唤醒或激活的部件以前可能有过或可能没有过完全断电。唤醒或激活处理部件可能导致处理部件执行引导过程,并且致使有关处理部件的指令和数据被加载到随机存取存储器中。替代地或另外,唤醒或激活处理部件可以包括从先前的暂停状态恢复。
可以在计算设备内的片上系统(SoC)上实现计算设备100的一个或多个部件。SoC可以是集成电路,所述集成电路包括系统的在单个硅衬底上或在多个互连的管芯例如使用硅中介层、堆叠的管芯或互连桥上的每个部件。计算设备的其它部件包括主CPU集群140可以在相同或单独的管芯上实现。计算设备100可以包括与SoC分开并且独立于SoC的部件,包括外围传感器112、一个或多个显示器、电池以及其它部件,并且所述部件可以例如安装在公共壳体上。
简要地,并且如下面进一步详细描述的,设备100包括若干外围传感器112,所述若干外围传感器112被配置成基于来自计算设备的环境的输入而生成传感器信号。设备100包括控制子系统120,所述控制子系统120用于控制向系统中的部件供应功率和传感器信号。并且,设备100包括用于处理传感器信号并生成输出的处理子系统130。
设备100还包括主CPU集群140。所述主CPU集群140是计算设备的部件,所述部件包括与处理子系统130中的设备分开的一个或多个通用处理器。主CPU集群140的处理器通常具有比处理子系统130中的设备中的任何一个更大的计算功率,并且因此,主CPU集群140的处理器也可能比处理子系统130中的设备中的任何一个消耗更多的功率。
设备100还可以可选地包括一个主机器学习(ML)引擎150。主ML引擎150是被配置成通过一个或多个机器学习模型执行推理过程的专用处理设备。每个推理过程都使用机器学习模型的输入和学习的参数值来生成由学习的模型预测的一个或多个输出。主ML引擎150可以包括一个或多个计算图块。通常而言,计算图块是被配置成独立执行一组计算的独立计算部件。可以将主ML引擎150的图块布置在网络中并进行编程,以使得主ML引擎150的每个图块被配置成通过机器学习模型执行推理过程的一部分的操作。例如,如果机器学习模型是神经网络,则主ML引擎150中的每个图块可以被配置成计算神经网络的一个层的计算。在美国专利No.9,710,265中描述了一种具有多个计算图块的合适的机器学习引擎,所述美国专利以引用的方式并入本文中。主ML引擎150还提供比环境计算系统110的处理子系统130中的设备中的任何一个更高的性能计算功率。因此,主ML引擎150还比处理子系统130中的设备中的任何一个消耗更多的功率。
处理子系统130包括环境机器学习引擎134。环境ML引擎134还是专用处理设备,所述专用处理设备被配置成通过一个或多个机器学习模型执行推理过程。当设备100包括主ML引擎150和环境ML引擎134二者时,环境ML引擎134具有较少的计算图块,并且因此比主ML引擎150拥有更小的处理功率,并且比主ML引擎150消耗更少的功率。例如,环境ML引擎134可以被实现为一个或两个图块,而主ML引擎150可以具有8到16个或更多个互连的图块。
虽然未示出,但是计算设备100还可以包括在这种计算设备上常见的一个或多个其它部件,例如,显示器、调制解调器、图形处理单元、显示处理器或专用图像处理器等。可以在以下所述的低功率状态期间使这些部件断电,并且如果系统确定传感器信号与需要其激活的应用匹配,则激活所述部件。
设备100包括若干外围传感器112。外围传感器112包括一个或多个音频传感器102、一个或多个雷达传感器104、一个或多个触摸传感器106、全球定位系统(GPS)传感器108和加速度计109。所述系统可以包括附加的、更少的或替代的外围传感器。例如,所述系统可以包括Wi-Fi信号检测器、蜂窝信号检测器、气压计、温度计、磁力计或其它类型的外围传感器。
外围传感器112可以是被配置成响应于环境输入而生成传感器信号的设备。一个或多个音频传感器102例如麦克风可以基于环境中的声音而生成音频信号。例如,音频传感器102可以生成对应于人类话音的音频信号。一个或多个雷达传感器104可以基于由计算设备的发射器发射的反射无线电波而检测雷达信号。反射无线电波的变化可以指示环境中的移动。例如,雷达传感器104可以生成雷达信号,所述雷达信号是由于例如当用户在计算设备附近做出手势时从用户反射而接收到的。类似地,一个或多个触摸传感器106可以由于计算设备的用户在设备的存在敏感或压力敏感的接口上做出的触摸手势而生成信号。GPS传感器108可以响应于接收到的位置数据通信而生成信号。并且,加速度计109可以由于计算设备经历的加速度而生成信号。在本说明书中,每当将传感器信号描述为输入到其它处理部件时,输入可以是传感器本身生成的模拟电信号、传感器信号的数字表示、或传感器信号的代表原始信号的一个或多个属性的处理的数字表示。计算设备100的外围传感器还可以包括惯性测量传感器、气压计、特定吸收率接近传感器和WiFi网络名称传感器等。
环境计算系统110包括一个或多个外围接口114。外围接口114可以是计算设备100的即使当设备处于其最低功率状态时也被通电的部件。外围接口114可以包括任何适当的外围接口,以用于将从外围传感器112接收的输入转换成要由环境计算系统110使用的传感器信号。例如,外围接口114可以包括脉冲密度调制(PDM)接口、IC间声音(I2S)接口、集成电路间(I2C)接口、I3C接口、时分多路复用(TDM)接口和串行外围接口(SPI)等。
外围接口114中的每个被配置成在检测到环境输入时生成相应的中断。通常而言,每个中断可以识别传感器数据的源,例如为中断负责的外围接口或传感器的标识符。所述中断由一个或多个中断控制器124接收和处理。例如,在接收到中断时,中断控制器124可以唤醒电源控制单元(PCU)121,所述单元包括电源管理单元(PMU)122和时钟控制单元123。PMU 122可以控制设备100的哪些部件接收功率以及每个部件接收多少功率。时钟控制单元123可以控制设备100的部件操作的频率。在一些实施方式中,每个处理部件具有不同的时钟频率,所述时钟频率是基本时钟频率的倍数或分数。通过具有为基本时钟频率的倍数或分数的时钟频率,每个处理部件可以更有效地与其它处理部件交换信号。
在接收到中断时,PCU 121可以基于中断的源而确定应当激活环境计算系统110的哪些其它部件,以便进一步处理致使中断的传感器信号。为了提供对这种部件的处理支持,PCU 121可以唤醒静态随机存取存储器(SRAM)139和系统通信架构。所述架构是通信子系统,所述通信子系统通信地耦合环境计算系统110的内部部件,它们与外部部件的通信或这些的某种组合。所述架构可以包括通信硬件的任何适当的组合,例如总线或专用互连电路。
静态随机存取存储器(SRAM)139可以是通用随机存取存储器设备,所述设备可以由处理子系统130的多个处理部件共享。例如,SRAM 139可以存储传感器信号、处理器指令和数据、系统输出和其它数据,例如由环境ML引擎134实现或将由环境ML引擎134实现的神经网络模型的神经网络参数。通常而言,SRAM与动态随机存取存储器(DRAM)的不同之处在于SRAM不需要定期刷新。如以下更详细描述,SRAM 139可直接或通过一个或多个DMA控制器而被处理子系统130中的处理部件访问。在一些实施方式中,SRAM 139包括多个存储组,所述每个存储组可以存储基本相似量的数据,例如,每个存储1MB、10MB或100MB。另外,每个单独的存储组都可以包括当进入低功率状态时可以个别地断电的多个模块。通过仔细地对四个存储组中的模块断电顺序进行排序,SRAM地址空间可以保持连续。
当PCU 121唤醒SRAM 139时,PCU 121可以唤醒少于SRAM 139的所有模块或所有存储组。PCU 121可以仅唤醒足以让处理子系统130下一个部件确定是否进一步升级设备100的各部件的加电的若干模块。
PCU 121还可以向SRAM 139的不同模块供应不同的功率水平。例如,在监视功率状态下,PMU 122可以向整个SRAM 139供应较低的保持电压,以降低其功率消耗。如果不需要任何处理部件访问SRAM 139,则PMU 122还可以向SRAM 139供应保持电压。在处理功率状态下,PMU 122可以向SRAM 139的全部或部分提供正常电压,并且向SRAM 139的其它部分提供降低的电压或不提供电压。
在处理中断的过程期间,环境计算系统110还可以唤醒一个或多个DMA控制器128。DMA控制器128可以管理允许传入的传感器信号具有更高数据带宽的DMA路径。例如,DMA控制器128可以用于将来自麦克风的音频数据连续地流传输到SRAM 139中,以供处理子系统130中的处理部件进行访问。相反,DMA控制器也可以用于对存储在SRAM 139中的音频数据连续地流传输以便通过一个或多个扬声器作为声音输出。DMA控制器128也可以用于将任何适当的传感器数据流式传输到SRAM 139中,但是对于少量数据而言,使用编程的IO从计算方面讲可能比激活DMA控制器便宜。因此,环境计算系统110可以针对相对较高带宽的传感器数据例如音频数据和雷达数据激活和使用DMA控制器128,并且可以将编程的IO用于其它类型的传感器数据。
在准备好架构和SRAM 139之后,PCU 121随后可以使用中断来确定要唤醒处理子系统130的哪个其它部件。例如,PMU 122可以根据一个或多个传感器中的哪一个生成了中断而控制是否向低功率CPU 132、低功率DSP 136或处理子系统130的其它部件提供功率。在一些实施方式中,外围接口114和控制子系统120的部件是设备100的在监视功率状态下通电的仅有的部件,所述监视功率状态是系统由于对计算设备的环境输入而正在等待接收中断的功率状态。
处理子系统130的处理部件包括低功率CPU 132、环境ML引擎134、低功率DSP 136和高功率DSP 138。在一些实施方式中,处理子系统具有这些部件中的一个或多个的多个实例,例如多个低功率DSP或多个高功率DSP。例如,处理子系统130可以具有一个专用于处理音频信号的高功率DSP和专用于处理雷达信号的单独的高功率DSP。替代地或另外,处理子系统130可以具有专用于处理图像数据的高功率DSP。
在监视功率状态下,可以将处理子系统130中的处理部件维持在保持模式。PCU121可以通过减少或消除提供给部件的功率来将部件保持在保持模式。例如,在保持模式下,PCU 121可以为处理部件供应仅足够的功率来维持寄存器状态,但是没有足够的功率来处理寄存器中的数据。
低功率CPU 132可以是包括寄存器、控制电路和算术逻辑单元(ALU)的通用可编程处理器。通常而言,低功率CPU 132比计算设备的主CPU集群140消耗更少的功率,并且可以包含更少的处理核心。在一些实施方式中,低功率CPU 132主要是对单个指令和单个数据输入进行操作的标量处理器。
当系统进入处理功率状态时,低功率CPU 132可以接收中断和传感器信号。基于低功率CPU 132接收的传感器信号的类型以及基于那些传感器信号的属性,低功率CPU 132可以确定应激活系统的其它部件,例如通信架构、DMA控制器128,SRAM 139或这些的某种组合。在激活这些部件之后,低功率CPU 132可以可选地返回到非操作状态。
低功率CPU 132可以将传感器信号或其处理版本提供给环境ML引擎134以进行进一步解释。例如,如果低功率CPU 132接收到对应于加速度计输入的传感器信号,则低功率CPU 132可以确定环境ML引擎134应该进一步处理传感器信号。例如,环境ML引擎134然后可以进一步处理传感器信号以确定所述信号表示步行、慢跑、骑自行车、摔倒或在汽车中行驶。
低功率CPU 132还可以针对一些信号绕过环境ML引擎134。例如,如果低功率CPU132接收与计算设备的触摸接口上的简单触摸输入对应的传感器信号,则低功率CPU 132可以在没有其它处理部件的帮助的情况下处理所述触摸输入,例如通过致使计算设备的显示器被主CPU集群140或图形处理器打开。低功率CPU 132还可以确定计算设备的主CPU集群140或设备100外部的计算设备的另一部件应进一步处理某些传感器信号。例如,如果确定设备100中没有其它处理部件可以正确地处理传感器信号,则低功率CPU 132可以做出这种确定。
环境ML引擎134的一个任务是使用传感器信号在模型上执行推理过程以生成输出,所述输出可以触发唤醒其它处理部件以进一步处理传感器信号。换句话说,环境ML引擎134可以接收传感器信号或传感器信号的由低功率CPU 132或另一处理部件生成的处理版本,并且环境ML引擎134可以生成表示哪些其它处理部件应该进一步处理传感器信号的输出。由环境ML引擎134生成的输出可以明确地指定处理部件ID或枚举的功率状态的标识符的组合,或者所述输出可以是由低功率处理部件(例如,低功率CPU或低功率DSP)解释的功率状态的表示,以便识别应该处理传感器信号的其它较高功率处理部件。作为该过程的一部分,低功率处理部件可以明确地或隐含地确定是否需要任何其它处理。例如,低功率处理部件可以基于机器学习引擎的输出而确定不需要进一步的处理,并且系统可以转变回到监视功率状态。
在最低级别的监视功率状态下,PCU 121可以将环境ML引擎134保持在低功率状态或完全断电。在处理功率状态下,PCU 121可以向或可以不向环境ML引擎134提供功率,这取决于外围接口114处哪些传感器信号可用以及低功率CPU 132或低功率DSP 136如何解释所述信号。在一些实施方式中,低功率DSP 136或低功率CPU 132解释所述信号以指示PCU 121为其中环境ML引擎134也被通电用于推理过程但尚未使其它高功率处理部件通电的附加的中间功率状态提供功率。
环境ML引擎134还可以实现用于处理传感器信号的其它机器学习模型。例如,环境ML引擎134可以实现简化的话音识别模型,所述模型允许环境ML引擎134识别一些基于语音的命令。因为所述模型可以安装在存储器容量有限的移动计算设备上,所以识别的命令的数量可能少于在线语音识别过程。
环境ML引擎134可以替代地或另外实现提供片上自动话音识别的机器学习模型。换句话说,环境ML引擎134可以通过所述模型执行推理过程,以便生成在音频信号中捕获的话音的实时转录。
作为另一示例,环境ML引擎134可以实现文本到话音模型,所述模型从特定文本输入生成音频输出信号,其中音频输出信号可以被用户以特定语言解释为人类话音。在一些实施方式中,设备100可以串联地使用话音识别模型和文本到话音模型以提供低功率对话引擎。例如,在环境ML引擎134识别出特定命令之后,低功率CPU 132可以采取特定动作来实现所述命令并且还向环境ML引擎134提供特定的文本响应。环境ML引擎134然后可以使用文本到话音模型生成代表对初始命令的响应的音频输出。在一些实施方式中,可以执行话音识别、动作执行和文本到话音响应的整个数据流,而无需唤醒设备的主CPU集群140。
例如,如果用户提供语音命令“louder(大声一点)”,则环境ML引擎134可以生成表示对应于语音命令的音频信号的输出,以增加设备正在播放的音乐的音量。机器学习引擎134可以将输出提供给低功率CPU 132,所述低功率CPU 132可以通过向一个或多个一体式扬声器子系统发出信号来实现命令。然后,低功率CPU 132可以向环境ML引擎134提供文本响应“级别5的音量”。环境ML引擎134然后可以使用文本到话音模型处理文本响应以生成音频输出,所述设备可以在一个或多个一体式扬声器子系统上播放。因此,环境计算系统110处理整个对话序列,而不唤醒所述设备的主CPU。
环境ML引擎134还可以实现多种其它模型中的任何一种。环境ML引擎134还可以实现手势识别模型,所述手势识别模型解释由计算设备的用户做出的手势的特征。例如,对模型的输入可以是由计算设备接收到的处理的雷达信号,并且模型的输出可以是用户已经做出的手势的预测。每个手势可以对应于特定命令,并且环境ML引擎134可以将输出提供给低功率CPU 132或另一处理部件以用于进一步的动作。
环境ML引擎134可以包括用于存储模型参数和其它模型配置信息的一个或多个存储组。例如,机器学习引擎134可以存储代表神经网络连接和神经网络参数的数据。环境ML引擎134可以包括用于计算神经网络激活或其它神经网络层输出的一个或多个乘法累加(MAC)单元和一个或多个求和寄存器,以及用于控制存储组与MAC单元之间的数据交换的控制器。环境ML引擎134还可以包括指令存储器、直接存储器访问路径、寄存器和其它处理部件。在一些实施方式中,环境ML引擎134是机器学习计算图块,所述图块被配置成加速机器学习推理过程的计算。
低功率DSP 136和高功率DSP 138是专用处理器,所述专用处理器被配置用于高效解码和处理高度矢量化的信号。处理子系统130可以包括被设计用于不同目的的多种DSP。例如,处理子系统130可以包括被配置成处理雷达信号的DSP、被配置成处理音频信号的DSP、被配置成执行数据平面算法的DSP、被配置成处理无线通信信号的DSP、以及被配置成处理GPS信号的DSP等。
如上所述,低功率DSP 136可以执行对来自控制子系统120的传感器信号的初始解释。低功率DSP 136也可以执行其它信号处理任务。通常而言,高功率DSP消耗的功率比低功率DSP高,因为它们具有更多的活动寄存器,它们并行访问和处理更多数据,因为它们更依赖于存储器操作或这些的某种组合。
控制子系统120还可以包括计时器129,所述计时器129是可以检测系统故障并解决这些故障的电子计时器。在正常操作期间,系统可以定期重置计时器129,以防止计时器129超时。例如,如果由于硬件故障或程序误差而导致系统无法重置计时器,则计时器的时间将流逝并生成超时信号。超时信号可以用于启动一项或多项纠正动作。纠正动作可以包括将系统置于安全状态并恢复系统的正常运行。
图2是示例环境计算系统的功率状态的状态图。图2示出了可以在每个随后的功率状态下开启的附加部件。
在图2中,监视功率状态210是系统的最低功率状态。在监视功率状态期间,系统使最少数量的部件通电。例如,在一些实施方式中,控制子系统120和外围接口114的仅一个或多个部件在监视功率状态下接收功率。其它部件可以在监视功率状态210期间断电。然后,当PCU 121在一个或多个外围接口114处检测到新传感器数据的存在时,PCU 121可以向控制子系统120的其它部件提供功率。
在监视功率状态下,系统等待中断,例如由于对应于来自环境的输入的传感器信号或由于计时器超时而引起的中断。如果系统接收到中断,则系统可以从监视功率状态210转变到处理功率状态220。在处理功率状态220下,PMU 122可以为SRAM 139和低功率CPU132、环境ML引擎134或低功率DSP 136的任何组合供应功率。
在接收到中断时,中断控制器124可以指示PMU 122向低功率处理部件中的一个供应功率,从而将系统转变到处理功率状态220。如上所述,低功率处理部件被设计成是当检测到中断时在处理子系统中唤醒的第一个部件。低功率处理元件可以是例如低功率CPU,例如处理子系统130的低功率CPU 132,或另一个低功率处理器,例如低功率DSP 136或这些的某种结合。在一些实施方式中,系统根据接收到哪些中断来使用低功率CPU 132或低功率DSP 136。例如,如果中断来自GPS传感器,则系统可以使用低功率CPU 132;如果中断来自音频传感器,则系统可以使用低功率DSP 136;并且如果中断是由于计时器引起的,则系统可以使用低功率DSP 136。
然后,低功率处理部件例如低功率CPU 132或低功率DSP 136可以根据传感器信号的属性而确定是否唤醒环境ML引擎134。例如,如果低功率DSP 136将音频信号分类为对应于噪声而不是人类话音,则低功率DSP 136可以确定根本不调用环境ML引擎134。
低功率处理部件还可以将环境ML引擎编程为激活过程的一部分。例如,低功率处理部件可以向环境ML引擎指示要使用多个机器学习模型中的哪个,并且可以使用DMA路径将适用模型的指令和参数数据交换到SRAM中。
环境ML引擎134可以处理一个或多个传感器信号以生成表示应该进一步处理传感器信号的一个或多个其它处理部件的输出。例如,环境ML引擎134可以生成表示高功率DSP138或主CPU集群140应该进一步处理传感器信号的输出。低功率处理组件可以解释环境ML引擎的输出,以将系统转变到更高级别的功率状态230中的一个,并且可以指示PCU 121向实现更高级别的功率状态所需的部件例如高功率DSP 138提供功率。
系统还可以转变到全功率状态240,在所述状态期间,主CPU集群140、主ML引擎150或二者都通电。全功率状态240可能是用户在主动使用计算设备期间例如在使用主CPU集群140的web浏览会话期间或在使用主ML引擎150上的一个或多个话音识别和音频生成神经网络的语音会话期间的时间段。
仅当需要时对部件的这种级联的通电步骤降低了系统的功率消耗,同时仍然允许系统始终快速地响应于输入。
一旦特定处理部件完成处理传感器信号,PCU 121就可以停止向该处理部件提供功率,这进一步降低了功率消耗。
在一些情况下,即使是低功率CPU 132、环境ML引擎134和低功率DSP 136也可能无法完全处理某些传感器信号。在这种情况下,系统可以转变到更高级别的功率状态230,在所述状态下,系统为高功率DSP 138或主CPU集群140提供功率。
一旦所有处理完成,系统就可以转变回监视功率状态210,在所述状态下系统等待来自新传感器数据的中断。
图3是用于在需要附加处理部件时连续激活环境计算系统中的所述附加处理部件的示例过程的流程图。为方便起见,所述过程将被描述为由环境计算系统或系统的一个或多个部件执行。所述系统可以包括参考图1描述的部件,包括:一个或多个外围接口,所述一个或多个外围接口被配置成生成传感器信号;中断控制器;以及一个或多个处理部件,包括低功率CPU、环境ML引擎、一个或多个DSP或这些的某种组合。
系统最初处于监视功率状态,所述状态是系统可以响应于输入的最低功率状态。在监视功率状态下,系统可以将控制子系统的部件维持在操作状态,并且将处理子系统的部件例如低功率CPU、环境ML引擎和其它处理部件保持在非操作状态。将这些部件维持在非操作状态涉及不向它们提供功率,或者提供低于阈值的功率水平。系统可以在监视功率状态下向一些部件提供一定的功率,例如以维持易失性存储器设备的状态。它可以替代地或另外在监视功率状态期间不给其它部件例如环境ML引擎提供功率。
所述系统保持在监视功率状态直到确定一个或多个外围接口处有一个或多个传感器信号可用为止(310)。
在接收到中断时,系统从监视功率状态转变到处理功率状态(320)。如上所述,中断可能是由于一个或多个外围接口生成一个或多个传感器信号或由于计时器超时而生成的。
中断控制器还可以自动忽略特定的传感器信号。例如,如果在其上实现了环境计算系统的计算设备的位置服务被关闭,则中断控制器可以简单地致使系统忽略位置数据信号,而无需转变到处理功率状态。
转变到处理功率状态致使系统激活低功率处理部件,例如低功率CPU或低功率DSP。激活低功率处理部件可以涉及由中断控制器向中断发出唤醒低功率处理部件的信号。发出中断可能会致使数据存储在中断寄存器中,低功率CPU稍后可以读取和解释所述中断寄存器。中断寄存器可以存储描述传感器信号的源的数据。中断控制器还可以指示PCU为低功率CPU提供功率。
低功率处理部件处理所述中断以生成输出,所述输出指定是否调用环境ML引擎以进一步处理一个或多个传感器信号(330)。该决定可以涉及确定一个或多个传感器信号具有特定属性,例如具有人类话音特征的音频数据或具有手势特征的雷达数据。
如果低功率处理元件确定不调用环境ML引擎(340),则低功率处理部件仍然可以确定其它处理部件是否应当处理一个或多个传感器信号(分支到350)。换句话说,虽然通过环境ML引擎的决策路径可以用于许多情况,但是环境计算系统也可以支持用于处理根本不调用环境ML引擎的传感器信号的用例。
如果其它处理部件应当处理一个或多个传感器信号(350),则环境计算系统可以与一个或多个其它处理部件一起处理一个或多个信号(分支到380)。例如,低功率DSP可以确定接收到的气压计或加速度计信号应当由低功率CPU而不是环境ML引擎进一步处理。在这种情况下,低功率DSP可以调用低功率CPU来进一步处理传感器信号,而无需唤醒环境ML引擎。在处理之后,系统可以转变回到监视功率状态(390)。
低功率处理部件还可以确定传感器信号不需要进一步处理,例如音频或雷达信号实际上只是噪声的情况。在这种情况下,系统可以简单地转变回监视功率状态(分支到390),而无需调用其它处理部件。通过尽早终止所述过程,而无需激活环境ML引擎或其它处理部件,所述系统可以节省大量功率。
如果低功率处理元件确定要调用环境ML引擎(340),则环境ML引擎处理一个或多个传感器信号以生成表示应该进一步处理一个或多个传感器信号的一个或多个其它处理部件的输出(分支到360)。环境ML引擎可以使用多种适当的机器学习模型。通常而言,对模型的输入是一个或多个传感器信号的一个或多个特征,而输出是低功率处理元件可以用来决定环境计算系统的其它处理部件是否需要进一步处理的推断。
例如,环境ML引擎可以生成输出,低功率处理元件将所述输出解释为意味着专用音频DSP应该进一步处理一个或多个传感器信号,例如当需要文本到话音响应时,或者主CPU集群或主ML引擎应当进一步处理一个或多个传感器信号。
作为一个示例,低功率DSP可以处理麦克风信号并生成指示人类产生的噪声不是真实的话音的输出。在这种情况下,低功率DSP不会激活环境ML引擎来进一步处理传感器信号。另一方面,低功率DSP可以处理其它麦克风信号并生成指示人类产生的噪声是话音的输出。在这种情况下,低功率DSP可以激活环境ML引擎以进一步处理传感器信号。
所述系统激活由环境机器学习引擎的输出表示的一个或多个其它处理部件,并使用激活的一个或多个其它处理部件来处理一个或多个传感器信号(370)。附加激活的处理部件可以包括一个或多个更高级别的功率状态的处理部件,例如高功率DSP。附加激活的处理部件还可以是一个或多个全功率状态的处理部件,例如主CPU集群、主ML引擎或这些的某种组合。
例如,传感器信号的组合可以指示用户已经开始查看设备。环境ML引擎的输出可以用于将这些传感器信号的特征映射到需要使用主CPU集群才能打开计算设备的显示器的程序。作为另一示例,传感器信号的组合可以指示用户已经发出了语音命令。环境ML引擎的输出可以用于将这些传感器信号的特征映射到需要主ML引擎生成文本到话音响应的程序,这可能还需要激活主CPU集群以执行在线语音识别。
在激活的处理部件处理传感器信号之后,低功率处理部件可以关闭这些处理组件或指示PCU执行该操作。此后,低功率处理部件还可以指示PCU转变回监视功率状态以等待下一个中断(390)。
图4是用于激活环境计算系统中的特定处理部件以处理与特定于应用的条件相对应的应用的示例过程的流程图。为了方便起见,所述过程将被描述为由计算系统或由计算系统的特定部件执行。同样,计算系统可以包括参考图1描述的部件,包括一个或多个外围接口,所述一个或多个外围接口被配置成生成传感器信号,以及一个或多个处理部件,包括低功率处理部件,例如,低功率CPU 132或低功率DSP 136、环境ML引擎134和一个或多个高功率DSP 138。在示例过程期间,系统最初处于处理功率状态,但是可以转变到更高功率处理状态。
低功率处理部件处理由一个或多个外围接口生成的传感器信号,以确定特定传感器信号具有特定属性(410)。确定特定传感器信号具有特定属性可以涉及确定传感器信号具有特定类型,例如对应于人类话音的音频数据或对应于手势的雷达数据。
响应于确定传感器信号具有特定属性,系统激活环境ML引擎(420),如参考图3所描述。
环境ML引擎使用传感器信号在机器学习模型上执行推理过程以生成模型输出(430)。环境ML引擎可以实现若干机器学习模型中的任何一种,包括话音识别模型、手势识别模型和文本到话音模型,它们被表示为神经网络模型或任何其它适当的机器学习模型。话音识别模型接收代表人类话音的传感器信号作为输入,并对这些信号进行处理以生成对应的文本。手势识别模型接收代表手势的雷达输入,并识别和解码这些手势。而且,文本对话音模型接收文本作为输入,并处理该文本以生成对应的话音。
在一些实施方式中,环境ML引擎存储多个机器学习模型,并且传感器信号的属性致使低功率DSP或低功率CPU选择一个或多个模型,环境ML引擎应在所述一个或多个模型上执行推理过程。在一些情况下,环境ML引擎可以使用相同的传感器信号在不同模型上多次执行推理过程。
如上所述,第一类型的机器学习模型是可以用于识别激活计算系统的哪些其它部件以进行进一步处理的模型。在这种情况下,输入是传感器信号,并且机器学习输出可以是可以映射到一个或多个处理部件中的每个部件的一个或多个标识符的输出。
可以由环境ML引擎实现的另一种类型的机器学习模型是热词模型,所述热词模型执行简化的话音识别以识别用户何时说出相对较少的热词集,例如“Ok phone(好的,电话)”。在这种情况下,输入是音频信号,并且输出是枚举的命令集合的一个或多个标识符。例如,枚举的命令中的一个可以是收听附加的话音输入,这例如可以由更复杂的主ML引擎来处理。
可以由环境ML引擎实现的另一种机器学习模型是媒体标识模型。在这种情况下,输入是音频信号,并且模型输出是音频信号的媒体的一个或多个属性,例如歌曲、节目、电视剧或电影的标题,电视或广播频道的名称。例如,输出可以是将背景音频标识为电影“Braveheart(勇敢的心)”的文本。然后,环境计算系统可以激活主CPU集群,以在电话屏幕上的通知中显示该信息。为了实现媒体标识模型,设备可以例如每晚、每周或每月一次下载更新的模型参数,以使得识别的媒体是最新的并且合理地是当前的。
可以由环境ML引擎实现的另一种机器学习模型是音乐标识模型。在这种情况下,输入是音频信号,并且模型输出是音乐作品的一个或多个属性,例如标题、作者、作曲家、专辑或歌曲的曲目。所述设备可以类似地周期性地例如每晚、每周或每月一次下载更新的模型参数,以使得所识别的音乐是最新的并且合理地是当前的。
实现上面提及的模型中的一个或多个所需的存储器可能会超过设备上SRAM的大小。因此,系统可以使用存储器覆盖以能够支持具有有限的存储器空间的多个机器学习模型。例如,系统可以定期将热词模型的模型参数和代码交换到SRAM中,并对过去几毫秒内接收到的音频执行推理过程。然后,系统可以将用于媒体标识模型的模型参数和代码交换到SRAM中,并对过去几毫秒内接收到的音频执行第二推理过程。并且然后,系统可以执行相同的操作以换入音乐标识模型的模型参数和代码。在一些实施方式中,系统使用DMA控制器将覆盖交换到SRAM中,并且将DMA路径交换到DRAM或将数据缓存在DRAM中的系统级缓存中。
系统确定传感器信号匹配特定于应用的条件(440)。例如,低功率处理部件可以解释环境ML引擎的输出,以确定传感器信号匹配用于打开计算设备的显示器的条件,在所述计算设备上实现了环境计算系统。作为另一个示例,低功率处理部件可以解释环境ML引擎的输出,以确定接收到的音频信号对应于语音命令“OK Computer,turn on the screen(好的,计算机,打开屏幕)”。
响应于确定特定传感器信号匹配特定于应用的条件,系统激活特定处理部件以执行与特定于应用的条件对应的特定应用(460)。继续来自前一段落的示例,系统可以激活处理部件以执行致使计算设备的显示器照亮的程序代码。
在另一示例过程中,低功率处理部件可以确定特定的传感器信号是音频信号。然后,系统可以激活环境ML引擎以进一步处理这些音频信号。使用音频处理神经网络的环境ML引擎可以在机器学习模型上执行推理过程,以生成表示音频信号对应于特定声音类型例如车门砰地关上的声音的输出。车门砰地关上的声音的出现是致使系统激活处理部件以执行致使系统记录移动计算设备的位置第程序代码的特定于应用的条件。记录移动计算设备的位置的是与特定于应用的条件对应的应用。这种应用对于经常忘记将车停在何处的用户可能很有用。
图5是用于处理语音搜索应用的示例过程的流程图。所述过程将被描述为由环境计算系统或系统的特定部件执行。
环境计算系统的音频传感器例如麦克风基于来自环境的音频输入而生成音频信号。例如,音频传感器可以接收对应于“OK Computer,what is the weather today?(好的,计算机,今天的天气如何?)”这一问题的人类话音。音频传感器可以生成对所述问题进行编码的音频信号。
系统接收音频信号(510)。如果系统处于监视功率状态,则在中断控制器确定音频信号可用时,系统可以转变到处理功率状态,这可能会致使系统激活低功率DSP。如先前所描述,激活低功率DSP可能涉及向低功率DSP发送中断,并指示PCU向低功率DSP供应功率。如果系统已经处于处理功率状态,则低功率DSP可以处理音频信号。
低功率DSP处理音频信号并确定音频信号是否具有一个或多个人类话音属性(520)。确定音频信号具有一个或多个人类话音属性可以涉及例如分析音频信号的频率内容或将音频信号与人类话音的已知样本进行比较。
如果音频信号不具有一个或多个人类话音属性(520),则系统可以在调用或不调用环境ML引擎的情况下执行其它处理,或者系统可以简单地转变回监视功率状态(分支到570)。转变回监视功率状态可以通过不激活环境ML引擎或其它高功率处理部件来节省功率。
如上面所提及,环境ML引擎还可以使用其它机器学习模型来专门识别音乐或其它媒体。因此,如果音频信号具有音乐或其它媒体的属性,则系统可以换入环境ML引擎的参数和指令,以使用特定于这些音频类型的模型来执行推理过程。如果环境ML引擎能够使用所述模型来识别被麦克风拾取的音乐或媒体,则系统然后可以提供识别音乐或其它媒体的信息,例如作为显示通知。提供显示通知可能需要唤醒主CPU集群或其它高功率处理部件,并且因此该过程可能涉及从处理功率状态转变到全功率状态。但是,系统仅在接收到的音频信号具有根据低功率DSP的特定属性并且对应于根据环境ML引擎的可识别音乐或媒体时才达到全功率状态,从而可以节省功率并延长电池寿命。
如果音频信号具有一个或多个人类话音属性,则系统激活环境ML引擎(分支到530)。
环境ML引擎根据话音识别模型来处理音频信号(540)。可以在激活机器学习引擎之前或同时,将话音识别模型的程序代码和参数交换到SRAM中。
然后,环境ML引擎使用输入的音频信号在话音识别模型上执行推理过程。话音识别模型的输出可以是对应于音频信号的文本或对应于话音的命令的标识符。继续前面几段中的示例,话音识别模型的输出可以是“OK Computer,what is the weather today?”的标识符或文本表示。
系统确定模型输出是否对应于特定于应用的条件(550)。例如,低功率DSP可以基于文本表示中单词“weather(天气)”和“today(今天)”的存在而确定音频信号对应于检索和呈现天气数据的应用。换句话说,用户希望计算设备提供天气报告并且已经发出了适当的语音命令。
如果模型输出不与特定于应用的条件对应,则系统可以执行其它处理或转变回监视功率状态(分支到570)。
如果模型输出确实对应于特定于应用的条件,则系统执行与特定于应用的条件对应的应用(560)。通常而言,系统可以选择处理部件来执行与特定于应用的条件对应的应用,例如通过将执行应用所需的程序代码和数据交换到SRAM中。例如,如果环境ML引擎可以执行自动话音识别,则系统可以将环境ML引擎所需的程序代码和模型参数交换到SRAM中以识别话音。
替代地或另外,系统可以调用不属于环境计算系统的一部分的其它部件来执行应用,例如通过调用主CPU集群或主ML引擎。例如,如果特定于应用的条件是询问天气的语音命令,则系统可以调用主CPU集群来执行从在线来源查找天气情况的应用。当然,如果尚未激活,该工作还可能需要为网络硬件供应功率。例如,系统可以使用在线搜索引擎或天气数据库来检索请求的天气信息。
所述系统激活特定的处理部件以针对人类话音的特定出现生成文本到话音响应,这是与特定于应用的条件对应的应用(580)。在一些实施方式中,系统可以激活音频DSP以生成文本到话音的音频响应。在一些其它实施方式中,环境ML引擎本身可以通过实现文本到话音的机器学习模型来处理文本到话音的应用。文本到话音机器学习模型可以是经过训练的原始音频循环神经网络。例如,它可以是在可从arxiv.org获得的Aaron van den Oord等人的“WaveNet:A Generative Model for Raw Audio”arxiv预印本arXiv:1609.03499(2016)中描述的神经网络。文本到话音模型的输出是音频信号,例如,“Today,you canexpect sunny weather with a high of 75degrees(今天,您可以预期气温为75度的晴天)”。计算设备上的音频输出设备例如扬声器可以从音频信号生成音频。
在一些实施方式中,环境计算系统可以识别对应于人类话音的音频信号并生成文本到话音的音频响应而无需激活低功率CPU。例如,低功率DSP不仅可以确定接收到的音频信号对应于人类话音,而且可以确定它们还对应于将需要文本到话音响应的问题。基于该确定,并且因为低功率CPU可能无法处理文本到话音的应用,所以低功率DSP可以绕过低功率CPU直接向环境ML引擎发送推理请求。在这种情况下绕过低功率CPU可以减少系统的能耗。
图6是用于执行手势特定的应用的示例过程的流程图。所述过程将被描述为由环境计算系统或系统的特定部件执行。
系统接收雷达信号(610)。例如,一个或多个雷达传感器生成雷达信号。如果系统当前处于监视功率状态,则在中断控制器确定雷达信号可用时,系统可以转变到处理功率状态,这将致使系统激活低功率DSP。如先前所述,激活低功率DSP可以包括指示PCU向低功率DSP供应功率。如果系统已经处于处理功率状态,则系统可以将雷达信号转发到低功率DSP。
低功率DSP处理雷达信号并确定信号是否指示用户的紧密接近(620)。确定雷达信号指示用户的紧密接近可以涉及检测在从环境反射回来的无线电波中编码的信号模式例如脉冲,并测量反射信号模式的信噪比。如果信噪比满足阈值,则系统可以确定信号指示用户的紧密接近。
在一些实施方式中,系统在低功率DSP上施加进一步的低等级处理。例如,如果雷达信号确实指示用户的紧密接近,则系统可以使用低功率DSP执行不同的例程,以确定雷达信号是否也指示手势。
如果雷达信号未指示用户的紧密接近,则系统可以执行其它处理而无需调用环境ML引擎或仅转变回监视功率状态(分支到670)。
如果雷达信号指示用户的紧密接近,则系统激活环境ML引擎(分支到630)。
所述系统根据姿势识别模型来处理雷达信号(640)。可以在激活机器学习引擎之前或同时,将手势识别模型的程序代码和参数交换到SRAM中。然后,环境ML引擎可以使用输入的雷达信号对手势识别模型执行推理过程,以生成模型输出。例如,机器学习模型可以是经训练以检测和分类特定手势的手势识别模型。
系统确定雷达信号是否对应于特定手势(650)。例如,低功率DSP可以解释模型输出并确定模型输出对应于特定手势。替代地或另外,系统可以利用与环境ML引擎串联的高功率DSP。换句话说,高功率DSP可以对雷达信号执行更复杂的信号处理,以与通过手势识别模型执行推理过程的环境ML引擎同时确认用户的紧密接近。如果高功率DSP指示存在用户,并且如果环境ML引擎指示模型输出对应于特定手势,则系统可以执行手势特定动作。通过将高功率DSP的功能与环境ML引擎上的手势识别模型相结合,所述系统可以提高手势识别的准确性,并降低误报检测率。
如果雷达信号不对应于特定手势,则系统可以执行其它处理或转变回监视功率状态(分支到670)。
如果雷达信号对应于特定手势,则系统执行手势特定的应用(分支到660)。一个手势特定的应用可以是根据手势确定用户是否是设备的所有者。例如,设备可以使用雷达信号来激活设备的手势解锁或手势密码。换句话说,因为手势的特征与先前用于锁定设备的手势的特征匹配,所以系统可以确定用户是设备的所有者。
响应于用户执行特定手势,另一手势特定的应用可以是照亮设备的显示器。例如,如果用户俯身查看显示器,则模型输出可以指示用户在俯身。作为响应,系统可以激活处理部件以打开计算设备的显示器。例如,这可以允许用户仅通过倾斜或以特定方式移动手即可看到设备上的通知,例如,以向上或来回挥动手或呈T形的方式。
另一手势特定的应用可以是使用相机来解释面部表情。例如,如果特定手势是用户俯身朝向设备,则系统可以激活前置摄像头以捕获用户面部的图像数据。然后,系统可以激活主CPU集群、主ML引擎或二者,以对用户的面部表情进行分类。
上面的示例主要将环境计算系统描述成实现为具有集成处理部件的片上系统。然而,相同的技术也可以用于使用基础计算部件的其它布置来实现环境计算系统。例如,环境计算系统的一个或多个处理部件,包括环境ML引擎,可以实现为协同处理器或独立芯片。
可以在数字电子电路中,在有形地体现的计算机软件或固件中,在计算机硬件中包括在本说明书中公开的结构以及其结构等效形式或它们中的一个或多个的组合中来实现本说明书中所描述的主题的实施例以及动作和操作。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即在有形的非暂时性存储介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行,或控制数据执行装置的操作。替代地或另外,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,它们被生成以对信息进行编码从而传输到合适的接收器装置以由数据处理装置执行。所述计算机存储介质可以是机器可读存储设备、机器可读存储衬底、随机或串行访问存储器设备或它们的一部分,或者是它们中的一个或多个的组合。计算机存储介质不是传播的信号。
也可以称为或描述为程序、软件、软件应用、app、模块、软件模块、引擎、脚本或代码的计算机程序可以以任何形式的编程语言来编写,所述编程语言包括编译或解释性语言,或声明性或程序性语言;并且可以以任何形式进行部署,包括部署为独立程序或部署为适合在计算环境中执行的模块、部件、引擎、子例程或其它单元,所述环境可以包括通过数据通信互连在一个或多个位置的一个或多个计算机。
计算机程序可以但不必对应于文件系统中的文件。计算机程序可以存储在保存其它程序或数据例如存储在标记语言文档中的一个或多个脚本的文件的一部分中,存储在专用于所讨论程序的单个文件中,或存储在多个协调文件例如存储一个或多个模块、子程序或代码的各部分的文件中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于将信息显示给用户的显示设备例如LCD(液晶显示器)监视器和输入设备例如键盘和指向设备例如鼠标、轨迹球或触摸板的计算机上实现或被配置成与所述计算机通信,用户可以通过所述输入设备向计算机提供输入。其它类别的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、话音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从所述设备接收文档来与用户进行交互;例如通过响应于从web浏览器收到的请求而将网页发送到用户设备上的web浏览器,或者通过与用户设备例如智能电话或电子平板电脑上运行的app进行交互。而且,计算机可以通过将文本消息或其它形式的消息发送到个人设备例如运行消息收发应用的智能电话并作为回应从用户接收响应消息来与用户交互。
本说明书中描述的主题的实施例可以在计算系统中实现,所述计算系统包括后端部件(例如,作为数据服务器)或包括中间件部件(例如,应用服务器)或包括前端部件(例如客户端设备,所述客户端设备具有图形用户接口、web浏览器或用户可以用来与本说明书中描述的主题的实施方式交互的app)或者包括一个或多个这种后端部件、中间件部件或前端部件的任何组合。系统的部件可以通过任何形式或介质的数字数据通信例如通信网络互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
所述计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在相应计算机上运行切彼此具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器向用户设备传输数据例如HTML页面,例如以用于向与充当客户端的设备交互的用户显示数据并接收来自所述用户的用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如用户交互的结果。
除了上述实施例之外,以下实施例也是创新的:
实施例1是环境计算系统,所述环境计算系统包括:
一个或多个传感器,所述一个或多个传感器被配置成生成传感器信号;
控制器;以及
多个处理部件,所述多个处理部件包括低功率处理部件、机器学习引擎和一个或多个其它处理部件,
其中所述环境计算系统被配置成执行操作,所述操作包括:
保持在监视功率状态直到所述控制器接收到指示一个或多个传感器信号的存在的中断,
当控制器接收到中断时,从监视功率状态转变到处理功率状态,其中转变到处理功率状态致使环境计算系统激活低功率处理部件,
由低功率处理部件使用一个或多个传感器信号确定机器学习引擎应使用一个或多个传感器信号执行推理过程,
作为响应,由机器学习引擎使用一个或多个传感器信号作为输入来执行推理过程以生成输出,所述输出表示环境计算系统的应该被激活以进一步处理一个或多个传感器信号的一个或多个其它处理部件,
激活由机器学习引擎的输出表示的一个或多个其它处理部件,以及
通过由机器学习引擎的输出表示的一个或多个其它处理部件来处理一个或多个传感器信号。
实施例2是根据实施例1所述的环境计算系统,其中接收中断包括响应于传感器接收到环境输入而接收由外围接口生成的中断。
实施例3是根据实施例1到2中的任一项所述的环境计算系统,其中所述低功率处理部件是低功率CPU。
实施例4是根据实施例1到3中的任一项所述的环境计算系统,其中所述低功率处理部件是低功率DSP。
实施例5是根据实施例4所述的环境计算系统,其中环境计算系统的应当被激活以进一步处理一个或多个传感器信号的一个或多个其它处理部件包括高功率DSP、主CPU集群或主机器学习引擎。
实施例6是根据实施例1到5中的任一项所述的环境计算系统,其中所述操作还包括:由低功率处理部件确定机器学习引擎的输出表示环境计算的应该被激活以进一步处理一个或多个传感器信号的一个或多个其它处理部件。
实施例7是根据实施例1到6中的任一项所述的环境计算系统,其中接收中断包括响应于计时器超时而接收由计时器生成的中断。
实施例8是根据实施例1到7中的任一项所述的环境计算系统,其中多个处理部件共享随机存取存储组,并且其中从监视功率状态转变到处理功率状态包括激活随机存取存储组。
实施例9是根据实施例1到8中的任一项所述的环境计算系统,其中所述多个处理部件通过通信架构通信地耦合,并且其中从监视功率状态转变到处理功率状态包括激活通信架构。
实施例10是根据实施例1到9中的任一项所述的环境计算系统,其中当环境计算系统处于监视功率状态时,环境计算系统将低功率处理部件和机器学习引擎维持在非操作状态。
实施例11是根据实施例10所述的环境计算系统,其中将低功率处理部件和机器学习引擎维持在非操作状态包括不提供功率或提供低于阈值的功率水平。
实施例12是根据实施例10所述的环境计算系统,其中当环境计算系统处于监视功率状态时,环境计算系统将SRAM和通信架构维持在非操作状态。
实施例13是根据实施例10所述的环境计算系统,其中当环境计算系统处于监视功率状态时,环境计算系统将控制子系统维持在操作状态,并且将处理子系统维持在非操作状态。
实施例14是根据实施例1到13中的任一项所述的环境计算系统,其中所述机器学习引擎实现机器学习模型,所述机器学习模型将一个或多个传感器信号的特征作为输入并且生成输出,所述输出表示环境计算系统的应当进一步处理一个或多个传感器信号的一个或多个其它处理部件。
实施例15是根据实施例1到14中的任一项所述的环境计算系统,其中所述操作还包括当所述一个或多个其它处理部件对传感器信号的处理完成时,从所述处理功率状态转变到所述监视功率状态。
实施例16是根据实施例1到15中的任一项所述的环境计算系统,其中所述机器学习引擎是环境机器学习引擎,并且其中所述一个或多个其它处理部件包括主机器学习引擎,所述环境机器学习引擎具有比主机器学习引擎小的处理功率。
实施例17是环境计算系统,所述环境计算系统包括:
一个或多个传感器,所述一个或多个传感器被配置成生成传感器信号;以及
多个处理部件,所述多个处理部件包括低功率处理部件、机器学习引擎和一个或多个其它处理部件,
其中所述环境计算系统被配置成:
由低功率处理部件确定特定传感器信号具有特定属性;
作为响应,激活机器学习引擎;
由机器学习引擎使用传感器信号在机器学习模型上执行推理过程以生成模型输出;
确定机器学习引擎的模型输出匹配特定于应用的条件;以及作为响应,激活其它处理部件中的一个或多个以执行与特定于应用的条件对应的特定应用。
实施例18是根据实施例17所述的环境计算系统,其中确定机器学习引擎的模型输出匹配特定于应用的条件是由低功率处理部件执行的。
实施例19是根据实施例17到18中的任一项所述的环境计算系统,其中确定所述特定传感器信号具有特定属性包括确定所述特定传感器信号是对应于人类话音的音频信号。
实施例20是根据实施例19所述的环境计算系统,其中所述特定于应用的条件是特定人类话音的出现,并且其中所述应用包括生成针对所述特定人类话音的文本到话音的音频响应。
实施例21是根据实施例20所述的环境计算系统,其中机器学习引擎使用经过训练的原始音频循环神经网络来生成文本到话音的音频响应。
实施例22是根据实施例21所述的环境计算系统,其中所述环境计算系统被配置成识别对应于人类话音的音频信号并且生成文本到话音的音频响应而无需初始化主CPU集群。
实施例23是根据实施例17到22中的任一项所述的环境计算系统,其中确定所述特定传感器信号具有特定属性包括确定所述特定传感器信号是指示用户的紧密接近的雷达信号。
实施例24是根据实施例23所述的环境计算系统,其中环境计算系统是移动计算设备的部件,并且其中特定于应用的条件是用户的特定手势的出现。
实施例25是根据实施例24所述的环境计算系统,其中所述应用包括打开移动计算设备的显示器或解锁移动计算设备。
实施例26是根据实施例17到25中的任一项所述的环境计算系统,其中所述环境计算系统是移动计算设备的部件,并且其中特定于应用的条件是特定类型的声音的出现,并且其中应用包括记录移动计算设备的位置。
实施例27是包括环境计算系统和附加部件的受电设备,所述受电设备包括:
一个或多个传感器,所述一个或多个传感器被配置成生成传感器信号;
控制器;以及
环境计算系统,所述环境计算系统包括多个处理部件,所述多个处理部件包括低功率处理部件、环境机器学习引擎和其它处理部件,
其中所述环境计算系统被配置成:
保持在监视功率状态直到所述控制器接收到中断为止,
当控制器接收到中断时,从监视功率状态转变到处理功率状态,其中转变到处理功率状态致使环境计算系统激活低功率处理部件,
由低功率处理部件处理中断以生成输出,所述输出指定环境机器学习引擎应进一步处理一个或多个传感器信号,
由机器学习引擎处理一个或多个传感器信号以生成输出,所述输出表示环境计算系统的应当进一步处理一个或多个传感器信号的一个或多个其它处理部件,
响应于所述输出而激活被机器学习引擎的输出识别为足以处理传感器信号的仅一个或多个其它处理部件,
使用由机器学习引擎的输出识别的一个或多个其它处理部件来处理一个或多个传感器信号;以及
所述控制器被配置成响应于处理的传感器信号而激活受电设备的附加部件。
实施例28是根据实施例27所述的受电设备,其中机器学习引擎是环境机器学习引擎,并且受电设备的附加部件包括主机器学习引擎,所述环境机器学习引擎具有比主机器学习引擎小的处理功率。
实施例29是一种包括执行实施例1到28中的任一项所述的环境计算系统操作的方法。
实施例30是一种用计算机程序编码的计算机存储介质,所述程序包括指令,所述指令在由环境计算系统的部件执行时可操作以致使环境计算系统执行实施例1到28中的任一项所述的操作。
虽然本说明书包含许多特定的实施方式细节,但是这些细节不应被解释为对任何发明的范围或所主张或可以要求保护的范围的限制,而是对可能特定于特定发明的特定实施例的特征的描述。在单独的实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中以组合形式实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,虽然上面可以将特征描述为以某些组合的形式起作用并且甚至最初是这样要求保护的,但是在某些情况下可以从组合中切离要求保护的组合的一个或多个特征,并且权利要求可以涉及子组合或子组合的变型。
类似地,虽然在附图中描绘了操作并在权利要求中以特定顺序对其进行了叙述,但是这不应理解为要求以示出的特定顺序或以相继顺序执行这些操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和部件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序部件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其它实施例也在以下权利要求的范围内。例如,权利要求中阐述的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要示出的特定顺序或相继顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。
Claims (17)
1.一种环境计算系统,包括:
一个或多个传感器,所述一个或多个传感器被配置成生成传感器信号;
控制器;以及
多个处理部件,所述多个处理部件包括低功率处理部件、机器学习引擎和多个其它处理部件,
其中,所述环境计算系统被配置成执行操作,所述操作包括:
保持在监视功率状态中,直到所述控制器接收到指示一个或多个传感器信号的存在的中断为止,
在所述控制器接收到所述中断时,从所述监视功率状态转变到处理功率状态,其中转变到所述处理功率状态致使所述环境计算系统激活所述低功率处理部件,
由所述低功率处理部件使用所述一个或多个传感器信号确定所述机器学习引擎应使用所述一个或多个传感器信号执行推理过程,
作为响应,由所述机器学习引擎使用所述一个或多个传感器信号作为输入来执行所述推理过程以生成输出,所述输出表示所述环境计算系统的所述多个其它处理部件中的哪些应该被激活以进一步处理所述一个或多个传感器信号,
激活由所述机器学习引擎的所述输出表示的其它处理部件,以及
通过由所述机器学习引擎的所述输出表示的其它处理部件来处理所述一个或多个传感器信号。
2.根据权利要求1所述的环境计算系统,其中,接收所述中断包括响应于传感器接收到环境输入而接收由外围接口生成的中断。
3.根据权利要求1所述的环境计算系统,其中,所述低功率处理部件是低功率CPU。
4.根据权利要求1所述的环境计算系统,其中,所述低功率处理部件是低功率DSP。
5.根据权利要求4所述的环境计算系统,其中,应该被激活以进一步处理所述一个或多个传感器信号的所述环境计算系统的多个其它处理部件包括高功率DSP、主CPU集群或主机器学习引擎。
6.根据权利要求1所述的环境计算系统,其中,所述操作还包括:由所述低功率处理部件确定所述机器学习引擎的所述输出表示所述环境计算系统的所述多个其它处理部件中的哪些应该被激活以进一步处理所述一个或多个传感器信号。
7.根据权利要求1所述的环境计算系统,其中,接收所述中断包括响应于计时器超时而接收由所述计时器生成的中断。
8.根据权利要求1所述的环境计算系统,其中,所述多个处理部件共享随机存取存储组,并且其中,从所述监视功率状态转变到所述处理功率状态包括激活所述随机存取存储组。
9.根据权利要求1所述的环境计算系统,其中,所述多个处理部件通过通信架构通信地耦合,并且其中,从所述监视功率状态转变到所述处理功率状态包括激活所述通信架构。
10.根据权利要求1所述的环境计算系统,其中,当所述环境计算系统处于所述监视功率状态中时,所述环境计算系统将所述低功率处理部件和所述机器学习引擎维持在非操作状态中。
11.根据权利要求10所述的环境计算系统,其中,将所述低功率处理部件和所述机器学习引擎维持在所述非操作状态中包括不提供功率或提供低于阈值的功率水平。
12.根据权利要求10所述的环境计算系统,其中,当所述环境计算系统处于所述监视功率状态中时,所述环境计算系统将SRAM和通信架构维持在非操作状态中。
13.根据权利要求10所述的环境计算系统,其中,当所述环境计算系统处于所述监视功率状态中时,所述环境计算系统将控制子系统维持在操作状态中,并且将处理子系统维持在非操作状态中。
14.根据权利要求1所述的环境计算系统,其中,所述机器学习引擎实现机器学习模型,所述机器学习模型将所述一个或多个传感器信号的特征作为输入并且生成输出,所述输出表示所述环境计算系统的所述多个其它处理部件中的哪些应该被激活以进一步处理所述一个或多个传感器信号。
15.根据权利要求1所述的环境计算系统,其中,所述操作还包括:当所述机器学习引擎的所述输出表示的其它处理部件对所述传感器信号的处理完成时,从所述处理功率状态转变到所述监视功率状态。
16.根据权利要求1所述的环境计算系统,其中,所述机器学习引擎是环境机器学习引擎,并且其中,所述多个其它处理部件包括主机器学习引擎,所述环境机器学习引擎具有比所述主机器学习引擎小的处理功率。
17.一种包括环境计算系统和附加组件的受电设备,包括:
一个或多个传感器,所述一个或多个传感器被配置成生成传感器信号;
控制器;以及
根据权利要求1至16中的任一项所述的环境计算系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311615063.3A CN117762234A (zh) | 2017-11-21 | 2018-11-21 | 具有机器学习功能的低功率环境计算系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762589547P | 2017-11-21 | 2017-11-21 | |
US62/589,547 | 2017-11-21 | ||
PCT/US2018/062329 WO2019104228A1 (en) | 2017-11-21 | 2018-11-21 | Low-power ambient computing system with machine learning |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311615063.3A Division CN117762234A (zh) | 2017-11-21 | 2018-11-21 | 具有机器学习功能的低功率环境计算系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110678825A CN110678825A (zh) | 2020-01-10 |
CN110678825B true CN110678825B (zh) | 2023-12-08 |
Family
ID=64661521
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880035038.9A Active CN110678825B (zh) | 2017-11-21 | 2018-11-21 | 具有机器学习功能的低功率环境计算系统 |
CN202311615063.3A Pending CN117762234A (zh) | 2017-11-21 | 2018-11-21 | 具有机器学习功能的低功率环境计算系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311615063.3A Pending CN117762234A (zh) | 2017-11-21 | 2018-11-21 | 具有机器学习功能的低功率环境计算系统 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11199896B2 (zh) |
EP (2) | EP3552076B1 (zh) |
JP (2) | JP6877594B2 (zh) |
KR (2) | KR102362107B1 (zh) |
CN (2) | CN110678825B (zh) |
TW (2) | TWI807471B (zh) |
WO (1) | WO2019104228A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110678825B (zh) * | 2017-11-21 | 2023-12-08 | 谷歌有限责任公司 | 具有机器学习功能的低功率环境计算系统 |
WO2020141696A1 (ko) * | 2019-01-04 | 2020-07-09 | 주식회사 딥엑스 | 전자기기를 위한 특정 기능 수행용 학습된 모델 작성 방법 및 동일 기능을 수행하기 위한 학습 모델, 전용 칩 및 전용 칩 동작 방법, 그리고 전자기기와 시스템 |
US11579680B2 (en) * | 2019-02-01 | 2023-02-14 | Alibaba Group Holding Limited | Methods and devices for power management based on synthetic machine learning benchmarks |
US10896679B1 (en) * | 2019-03-26 | 2021-01-19 | Amazon Technologies, Inc. | Ambient device state content display |
US11176493B2 (en) | 2019-04-29 | 2021-11-16 | Google Llc | Virtualizing external memory as local to a machine learning accelerator |
US11580421B2 (en) * | 2019-10-16 | 2023-02-14 | Qualcomm Incorporated | Weakly supervised learning for improving multimodal sensing platform |
US11343412B2 (en) * | 2019-10-22 | 2022-05-24 | Intel Corporation | User detection and user attention detection using multi-zone depth sensing |
JP7481434B2 (ja) * | 2019-10-30 | 2024-05-10 | グーグル エルエルシー | 空間時間ニューラルネットワークを使用してジェスチャ認識を実行するスマートデバイスベースのレーダシステム |
WO2021127030A1 (en) * | 2019-12-17 | 2021-06-24 | Google Llc | Low-power vision sensing |
EP4010833A1 (en) * | 2019-12-18 | 2022-06-15 | Google LLC | Machine learning based privacy processing |
US20210191779A1 (en) * | 2019-12-18 | 2021-06-24 | Google Llc | Operating system level distributed ambient computing |
US20210192078A1 (en) * | 2019-12-23 | 2021-06-24 | Apple Inc. | User behavior model development with private federated learning |
US11256316B2 (en) * | 2020-02-27 | 2022-02-22 | Dell Products, L.P. | Automated device power conservation using machine learning techniques |
US11720158B2 (en) * | 2020-03-13 | 2023-08-08 | Google Llc | Power throttling mechanism using instruction rate limiting in high power machine-learning ASICs |
US11233956B2 (en) * | 2020-03-31 | 2022-01-25 | Western Digital Technologies, Inc. | Sensor system with low power sensor devices and high power sensor devices |
US11740687B2 (en) | 2020-04-21 | 2023-08-29 | Western Digital Technologies, Inc. | Variable power mode inferencing |
KR102374980B1 (ko) * | 2020-05-28 | 2022-03-16 | (주)브이엠에스 | 복합센서 기반의 인공지능형 결함 진단 시스템 |
US11375463B2 (en) * | 2020-11-30 | 2022-06-28 | Silicon Laboratories Inc. | System, apparatus and method for dynamic transmit power determination |
US11782149B2 (en) | 2021-01-08 | 2023-10-10 | Google Llc | Systems and methods for managing motion detection of an electronic device, and associated electronic devices |
WO2022150455A1 (en) * | 2021-01-08 | 2022-07-14 | Google Llc | Systems and methods for managing motion detection of an electronic device, and associated electronic devices |
KR20220120154A (ko) * | 2021-02-23 | 2022-08-30 | 삼성전자주식회사 | 복수의 어플리케이션들에 공유되는 기계 학습 모델을 이용한 장치 및 방법 |
JP2023020219A (ja) * | 2021-07-30 | 2023-02-09 | 株式会社リコー | 情報処理装置、方法およびプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529887B1 (en) * | 1998-07-17 | 2003-03-04 | Agency Of Industrial Science And Technology | Agent learning machine |
WO2015183404A1 (en) * | 2014-05-29 | 2015-12-03 | Apple Inc. | System on a chip with always-on processor |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001238001A (ja) * | 2000-02-24 | 2001-08-31 | Ricoh Co Ltd | ファクシミリ装置 |
TW200929096A (en) * | 2007-12-21 | 2009-07-01 | Inventec Corp | Portable apparatus and sensing information application method thereof |
US8200371B2 (en) * | 2009-06-25 | 2012-06-12 | Qualcomm Incorporated | Prediction engine to control energy consumption |
US8190939B2 (en) | 2009-06-26 | 2012-05-29 | Microsoft Corporation | Reducing power consumption of computing devices by forecasting computing performance needs |
US8335935B2 (en) * | 2010-03-29 | 2012-12-18 | Intel Corporation | Power management based on automatic workload detection |
US8954017B2 (en) * | 2011-08-17 | 2015-02-10 | Broadcom Corporation | Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device |
US9063731B2 (en) * | 2012-08-27 | 2015-06-23 | Samsung Electronics Co., Ltd. | Ultra low power apparatus and method to wake up a main processor |
TW201419036A (zh) * | 2012-11-06 | 2014-05-16 | Pixart Imaging Inc | 感測元件陣列、控制感測裝置的方法以及相關電子裝置 |
US9348434B2 (en) * | 2012-11-21 | 2016-05-24 | Google Technology Holdings LLC | Low power management of multiple sensor integrated chip architecture |
US8884906B2 (en) * | 2012-12-21 | 2014-11-11 | Intel Corporation | Offloading touch processing to a graphics processor |
JP6198850B2 (ja) | 2013-01-25 | 2017-09-20 | クアルコム,インコーポレイテッド | モバイルデバイス上での挙動の特徴の適応的な観測 |
US20150095678A1 (en) * | 2013-09-27 | 2015-04-02 | Lama Nachman | Movement-based state modification |
WO2015100430A1 (en) * | 2013-12-24 | 2015-07-02 | Digimarc Corporation | Methods and system for cue detection from audio input, low-power data processing and related arrangements |
CN103714039B (zh) * | 2013-12-25 | 2017-01-11 | 中国人民解放军国防科学技术大学 | 通用计算数字信号处理器 |
US10416750B2 (en) | 2014-09-26 | 2019-09-17 | Qualcomm Incorporated | Algorithm engine for ultra low-power processing of sensor data |
US9891696B2 (en) * | 2014-10-03 | 2018-02-13 | Google Llc | Intelligent device wakeup |
WO2016077385A1 (en) * | 2014-11-10 | 2016-05-19 | Novi Security, Inc. | Power-optimized security sensor |
US9690361B2 (en) * | 2014-12-24 | 2017-06-27 | Intel Corporation | Low-power context-aware control for analog frontend |
US9874922B2 (en) * | 2015-02-17 | 2018-01-23 | Intel Corporation | Performing dynamic power control of platform devices |
KR102354330B1 (ko) * | 2015-07-31 | 2022-01-21 | 삼성전자주식회사 | 스마트 디바이스 및 그 동작 방법 |
US10146286B2 (en) * | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US10410113B2 (en) * | 2016-01-14 | 2019-09-10 | Preferred Networks, Inc. | Time series data adaptation and sensor fusion systems, methods, and apparatus |
JP5975187B1 (ja) * | 2016-03-17 | 2016-08-23 | 富士電機株式会社 | 構造ヘルスモニタリングシステム及び構造ヘルスモニタリング方法 |
WO2018038732A1 (en) | 2016-08-26 | 2018-03-01 | Rf Digital Corporation | Low latency and power efficient data transmission between a sensor and server computer |
US10175980B2 (en) | 2016-10-27 | 2019-01-08 | Google Llc | Neural network compute tile |
CN110678825B (zh) * | 2017-11-21 | 2023-12-08 | 谷歌有限责任公司 | 具有机器学习功能的低功率环境计算系统 |
-
2018
- 2018-11-21 CN CN201880035038.9A patent/CN110678825B/zh active Active
- 2018-11-21 KR KR1020197034766A patent/KR102362107B1/ko active IP Right Grant
- 2018-11-21 WO PCT/US2018/062329 patent/WO2019104228A1/en unknown
- 2018-11-21 JP JP2019566093A patent/JP6877594B2/ja active Active
- 2018-11-21 EP EP18815917.2A patent/EP3552076B1/en active Active
- 2018-11-21 US US16/479,901 patent/US11199896B2/en active Active
- 2018-11-21 EP EP23183715.4A patent/EP4242924A3/en active Pending
- 2018-11-21 KR KR1020227004110A patent/KR102488558B1/ko active IP Right Grant
- 2018-11-21 CN CN202311615063.3A patent/CN117762234A/zh active Pending
-
2019
- 2019-10-21 TW TW110141124A patent/TWI807471B/zh active
- 2019-10-21 TW TW108137926A patent/TWI748267B/zh active
-
2021
- 2021-04-27 JP JP2021075031A patent/JP7257443B2/ja active Active
- 2021-11-10 US US17/523,332 patent/US11714477B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529887B1 (en) * | 1998-07-17 | 2003-03-04 | Agency Of Industrial Science And Technology | Agent learning machine |
WO2015183404A1 (en) * | 2014-05-29 | 2015-12-03 | Apple Inc. | System on a chip with always-on processor |
Also Published As
Publication number | Publication date |
---|---|
US11199896B2 (en) | 2021-12-14 |
EP3552076A1 (en) | 2019-10-16 |
JP7257443B2 (ja) | 2023-04-13 |
KR20220025140A (ko) | 2022-03-03 |
KR102488558B1 (ko) | 2023-01-13 |
TWI807471B (zh) | 2023-07-01 |
WO2019104228A1 (en) | 2019-05-31 |
JP2021140803A (ja) | 2021-09-16 |
TWI748267B (zh) | 2021-12-01 |
JP6877594B2 (ja) | 2021-05-26 |
CN110678825A (zh) | 2020-01-10 |
US20220066536A1 (en) | 2022-03-03 |
TW202036225A (zh) | 2020-10-01 |
CN117762234A (zh) | 2024-03-26 |
EP4242924A3 (en) | 2023-10-11 |
TW202206975A (zh) | 2022-02-16 |
EP3552076B1 (en) | 2023-08-30 |
EP4242924A2 (en) | 2023-09-13 |
US20200278738A1 (en) | 2020-09-03 |
US11714477B2 (en) | 2023-08-01 |
KR102362107B1 (ko) | 2022-02-11 |
JP2020532779A (ja) | 2020-11-12 |
KR20190141739A (ko) | 2019-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110678825B (zh) | 具有机器学习功能的低功率环境计算系统 | |
KR102018152B1 (ko) | 항상-온-항상-청취 음성 인식 시스템을 위한 위치 인식 전력 관리 스킴 | |
US11599471B2 (en) | Low-power cached ambient computing | |
CN105745615A (zh) | 用于移动设备的始终进行的音频控制 | |
US20220335945A1 (en) | Machine learning based privacy processing | |
US20220413592A1 (en) | Low-power vision sensing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |