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