System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
【國外來華專利技術】
本說明書總體上涉及機器學習。特別地,本說明書描述了用于修改機器學習模型以包括在執行機器學習模型時混淆機器學習模型的推理運算的結構的技術。
技術介紹
1、人工智能(ai)是由機器展示的智能并且表示計算機程序或機器思考和學習的能力。可以使用一個或多個計算機來執行計算以訓練用于相應任務的機器學習模型。神經網絡屬于機器學習模型的子領域。
2、神經網絡可以采用表示多個運算(例如,向量或矩陣運算)的一個或多個節點層。一個或多個計算機可以被配置為執行神經網絡的運算或計算以生成輸出,例如對所接收的輸入的分類、預測或分割。除了輸出層之外,一些神經網絡還包括一個或多個隱藏層。每個隱藏層的輸出用作網絡中的下一層的輸入,即,用作下一隱藏層或輸出層的輸入。網絡的每個層根據相應的一組網絡參數的當前值從所接收的輸入生成輸出。
3、被特別設計的硬件加速器與由通用中央處理單元(cpu)運行的運算相比可以更快且更高效地執行特定功能和運算,包括神經網絡中指定的運算或計算。硬件加速器可以包括圖形處理單元(gpu)、張量處理單元(tpu)、視頻處理單元(vpu)、現場可編程門陣列(fpga)或專用集成電路(asic)。
技術實現思路
1、機器學習模型(例如,神經網絡)在被適當訓練之后可以被編譯并部署在硬件裝置上,該硬件裝置被配置為執行用于處理輸入數據的推理運算。推理運算由在訓練過程期間更新的神經網絡參數限定。這些參數限定(i)用于神經網絡的每個網絡層中的節點的節點運算(例如,線性和非線性運算)和(i
2、對經訓練的神經網絡的參數保密是關鍵的。首先,訓練神經網絡,特別是訓練具有用于生成預測的令人滿意的精度的深度神經網絡需要相當大的計算成本和時間。此外,一些神經網絡具有與安全敏感認證相關的應用,諸如其中神經網絡被配置為識別面部以方便地解鎖裝置的面部解鎖任務。因此,關鍵的是保持神經網絡的結構和參數不可破譯或至少難以破譯,以避免惡意行為者學習這些參數并使用這些參數進行未授權的裝置解鎖。
3、然而,可以應用不同的技術來“解碼”經訓練的神經網絡,特別是當神經網絡被實現在第三方可訪問的硬件裝置(例如,諸如智能手機、智能手表、智能平板計算機或其他邊緣裝置的邊緣裝置)上時。例如,一種技術可以在硬件裝置執行經訓練的神經網絡的推理運算時測量經訓練的神經網絡的特性。更具體地,該技術可以在硬件裝置執行推理運算時收集數據,例如功耗、電磁波或時間,并且通過分析基于所收集的數據生成的特性簡檔來確定神經網絡參數和結構。這種技術也被稱為邊信道攻擊。
4、本說明書中描述的技術可以增強在硬件裝置上(例如,在邊緣硬件裝置上)實現的神經網絡的安全性。例如,所描述的技術通過以下方式來防御邊信道攻擊:在編譯時間期間確定與神經網絡中的一個或多個原始網絡層相關聯的一個或多個混淆網絡結構,以及生成指令,這些指令在由硬件裝置執行時致使硬件裝置與一個或多個原始網絡層的推理運算并發和/或依序執行由混淆網絡結構指定的混淆運算。
5、一個或多個原始網絡層通常是指神經網絡的“目標層”。在一些情況下,系統可以將神經網絡的一個或多個關鍵層確定為目標層,以進行目標層的混淆運算。目標層(例如,關鍵層)通常需要相當多的時間和成本(例如,計算資源成本)來訓練。替代地或另外,目標層(例如,關鍵層)通常可以包括對網絡相當重要的網絡層,例如,對于改善神經網絡的性能至關重要的層。該性能可以包括硬件資源要求、時間要求、功率要求或用于執行神經網絡的用于不同任務的推理運算的其他要求。執行所描述的技術的系統(或編譯器)可以通過基于與神經網絡相關聯的一個或多個特性確定網絡層是否是關鍵層來確定目標層。示例特性可以包括層類型、層大小、層的輸入和/或輸出、或其他合適的特性。在一些實現方式中,如果一旦層滿足一個或多個標準,例如閾值存儲器帶寬、閾值功耗或其他標準,則系統可以確定該層是關鍵層。以這樣的方式,所描述的技術可以防止邊信道攻擊,或者至少提高用于使用邊信道攻擊來破譯所部署的神經網絡的計算成本和/或時間成本的門檻。盡管這些技術主要在目標層(例如關鍵層)方面進行描述,但可以在其他非關鍵層處或附近添加混淆層。此外,為了簡單起見,在以下說明書中使用術語“關鍵層”,并且應當注意,“關鍵層”可以是等效的,或者被確定或被選擇為目標層,其中,通過引入在硬件裝置上執行的混淆運算來混淆目標層中的運算。
6、如整個說明書中使用的術語“混淆運算”通常是指這樣的運算:其在由硬件裝置與所部署的神經網絡的機器學習運算(例如,推理運算)一起執行時致使神經網絡的一個或多個可測量特性發生變化,使得神經網絡的至少一個參數(例如,神經網絡的網絡層的數量、網絡層中的節點的數量、用于網絡層中的節點的節點運算、或與網絡層中的節點相關聯的權重中的至少一者)被模糊。應當注意,不同類型的機器學習模型包括限定模型的不同類型的參數。本文檔中描述的技術可以混淆影響機器學習模型的可測量特性的任何類型的參數。
7、神經網絡的一個或多個可測量特性通常是指當硬件裝置執行神經網絡中的推理運算時的可測量數據。可測量數據可以包括與功耗、時間、電磁輻射或其他可測量數據相關的數據或簡檔,如上所述。
8、還應當注意,混淆運算可以與機器學習運算依序執行和/或并發執行,這取決于所確定的混淆網絡結構。如整個本說明書中使用的術語“并發”通常是指當由硬件裝置執行混淆運算和推理運算兩者時的公共時間段。例如,公共時間段可以是完全相同的時間段、基本上相同的時間段(例如,在彼此的閾值時間段內)、或具有重疊區域的兩個不同時間段。如整個本說明書中使用的術語“依序”通常是指在不同時間段中根據序列執行混淆運算和推理運算。例如,可以在執行一個或多個推理運算之前或之后執行混淆運算。不同時間段通常是指沒有重疊區域的時間段。
9、在混淆運算與推理運算并發執行的情況下,混淆網絡結構可以例如包括要被添加到一個或多個關鍵層中的一個或多個混淆節點。由關鍵層中的混淆節點指定的混淆運算可以與關鍵層中的原始節點的推理運算并發執行。作為另一示例,在對神經網絡進行編譯時,混淆網絡結構可以另外包括在指令中。然而,這些混淆網絡結構不改變神經網絡的原始結構或參數。相反,由這些混淆網絡結構指定的混淆運算將由硬件裝置與一個或多個關鍵層中的推理運算并發執行。混淆網絡結構可以模仿由具有類似數據流和/或數據運算的關鍵層執行的運算。
10、在混淆運算與推理運算依序執行的情況下,混淆網絡結構可以例如包括要緊接在關鍵層之前或之后來被添加的一個或多個混淆網絡層。即使來自混淆網絡層的輸本文檔來自技高網...
【技術保護點】
1.一種方法,包括:
2.如權利要求1所述的方法,其中,所述編譯進一步包括:確定混淆所述神經網絡的所述一個或多個可測量特性。
3.如權利要求1或2所述的方法,其中,致使在所述硬件裝置處執行所述推理運算和所述混淆運算包括致使所述硬件裝置并發執行所述推理運算和所述混淆運算。
4.如權利要求1至3中任一項所述的方法,其中,致使在所述硬件裝置處執行所述推理運算和所述混淆運算包括致使所述硬件裝置依序執行所述推理運算和所述混淆運算。
5.如權利要求1至4中任一項所述的方法,其中,所述混淆運算被配置為模糊以下中的至少一者:所述神經網絡的網絡層的數量、所述神經網絡的網絡層中的節點的數量、用于所述神經網絡的網絡層中的節點的節點運算、或與所述神經網絡的網絡層中的節點相關聯的權重值。
6.如權利要求1至5中任一項所述的方法,其中,所述神經網絡的所述一個或多個可測量特性包括功率簡檔、電磁簡檔或時間簡檔中的至少一者。
7.如權利要求1至6中任一項所述的方法,其中,確定網絡層的所述序列的目標層包括基于網絡層的類型、對網絡層的參數的更新、
8.如權利要求1至7中任一項所述的方法,其中,確定要與所述目標層關聯的所述混淆網絡結構包括在網絡層的所述序列中緊接在所述目標層之前和/或之后添加混淆網絡層。
9.如權利要求1至8中任一項所述的方法,其中,確定要與所述目標層關聯的所述混淆網絡結構包括確定具有要與所述目標層的所述推理運算并發執行的混淆運算的混淆網絡層。
10.如權利要求1至9中任一項所述的方法,其中,確定要與所述目標層關聯的所述混淆網絡結構包括將混淆節點添加到所述目標層中的一組節點,其中,所述混淆節點包括要與所述目標層的所述推理運算并發執行的混淆運算。
11.如權利要求1至10中任一項所述的方法,其中,所述特定硬件裝置包括邊緣裝置。
12.如權利要求1至11中任一項所述的方法,其中,對所述神經網絡進行編譯以生成指令包括:
13.一種系統,包括一個或多個計算機和存儲指令的一個或多個存儲裝置,所述指令在由一個或多個計算機執行時致使所述一個或多個計算機執行相應運算,所述運算包括如權利要求1至12中任一項所述的方法。
14.一種或多種存儲指令的計算機可讀存儲介質,所述指令在由一個或多個計算機執行時致使所述一個或多個計算機執行相應運算,所述相應運算包括如權利要求1至12中任一項所述的方法。
...【技術特征摘要】
【國外來華專利技術】
1.一種方法,包括:
2.如權利要求1所述的方法,其中,所述編譯進一步包括:確定混淆所述神經網絡的所述一個或多個可測量特性。
3.如權利要求1或2所述的方法,其中,致使在所述硬件裝置處執行所述推理運算和所述混淆運算包括致使所述硬件裝置并發執行所述推理運算和所述混淆運算。
4.如權利要求1至3中任一項所述的方法,其中,致使在所述硬件裝置處執行所述推理運算和所述混淆運算包括致使所述硬件裝置依序執行所述推理運算和所述混淆運算。
5.如權利要求1至4中任一項所述的方法,其中,所述混淆運算被配置為模糊以下中的至少一者:所述神經網絡的網絡層的數量、所述神經網絡的網絡層中的節點的數量、用于所述神經網絡的網絡層中的節點的節點運算、或與所述神經網絡的網絡層中的節點相關聯的權重值。
6.如權利要求1至5中任一項所述的方法,其中,所述神經網絡的所述一個或多個可測量特性包括功率簡檔、電磁簡檔或時間簡檔中的至少一者。
7.如權利要求1至6中任一項所述的方法,其中,確定網絡層的所述序列的目標層包括基于網絡層的類型、對網絡層的參數的更新、或與所述網絡層相關聯的元數據中的至少一者來確定所述目標層。
8.如權利要求1至7中任一項所述...
【專利技術屬性】
技術研發人員:納希德·法哈迪加拉蒂,馬修·羅伊斯·馬克威爾,
申請(專利權)人:谷歌有限責任公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。