TWI807471B - 具機器學習之低功率環境計算器件及由其所執行之方法 - Google Patents
具機器學習之低功率環境計算器件及由其所執行之方法 Download PDFInfo
- Publication number
- TWI807471B TWI807471B TW110141124A TW110141124A TWI807471B TW I807471 B TWI807471 B TW I807471B TW 110141124 A TW110141124 A TW 110141124A TW 110141124 A TW110141124 A TW 110141124A TW I807471 B TWI807471 B TW I807471B
- Authority
- TW
- Taiwan
- Prior art keywords
- processing
- machine learning
- ambient
- power
- low power
- Prior art date
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 219
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000012545 processing Methods 0.000 claims abstract description 266
- 230000004044 response Effects 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims description 70
- 238000012544 monitoring process Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 19
- 239000004744 fabric Substances 0.000 claims description 3
- 230000005236 sound signal Effects 0.000 description 39
- 230000002093 peripheral effect Effects 0.000 description 33
- 230000007704 transition Effects 0.000 description 19
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 9
- 235000019800 disodium phosphate Nutrition 0.000 description 8
- 230000002618 waking effect Effects 0.000 description 8
- 230000003213 activating effect Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000007613 environmental effect Effects 0.000 description 7
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 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
- 230000004913 activation Effects 0.000 description 1
- 238000001994 activation 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
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000026676 system process 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)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Power Sources (AREA)
- User Interface Of Digital Computer (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Feedback Control In General (AREA)
Abstract
本發明提供用於處置一環境計算系統中之應用程式的方法、系統及裝置。該等方法之一者包含藉由一低功率處理組件來判定特定感測器信號具有一特定性質。作為回應,一機器學習引擎使用該等感測器信號,透過一機器學習模型來執行一推論遍次,以產生一模型輸出。若該機器學習引擎之該模型輸出匹配一應用程式特定條件,則啟動一或多個其他處理組件以執行對應於該應用程式特定條件之一特定應用程式。
Description
本說明書係關於環境計算。
行動計算器件(例如,智慧型電話、個人數位助理、電子平板電腦、膝上型電腦及類似者)通常使用由一或多個可再充電電池提供之電力。在必須例如藉由將一電流施加至一可再充電電池來對該電池進行再充電之前,該電池僅將有限量之電力提供至一器件。對一行動計算器件之電池進行再充電通常需要將行動計算器件連接至一電網,此降低或消除其行動性。因此,降低行動計算器件之功率消耗,由此延長其等電池壽命係一重要目標。
行動計算器件可包含一或多個周邊感測器。例如,一些行動計算器件包含麥克風、相機、加速度計及類似者。行動計算器件亦可包含一或多個處理組件以處理由一或多個周邊感測器收集之資料。例如,一些行動計算器件包含中央處理單元(CPU)、數位信號處理器(DSP)或其他處理組件。
行動計算器件可基於由其等一或多個周邊感測器收集且由其等一或多個處理組件處理之資料執行動作。例如,一些行動計算器件可
回應於由一麥克風偵測且由一CPU處理之話音命令而執行動作。然而,將處理組件維持一作用中狀態,使得其等可處理感測器資料消耗顯著功率。
本說明書描述用於在計算器件上實施低功率、環境計算之技術。本說明書中所描述之環境計算系統在任何給定時間以若干不同功率狀態之一者進行操作,各功率狀態係由通電組件之一組合來定義。可藉由實施一經訓練模型之一機器學習引擎判定通電組件之組合,該經訓練模型取得感測器資料作為輸入且產生可用來判定應啟動處理組件之哪種組合以進一步處理感測器資料之一輸出。
例如,在一最低功率監測功率狀態下,該系統可僅將功率供應至周邊介面及具有一功率控制單元(PCU)之一控制子系統。在監測功率狀態下,周邊介面可等待自計算器件之環境接收輸入。
當一或多個周邊介面自環境接收輸入且產生對應感測器信號時,該系統可進入一處理功率狀態,該處理功率狀態係通常消耗多於監測功率狀態之功率之一功率狀態。在處理功率狀態下,該系統將功率供應至一低功率處理組件(例如,一低功率CPU或一低功率DSP)以對由周邊介面接收之感測器信號執行一初始解釋。例如,低功率處理組件可基於感測器信號之性質判定可在無一機器學習引擎之輔助之情況下解釋感測器信號,或應由一機器學習引擎進一步解釋感測器信號。
機器學習引擎接著可使用感測器信號來產生表示潛在多個更高位準功率狀態之一者之一輸出,各功率狀態係由待啟動組件之一特定組合來定義。在本說明書中,啟動一組件意謂著將足以允許該組件開始處理資料之額外功率供應至該組件。在此背景下,藉由自一關閉或保持狀態
轉變至一作用中處理狀態來啟動一組件。可藉由該系統啟動更複雜、更高功率且可能特殊之處理組件(例如,一或多個高功率DSP、一主CPU叢集或一高功率機器學習引擎)來實現一更高位準功率狀態。例如,機器學習引擎可產生指示一麥克風正在接收對應於人類話音命令之音訊資料之一輸出。該輸出接著可能致使該系統將功率提供至一特殊音訊DSP以處理音訊資料。
此等技術允許依賴於感測器資料之連續監測之各種複雜應用程式在較低功率狀態下運行。例如,若該系統自經接收雷達信號判定一使用者之面部經定向朝向其上實施該系統之計算器件之一顯示器,則該系統可在不自使用者接收任何其他輸入之情況下處理功率狀態以自動開啟計算器件之顯示器。
本說明書中所描述之標的物可在特定實施例中實施以便實現一或多個以下優點。一環境計算系統可執行各種複雜任務,同時消耗小於先前方法之功率。藉由使用一機器學習引擎來進一步改良功率節省及電池壽命增加。機器學習引擎可產生表示組件之客製化組合之輸出,此消除喚醒晶片之所有組件或不喚醒晶片之組件之需要。此方法亦極大地增加可能功率狀態之數目,而不使硬體控制邏輯過度複雜化。此等方法亦允許一系統執行需要連續監測環境而無需喚醒一器件之一主CPU叢集之複雜任務。此允許環境計算系統更加回應於其環境變化,同時亦降低功率消耗。據此,一環境計算系統可提供更大功能而對一計算器件之電池壽命之影響有限,且可在複雜環境狀態下增加一計算器件之總電池壽命。
在隨附圖式及下文描述中闡述本說明書之標的物之一或多項實施例之細節。標的物之其他特徵、態樣及優點將自[實施方式]、[圖
式簡單說明]及[發明申請專利範圍]變得顯而易見。
100:計算器件
102:音訊感測器
104:雷達感測器
106:觸控感測器
108:全球定位系統(GPS)感測器
110:加速度計
112:周邊感測器
114:周邊介面
120:控制子系統
121:功率控制單元(PCU)
122:功率管理單元(PMU)
123:時脈控制單元
124:中斷控制器
128:DMA控制器
129:計時器
130:處理子系統
132:低功率CPU
134:環境機器學習引擎
136:低功率DSP
138:高功率DSP
139:靜態隨機存取記憶體(SRAM)
140:主CPU叢集
150:主機器學習(ML)引擎
210:監測功率狀態
220:處理功率狀態
230:更高位準功率狀態
240:全功率狀態
310:操作
320:操作
330:操作
340:操作
350:操作
360:操作
370:操作
380:操作
390:操作
410:操作
420:操作
430:操作
440:操作
450:操作
510:操作
520:操作
530:操作
540:操作
550:操作
560:操作
570:操作
580:操作
610:操作
620:操作
630:操作
640:操作
650:操作
660:操作
670:操作
圖1係一實例環境計算系統之一圖。
圖2係一實例環境計算系統之功率狀態之一狀態圖。
圖3係用於連續啟動環境計算系統中之額外處理組件之一實例程序之一流程圖。
圖4係用於啟動一特定處理組件以處置對應於一應用程式特定條件之一應用程式之一實例程序之一流程圖。
圖5係用於產生對一話音命令之一文字至語音音訊回應之一實例程序之一流程圖。
圖6係用於執行一手勢特定應用程式之一實例程序之一流程圖。
在各個圖式中,類似元件符號及代號指示類似組件。
圖1係包含低功率、環境計算能力之一實例計算器件100之一圖。器件100可包含在一任何適當計算器件(例如,(僅舉幾項實例)一智慧型電話、一智慧型手錶、一健身追蹤器、一個人數位助理、一電子平板電腦、一膝上型電腦)中實施之一系統。可使用計算器件100之系統使得計算器件100可保持於一低功率狀態,但藉由循序地喚醒該系統之適當處理組件來連續監測及回應於來自環境之輸入。在本說明書中,術語喚醒及啟動將用來意謂著將一增加量之功率供應至一特定處理組件或其他電子電路。該系統可能已或可能尚未將功率供應至正被喚醒或啟動之一處理組件或其他電路。換言之,正被喚醒或啟動之一組件先前可能已或可能尚未完
全斷電。喚醒或啟動一處理組件可能導致處理組件執行一開機程序且致使用於處理組件之指令及資料載入至隨機存取記憶體中。替代地或另外,喚醒或啟動一處理組件可包含自一先前暫停狀態恢復。
可在計算器件100內之單晶片系統(SoC)上實施該計算器件之一或多個組件。一SoC可為一積體電路,其包含例如使用矽插入物、堆疊式晶粒或互連橋接器位於單個矽基板上或多個互連晶粒上之系統之各組件。計算器件之其他組件(包含一主CPU叢集140)可在同一或一分開晶粒上實施。計算器件100可包含與SoC分開且獨立於SoC,且可例如安裝於一共同殼體上之組件,包含感測器112、一或多個顯示器、一電池及其他組件。
簡要地,且如下文進一步詳細描述,器件100包含經組態以基於來自計算器件之環境之輸入產生感測器信號之數個周邊感測器112。器件100包含用於控制將功率及感測器信號供應至該系統中之組件之一控制子系統120。而且,器件100包含用於處理感測器信號且產生輸出之一處理子系統130。
器件100亦包含一主CPU叢集140。主CPU叢集140係計算器件之一組件,其包含與處理子系統130中之器件分開之一或多個通用處理器。主CPU叢集140之處理器通常具有大於處理子系統130中之器件之任一者之計算功率,且因此,主CPU叢集140之處理器亦可消耗多於處理子系統130中之器件之任一者之功率。
器件100亦可視情況包含一主機器學習(ML)引擎150。主ML引擎150係經組態以透過一或多個機器學習模型執行推論遍次之一專用處理器件。各推論遍次使用一機器學習模型之輸入及經學習參數值來產
生由經學習模型預測之一或多個輸出。主ML引擎150可包含一或多個計算塊(compute tile)。通常,一計算塊係經組態以獨立地執行一組計算之一自含計算組件。主ML引擎150之塊可經配置於一網路中且經程式化,使得主ML引擎150之各塊經組態以透過機器學習模型執行一推論遍次之一個部分之操作。例如,若機器學習模型係一神經網路,則主ML引擎150中之各塊可經組態以計算神經網路之一個層之計算。在以引用方式併入本文中之美國專利第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引擎150之功率。例如,環境ML引擎134可經實施為一個或兩個塊,而主ML引擎150可具有8個至16個或更多個互連塊。
儘管未描繪,但計算器件100亦可包含此等計算器件上常見之一或多個其他組件,例如(僅舉幾項實例)一顯示器、一數據機、一圖形處理單元、一顯示處理器或一專用影像處理器。此等組件可在下文所描述之低功率狀態期間斷電且在該系統判定感測器信號匹配需要其等啟動之一應用程式的情況下被啟動。
器件100包含數個周邊感測器112。周邊感測器112包含一
或多個音訊感測器102、一或多個雷達感測器104、一或多個觸控感測器106、一全球定位系統(GPS)感測器108及一加速度計110。該系統可包含額外、更少或替代周邊感測器。例如,該系統可包含一Wi-Fi信號偵測器、一蜂巢式信號偵測器、一氣壓計、一溫度計、一磁力計或其他類型之周邊感測器。
周邊感測器112可為經組態以回應於環境輸入而產生感測器信號之器件。一或多個音訊感測器102(例如麥克風)可基於環境中之聲音產生音訊信號。例如,音訊感測器102可產生對應於人類語音之音訊信號。一或多個雷達感測器104可基於由計算器件之一傳輸器發射之經反射無線電波偵測雷達信號。經反射無線電波之變動可指示環境中之移動。例如,雷達感測器104可產生歸因於例如當使用者做出接近計算器件之手勢時自使用者反射而接收之雷達信號。類似地,一或多個觸控感測器106可歸因於由計算器件之一使用者在該器件之一存在敏感或壓力敏感介面上做出之觸控手勢而產生信號。GPS感測器108可回應於經接收位置資料通信而產生信號。而且,加速度計110可歸因於計算器件所經歷之加速而產生信號。在本說明書中,每當感測器信號被描述為其他處理組件之輸入時,輸入可為由感測器本身產生之類比電信號、感測器信號之數位表示或表示原始信號之一或多個性質之感測器信號之經處理數位表示。計算器件100之周邊感測器亦可包含(僅舉幾項其他實例)一慣性量測感測器、一氣壓計、一特定吸收率近接感測器及WiFi網路名稱感測器。
環境計算系統110包含一或多個周邊介面114。周邊介面114可為計算器件100之一組件,其即使在該器件處於其最低功率狀態時仍係通電的。周邊介面114可包含用於將自周邊感測器112接收之輸入轉
換成待由環境計算系統110使用之感測器信號之任何適當周邊介面。例如,周邊介面114可包含(僅舉幾項實例)一脈衝密度調變(PDM)介面、一IC間聲音(I2S)介面、一積體電路間(I2C)介面、一I3C介面、一分時多工(TDM)介面及一串列周邊介面(SPI)。
周邊介面114之各者經組態以在偵測到一環境輸入時產生一各自中斷。通常,各中斷可識別感測器資料之一源,例如負責該中斷之一周邊介面或感測器之一識別符。由一或多個中斷控制器124接收且處理中斷。例如,在接收到一中斷時,中斷控制器124可喚醒一功率控制單元(PCU)121,該PCU 121包含一功率管理單元(PMU)122及一時脈控制單元123。PMU 122可控制器件100之哪些組件接收功率及各組件接收多少功率。時脈控制單元123可控制器件100之組件操作所依之頻率。在一些實施方案中,各處理組件具有為一基本時脈頻率之一倍數或一分數之一不同時脈頻率。藉由具有為一基本時脈頻率之一倍數或一分數之一時脈頻率,各處理組件可更有效地與其他處理組件交換信號。
在接收到一中斷時,PCU 121可基於中斷源判定應啟動環境計算系統110之哪些其他組件以便進一步處理致使中斷之感測器信號。為了對此等組件提供處理支援,PCU 121可喚醒靜態隨機存取記憶體(SRAM)139及系統通信網狀架構(fabric)。該網狀架構係一通信子系統,其通信地耦合環境計算系統110之內部組件、其等至外部組件之通信或此等之某個組合。該網狀架構可包含通信硬體之任何適當組合,例如匯流排或專用互連電路。
靜態隨機存取記憶體(SRAM)139可為可由處理子系統130之多個處理組件共用之一通用隨機存取記憶體器件。例如,SRAM 139可
儲存感測器信號、處理器指令及資料、系統輸出、及其他資料,例如由或將由環境ML引擎134實施之神經網路模型之神經網路參數。通常,一SRAM可與動態隨機存取記憶體(DRAM)區分之處在於不需要週期性地再新一SRAM。如下文更詳細描述,SRAM 139可直接或透過一或多個DMA控制器存取處理子系統130中之處理組件。在一些實施方案中,SRAM 139包含多個記憶體庫,該等記憶體庫可各儲存實質上類似量之資料,例如各1 MB、10 MB或100 MB。另外,各個別記憶體庫可包含可在進入低功率狀態時個別地斷電之多個區塊。藉由仔細地對四個記憶體庫當中之區塊之斷電順序進行排序,SRAM位址空間可保持連續。
當PCU 121喚醒SRAM 139時,PCU 121可不喚醒SRAM 139之所有區塊或所有記憶體庫。代替地,PCU121可僅喚醒對處理子系統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中之處理組件維持於一保持模式。PCU 121可藉由降低或消除提供至一組件之功率來將該組件維持於保持模式。例如,在保持模式下,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以獲取一些信號。例如,若低功率CPU 132接收對應於計算器件之一觸控介面上之一簡單觸控輸入之一感測器信號,則低功率CPU 132可在無其他處理組件之輔助下,例如藉由致使由主CPU叢集140或一圖形處理器開啟計算器件之顯示器來處理觸控輸入。低功率CPU 132亦可判定計算器件之主CPU叢集140或器件100外部之計算器件之另一組件應進一步處理特定感測器信
號。低功率CPU 132例如可做出此一判定,例如若其判定器件100中無其他處理組件可恰當地處理感測器信號。
環境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可透過該模型執行推論遍次,以便產生在音訊信號中捕獲之語音之一實況謄本(transcription)。
作為另一實例,環境ML引擎134可實施自特定文字輸入產生音訊輸出信號之一文字至語音模型,其中音訊輸出信號可由一使用者以一特定語言解釋為人類語音。在一些實施方案中,器件100可串聯使用一語音辨識模型及文字至語音模型以提供一低功率對話引擎。例如,在環境ML引擎134辨識一特定命令之後,低功率CPU 132可採取特定動作來實現該命令,且亦將一特定文字回應提供回至環境ML引擎134。環境ML引擎134接著可使用文字至語音模型來產生表示對初始命令之一回應之一音訊輸出。在一些實施方案中,可執行語音辨識、動作執行及文字至語音回應的整個資料流,而無需喚醒該器件的主CPU叢集140。
例如,若一使用者提供話音命令「調大音量」,則環境ML引擎134可產生表示對應於一話音命令之音訊信號之一輸出以增加該器件正在播放之音樂之音量。機器學習引擎134可將輸出提供至低功率CPU 132,該低功率CPU 132可藉由將一信號發出至一或多個整合式揚聲器子系統來實現該命令。低功率CPU 132接著可將一文字回應「5級音量」提供至環境ML引擎134。環境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及低功率CPU 132、環境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可產生表示高功率DSP 138或主CPU叢集140應進一步處理感測器信號之一輸出。低功率處理組件可解釋環境ML引擎之輸出以將該系統轉變至更高位準功率狀態230之一者,且可指示PCU 121將功率提供至實施更高位準功率狀態所需之組件,例如高功率DSP 138。
該系統可進一步轉變至一全功率狀態240,在該全功率狀態240期間,主CPU叢集140、主ML引擎150或兩者係通電的。全功率狀態240可能係在一使用者主動使用計算器件期間(例如,在使用主CPU叢集140之一網頁瀏覽工作階段期間或在於主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引擎實施之另一類型之機器學習模型係一熱詞模型,其執行簡化語音辨識以識別一使用者何時說出一相對小熱詞集,例如「好的電話」。在此情況下,輸入係音訊信號,且輸出係一枚舉命令集之一或多個識別符。例如,枚舉命令之一者可為監聽例如可由更複雜主ML引擎處置之額外語音輸入。
可由環境ML引擎實施之另一類型之機器學習模型係一媒體識別模型。在此情況下,輸入係音訊信號,且模型輸出係音訊信號之媒體之一或多個性質,例如一歌曲、節目、電視節目或電影之一標題,電視或廣播頻道之一名稱。例如,輸出可為將背景音訊識別為電影「Braveheart」之文字。環境計算系統接著可啟動主CPU叢集以在一電話螢幕上之一通知中顯示此資訊。為了實施媒體識別模型,該器件可下載經更新模型參數(例如,每晚、每週或每月一次),使得經識別媒體係最近的且合理地係最新的。
可由環境ML引擎實施之另一類型之機器學習模型係一音樂識別模型。在此情況下,輸入係音訊信號,且模型輸出係一音樂作品之一或多個性質,例如一歌曲之一標題、作者、作曲家、專輯或曲目。類似地,該器件可週期性地(例如,每晚、每週或每月一次)下載經更新模型參
數,使得經識別音樂係最近的且合理地係最新的。
實施一或多個上述模型所要之記憶體可能超過該器件上之SRAM之大小。因此,該系統可使用能夠支援具有有限記憶體空間之多個機器學習模型之記憶體覆蓋。例如,該系統可週期性地將用於熱詞模型之模型參數及程式碼交換至SRAM中,且對過去幾毫秒內接收之音訊執行一推論遍次。該系統接著可將用於媒體識別模型之模型參數及程式碼交換至SRAM中,且對過去幾毫秒內接收之音訊執行一第二推論遍次。而且,該系統接著可執行相同操作以交換用於音樂識別模型之模型參數及程式碼。在一些實施方案中,該系統使用一DMA控制器將該等覆蓋交換至SRAM中,且將使用一DMA路徑將該等覆蓋交換至DRAM或快取DRAM中之資料之一系統級快取記憶體中。
該系統判定感測器信號匹配一應用程式特定條件(440)。例如,低功率處理組件可解釋環境ML引擎之輸出以判定感測器信號匹配用於開啟其上實施環境計算系統之計算器件之顯示器之一條件。作為另一實例,低功率處理組件可解釋環境ML引擎之輸出以判定經接收音訊信號對應於話音命令「好的電腦,開啟螢幕」。
回應於判定特定感測器信號匹配一應用程式特定條件,該系統啟動一特定處理組件以執行對應於應用程式特定條件之一特定應用程式(460)。繼續來自先前段落之實例,該系統可啟動一處理組件以執行致使計算器件之顯示器照明之程式碼。
在另一實例程序中,低功率處理組件可判定特定感測器信號係音訊信號。該系統接著可啟動環境ML引擎以進一步處理彼等音訊信號。環境ML引擎可使用一音訊處理神經網路透過一機器學習模型來執行
一推論遍次,以產生表示音訊信號對應於一特定類型之聲音(例如,一車門關上之聲音)之一輸出。車門關上之聲音之出現係致使該系統啟動一處理組件以執行致使該系統記錄行動計算器件之一位置之程式碼之一應用程式特定條件。記錄行動計算器件之位置係對應於應用程式特定條件之應用程式。此一應用程式對經常忘記將車停在何處之一使用者可能有用。
圖5係用於處置一話音搜尋應用程式之一實例程序之一流程圖。該程序將被描述為由環境計算系統或該系統之特定組件執行。
環境計算系統之一音訊感測器(例如,麥克風)基於來自環境之一音訊輸入產生音訊信號。例如,音訊感測器可接收對應於問題「好的電腦,今天什麼天氣?」之人類語音。音訊感測器可產生對彼問題進行編碼之音訊信號。
該系統接收音訊信號(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引擎接著使用輸入音訊信號,透過語音辨識模型來執行一推論遍次。語音辨識模型之輸出可為對應於音訊信號之文字或對應於語音之一命令之一識別符。繼續來自先前段落之實例,語音辨識模型之輸出可為「好的電腦,今天什麼天氣?」之一識別符或一文字表示。
該系統判定模型輸出是否對應於一應用程式特定條件(550)。例如,低功率DSP可基於文字表示中之字詞「天氣」及「今天」的存在來判定音訊信號對應於擷取及呈現天氣資料之一應用程式。換言
之,使用者希望計算器件提供一天氣報告且已發佈一適當話音命令。
若模型輸出不對應於一應用程式特定條件,則該系統可執行其他處理或轉變回至監測功率狀態(分支至570)。
若模型輸出對應於一應用程式特定條件,則該系統執行對應於應用程式特定條件之一應用程式(560)。通常,該系統可選擇一處理組件以例如藉由將執行對應於應用程式特定條件之應用程式所需之程式碼及資料交換至SRAM中來執行應用程式。例如,若環境ML引擎可執行自動語音辨識,則該系統可將環境ML引擎辨識語音所需之程式碼及模型參數交換至SRAM中。
替代地或另外,該系統可例如藉由調用主CPU叢集或主ML引擎而調用並非環境計算系統之部分之其他組件來執行應用程式。例如,若應用程式特定條件係詢問天氣之一話音命令,則該系統可調用主CPU叢集來執行自一線上源查看天氣之一應用程式。自然,若尚未啟動,則此動作亦可能需要將功率供應至網路化硬體。例如,該系統可使用一線上搜尋引擎或一天氣資料庫來擷取所請求之天氣資訊。
該系統啟動一特定處理組件以產生對人類語音之特定出現之一文字至語音回應,該文字至語音回應係對應於應用程式特定條件之應用程式(580)。在一些實施方案中,該系統可啟動一音訊DSP以產生文字至語音音訊回應。在一些其他實施方案中,環境ML引擎本身可藉由實施一文字至語音機器學習模型來處置文字至語音應用程式。文字至語音機器學習模型可為一經訓練原始音訊遞迴神經網路。例如,其可為可在arxiv.org處獲得之Aaron van den Oord等人在arXiv preprint arXiv:1609.03499(2016)中之WaveNet:A Generative Model for Raw Audio中所描述之神經網路。文字至語音模型之輸出係音訊信號,例如「今天,您可期待75度高之晴天」。計算器件上之一音訊輸出器件(例如,揚聲器)可自音訊信號產生音訊。
在一些實施方案中,環境計算系統可辨識對應於人類語音之音訊信號且產生一文字至語音音訊回應,而不啟動低功率CPU。例如,低功率DSP不僅可判定經接收音訊信號對應於人類語音,而且可判定其等對應於將需要一文字至語音回應之一問題。基於彼判定,且因為低功率CPU可能無法處置一文字至語音回應,所以低功率DSP可將一推論請求直接發送至環境ML引擎,從而繞過低功率CPU。在此一情況下繞過低功率CPU降低該系統之能量消耗。
圖6係用於執行一手勢特定應用程式之一實例程序之一流程圖。該程序將被描述為由環境計算系統或由該系統之特定組件執行。
該系統接收雷達信號(610)。例如,一或多個雷達感測器產生雷達信號。若該系統當前處於監測功率狀態,則在中斷控制器判定雷達信號可用時,該系統可轉變至處理功率狀態,此致使該系統啟動低功率DSP。如先前所描述,啟動低功率DSP可包含指示PCU將功率供應至低功率DSP。若該系統已處於處理功率狀態,則該系統可將雷達信號轉遞至低功率DSP。
低功率DSP處理雷達信號且判定該等信號是否指示一使用者之近接性(620)。判定雷達信號指示一使用者之近接性可涉及偵測以自環境反射回來之無線電波編碼之信號型樣(例如,脈衝),且量測經反射信號型樣之信號雜訊比。若信號雜訊比滿足一臨限值,則該系統可判定該等信號指示一使用者之近接性。
在一些實施方案中,該系統將進一步低階處理強加於低功率DSP上。例如,若雷達信號確實指示一使用者之近接性,則該系統可使用低功率DSP來執行一不同常式以判定雷達信號是否亦指示手勢。
若雷達信號不指示一使用者之近接性,則該系統可執行其他處理而不調用環境ML引擎或簡單地轉變回至監測功率狀態(分支至670)。
若雷達信號指示一使用者之近接性,則該系統啟動環境ML引擎(分支至630)。
該系統根據一手勢識別模型處理雷達信號(640)。可在啟動機器學習引擎之前或之同時將用於手勢辨識模型之程式碼及參數交換至SRAM中。環境ML引擎接著可使用輸入雷達信號透過手勢辨識模型來執行一推論遍次以產生一模型輸出。例如,機器學習模型可為經訓練以偵測及分類特定手勢之一手勢辨識模型。
該系統判定雷達信號是否對應於特定手勢(650)。例如,低功率DSP可解釋模型輸出且判定模型輸出對應於一特定手勢。替代地或另外,該系統可並聯使用高功率DSP及環境ML引擎。換言之,高功率DSP可對雷達信號執行更複雜信號處理以在環境ML引擎透過手勢辨識模型執行一推論遍次之同時確認使用者之近接性。若高功率DSP指示存在一使用者且若環境ML引擎指示模型輸出對應於一特定手勢,則該系統可執行一手勢特定動作。藉由組合高功率DSP之功能與環境ML引擎上之手勢辨識模型,該系統可增加手勢辨識之準確性且降低誤報偵測率。
若雷達信號不對應於一特定手勢,則該系統可執行其他處理或轉變回至監測功率狀態(分支至670)。
若雷達信號對應於一特定手勢,則該系統執行一手勢特定應用程式(分支至660)。一個手勢特定應用程式可為自一手勢判定使用者是否為該器件之一所有者。例如,該器件可使用雷達信號來啟用該器件之手勢解鎖或手勢密碼。換言之,因為手勢之特徵匹配先前用來鎖定該器件之一手勢之特徵,所以該系統可判定使用者係該器件之所有者。
回應於使用者執行一特定手勢,另一手勢特定應用程式可為照明該器件之顯示器。例如,若使用者前傾查看顯示器,則模型輸出可指示使用者正在前傾。作為回應,該系統可啟動一處理組件以開啟計算器件之顯示器。例如,此可允許使用者僅藉由前傾或僅藉由以一特定方式移動一手(例如,向上揮手或來回揮手或呈一T形揮手)來查看該器件上之通知。
另一手勢特定應用程式可為使用一相機來解釋面部表情。例如,若特定手勢係使用者傾向該器件,則該系統可啟動一正面照相相機(front-facing camera)以捕獲使用者之面部之影像資料。該系統接著可啟動主CPU叢集、主ML引擎或兩者以對使用者之一面部表情進行分類。
上述實例主要將環境計算系統描述成被實施為具有整合式處理組件之單晶片系統。然而,相同技術亦可用來使用基礎計算組件之其他配置實施一環境計算系統。例如,環境計算系統之一或多個處理組件(包含環境ML引擎)可經實施為一協同處理器或實施於一獨立晶片中。
本說明書中所描述之標的物之實施例以及動作及操作可在數位電子電路中、在有形體現之電腦軟體或韌體中、在電腦硬體(包含本說明書中所揭示之結構及其等之結構等效物)中或在其等一或多者之組合中實施。本說明書中所描述之標的物之實施例可經實施為一或多個電腦程
式,即,在一有形非暫時性儲存媒體上編碼以供資料處理裝置執行或控制資料處理裝置之操作之電腦程式指令之一或多個模組。替代地或另外,程式指令可經編碼於一人工傳播信號上,例如經產生以對資訊進行編碼以傳輸至合適接收器裝置以供一資料處理裝置執行之一機器產生之電、光學或電磁信號。電腦儲存媒體可為一機器可讀儲存器件、一機器可讀儲存基板、一隨機或串列存取記憶體器件或其等之一或多者之組合或可為其等之部分。一電腦儲存媒體並非一傳播信號。
可以任何形式之程式設計語言(包含編譯或解釋語言、或宣告或程序語言)編寫一電腦程式,其亦可被稱為或被描述為一程式、軟體、一軟體應用程式、一應用程式、一模組、一軟體模組、一引擎、一指令碼或程式碼;且其可以任何形式部署,包含作為一獨立程式或作為適合在一計算環境中執行之一模組、組件、引擎、子常式或其他單元,該環境可包含藉由一資料通信網路在一或多個位置處互連之一或多個電腦。
一電腦程式可但無需對應於一檔案系統中之一檔案。一電腦程式可經儲存於保存其他程式或資料之一檔案之一部分中,例如儲存於一標記語言文件、專用於所討論程式之單個檔案或多個協調檔案(例如,儲存一或多個模組、子程式或程式碼部分之檔案)中之一或多個指令碼。
為了提供與一使用者之互動,本說明書中所描述之標的物之實施例可在一電腦上實施或經組態以與該電腦進行通信,該電腦具有:一顯示器件(例如,一LCD(液晶顯示器)監視器),其用於向使用者顯示資訊;及一輸入器件(例如,一鍵盤及一指向器件(例如,一滑鼠、一軌跡球或觸控板)),使用者可藉由其將輸入提供至該電腦。其他種類之器件亦可用來提供與一使用者之互動;例如,提供給使用者之回饋可為任何形式之
感覺回饋,例如視覺回饋、聽覺回饋或觸覺回饋;且可以任何形式接收來自使用者之輸入,包含聲音、語音或觸覺輸入。另外,一電腦可藉由將文件發送至由一使用者使用之一器件及自該器件接收文件而與使用者進行互動;例如,藉由回應於自網頁瀏覽器接收之請求而將網頁發送至一使用者之器件上之一網頁瀏覽器,或藉由與在一使用者器件(例如,一智慧型電話或電子平板電腦)上運行之一應用程式進行互動。再者,一電腦可藉由將文字訊息或其他形式之訊息發送至一個人器件(例如,運行一傳訊應用程式之一智慧型電話)且作為回報自一使用者接收回應訊息而與使用者進行互動。
本說明書中所描述之標的物之實施例可在一計算系統中實施,該計算系統包含:一後端組件(例如,作為一資料伺服器);或一中間件組件(例如,一應用程式伺服器);或一前端組件(例如,具有一圖形使用者介面、一網頁瀏覽器或一應用程式之一客戶端器件),一使用者可透過其與本說明書中所描述之標的物之一實施方案進行互動;或一或多個此等後端、中間件或前端組件之任何組合。該系統之組件可藉由任何形式或媒體之數位資料通信(例如,一通信網路)互連。通信網路之實例包含一區域網路(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中任一項之操作。
儘管本說明書含有許多特定實施方案細節,但此等細節不應被解釋為限制任何發明之範疇或限制所主張或可主張內容之範疇,而是被解釋為描述可特定於特定發明之特定實施例之特徵。本說明書中在分開實施例之背景下所描述之特定特徵亦可在單項實施例中組合地實施。相
反,在單項實施例之背景下所描述之各種特徵亦可分開地在多項實施例中或以任何合適子組合實施。此外,儘管特徵在上文可被描述為以特定組合起作用且甚至最初如此主張,但在一些情況下來自一所主張組合之一或多個特徵可自該組合剔除,且發明申請專利範圍可係關於一子組合或一子組合之變動。
類似地,雖然以特定順序在附圖中描繪且在發明申請專利範圍中敘述操作,但此不應被理解為需要以所展示之特定順序或以循序順序執行此等操作或執行所有所繪示操作以達成期望結果。在特定情況下,多重任務及並行處理可能係有利的。此外,上文所描述之實施例中之各種系統模組及組件之分離不應被理解為在所有實施例中皆需要此分離,且應理解,所描述之程式組件及系統通常可一起整合於單個軟體產品中或封裝成多個軟體產品。
已描述標的物之特定實施例。其他實施例係在下文發明申請專利範圍之範疇內。例如,發明申請專利範圍中所敘述之動作可以一不同順序執行且仍達成期望結果。作為一項實例,附圖中所描繪之程序未必需要所展示之特定順序或循序順序來達成期望結果。在一些情況下,多重任務及並行處理可能係有利的。
100:計算器件
102:音訊感測器
104:雷達感測器
106:觸控感測器
108:全球定位系統(GPS)感測器
110:加速度計
112:周邊感測器
114:周邊介面
120:控制子系統
121:功率控制單元(PCU)
122:功率管理單元(PMU)
123:時脈控制單元
124:中斷控制器
128:DMA控制器
129:計時器
130:處理子系統
132:低功率CPU
134:環境機器學習引擎
136:低功率DSP
138:高功率DSP
139:靜態隨機存取記憶體(SRAM)
140:主CPU叢集
150:主機器學習(ML)引擎
Claims (20)
- 一種用於環境計算之器件,其包括:一或多個感測器,其經組態以產生感測器信號;及一環境計算系統(ambient computing system),其包括複數個處理組件,該複數個處理組件包含一機器學習引擎及一或多個其他處理組件;其中該環境計算系統係經組態以執行以下操作,包括:保持於一監測功率狀態直至接收到指示該一或多個感測器中之一或多者所產生之一或多個感測器信號之存在之一中斷,回應於接收到該中斷,自該監測功率狀態轉變(transition)至一處理功率狀態,在該處理功率狀態中,藉由該機器學習引擎使用該一或多個感測器信號作為輸入而執行一推論遍次(inference pass),以產生表示應經啟動以進一步處理該一或多個感測器信號之該環境計算系統之一或多個其他處理組件之一輸出,啟動(activate)由該機器學習引擎之該輸出所表示之該一或多個其他處理組件,及藉由由該機器學習引擎之該輸出所表示之該一或多個其他處理組件處理該一或多個感測器信號。
- 如請求項1之器件,其中該環境計算系統之該複數個處理組件共用一隨機存取記憶體庫。
- 如請求項2之器件,其中自該監測功率狀態轉變至該處理功率狀態包括啟動該隨機存取記憶體庫。
- 如請求項1之器件,其中該一或多個其他處理組件包括一低功率處理組件,且其中自該監測功率狀態轉變至該處理功率狀態致使該環境計算系統啟動該低功率處理組件。
- 如請求項4之器件,其中該環境計算系統係經組態以藉由該低功率處理組件處理該一或多個感測器信號以判定該推論遍次是否應由該機器學習引擎所執行。
- 如請求項4之器件,其中該低功率處理組件係一低功率CPU。
- 如請求項4之器件,其中該低功率處理組件係一低功率DSP。
- 如請求項1之器件,其中應經啟動以進一步處理該一或多個感測器信號之該環境計算系統之該一或多個其他處理組件包括一高功率DSP、一主CPU叢集,或一主機器學習引擎。
- 如請求項1之器件,其中該複數個處理組件係藉由一通信網狀架構(communication fabric)通信地耦合,且其中自該監測功率狀態轉變至該處理功率狀態包括啟動該通信網狀架構以用於由該機器學習引擎之該輸出所表示之該一或多個其他處理組件。
- 如請求項1之器件,其中在該環境計算系統處於該監測功率狀態時,該環境計算系統係經組態以將該機器學習引擎維持於一非操作狀態中。
- 一種由用於環境計算之一器件所執行之方法,該器件包括:一或多個感測器,其經組態以產生感測器信號;及一環境計算系統,其包括複數個處理組件,該複數個處理組件包含一機器學習引擎及一或多個其他處理組件,該方法包括:保持於一監測功率狀態直至接收到指示該一或多個感測器中之一或多者所產生之一或多個感測器信號之存在之一中斷,回應於接收到該中斷,自該監測功率狀態轉變至一處理功率狀態,在該處理功率狀態中,藉由該機器學習引擎使用該一或多個感測器信號作為輸入而執行一推論遍次,以產生表示應經啟動以進一步處理該一或多個感測器信號之該環境計算系統之一或多個其他處理組件之一輸出,啟動由該機器學習引擎之該輸出所表示之該一或多個其他處理組件,及藉由由該機器學習引擎之該輸出所表示之該一或多個其他處理組件處理該一或多個感測器信號。
- 如請求項11之方法,其中該環境計算系統之該複數個處理組件共用一隨機存取記憶體庫。
- 如請求項12之方法,其中自該監測功率狀態轉變至該處理功率狀態包括啟動該隨機存取記憶體庫。
- 如請求項11之器件,其中該一或多個其他處理組件包括一低功率處理組件,且其中自該監測功率狀態轉變至該處理功率狀態致使該環境計算系統啟動該低功率處理組件。
- 如請求項14之方法,其中該方法包括藉由該低功率處理組件處理該一或多個感測器信號以判定該推論遍次是否應由該機器學習引擎所執行。
- 如請求項14之方法,其中該低功率處理組件係一低功率CPU。
- 如請求項14之方法,其中該低功率處理組件係一低功率DSP。
- 如請求項11之方法,其中應經啟動以進一步處理該一或多個感測器信號之該環境計算系統之該一或多個其他處理組件包括一高功率DSP、一主CPU叢集,或一主機器學習引擎。
- 如請求項11之方法,其中該複數個處理組件係藉由一通信網狀架構通信地耦合,且其中自該監測功率狀態轉變至該處理功率狀態包括啟動該通信網狀架構以用於由該機器學習引擎之該輸出所表示之該一或多個其他處理組件。
- 如請求項11之方法,其中在該環境計算系統處於該監測功率狀態時,該環境計算系統係經組態以將該機器學習引擎維持於一非操作狀態中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762589547P | 2017-11-21 | 2017-11-21 | |
PCT/US2018/062329 WO2019104228A1 (en) | 2017-11-21 | 2018-11-21 | Low-power ambient computing system with machine learning |
WOPCT/US18/62329 | 2018-11-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202206975A TW202206975A (zh) | 2022-02-16 |
TWI807471B true TWI807471B (zh) | 2023-07-01 |
Family
ID=64661521
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110141124A TWI807471B (zh) | 2017-11-21 | 2019-10-21 | 具機器學習之低功率環境計算器件及由其所執行之方法 |
TW108137926A TWI748267B (zh) | 2017-11-21 | 2019-10-21 | 具機器學習之低功率環境計算系統 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108137926A TWI748267B (zh) | 2017-11-21 | 2019-10-21 | 具機器學習之低功率環境計算系統 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11199896B2 (zh) |
EP (2) | EP3552076B1 (zh) |
JP (2) | JP6877594B2 (zh) |
KR (2) | KR102488558B1 (zh) |
CN (2) | CN110678825B (zh) |
TW (2) | TWI807471B (zh) |
WO (1) | WO2019104228A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11199896B2 (en) * | 2017-11-21 | 2021-12-14 | Google Llc | Low-power ambient computing system with machine learning |
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 |
EP4052173A2 (en) * | 2019-10-30 | 2022-09-07 | Google LLC | Smart-device-based radar system performing gesture recognition using a space time neural network |
KR20220085835A (ko) * | 2019-12-17 | 2022-06-22 | 구글 엘엘씨 | 저전력 비전 감지 |
EP4010833B1 (en) * | 2019-12-18 | 2024-07-17 | Google LLC | Machine learning based privacy processing |
US20210191779A1 (en) * | 2019-12-18 | 2021-06-24 | Google Llc | Operating system level distributed ambient computing |
US12052315B2 (en) | 2019-12-23 | 2024-07-30 | 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 |
US12099112B2 (en) | 2021-01-08 | 2024-09-24 | Google Llc | Systems and methods for managing sensors of an electronic device, and associated electronic devices |
JP7562867B2 (ja) * | 2021-01-08 | 2024-10-07 | グーグル エルエルシー | 電子デバイスの動き検知を管理するためのシステムおよび方法、ならびに関連する電子デバイス |
KR20220120154A (ko) * | 2021-02-23 | 2022-08-30 | 삼성전자주식회사 | 복수의 어플리케이션들에 공유되는 기계 학습 모델을 이용한 장치 및 방법 |
JP2023020219A (ja) * | 2021-07-30 | 2023-02-09 | 株式会社リコー | 情報処理装置、方法およびプログラム |
US20240281046A1 (en) * | 2023-02-21 | 2024-08-22 | Dell Products, L.P. | Systems and methods for managing settings based upon information handling system (ihs) motion using heterogeneous computing platforms |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200929096A (en) * | 2007-12-21 | 2009-07-01 | Inventec Corp | Portable apparatus and sensing information application method thereof |
TW201109912A (en) * | 2009-06-25 | 2011-03-16 | Qualcomm Inc | Prediction engine to control energy consumption |
CN103714039A (zh) * | 2013-12-25 | 2014-04-09 | 中国人民解放军国防科学技术大学 | 通用计算数字信号处理器 |
TW201419036A (zh) * | 2012-11-06 | 2014-05-16 | Pixart Imaging Inc | 感測元件陣列、控制感測裝置的方法以及相關電子裝置 |
US20140351559A1 (en) * | 2012-11-21 | 2014-11-27 | Motorola Mobility Llc | Low Power Management of Multiple Sensor Chip Architecture |
WO2015183404A1 (en) * | 2014-05-29 | 2015-12-03 | Apple Inc. | System on a chip with always-on processor |
TWI630476B (zh) * | 2015-02-17 | 2018-07-21 | 美商英特爾股份有限公司 | 執行平台裝置之動態功率控制的處理器、機器可讀取媒體及系統 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3086206B2 (ja) * | 1998-07-17 | 2000-09-11 | 科学技術振興事業団 | エージェント学習装置 |
JP2001238001A (ja) * | 2000-02-24 | 2001-08-31 | Ricoh Co Ltd | ファクシミリ装置 |
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 |
US8884906B2 (en) * | 2012-12-21 | 2014-11-11 | Intel Corporation | Offloading touch processing to a graphics processor |
EP2949144B1 (en) * | 2013-01-25 | 2020-09-16 | Qualcomm Incorporated | Adaptive observation of behavioral features on a mobile device |
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 |
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 |
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 |
US11199896B2 (en) * | 2017-11-21 | 2021-12-14 | Google Llc | Low-power ambient computing system with machine learning |
-
2018
- 2018-11-21 US US16/479,901 patent/US11199896B2/en active Active
- 2018-11-21 KR KR1020227004110A patent/KR102488558B1/ko active IP Right Grant
- 2018-11-21 EP EP18815917.2A patent/EP3552076B1/en active Active
- 2018-11-21 EP EP23183715.4A patent/EP4242924A3/en active Pending
- 2018-11-21 CN CN201880035038.9A patent/CN110678825B/zh active Active
- 2018-11-21 CN CN202311615063.3A patent/CN117762234A/zh active Pending
- 2018-11-21 JP JP2019566093A patent/JP6877594B2/ja active Active
- 2018-11-21 WO PCT/US2018/062329 patent/WO2019104228A1/en unknown
- 2018-11-21 KR KR1020197034766A patent/KR102362107B1/ko active IP Right Grant
-
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 (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200929096A (en) * | 2007-12-21 | 2009-07-01 | Inventec Corp | Portable apparatus and sensing information application method thereof |
TW201109912A (en) * | 2009-06-25 | 2011-03-16 | Qualcomm Inc | Prediction engine to control energy consumption |
TW201419036A (zh) * | 2012-11-06 | 2014-05-16 | Pixart Imaging Inc | 感測元件陣列、控制感測裝置的方法以及相關電子裝置 |
US20140351559A1 (en) * | 2012-11-21 | 2014-11-27 | Motorola Mobility Llc | Low Power Management of Multiple Sensor Chip Architecture |
CN103714039A (zh) * | 2013-12-25 | 2014-04-09 | 中国人民解放军国防科学技术大学 | 通用计算数字信号处理器 |
WO2015183404A1 (en) * | 2014-05-29 | 2015-12-03 | Apple Inc. | System on a chip with always-on processor |
TWI630476B (zh) * | 2015-02-17 | 2018-07-21 | 美商英特爾股份有限公司 | 執行平台裝置之動態功率控制的處理器、機器可讀取媒體及系統 |
Also Published As
Publication number | Publication date |
---|---|
KR20190141739A (ko) | 2019-12-24 |
TW202036225A (zh) | 2020-10-01 |
JP2020532779A (ja) | 2020-11-12 |
CN110678825B (zh) | 2023-12-08 |
WO2019104228A1 (en) | 2019-05-31 |
CN110678825A (zh) | 2020-01-10 |
TW202206975A (zh) | 2022-02-16 |
US20220066536A1 (en) | 2022-03-03 |
US11714477B2 (en) | 2023-08-01 |
TWI748267B (zh) | 2021-12-01 |
KR102362107B1 (ko) | 2022-02-11 |
KR20220025140A (ko) | 2022-03-03 |
JP2021140803A (ja) | 2021-09-16 |
EP4242924A2 (en) | 2023-09-13 |
EP3552076B1 (en) | 2023-08-30 |
EP3552076A1 (en) | 2019-10-16 |
JP7257443B2 (ja) | 2023-04-13 |
JP6877594B2 (ja) | 2021-05-26 |
US20200278738A1 (en) | 2020-09-03 |
KR102488558B1 (ko) | 2023-01-13 |
EP4242924A3 (en) | 2023-10-11 |
CN117762234A (zh) | 2024-03-26 |
US11199896B2 (en) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI807471B (zh) | 具機器學習之低功率環境計算器件及由其所執行之方法 | |
TWI815323B (zh) | 用於進入低功率狀態之電腦可實施方法以及相關運算系統 | |
EP4010833B1 (en) | Machine learning based privacy processing | |
JP7562669B2 (ja) | 低パワー視覚センシング | |
KR102722178B1 (ko) | 저전력 캐시된 앰비언트 컴퓨팅 |