System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及人工智能領域的數據安全與隱私保護技術,具體涉及一種基于tee的端側深度神經網絡模型保護方法及系統。
技術介紹
1、隨著深度學習技術的飛速發展,神經網絡模型在人臉識別、自動駕駛、搜索引擎等領域發揮著重要的作用。神經網絡模型的訓練往往需要大量的數據、計算資源,對于模型擁有者來說是一份寶貴的知識產權。為了減少用戶的數據隱私風險和應對實時性任務,越來越多的模型被部署到端側設備上實施本地推理。然而,部署到端側設備上的模型在運行時容易被攻擊者在內存中直接提取模型架構和模型參數,從而重構整個模型,損害模型擁有者的知識產權。
2、現有研究提出實現設備上機密推理以阻止未授權的模型提取。最有前景的方法就是利用端側設備上的tee隔離模型(部分)推理過程以保護其機密性。現有的方法主要分為四種:1)使用tee隔離整個推理過程;2)使用tee隔離部分層的計算;3)將模型線性層權重進行線性變換后卸載到普通計算環境(富執行環境,ree)中進行計算,在tee中進行變換后線性層的計算結果的糾正,并將非線性層部署到tee中推理;4)挑選模型線性層的部分權重進行(加噪)變換,變換后的線性層部署到普通計算環境中,在tee中去除混淆權重噪音對中間計算結果的影響,并將非線性層部署到tee中推理。由于tee的內存和計算資源的限制,上述方法1)和2)難以滿足參數量較大的模型,如vgg16等。而方法3)需要變換全部的權重,對于卷積神經網絡,其tee內存開銷約等于卷積層參數量除以卷積核的大小,對于小卷積核網絡,如mobilenet-v2等,其內存開銷和原始
3、magnitude基于幅值剪枝的思想,挑選線性層中權重絕對值最大的1%權重進行混淆,混淆方式是添加隨機高斯噪音;但是,對于magnitude來說,它只考慮了一層內的權重挑選準則,忽略了不同層對于推理結果的重要性是不同的,不應該每層挑選的權重比率相同,并且它沒有給出一種更有效的混淆方式來降低模型準確率,導致其需要挑選過多的權重進行混淆。另外,由于magnitude修改的絕對值最大權重,其值位于權重分布的邊界,修改這些權重更容易被攻擊者察覺。
4、nnsplitter使用強化學習來選擇一定數量的濾波器并混淆這些濾波器中的權重,這些濾波器位于,其中超參數和取決于權重的分布,對于混淆方式,nnsplitter重新訓練只更新挑選的權重,通過設定目標函數是損失函數值增加來降低混淆模型的精度。但是對于nnsplitter而言,整個混淆算法過于復雜,對于模型擁有者來說執行該混淆算法的代價巨大(訓練成本的2~4倍),并且超參數和依賴于專家的先驗知識,并不能很好地泛化到不同的模型和數據集中。因此,需要設計一種輕量化的混淆方法,開銷低的同時滿足上述的安全和性能要求:混淆權重數量少、混淆模型精度低、混淆的權重難以被察覺。
技術實現思路
1、本專利技術要解決的技術問題:針對現有技術的上述問題,提供一種基于tee的端側深度神經網絡模型保護方法及系統,本專利技術旨在實現只需對預訓練模型修改最少的權重即可將混淆模型的準確率降低到隨機猜測的程度并確保恢復后的預訓練模型的準確率不受到影響。
2、為了解決上述技術問題,本專利技術采用的技術方案為:
3、一種基于tee的端側深度神經網絡模型保護方法,包括針對被保護的預訓練模型需部署在可信執行環境tee外的富執行環境ree中的 l個線性層執行權重混淆:
4、s1,將預訓練模型的原始權重保存為當前權重;
5、s2,分別針對預訓練模型的 l個線性層獨立進行層內搜索,對任意線性層的層內搜索包括:使用預訓練模型的當前權重和訓練數據集為該線性層計算權重梯度絕對值并排序挑選權重梯度絕對值最大的指定數量個當前權重,為挑選的當前權重添加噪音權重,且針對該線性層重復預設的層內搜索輪次得到僅對該線性層權重混淆后的混淆模型;
6、s3,針對預訓練模型進行跨層搜索:若跨層搜索次數等于預設的跨層搜索輪次則跳轉步驟s4,否則針對得到的 l個混淆模型基于預設的損失函數計算損失函數值,使用損失函數值最大的混淆模型的權重作為預訓練模型的當前權重,跳轉執行步驟s2;
7、s4,將損失函數值最大的混淆模型作為最終得到的混淆模型,并將混淆模型的權重減去預訓練模型的原始權重得到混淆模型的噪音權重,輸出混淆模型及其噪音權重。
8、可選地,步驟s2中使用預訓練模型的當前權重和訓練數據集為該線性層計算權重梯度絕對值并排序挑選權重梯度絕對值最大的指定數量個當前權重的函數表達式為:
9、,
10、上式中,為第個線性層的當前權重中權重梯度絕對值最大的指定數量個當前權重,表示挑選最大的指定數量個當前權重,為第個線性層的當前權重的權重梯度,為預訓練模型使用當前權重集合時對于訓練數據的損失函數值,為預訓練模型使用當前權重集合時對于訓練集數據的輸出。
11、可選地,步驟s2中挑選的當前權重添加噪音后,還包括對挑選的當前權重根據下式對新的當前權重超出預設范圍將其截斷至最近的邊界:
12、,
13、上式中,為截斷參數,用于截斷超出的數據,和為控制參數,和為分別表示第個線性層的當前權重的最大值和最小值;為用于作為噪音權重的正數;為符號函數,其輸入大于0時輸出為1,輸入小于0時輸出為-1,輸入等于0時時輸出0;為的權重梯度。
14、可選地,步驟s4之后還包括:
...
【技術保護點】
1.一種基于TEE的端側深度神經網絡模型保護方法,其特征在于,包括針對被保護的預訓練模型需部署在可信執行環境TEE外的富執行環境REE中的L個線性層執行權重混淆:
2.根據權利要求1所述的基于TEE的端側深度神經網絡模型保護方法,其特征在于,步驟S2中使用預訓練模型的當前權重和訓練數據集為該線性層計算權重梯度絕對值并排序挑選權重梯度絕對值最大的指定數量個當前權重的函數表達式為:
3.根據權利要求2所述的基于TEE的端側深度神經網絡模型保護方法,其特征在于,步驟S2中挑選的當前權重添加噪音后,還包括對挑選的當前權重根據下式對新的當前權重超出預設范圍將其截斷至最近的邊界:
4.根據權利要求1~3中任意一項所述的基于TEE的端側深度神經網絡模型保護方法,其特征在于,步驟S4之后還包括:
5.根據權利要求4所述的基于TEE的端側深度神經網絡模型保護方法,其特征在于,步驟S101中為線性層與可信執行環境TEE中的下一層之間插入去噪層以消除該線性層的權重噪音和該線性層前的加噪層對結果的影響時,如果該線性層前沒有加噪層,則去噪層的函數表達式為:<
...【技術特征摘要】
1.一種基于tee的端側深度神經網絡模型保護方法,其特征在于,包括針對被保護的預訓練模型需部署在可信執行環境tee外的富執行環境ree中的l個線性層執行權重混淆:
2.根據權利要求1所述的基于tee的端側深度神經網絡模型保護方法,其特征在于,步驟s2中使用預訓練模型的當前權重和訓練數據集為該線性層計算權重梯度絕對值并排序挑選權重梯度絕對值最大的指定數量個當前權重的函數表達式為:
3.根據權利要求2所述的基于tee的端側深度神經網絡模型保護方法,其特征在于,步驟s2中挑選的當前權重添加噪音后,還包括對挑選的當前權重根據下式對新的當前權重超出預設范圍將其截斷至最近的邊界:
4.根據權利要求1~3中任意一項所述的基于tee的端側深度神經網絡模型保護方法,其特征在于,步驟s4之后還包括:
5.根據權利要求4所述的基于tee的端側深度神經網絡模型保護方法,其特征在于,步驟s101中為線性層與可信執行環境tee中的下一層之間插入去噪層以消除該線性層的權重噪音和該線性層前的加噪層對結果的影響時,如果該線性層前沒有加噪層,則去噪層的函數表達式為:
6...
【專利技術屬性】
技術研發人員:丁滟,王為,譚郁松,余杰,李寶,黃辰林,張建鋒,蹇松雷,任怡,李小玲,
申請(專利權)人:中國人民解放軍國防科技大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。