所公開的實現總體上涉及神經網絡,并且更具體地涉及用于使用模擬神經形態計算硬件進行人類活動識別的系統和方法。
背景技術:
0、背景
1、傳統硬件未能跟上神經網絡中的創新和基于機器學習的應用的日益普及。由于數字微處理器的發展處于停滯,神經網絡的復雜性繼續超過cpu和gpu的計算能力。基于脈沖神經網絡(spike?neural?network)的神經形態(neuromorphic)處理器(例如loihi和truenorth)在它們的應用中被限制。對于類似gpu的架構,這樣的架構的功率和速度受數據傳輸速度限制。數據傳輸可以消耗高達80%的芯片功率,且可以顯著影響計算的速度。邊緣應用(edgeapplication)要求低功率消耗,但目前沒有消耗小于50毫瓦的功率的已知高性能硬件實現。
2、使用交叉開關(cross-bar)技術的基于憶阻器的架構對于制造循環(recurrent)和前饋(feed-forward)神經網絡仍然是不實用的。例如,基于憶阻器的交叉開關具有許多缺點,包括使它們變得不實用的在操作期間的電流泄漏和高時延。此外,在制造基于憶阻器的交叉開關時存在可靠性問題,特別是當神經網絡具有負權重和正權重時。對于具有許多神經元的大型神經網絡,在高維度,基于憶阻器的交叉開關不能用于不同信號的同時傳播,這在神經元由運算放大器表示時又使信號的求和變得復雜。此外,基于憶阻器的模擬集成電路具有許多限制,例如電阻狀態的數量少、當形成憶阻器時的第一次循環問題、當訓練憶阻器時的溝道形成的復雜性、對憶阻器的尺寸的不可預測的依賴性、憶阻器的緩慢操作以及電阻狀態的漂移。
3、此外,神經網絡所需的訓練過程對神經網絡的硬件實現提出了獨特的挑戰。訓練后的神經網絡用于特定的推斷(inferencing)任務,例如分類。一旦神經網絡被訓練,硬件等價物就被制造。當神經網絡被再訓練時,硬件制造過程被重復,抬高了成本。雖然存在一些可重新配置的硬件解決方案,但是這樣的硬件不容易被大規模生產,并且比不可重新配置的硬件花費多得多(例如,花費多5倍)。此外,邊緣環境(例如智能家居應用)本身不需要可重編程性。例如,神經網絡的所有應用的85%在操作期間不需要任何再訓練,因此片上學習不是那么有用。此外,邊緣應用包括噪聲環境,其可以使可重編程硬件變得不可靠。
4、人類活動識別是使用從各種類型的傳感器獲取的信息對人類活動進行分類的應用。人類活動識別越來越成為健身設備(諸如手環和智能手表)最常見的用例。傳統上,健身手環或智能手表上的人類活動識別是使用軟件算法來實現的。這種算法是極其計算密集型的,并且負責設備微控制器單元上的大部分(例如,超過70%)的計算負載。此外,用于人類活動識別的常規解決方案只能區分人類活動的幾個基本類別(例如,停留、行走或劇烈運動),并且這些解決方案不是個性化的。
技術實現思路
0、概述
1、因此,存在對解決至少一些上面指出的缺陷的方法、電路和/或接口的需要。對訓練后的神經網絡建模并根據本文所述的技術制造的模擬電路可以提供提高的每瓦性能的優點,在邊緣環境中實現硬件解決方案方面可以是有用的,并可以處理各種應用,例如無人機導航和自動駕駛汽車。由所提出的制造方法和/或模擬網絡架構提供的成本優點對較大的神經網絡更加明顯。此外,神經網絡的模擬硬件實現提供了提高的并行性和神經形態。此外,神經形態模擬部件當與數字對應物相比時對噪聲和溫度變化不敏感。
2、根據本文描述的技術制造的芯片在尺寸、功率和性能方面提供優于傳統系統的數量級改進,并且對于邊緣環境(包括對于再訓練目的)是理想的。這樣的模擬神經形態芯片可以用于實現邊緣計算應用或用在物聯網(iot)環境中。由于模擬硬件,可以消耗超過80%-90%的功率的初步處理(例如,用于圖像識別的描述符的形成)可以在芯片上移動,從而降低能量消耗和網絡負載,這可以打開新的應用市場。
3、各種邊緣應用可以受益于這樣的模擬硬件的使用。例如,對于視頻處理,本文描述的技術可以用于包括到cmos傳感器的直接連接而無需數字接口。各種其他視頻處理應用包括用于汽車的路標識別、用于機器人的基于攝像機的真實深度和/或同步定位和地圖構建、沒有服務器連接的房間訪問控制以及對安全和醫療保健的始終在線解決方案。這樣的芯片可以用于雷達和激光雷達的數據處理以及用于低層級數據融合。這樣的技術可以用于實現大型電池組的電池管理功能、沒有到數據中心的連接的聲音/語音處理、在移動設備上的語音識別、iot傳感器的喚醒語音指令、將一種語言翻譯成另一種語言的翻譯器、具有低信號強度的iot的大型傳感器陣列和/或具有數百個傳感器的可配置過程控制。特別地,這種技術可以用于實現人類活動識別。用模擬神經網絡實現替代常規軟件算法可以幫助從設備微控制器卸載計算,使得設備的總功率消耗顯著降低(例如,功率消耗降低超過40%)。此外,本文描述的技術可以用于區分大量人類活動,并且這種技術可以用于開發針對不同用戶或用戶類別的個性化解決方案。例如,人類活動的神經網絡確定或生成描述符允許識別超過五十種不同的人類活動。神經網絡允許活動的個性化,并且可以針對特定用戶生成描述符作為唯一數字指紋。
4、根據一些實現,神經形態模擬芯片可以在標準的基于軟件的神經網絡仿真/訓練之后被大規模生產。客戶端的神經網絡可以用定制的芯片設計和生產被容易移植,而不管神經網絡的結構如何。此外,根據一些實現,提供了準備好制作片上解決方案(網絡仿真器)的庫。這樣的解決方案只需要訓練一次光刻掩模更換,其后芯片可以被大規模生產。例如,在芯片生產期間,只有部分的光刻掩模需要被更換。
5、本文描述的技術可以用于設計和/或制造在數學上等效于訓練后的神經網絡(前饋或者循環神經網絡)的模擬神經形態集成電路。根據一些實現,該過程以訓練后的神經網絡開始,該神經網絡首先被轉換成由標準元件組成的經變換的網絡。使用具有代表標準元件的已知模型的軟件來仿真經變換的網絡的操作。軟件仿真用于確定在經變換的網絡中的每個電阻器的單獨電阻值。基于在經變換的網絡中的標準元件的排列來布置光刻掩模。使用與標準元件對應的電路的現有庫來將每個標準元件布置在掩模中以簡化和加快該過程。在一些實現中,電阻器布置在與包括經變換的網絡中的其他元件(例如運算放大器)的掩模分離的一個或更多個掩模中。以這種方式,如果神經網絡被再訓練,則只有包含表示在再訓練后的神經網絡中的新權重的電阻器或其他類型的固定電阻元件的掩模需要被重新生成,這簡化并加快了該過程。光刻掩模然后被發送到晶圓廠(fab)用于制造模擬神經形態集成電路。
6、在一個方面中,根據一些實現,提供了一種用于神經網絡的硬件實現的方法。該方法包括獲得訓練后的神經網絡的神經網絡拓撲和權重。該方法還包括將神經網絡拓撲變換成模擬部件的等效模擬網絡。該方法還包括基于訓練后的神經網絡的權重來計算等效模擬網絡的權重矩陣。權重矩陣的每個元素表示在等效模擬網絡的模擬部件之間的相應連接。該方法還包括基于權重矩陣來生成用于實現等效模擬網絡的示意模型,包括選擇模擬部件的部件值。
7、在一些實現中,生成示意模型包括生成針對權重矩陣的電阻矩陣。電阻矩陣的每個元素對應于權重矩陣的相應權重,并表示電阻值。
8、在一些實現中,該方法還包括獲得用于訓練后的神經網絡的新權重,基于新權重來計算用于等效模擬網絡的新權重矩陣以及生成針對新權重矩陣的新電阻矩陣。
9、在一些實現中,神經網絡拓撲包括一層或更多層神經元,每層神經元基于相應數學函數來計算相應的輸出,并且將神經網絡拓撲變換成模擬部件的等效模擬網絡包括:對于一層或更多層神經元中的每層:(i)針對相應層基于相應數學函數識別一個或更多個函數塊。每個函數塊有相應示意實現,該相應示意實現具有符合相應數學函數的輸出的塊輸出;以及(ii)基于排列一個或更多個函數塊來生成模擬神經元的相應多層網絡。每個模擬神經元實現一個或更多個函數塊的相應函數,并且多層網絡的第一層的每個模擬神經元連接到多層網絡的第二層的一個或更多個模擬神經元。
10、在一些實現中,一個或更多個函數塊包括選自由下列項組成的組的一個或更多個基本函數塊:(i)具有塊輸出的加權求和塊,relu是修正線性單元(relu)激活函數或類似的激活函數,vi表示第i個輸入,wi表示對應于第i個輸入的權重,以及偏差表示偏差值,并且∑是求和運算符;(ii)具有塊輸出vout=coef.vi.vj.的信號乘法器塊,vj表示第i個輸入,以及vj表示第j個輸入,并且coeff是預定系數;(iii)具有塊輸出的sigmoid(s型)激活塊,v表示輸入,以及a和b是sigmoid激活塊的預定系數值;(iv)具有塊輸出vout=a*tanh(b*vin)的雙曲正切激活塊,vin表示輸入,以及a和b為預定系數值;以及(v)具有塊輸出u(t)=v(t-dt)的信號延遲塊,t表示當前時間段,v(t-dt)表示前一時間段t-df的信號延遲塊的輸出,以及dt是延遲值。
11、在一些實現中,識別一個或更多個函數塊包括基于相應層的類型來選擇一個或更多個函數塊。
12、在一些實現中,神經網絡拓撲包括一層或更多層神經元,每層神經元基于相應數學函數來計算相應的輸出,并且將神經網絡拓撲變換成模擬部件的等效模擬網絡包括:(i)將神經網絡拓撲的第一層分解成多個子層,包括分解對應于第一層的數學函數以獲得一個或更多個中間數學函數。每個子層實現一個中間數學函數;以及(ii)對于神經網絡拓撲的第一層的每個子層:(a)針對相應子層基于相應的中間數學函數選擇一個或更多個子函數塊;以及(b)基于排列一個或更多個子函數塊來生成模擬神經元的相應多層模擬子網絡。每個模擬神經元實現一個或更多個子函數塊的相應函數,并且多層模擬子網絡的第一層的每個模擬神經元連接到多層模擬子網絡的第二層的一個或更多個模擬神經元。
13、在一些實現中,對應于第一層的數學函數包括一個或更多個權重,并且分解數學函數包括調整一個或更多個權重,使得組合一個或更多個中間函數產生數學函數。
14、在一些實現中,該方法還包括:(i)針對神經網絡拓撲的一個或更多個輸出層生成數字部件的等效數字網絡;以及(ii)將等效模擬網絡的一層或更多層的輸出連接到數字部件的等效數字網絡。
15、在一些實現中,模擬部件包括多個運算放大器和多個電阻器,每個運算放大器表示等效模擬網絡的模擬神經元,以及每個電阻器表示在兩個模擬神經元之間的連接。
16、在一些實現中,選擇模擬部件的部件值包括執行梯度下降方法以識別對于多個電阻器的可能電阻值。
17、在一些實現中,神經網絡拓撲包括一個或更多個gru或lstm神經元,并且變換神經網絡拓撲包括針對一個或更多個gru或lstm神經元的每個循環連接生成一個或更多個信號延遲塊。
18、在一些實現中,一個或更多個信號延遲塊以與神經網絡拓撲的預定輸入信號頻率匹配的頻率被激活。
19、在一些實現中,神經網絡拓撲包括執行無限激活函數的一層或更多層神經元,并且變換神經網絡拓撲包括應用選自由下列項組成的組的一個或更多個變換:(i)用有限激活代替無限激活函數;以及(ii)調整等效模擬網絡的連接或權重,使得對于預定的一個或更多個輸入,在訓練后的神經網絡和等效模擬網絡之間的輸出中的差異被最小化。
20、在一些實現中,該方法還包括基于電阻矩陣來生成用于制造實現模擬部件的等效模擬網絡的電路的一個或更多個光刻掩模。
21、在一些實現中,該方法還包括:(i)獲得用于訓練后的神經網絡的新權重;(ii)基于新權重來計算等效模擬網絡的新權重矩陣;(iii)針對新權重矩陣生成新電阻矩陣;以及(iv)基于新電阻矩陣來生成用于制造實現模擬部件的等效模擬網絡的電路的新光刻掩模。
22、在一些實現中,使用軟件仿真來對訓練后的神經網絡進行訓練以生成權重。
23、在另一方面中,根據一些實現,提供了一種用于神經網絡的硬件實現的方法。該方法包括獲得訓練后的神經網絡的神經網絡拓撲和權重。該方法還包括基于模擬集成電路(ic)設計約束來計算一個或更多個連接約束。該方法還包括將神經網絡拓撲變換成滿足一個或更多個連接約束的模擬部件的等效稀疏連接網絡。該方法還包括基于訓練后的神經網絡的權重來計算等效稀疏連接網絡的權重矩陣。權重矩陣的每個元素表示在等效稀疏連接網絡的模擬部件之間的相應連接。
24、在一些實現中,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括根據一個或更多個連接約束來導出可能的輸入連接度ni和輸出連接度no。
25、在一些實現中,神經網絡拓撲包括具有k個輸入和l個輸出以及權重矩陣u的至少一個密集連接層。在這樣的情況下,變換至少一個密集連接層包括構建具有k個輸入、l個輸出和個層的等效稀疏連接網絡,使得輸入連接度不超過ni,并且輸出連接度不超過no。
26、在一些實現中,神經網絡拓撲包括具有k個輸入和l個輸出以及權重矩陣u的至少一個密集連接層。在這樣的情況下,變換至少一個密集連接層包括構建具有k個輸入、l個輸出和個層的等效稀疏連接網絡。每個層m由對應的權重矩陣um表示,其中缺少的連接用零表示,使得輸入連接度不超過ni,并且輸出連接度不超過no。方程u=πm=1..mum以預定精度被滿足。
27、在一些實現中,神經網絡拓撲包括具有k個輸入和l個輸出、最大輸入連接度pi、最大輸出連接度po以及權重矩陣u的單個稀疏連接層,其中缺少的連接用零表示。在這樣的情況下,變換單個稀疏連接層包括構建具有k個輸入、l個輸出、個層的等效稀疏連接網絡,每個層m由對應的權重矩陣um表示,其中缺少的連接用零表示,使得輸入連接度不超過不超過ni,并且輸出連接度不超過no。方程u=πm=1..mum以預定精度被滿足。
28、在一些實現中,神經網絡拓撲包括具有k個輸入和l個輸出的卷積層。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括將卷積層分解成具有k個輸入、l個輸出、最大輸入連接度pi和最大輸出連接度po的單個稀疏連接層。pi≤ni并且po≤no。
29、在一些實現中,利用權重矩陣生成用于實現等效稀疏連接網絡的示意模型。
30、在一些實現中,神經網絡拓撲包括循環神經層。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括將循環神經層變換成具有信號延遲連接的一個或更多個密集或稀疏連接層。
31、在一些實現中,神經網絡拓撲包括循環神經層。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括將循環神經層分解成若干層,其中層中的至少一個等效于具有k個輸入和l個輸出以及權重矩陣u的密集或稀疏連接層,其中缺少的連接用零表示。
32、在一些實現中,神經網絡拓撲包括k個輸入、權重向量u∈rk和具有計算神經元的單層感知器,該計算神經元具有激活函數f。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括:(i)根據一個或更多個連接約束導出等效稀疏連接網絡的連接度n;(ii)使用方程計算等效稀疏連接網絡的層的數量m;以及(iii)構建具有k個輸入、m個層和連接度n的等效稀疏連接網絡。等效稀疏連接網絡在m個層中的每個層中包括相應的一個或更多個模擬神經元,前m-1個層的每個模擬神經元實現恒等變換,且最后一層的模擬神經元實現單層感知器的計算神經元的激活函數f。此外,在這樣的情況下,計算等效稀疏連接網絡的權重矩陣包括通過基于權重向量u對方程組求解來計算等效稀疏連接網絡的連接的權重向量w。方程組包括具有s個變量的k個方程,并且s使用方程被計算。
33、在一些實現中,神經網絡拓撲包括k個輸入、具有l個計算神經元的單層感知器以及包括對于l個計算神經元中的每個計算神經元的一行權重的權重矩陣v。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括:(i)根據一個或更多個連接約束導出等效稀疏連接網絡的連接度n;(ii)使用方程計算等效稀疏連接網絡的層的數量m;(iii)將單層感知器分解成l個單層感知器網絡。每個單層感知器網絡包括l個計算神經元中的相應計算神經元;(iv)對于l個單層感知器網絡中的每個單層感知器網絡:(a)為相應單層感知器網絡構建具有k個輸入、m個層和連接度n的相應等效金字塔狀子網絡。等效金字塔狀子網絡在m個層中的每個層中包括一個或更多個相應模擬神經元,前m-1個層的每個模擬神經元實現恒等變換,且最后一層的模擬神經元實現對應于相應單層感知器的相應計算神經元的激活函數;以及(b)通過將每個等效金字塔狀子網絡連接在一起(包括將l個單層感知器網絡的每個等效金字塔狀子網絡的輸入連接在一起以形成具有l*k個輸入的輸入向量)來構建等效稀疏連接網絡。此外,在這樣的情況下,計算等效稀疏連接網絡的權重矩陣包括對于l個單層感知器網絡中的每個單層感知器網絡:(i)設定權重向量u=vi,權重矩陣v的第i行對應于相應計算神經元,相應計算神經元對應于相應單層感知器網絡;以及(ii)通過基于權重向量u對方程組求解來計算相應等效金字塔狀子網絡的連接的權重向量wi。該方程組包括具有s個變量的k個方程,并且s使用方程被計算。
34、在一些實現中,神經網絡拓撲包括k個輸入、具有s個層的多層感知器,s個層中的每個層i包括一組對應的計算神經元li和對應的權重矩陣vi,權重矩陣vi包括li個計算神經元中的每個計算神經元的一行權重。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括:(i)根據一個或更多個連接約束導出等效稀疏連接網絡的連接度n;(ii)將多層感知器分解成q=∑i=1,s(li)個單層感知器網絡。每個單層感知器網絡包括q個計算神經元中的相應計算神經元。分解多層感知器包括復制由q個計算神經元共享的k個輸入中的一個或更多個輸入;(iii)對于q個單層感知器網絡中的每個單層感知器網絡:(a)使用方程計算相應等效金字塔狀子網絡的層的數量m。ki,j是在多層感知器中的相應計算神經元的輸入的數量;以及(b)為相應單層感知器網絡構建具有ki,j個輸入、m個層和連接度n的相應等效金字塔狀子網絡。等效金字塔狀子網絡在m個層中的每個層中包括一個或更多個相應模擬神經元,前m-1個層的每個模擬神經元實現恒等變換,并且最后一層的模擬神經元實現對應于相應單層感知器網絡的相應計算神經元的激活函數;以及(iv)通過將每個等效金字塔狀子網絡連接在一起來構建等效稀疏連接網絡,包括將q個單層感知器網絡的每個等效金字塔狀子網絡的輸入連接在一起以形成具有q*ki,j個輸入的輸入向量。此外,在這樣的情況下,計算等效稀疏連接網絡的權重矩陣包括:對于q個單層感知器網絡中的每個單層感知器網絡:(i)設定權重向量u=vij,權重矩陣v的第i行對應于相應計算神經元,相應計算神經元對應于相應單層感知器網絡,其中j是在多層感知器中的相應計算神經元的對應層;以及(ii)通過基于權重向量u對方程組求解來計算相應等效金字塔狀子網絡的連接的權重向量wi。方程組包括具有s個變量的ki,j個方程,并且s使用方程被計算。
35、在一些實現中,神經網絡拓撲包括具有k個輸入、s個層的卷積神經網絡(cnn),s個層中的每個層i包括一組對應的計算神經元li和對應的權重矩陣vi,權重矩陣vi包括對于li個計算神經元中的每個計算神經元的一行權重。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括:(i)根據一個或更多個連接約束導出等效稀疏連接網絡的連接度n;(ii)將cnn分解成q=∑i=1,s(li)個單層感知器網絡。每個單層感知器網絡包括q個計算神經元中的相應計算神經元。分解cnn包括復制由q個計算神經元共享的k個輸入中的一個或更多個輸入;(iii)對于q個單層感知器網絡中的每個單層感知器網絡:(a)使用方程計算相應等效金字塔狀子網絡的層的數量m。j是在cnn中的相應計算神經元的對應層,以及ki,j是在cnn中的相應計算神經元的輸入的數量;以及(b)為相應單層感知器網絡構建具有ki,j個輸入、m個層和連接度n的相應等效金字塔狀子網絡。等效金字塔狀子網絡在m個層中的每個層中包括一個或更多個相應模擬神經元,前m-1個層的每個模擬神經元實現恒等變換,并且最后一層的模擬神經元實現對應于相應單層感知器網絡的相應計算神經元的激活函數;以及(iv)通過將每個等效金字塔狀子網絡連接在一起來構建等效稀疏連接網絡,包括將q個單層感知器網絡的每個等效金字塔狀子網絡的輸入連接在一起以形成具有q*ki,j個輸入的輸入向量。此外,在這樣的情況下,計算等效稀疏連接網絡的權重矩陣包括:對于q個單層感知器網絡中的每個單層感知器網絡:(i)設定權重向量u=vij,權重矩陣v的第i行對應于相應計算神經元,相應計算神經元對應于相應單層感知器網絡,其中j是在cnn中的相應計算神經元的對應層;以及(ii)通過基于權重向量u對方程組求解來計算相應等效金字塔狀子網絡的連接的權重向量wi。方程組包括具有s個變量的ki,j個方程,并且s使用方程被計算。
36、在一些實現中,神經網絡拓撲包括k個輸入、具有k個神經元的層lp、具有l個神經元的層ln和權重矩陣w∈rl×k,其中r是實數的集合,層lp的每個神經元連接到層ln的每個神經元,層ln的每個神經元執行激活函數f,使得層ln的輸出使用輸入x的方程yo=f(w.x)被計算。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括執行梯形變換,該梯形變換包括:(i)根據一個或更多個連接約束導出可能的輸入連接度ni>1和可能的輸出連接度no>1;(ii)根據l·l<l·ni+k·no的確定,構建包括具有執行恒等激活函數的k個模擬神經元的層lap、具有執行恒等激活函數的個模擬神經元的層lah和具有執行激活函數f的l個模擬神經元的層lao的三層模擬網絡,使得在層lap中的每個模擬神經元具有no個輸出,在層lah中的每個模擬神經元具有不多于ni個輸入和no個輸出,以及在層lao中的每個模擬神經元具有ni個輸入。此外,在這樣的情況下,計算等效稀疏連接網絡的權重矩陣包括通過對矩陣方程wo.wh=w求解來生成稀疏權重矩陣wo和wh,該矩陣方程wo.wh=w包括采用k·no+l·ni個變量的k·l個方程,使得層lao的總輸出使用方程yo=f(wo.wh.x)被計算。稀疏權重矩陣wo∈rk×m表示在層lap和lah之間的連接,以及稀疏權重矩陣wh∈rm×l表示在層lah和lao之間的連接。
37、在一些實現中,執行梯形變換還包括:根據k·l≥l·ni+k·no的確定:(i)使層lp分裂以獲得具有k’個神經元的子層lp1和具有(k-k’)個神經元的子層lp2,使得k′·l≥l·ni+k′·no;(ii)對于具有k’個神經元的子層lp1,執行構建和生成步驟;以及(iii)對于具有k-k’個神經元的子層lp2,循環地執行分裂、構建和生成步驟。
38、在一些實現中,神經網絡拓撲包括多層感知器網絡。在這樣的情況下,該方法還包括,對于多層感知器網絡的每對連續層,迭代地執行梯形變換并計算等效稀疏連接網絡的權重矩陣。
39、在一些實現中,神經網絡拓撲包括循環神經網絡(rnn),其包括(i)兩個完全連接層的線性組合的計算,(ii)逐元素相加,以及(iii)非線性函數計算。在這樣的情況下,該方法還包括執行梯形變換并計算等效稀疏連接網絡的權重矩陣,用于(i)兩個完全連接層,和(ii)非線性函數計算。
40、在一些實現中,神經網絡拓撲包括長短期記憶(lstm)網絡或門控循環單元(gru)網絡,其包括(i)多個完全連接層的線性組合的計算,(ii)逐元素相加,(iii)hadamard乘積,以及(iv)多個非線性函數計算。在這樣的情況下,該方法還包括執行梯形變換并計算等效稀疏連接網絡的權重矩陣,用于(i)多個完全連接層,和(ii)多個非線性函數計算。
41、在一些實現中,神經網絡拓撲包括卷積神經網絡(cnn),其包括(i)多個部分連接層和(ii)一個或更多個完全連接層。在這樣的情況下,該方法還包括:(i)通過插入具有零權重的丟失連接來將多個部分連接層變換成等效完全連接層;以及(ii)對于等效完全連接層和一個或更多個完全連接層的每對連續層,迭代地執行梯形變換并計算等效稀疏連接網絡的權重矩陣。
42、在一些實現中,神經網絡拓撲包括k個輸入、l個輸出神經元和權重矩陣u∈rl×k,其中r是實數的集合,每個輸出神經元執行激活函數f。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括執行近似變換,該近似變換包括:(i)根據一個或更多個連接約束導出可能的輸入連接度ni>1和可能的輸出連接度no>1;(ii)從集合中選擇參數p;(iii)根據p>0的確定,構建形成等效稀疏連接網絡的前p個層的金字塔神經網絡,使得金字塔神經網絡在它的輸出層中具有個神經元。金字塔神經網絡中的每個神經元執行恒等函數;以及(iv)構建具有np個輸入和l個輸出的梯形神經網絡。梯形神經網絡的最后一層中的每個神經元執行激活函數f,以及所有其他神經元執行恒等函數。在這樣的情況下,計算等效稀疏連接網絡的權重矩陣包括:(i)生成金字塔神經網絡的權重,包括(a)根據下面的規則設定金字塔神經網絡的第一層的每個神經元i的權重:c為非零常數,以及ki=(i-1)ni+1;和(b)對于除ki之外的神經元的所有權重j,以及(b)將金字塔神經網絡的所有其他權重設定為1;以及(ii)生成梯形神經網絡的權重,包括(a)根據方程設定梯形神經網絡的第一層的每個神經元i的權重;以及(b)將梯形神經網絡的其他權重設定為1。
43、在一些實現中,神經網絡拓撲包括具有k個輸入、s個層和在第i層中的li=1,s個計算神經元以及對于第i層的權重矩陣的多層感知器,其中l0=k。在這樣的情況下,將神經網絡拓撲變換成模擬部件的等效稀疏連接網絡包括:對于多層感知器的s個層中的每個層j:(i)通過對由lj-1個輸入、lj個輸出神經元和權重矩陣uj組成的相應單層感知器執行近似變換來構建相應金字塔-梯形網絡ptnnxj;以及(ii)通過堆疊每個金字塔梯形網絡來構建等效稀疏連接網絡。
44、在另一方面中,根據一些實現,提供了一種用于神經網絡的硬件實現的方法。該方法包括獲得訓練后的神經網絡的神經網絡拓撲和權重。該方法還包括將神經網絡拓撲變換成包括多個運算放大器和多個電阻器的模擬部件的等效模擬網絡。每個運算放大器表示等效模擬網絡的模擬神經元,且每個電阻器表示在兩個模擬神經元之間的連接。該方法還包括基于訓練后的神經網絡的權重來計算等效模擬網絡的權重矩陣。權重矩陣的每個元素表示相應連接。該方法還包括針對權重矩陣生成電阻矩陣。電阻矩陣的每個元素對應于權重矩陣的相應權重,并表示電阻值。
45、在一些實現中,針對權重矩陣生成電阻矩陣包括:(i)獲得可能電阻值的預定范圍{rmin,rmax}并選擇在預定范圍內的初始基本(base)電阻值r基本;(ii)在預定范圍內選擇電阻值的有限長度集合,電阻值對于在電阻值的有限長度集合內的{ri,rj}的所有組合提供了在范圍[-r基本,r基本]內的可能權重的最均勻的分布;(iii)基于每個神經元或等效模擬網絡的每個層的傳入連接的最大權重和偏差wmax,針對每個模擬神經元或者針對等效模擬網絡的每個層從電阻值的有限長度集合中選擇電阻值r+=r-,使得r+=r-是最接近于r基本*wmax的電阻器設定值;以及(iv)對于權重矩陣的每個元素,在可能電阻值的預定范圍內的r1和r2的所有可能值中,選擇根據方程最小化誤差的相應的第一電阻值r1和相應的第二電阻值r2。w是權重矩陣的相應元素,以及rerr是電阻的預定相對公差值。
46、在一些實現中,可能電阻值的預定范圍包括在范圍100kω至1mω中根據標稱系列e24的電阻。
47、在一些實現中,r+和r-是針對等效模擬網絡的每個層獨立地選擇的。
48、在一些實現中,r+和r-是針對等效模擬網絡的每個模擬神經元獨立地選擇的。
49、在一些實現中,權重矩陣的第一一個或更多個權重和第一一個或更多個輸入表示到等效模擬網絡的第一運算放大器的一個或更多個連接。在這樣的情況下,該方法還包括在生成電阻矩陣之前:(i)通過第一值修改第一一個或更多個權重;以及(ii)在執行激活函數之前配置第一運算放大器以使第一一個或更多個權重和第一一個或更多個輸入的線性組合乘以第一值。
50、在一些實現中,該方法還包括:(i)獲得預定范圍的權重;以及(ii)根據預定范圍的權重更新權重矩陣,使得對于相同的輸入,等效模擬網絡產生與訓練后的神經網絡相似的輸出。
51、在一些實現中,訓練后的神經網絡被訓練,使得神經網絡拓撲的每個層具有量化的權重。
52、在一些實現中,該方法還包括對訓練后的神經網絡進行再訓練以降低對權重或電阻值中的誤差的敏感度,誤差使等效模擬網絡產生與訓練后的神經網絡相比不同的輸出。
53、在一些實現中,該方法還包括對訓練后的神經網絡進行再訓練,以便使在任何層中的權重最小化,該權重比該層的平均絕對權重大了預定閾值。
54、在另一方面中,根據一些實現,提供了一種用于神經網絡的硬件實現的方法。該方法包括獲得訓練后的神經網絡的神經網絡拓撲和權重。該方法還包括將神經網絡拓撲變換成包括多個運算放大器和多個電阻器的模擬部件的等效模擬網絡。每個運算放大器表示等效模擬網絡的模擬神經元,以及每個電阻器表示在兩個模擬神經元之間的連接。該方法還包括基于訓練后的神經網絡的權重來計算等效模擬網絡的權重矩陣。權重矩陣的每個元素表示相應連接。該方法還包括針對權重矩陣生成電阻矩陣。電阻矩陣的每個元素對應于權重矩陣的相應權重。該方法還包括基于電阻矩陣修剪等效模擬網絡以減少多個運算放大器或多個電阻器的數量,以獲得模擬部件的優化模擬網絡。
55、在一些實現中,修剪等效模擬網絡包括用導體替換與電阻矩陣中的具有低于預定最小閾值電阻值的電阻值的一個或更多個元素對應的電阻器。
56、在一些實現中,修剪等效模擬網絡包括移除等效模擬網絡的、與電阻矩陣中的高于預定最大閾值電阻值的一個或更多個元素對應的一個或更多個連接。
57、在一些實現中,修剪等效模擬網絡包括移除等效模擬網絡的、與權重矩陣中的近似為零的一個或更多個元素對應的一個或更多個連接。
58、在一些實現中,修剪等效模擬網絡還包括移除等效模擬網絡的沒有任何輸入連接的一個或更多個模擬神經元。
59、在一些實現中,修剪等效模擬網絡包括:(i)當對一個或更多個數據集進行計算時,基于檢測到模擬神經元的使用來對等效模擬網絡的模擬神經元排名(ranking);(ii)基于排名來選擇等效模擬網絡的一個或更多個模擬神經元;以及(iii)從等效模擬網絡移除該一個或更多個模擬神經元。
60、在一些實現中,檢測到模擬神經元的使用包括:(i)使用建模軟件來建立等效模擬網絡的模型;以及(ii)通過使用模型以生成一個或更多個數據集的計算來測量模擬信號的傳播。
61、在一些實現中,檢測到模擬神經元的使用包括:(i)使用建模軟件來建立等效模擬網絡的模型;以及(ii)通過使用模型以生成一個或更多個數據集的計算來測量模型的輸出信號。
62、在一些實現中,檢測到模擬神經元的使用包括:(i)使用建模軟件來建立等效模擬網絡的模型;以及(ii)通過使用模型以生成一個或更多個數據集的計算來測量由模擬神經元消耗的功率。
63、在一些實現中,該方法還包括在修剪等效模擬網絡之后并且在生成用于制造實現等效模擬網絡的電路的一個或更多個光刻掩模之前,重新計算等效模擬網絡的權重矩陣,并且基于重新計算的權重矩陣更新電阻矩陣。
64、在一些實現中,該方法還包括:對于等效模擬網絡的每個模擬神經元:(i)在計算權重矩陣的同時,基于訓練后的神經網絡的權重來計算相應模擬神經元的相應偏差值;(ii)根據相應偏差值高于預定最大偏差閾值的確定,從等效模擬網絡移除相應模擬神經元;以及(iii)根據相應偏差值低于預定最小偏差閾值的確定,用等效模擬網絡中的線性結(linear?junction)替換相應模擬神經元。
65、在一些實現中,該方法還包括在生成權重矩陣之前通過增加來自等效模擬網絡的一個或更多個模擬神經元的連接的數量來減少等效模擬網絡的神經元的數量。
66、在一些實現中,該方法還包括在變換神經網絡拓撲之前,使用神經網絡的修剪技術來修剪訓練后的神經網絡,以更新訓練后的神經網絡的神經網絡拓撲和權重,使得等效模擬網絡包括少于預定數量的模擬部件。
67、在一些實現中,考慮到在訓練后的神經網絡和等效模擬網絡之間的輸出中的匹配的準確度或水平,修剪被迭代地執行。
68、在一些實現中,該方法還包括在將神經網絡拓撲變換成等效模擬網絡之前執行網絡知識提取。
69、在另一方面中,根據一些實現,提供了一種集成電路。該集成電路包括由一種方法制造的模擬部件的模擬網絡,該方法包括:(i)獲得訓練后的神經網絡的神經網絡拓撲和權重;(ii)將神經網絡拓撲變換成包括多個運算放大器和多個電阻器的模擬部件的等效模擬網絡。每個運算放大器表示相應模擬神經元,以及每個電阻器表示在相應的第一模擬神經元和相應的第二模擬神經元之間的相應連接;(iii)基于訓練后的神經網絡的權重來計算等效模擬網絡的權重矩陣,權重矩陣的每個元素表示相應連接;(iv)針對權重矩陣生成電阻矩陣。電阻矩陣的每個元素對應于權重矩陣的相應權重;(v)基于電阻矩陣來生成用于制造實現模擬部件的等效模擬網絡的電路的一個或更多個光刻掩模;以及(vi)使用光刻工藝基于一個或更多個光刻掩模來制造電路。
70、在一些實現中,集成電路還包括一個或更多個數模轉換器,該數模轉換器被配置為基于一個或更多個數字信號生成模擬部件的等效模擬網絡的模擬輸入。
71、在一些實現中,集成電路還包括模擬信號采樣模塊,該模擬信號采樣模塊被配置為基于集成電路的推斷(inference)的數量以某個采樣頻率來處理一維或二維模擬輸入。
72、在一些實現中,集成電路還包括電壓轉換器模塊,該電壓轉換器模塊按比例縮小或按比例放大模擬信號,以匹配多個運算放大器的操作范圍。
73、在一些實現中,集成電路還包括被配置為處理從ccd攝像機獲得的一個或更多個幀的觸覺信號處理模塊(tact?signal?processing?module)。
74、在一些實現中,訓練后的神經網絡是長短期記憶(lstm)網絡。在這樣的情況下,集成電路還包括一個或更多個時鐘模塊以使信號觸覺同步并允許時間序列處理。
75、在一些實現中,集成電路還包括被配置為基于模擬部件的等效模擬網絡的輸出來生成數字信號的一個或更多個模數轉換器。
76、在一些實現中,集成電路還包括被配置為處理從邊緣應用獲得的一維或二維模擬信號的一個或更多個信號處理模塊。
77、在一些實現中,使用包含針對不同氣體混合物的氣體傳感器的陣列的信號的訓練數據集來對訓練后的神經網絡進行訓練,用于選擇性地感測包含待檢測的預定量的氣體的氣體混合物中的不同氣體。在這樣的情況下,神經網絡拓撲是被設計用于基于由16個氣體傳感器進行的測量來檢測3個二元氣體成分的一維深度卷積神經網絡(1d-dcnn),并且包括16個傳感器式的1-d卷積塊、3個共享或公共的1-d卷積塊和3個密集層。在這樣的情況下,等效模擬網絡包括:(i)每模擬神經元最多100個輸入和輸出連接,(ii)延遲塊,用于產生任何數量的時間步長的延遲,(iii)信號限制為5,(iv)15個層,(v)大約100,000個模擬神經元,以及(vi)大約4,900,000個連接。
78、在一些實現中,使用包含對于不同mosfet的熱老化時間序列數據的訓練數據集來對訓練后的神經網絡進行訓練,用于預測mosfet器件的剩余使用壽命(rul)。在這樣的情況下,神經網絡拓撲在每個層中包括有64個神經元的4個lstm層,后面是分別具有64個神經元和1個神經元的兩個密集層。在這樣的情況下,等效模擬網絡包括:(i)每模擬神經元最多100個輸入和輸出連接,(ii)信號限制為5,(iii)18個層,(iv)3,000和3,200個之間的模擬神經元,以及(v)123,000和124,000個之間的連接。
79、在一些實現中,使用包含時間序列數據的訓練數據集來對訓練后的神經網絡進行訓練,該時間序列數據包括在不同的市售li離子電池的連續使用期間的放電和溫度數據,該訓練用于監測鋰離子電池的健康狀態(soh)和充電狀態(soc)以在電池管理系統(bms)中使用。在這樣的情況下,神經網絡拓撲包括一個輸入層、在每個層中有64個神經元的2個lstm層,后面是具有用于生成soc和soh值的2個神經元的一個輸出密集層。在這樣的情況下,等效模擬網絡包括:(i)每模擬神經元最多100個輸入和輸出連接,(ii)信號限制為5,(iii)9個層,(iv)1,200和1,300個之間的模擬神經元,以及(v)51,000和52,000個之間的連接。
80、在一些實現中,使用包含時間序列數據的訓練數據集來對訓練后的神經網絡進行訓練,該時間序列數據包括在不同的市售li離子電池的連續使用期間的放電和溫度數據,該訓練用于監測鋰離子電池的健康狀態(soh)以在電池管理系統(bms)中使用。在這樣的情況下,神經網絡拓撲包括具有18個神經元的輸入層、具有100個神經元的簡單循環層和具有1個神經元的密集層。在這樣的情況下,等效模擬網絡包括:(i)每模擬神經元最多100個輸入和輸出連接,(ii)信號限制為5,(iii)4個層,(iv)200和300個之間的模擬神經元,以及(v)2,200和2,400個之間的連接。
81、在一些實現中,使用包含語音命令的訓練數據集來對訓練后的神經網絡進行訓練,用于識別話音命令。在這樣的情況下,神經網絡拓撲是具有1個神經元的深度可分離卷積神經網絡(ds-cnn)層。在這樣的情況下,等效模擬網絡包括:(i)每模擬神經元最多100個輸入和輸出連接,(ii)信號限制為5,(iii)13個層,(iv)大約72,000個模擬神經元,以及(v)大約260萬個連接。
82、在一些實現中,使用包含針對在預定時間段內進行各種身體活動的不同個體的光電容積描記術(ppg)數據、加速度計數據、溫度數據和皮膚電反應信號數據以及從ecg傳感器獲得的參考心率數據的訓練數據集來對訓練后的神經網絡進行訓練,用于基于ppg傳感器數據和3軸加速度計數據來確定在身體鍛煉期間的脈搏率。在這樣的情況下,神經網絡拓撲包括:兩個conv1d層,每個層具有執行時間序列卷積的16個濾波器和20的內核;兩個lstm層,每個層具有16個神經元;以及分別具有16個神經元和1個神經元的兩個密集層。在這樣的情況下,等效模擬網絡包括:(i)延遲塊,其產生任何數量的時間步長,(ii)每模擬神經元最多100個輸入和輸出連接,(iii)信號限制為5,(iv)16個層,(v)700和800個之間的模擬神經元,以及(vi)12,000和12,500個之間的連接。
83、在一些實現中,訓練后的神經網絡被訓練以基于脈沖多普勒雷達信號對不同的對象分類。在這樣的情況下,神經網絡拓撲包括多尺度lstm神經網絡。
84、在一些實現中,訓練后的神經網絡被訓練以基于慣性傳感器數據來執行人類活動類型識別。在這樣的情況下,神經網絡拓撲包括三個通道式(channel-wise)卷積網絡,每個通道式卷積網絡具有12個濾波器和64的內核尺寸的卷積層,以及每個卷積層后面是最大池化(maxpooling)層,以及分別具有1024個神經元和n個神經元的兩個公共密集層,其中n是類別的數量。在這樣的情況下,等效模擬網絡包括:(i)延遲塊,其產生任何數量的時間步長,(ii)每模擬神經元最多100個輸入和輸出連接,(iii)10個模擬神經元的輸出層,(iv)信號限制為5,(v)10個層,(vi)1,200和1,300個之間的模擬神經元,以及(vi)20,000到21,000個之間的連接。
85、在一些實現中,訓練后的神經網絡被進一步訓練以基于使用卷積運算與心率數據合并的加速度計數據來檢測人類活動的異常模式。
86、在另一方面中,提供了一種用于生成神經網絡的硬件實現的庫的方法。該方法包括獲得多個神經網絡拓撲,每個神經網絡拓撲對應于相應的神經網絡。該方法還包括將每個神經網絡拓撲變換成模擬部件的相應等效模擬網絡。該方法還包括生成用于制造多個電路的多個光刻掩模,每個電路實現模擬部件的相應等效模擬網絡。
87、在一些實現中,該方法還包括獲得訓練后的神經網絡的新神經網絡拓撲和權重。該方法還包括基于新神經網絡拓撲與多個神經網絡拓撲的比較從多個光刻掩模中選擇一個或更多個光刻掩模。該方法還包括基于權重來計算新等效模擬網絡的權重矩陣。該方法還包括針對權重矩陣生成電阻矩陣。該方法還包括基于電阻矩陣和一個或更多個光刻掩模生成用于制造實現新等效模擬網絡的電路的新光刻掩模。
88、在一些實現中,新神經網絡拓撲包括多個子網拓撲,并且選擇一個或更多個光刻掩模進一步基于每個子網拓撲與多個網絡拓撲中的每個網絡拓撲的比較。
89、在一些實現中,多個子網拓撲中的一個或更多個子網拓撲未能與多個網絡拓撲中的任何網絡拓撲比較。在這樣的情況下,該方法還包括:(i)將一個或更多個子網拓撲的每個子網拓撲變換成模擬部件的相應等效模擬子網;以及(ii)生成用于制造一個或更多個電路的一個或更多個光刻掩模,一個或更多個電路的每個電路實現模擬部件的相應等效模擬子網。
90、在一些實現中,將相應網絡拓撲變換成相應等效模擬網絡包括:(i)將相應網絡拓撲分解成多個子網拓撲;(ii)將每個子網拓撲變換成模擬部件的相應等效模擬子網;以及(iii)組合每個等效模擬子網以獲得相應等效模擬網絡。
91、在一些實現中,分解相應網絡拓撲包括將相應網絡拓撲的一個或更多個層識別為多個子網拓撲。
92、在一些實現中,通過下列操作來獲得每個電路:(i)生成模擬部件的相應等效模擬網絡的電路圖(schematics);以及(ii)基于該電路圖生成相應的電路布局設計。
93、在一些實現中,該方法還包括在生成用于制造多個電路的多個光刻掩模之前組合一個或更多個電路布局設計。
94、在另一方面中,根據一些實現,提供了一種用于優化模擬神經形態電路的能量效率的方法。該方法包括獲得實現模擬部件的模擬網絡的集成電路,模擬部件包括多個運算放大器和多個電阻器。模擬網絡表示訓練后的神經網絡,每個運算放大器表示相應模擬神經元,以及每個電阻器表示在相應的第一模擬神經元和相應的第二模擬神經元之間的相應連接。該方法還包括使用集成電路針對多個測試輸入生成推斷,包括同時將信號從模擬網絡的一層傳輸到下一層。該方法還包括,當使用集成電路生成推斷時:(i)確定多個運算放大器的信號輸出電平是否被平衡;以及(ii)根據信號輸出電平被平衡的確定來:(a)確定影響用于信號的傳播的信號形成的模擬網絡的模擬神經元的活動集合(active?set);以及在預定時間段內,關閉用于模擬網絡的不同于模擬神經元的活動集合的一個或更多個模擬神經元的電源。
95、在一些實現中,基于計算穿過模擬網絡的信號傳播的延遲來確定模擬神經元的活動集合。
96、在一些實現中,基于檢測到信號穿過模擬網絡的傳播來確定模擬神經元的活動集合。
97、在一些實現中,訓練后的神經網絡是前饋神經網絡,以及模擬神經元的活動集合屬于模擬網絡的活動層,并且關閉電源包括在模擬網絡的活動層之前關閉用于一個或更多個層的電源。
98、在一些實現中,考慮信號延遲,基于對信號穿過模擬網絡的傳播進行仿真來計算預定時間段。
99、在一些實現中,訓練后的神經網絡是循環神經網絡(rnn),以及模擬網絡還包括除多個運算放大器和多個電阻器之外的一個或更多個模擬部件。在這樣的情況下,該方法還包括,根據信號輸出電平被平衡的確定,在預定時間段內關閉用于一個或更多個模擬部件的電源。
100、在一些實現中,該方法還包括在預定時間段之后接通用于模擬網絡的一個或更多個模擬神經元的電源。
101、在一些實現中,確定多個運算放大器的信號輸出電平是否被平衡基于檢測模擬網絡的一個或更多個運算放大器是否輸出大于預定閾值的信號電平。
102、在一些實現中,該方法還包括在生成推斷時重復在預定時間段內關閉和在預定時間段內開啟模擬神經元的活動集合。
103、在一些實現中,該方法還包括:(i)根據信號輸出電平被平衡的確定,對于每個推斷循環:(a)在第一時間間隔期間,確定影響用于信號的傳播的信號形成的模擬網絡的第一層模擬神經元;以及(b)在預定時間段內在該第一層之前關閉用于模擬網絡的第一一個或更多個模擬神經元的電源;以及(ii)在第一時間間隔之后的第二時間間隔期間,在預定時間段內關閉用于第二一個或更多個模擬神經元的電源,該第二一個或更多個模擬神經元包括模擬網絡的第一層模擬神經元和第一一個或更多個模擬神經元。
104、在一些實現中,一個或更多個模擬神經元由模擬網絡的第一一個或更多個層的模擬神經元組成,以及模擬神經元的活動集合由模擬網絡的第二層的模擬神經元組成,并且模擬網絡的第二層不同于第一一個或更多個層中的層。
105、在另一方面,提供了一種用于識別人類活動的方法。該方法包括使用一個或更多個傳感器來跟蹤用戶的活動,包括從一個或更多個傳感器獲得多個電信號。該方法還包括通過從多個電信號中提取多個特征來形成特征向量。該特征對應于神經網絡模型的輸入,該神經網絡模型被訓練為生成用于多個預定義的人類活動的多個描述符。該方法還包括將模擬神經計算硬件設備應用于特征向量以生成指定描述符的嵌入向量。模擬神經計算硬件設備實現訓練后的神經網絡模型。該方法還包括將訓練后的機器學習分類器應用于嵌入向量以將用戶的活動分類為預定義的人類活動之一。
106、在一些實現中,訓練后的神經網絡模型是包括編碼器和解碼器的自動編碼器。
107、在一些實現中,訓練后的機器學習分類器是knn(k最近鄰)分類器。在一些實現中,knn分類器的鄰居數量等于五。在一些實現中,使用二元分類針對預定義的人類活動中的每一個單獨對訓練后的機器學習分類器進行訓練。
108、在一些實現中,一個或更多個傳感器包括imu、攝像機、麥克風和生物反饋設備中的一個或更多個。
109、在一些實現中,該方法還包括平滑訓練后的機器學習分類器的輸出以獲得活動的基本類別。
110、在一些實現中,模擬神經計算硬件設備通過包括以下項的步驟來被制造:獲得訓練后的神經網絡模型的神經網絡拓撲和權重;將神經網絡拓撲變換為模擬部件的等效模擬網絡;基于訓練后的神經網絡模型的權重來計算等效模擬網絡的權重矩陣,其中權重矩陣的每個元素表示等效模擬網絡的模擬部件之間的一個或更多個連接;基于權重矩陣生成用于實現等效模擬網絡的示意模型,包括選擇用于模擬部件的部件值;以及使用光刻工藝根據示意模型制造集成電路。
111、在一些實現中,生成示意模型包括針對權重矩陣生成電阻矩陣,其中電阻矩陣的每個元素對應于權重矩陣的相應權重并表示電阻值。
112、在一些實現中,使用一個或更多個數字部件來實現訓練后的機器學習分類器,并且可以針對新用戶對訓練后的機器學習分類器進行再訓練。
113、在另一方面中,提供了一種用于識別人類活動的方法。該方法包括從跟蹤用戶活動的一個或更多個傳感器獲得電信號序列。該方法還包括通過從電信號序列中提取特征來形成多個特征向量。該特征對應于神經網絡模型的輸入,該神經網絡模型被訓練為生成用于多個預定義的人類活動的多個描述符。該方法還包括將模擬神經計算硬件設備應用于多個特征向量以生成多個嵌入向量,每個嵌入向量指定對應的描述符。該方法還包括使用多個嵌入向量以用于將用戶的活動分類為預定義的人類活動之一。
114、在一些實現中,該方法還包括:從用戶接收描述特定身體活動的描述符集合;以及使用描述符集合和多個嵌入向量將用戶的活動分類為特定身體活動之一。在一些實現中,該方法還包括基于將用戶的活動分類為特定身體活動之一來生成用戶的個人日常事務的統計。
115、在一些實現中,該方法還包括:對于用戶,將多個嵌入向量存儲為描述特定活動;以及使用多個嵌入向量將用戶的后續活動分類為特定活動。
116、在一些實現中,該方法還包括:從與用戶不同的訓練者接收描述特定活動的描述符集合;以及如果活動基于多個嵌入向量和描述符集合而與特定活動匹配,則向用戶提供反饋。
117、在另一方面中,提供了一種人類活動識別設備。該設備包括用于人類活動識別的集成電路。集成電路包括模擬部件的模擬網絡,該模擬部件被配置為實現訓練后的神經網絡模型,該訓練后的神經網絡模型被訓練為基于從來自一個或更多個傳感器的多個電信號提取的多個特征來生成用于多個預定義的人類活動的多個描述符。該設備還包括一個或更多個數字部件,其被配置為根據由集成電路生成的多個描述符將人類活動分類為多個預定義的人類活動之一。
118、在一些實現中,人類活動識別設備還包括被配置為在人類活動期間收集多個電信號的一個或更多個傳感器。
119、在一些實現中,訓練后的神經網絡模型是包括編碼器和解碼器的自動編碼器。
120、在一些實現中,一個或更多個數字部件實現訓練后的機器學習分類器,該訓練后的機器學習分類器是可被重新訓練的knn(k最近鄰)分類器。
121、在一些實現中,knn分類器的鄰居數量等于五。
122、在一些實現中,使用二元分類針對多個預定義的人類活動中的每一個單獨對訓練后的機器學習分類器進行訓練。
123、在一些實現中,一個或更多個數字部件還被配置為平滑訓練后的機器學習分類器的輸出以獲得活動的基本類別。
124、在一些實現中,一個或更多個傳感器包括imu、攝像機、麥克風和生物反饋設備中的一個或更多個。
125、在一些實現中,集成電路通過包括以下項的步驟來被制造:獲得訓練后的神經網絡模型的神經網絡拓撲和權重;將神經網絡拓撲變換為模擬部件的等效模擬網絡;基于訓練后的神經網絡模型的權重來計算等效模擬網絡的權重矩陣。權重矩陣的每個元素表示等效模擬網絡的模擬部件之間的一個或更多個連接;基于權重矩陣生成用于實現等效模擬網絡的示意模型,包括選擇用于模擬部件的部件值;以及使用光刻工藝根據示意模型制造集成電路。在一些實現中,生成示意模型包括針對權重矩陣生成電阻矩陣。電阻矩陣的每個元素對應于權重矩陣的相應權重,并表示電阻值。
126、在一些實現中,計算機系統具有一個或更多個處理器、存儲器和顯示器。一個或更多個程序包括用于執行本文所述的任何方法的指令。
127、在一些實現中,一種非暫時性計算機可讀存儲介質存儲被配置為由具有一個或更多個處理器、存儲器和顯示器的計算機系統執行的一個或更多個程序。一個或更多個程序包括用于執行本文所述的任何方法的指令。
128、因此,公開了用于訓練后的神經網絡的硬件實現的方法、系統和設備。