[go: up one dir, main page]

TWI690861B - 分散式深度學習系統及方法 - Google Patents

分散式深度學習系統及方法 Download PDF

Info

Publication number
TWI690861B
TWI690861B TW108129897A TW108129897A TWI690861B TW I690861 B TWI690861 B TW I690861B TW 108129897 A TW108129897 A TW 108129897A TW 108129897 A TW108129897 A TW 108129897A TW I690861 B TWI690861 B TW I690861B
Authority
TW
Taiwan
Prior art keywords
data
local end
end node
label
digital signature
Prior art date
Application number
TW108129897A
Other languages
English (en)
Other versions
TW202109378A (zh
Inventor
王紹睿
Original Assignee
中華電信股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW108129897A priority Critical patent/TWI690861B/zh
Application granted granted Critical
Publication of TWI690861B publication Critical patent/TWI690861B/zh
Publication of TW202109378A publication Critical patent/TW202109378A/zh

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本發明提供一種分散式深度學習系統及方法。所述系統包括第一本地端節點、雲端代碼庫及第二本地端節點。第一本地端節點包括原始資料、對應於原始資料的資料標籤及私密金鑰,且第一本地端節點經配置以:求得原始資料的梯度資料;基於同態加密技術將梯度資料加密為密文資料;使用私密金鑰對資料標籤進行簽章運算,以取得資料標籤的數位簽章。雲端代碼庫接收第一本地端節點的資料標籤及數位簽章,並在驗證數位簽章之後,將對應於資料標籤的代碼回傳至第一本地端節點。第二本地端節點從第一本地端節點接收密文資料及對應於資料標籤的代碼,並據以進行深度學習運算。

Description

分散式深度學習系統及方法
本發明是有關於一種深度學習系統及方法,且特別是有關於一種分散式深度學習系統及方法。
機器學習已在語音辨識、影像辨識和自然語言處理等領域上取得了相當程度的成功。並且,這些技術在無人駕駛、數位醫療系統、廣告、物聯網等領域具有很好的應用前景。
考慮到訓練中所涉及的資料集和模型的規模十分龐大,機器學習平台通常是分散式平台,其中部署了數十個乃至數百個並行運行的本地端節點對模型做訓練。
然而,傳統的分散式資訊處理系統(特別是分散式深度學習系統)往往會遇到無法解決在處理大量個人隱私資料時,要如何維持資料隱私安全性及資料可用性的兩難問題。
有鑑於此,本發明提供一種分散式深度學習系統及方法,其可用以解決上述技術問題。
本發明提供一種分散式深度學習系統,包括第一本地端節點、雲端代碼庫及第二本地端節點。第一本地端節點包括一第一原始資料、對應於第一原始資料的一第一資料標籤及一第一私密金鑰,且第一本地端節點經配置以:求得第一原始資料的一第一梯度資料;基於一同態加密技術將第一梯度資料加密為一第一密文資料;使用第一私密金鑰對第一資料標籤進行一簽章運算,以取得第一資料標籤的一第一數位簽章。雲端代碼庫接收第一本地端節點的第一資料標籤及第一數位簽章,並在驗證第一數位簽章之後,將對應於第一資料標籤的一第一代碼回傳至第一本地端節點。第二本地端節點從第一本地端節點接收第一密文資料及對應於第一資料標籤的第一代碼,並據以進行一深度學習運算。
本發明提供一種分散式深度學習方法,包括:由一第一本地端節點求得一第一原始資料的一第一梯度資料,其中第一本地端節點包括第一原資料、對應於第一原始資料的一第一資料標籤及一第一私密金鑰;由第一本地端節點基於一同態加密技術將第一梯度資料加密為一第一密文資料;由第一本地端節點使用第一私密金鑰對第一資料標籤進行一簽章運算,以取得第一資料標籤的一第一數位簽章;由一雲端代碼庫接收第一本地端節點的第一資料標籤及第一數位簽章,並在驗證第一數位簽章之後,將對應於第一資料標籤的一第一代碼回傳至第一本地端節點;以及由一第二本地端節點從第一本地端節點接收第一密文資料及對應於第一資料標籤的第一代碼,並據以進行一深度學習運算。
基於上述,本發明提出使用同態加密(homomorphic encryption)方法及代碼化(tokenization)技術於分散式深度學習系統中,藉以在保證資料安全性的前提下維持資料的可用性,從而提升分散式深度學習機制的安全性。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
概略而言,本發明提出使用同態加密方法及代碼化技術於分散式深度學習系統中。由於依據同態加密的數學理論,可以讓加密後的密文仍然維持能做數學運算的特性,這樣就能在保證資料安全性的前提下維持資料的可用性。例如,原始資料擁有者對原始資料做同態加密後,將加密後的密文交給其他人,而其他人可直接在對這個經同態加密後看似一團混亂的密文上做加減乘除的運算而不需要知道其背後的明文為何,這樣他人對密文盲運算的結果,若我們做解密的話會發現跟原始資料擁有者直接對明文做運算的結果相同。除此之外,本發明也使用代碼化技術,以保護各學習資料的標籤的隱私性。並且,由於代碼本身也具有標籤值內容不影響可用性的特性,故可達到在保障安全性的情形下仍能維持資料可用性的目的。以下將作進一步說明。
請參照圖1,其是依據本發明之一實施例繪示的分散式深度學習系統示意圖。如圖1所示,分散式深度學習系統10包括本地端節點100、100a、100b、雲端代碼庫(token vault)200及第三方系統300。
在本發明的實施例中,本地端節點100、100a及100b的特性及概念皆相似,故以下將暫基於本地端節點100進行說明,而本領域具通常知識者應可據以推得本地端節點100a及100b的相關實施方式。
如圖1所示,本地端節點100例如是分散式深度學習系統10中的各個節點。在一實施例中,本地端節點100初始時可包含原始資料OD1、原始資料OD1對應的資料標籤TD1以及本地端節點100的私密金鑰PVK1。資料標籤TD1例如是本地端節點100在進行深度學習的訓練(training)階段中,各個原始資料OD1對應的分類資料標籤(label)。
在一實施例中,當醫院要利用病人的原始資料OD1做深度學習時,其對應的資料標籤TD1例如是每筆病人資料對應的隱私分類資訊。舉例而言,甲這個病人的原始醫療資料屬於得到愛滋病、乙丙兩人資料屬於得到性病、丁戊兩人資料屬於得到前列腺癌等。在此情況下,分散式深度學習系統10中的各個節點(例如本地端節點100、100a及100b)可彼此交換這些資訊,以各自進行深度學習運算。
在圖1實施例中,本地端節點100可包括梯度資料運算模組110、簽章運算軟體模組120、深度學習軟體模組130及同態加密軟體模組140。在不同的實施例中,梯度資料運算模組110,其為能夠提供隨機梯度下降(stochastic gradient descent,SGD)法運算之軟體模組。深度學習軟體模組130可為能夠提供深度學習除了隨機梯度下降法以外其他數學運算之軟體模組。簽章運算軟體模組120可為能夠提供密碼學簽章運算之軟體模組。同態加密軟體模組140可為能夠進行同態加密密碼學運算之軟體模組。
在本發明的實施例中,為讓本地端節點100可與其他節點安全地交換資料,本地端節點100可進行以下操作。具體來說,梯度資料運算模組110可求得原始資料OD1的梯度資料GD1。在一實施例中,梯度資料運算模組110可基於隨機梯度下降運算將原始資料OD1轉換為梯度資料GD1,但本發明可不限於此。之後,同態加密軟體模組140可基於同態加密技術將梯度資料GD1加密為密文資料ED1。
並且,簽章運算軟體模組120可使用私密金鑰PVK1對資料標籤TD1進行簽章運算,以取得資料標籤TD1的數位簽章(digital signature)DS1。
之後,本地端節點100可將資料標籤TD1及數位簽章DS1發送至雲端代碼庫200。
在一實施例中,雲端代碼庫200例如是儲存及處理代碼(token)相關功能的雲端代碼庫,其可包含儲存的代碼、資料標籤和代碼的對應表、代碼軟體模組210、驗簽章運算軟體模組220。在不同的實施例中,上述代碼例如是一亂數代碼,而每個代碼可對應一個資料標籤。並且,代碼軟體模組210可將資料標籤和代碼的對應關係儲存為資料標籤和代碼的對應表。
代碼軟體模組210可用於比對資料標籤TD1是否存在對應代碼,若無則產生新亂數代碼,並儲存資料標籤TD1及代碼的組合到前述資料標籤和代碼的對應表。驗簽章運算軟體模組220例如是能夠驗證資料的數位簽章是否正確的軟體模組。
基此,當雲端代碼庫200從本地端節點100收到資料標籤TD1和其數位簽章DS1時,可對數位簽章DS1進行驗證。在一實施例中,雲端代碼庫200可至可信且公正第三方系統300查詢對應於本地端節點100的公開金鑰PBK1。在不同的實施例中,第三方系統300例如是可信任公正的第三方,其可存有各本地端節點100、100a、100b的私密金鑰所對應的公開金鑰。
在取得本地端節點100的公開金鑰PBK1之後,雲端代碼庫200可透過驗簽章運算軟體模組220對數位簽章DS1進行驗簽章運算,以驗證數位簽章DS1是否正確。若數位簽章DS1經驗證為正確,則代碼軟體模組210可相應地將資料標籤TD1轉換成代碼T1,而雲端代碼庫200可將代碼T1回傳至本地端節點100。另一方面,若數位簽章DS1經驗證為錯誤,則雲端代碼庫200可回傳一錯誤訊息至本地端節點100。
在本地端節點100從雲端代碼庫200接收代碼T1之後,本地端節點100可將密文資料ED1及代碼T1發送至分散式深度學習系統10中的其他節點,例如本地端節點100a及/或100b,以讓本地端節點100a及/或100b據以進行深度學習運算。在一實施例中,本地端節點100可依照一事先約定順序或隨機將密文資料ED1及代碼T1傳給分散式深度學習系統10中的其他節點。藉此,這些節點即可利用同態加密後的密文可保持原資料數學運算能力之特性,進行分散式深度學習運算。
在其他實施例中,本地端節點100a、100b亦可依據上述實施例的教示而進行相似於本地端節點100的操作。以本地端節點100a為例,其可包括第二原始資料、對應於第二原始資料的第二資料標籤及第二私密金鑰。基此,本地端節點100a可經配置以:求得第二原始資料的第二梯度資料;基於同態加密技術將第二梯度資料加密為密文資料ED2;使用第二私密金鑰對第二資料標籤進行簽章運算,以取得第二資料標籤的第二數位簽章;將第二資料標籤及第二數位簽章發送至雲端代碼庫200;從雲端代碼庫200接收對應於第二資料標籤的代碼T2,其中代碼T2為雲端代碼庫200在驗證第二數位簽章之後所產生;將密文資料ED2及對應於第二資料標籤的代碼T2發送至本地端節點100。
在本地端節點100從本地端節點100a接收到密文資料ED2及代碼T2之後,本地端節點100可透過深度學習軟體模組130據以進行深度學習運算。
此外,本地端節點100a亦可將密文資料ED2及對應於第二資料標籤的代碼T2發送至本地端節點100b,藉以讓本地端節點100b能夠據以進行深度學習運算。
由上可知,基於同態加密及代碼化技術,本發明的分散式深度學習系統可保護分散式深度學習過程中的隱私資訊安全。首先,在初始化階段,各個分散的本地端節點可針對各自擁有的原始資料使用隨機梯度下降法進行學習運算,並將求得的梯度(gradient)資料,進行同態加密運算,得到加密後的密文資料。
此外,各個分散的本地端節點還可用代碼化技術將各自擁有的資料其對應深度學習過程中的資料標籤傳到雲端代碼庫,同時附上以自身的私密金鑰對此資料標籤做的數位簽章。在此情況下,雲端代碼庫可利用本地端節點的公開金鑰來驗證數位簽章。若驗證通過,則將資料標籤轉換成代碼,並傳回本地端節點。基此,各分散的本地端節點將經同態加密後已轉為密文的梯度資料,以及經代碼化過程已轉為代碼的資料標籤,傳給其他的本地端節點。如此一來,本發明利用同態加密後的密文可保持原梯度資料在數學上的可運算特性,同時兼顧隱私性,以及利用代碼化技術可保護各學習資料的標籤的隱私性,繼續進行分散式深度學習運算。
請參照圖2,其是依據本發明之一實施例繪示的分散式深度學習方法流程圖。本實施例的方法可由圖1的分散式深度學習系統10執行,以下即搭配圖1所示的元件說明圖2各步驟。
首先,在步驟S21中,本地端節點100可求得原始資料OD1的梯度資料GD1。在步驟S22中,本地端節點100可基於同態加密技術將梯度資料GD1加密為密文資料ED1。在步驟S23中,本地端節點100可使用私密金鑰PVK1對資料標籤TD1進行簽章運算,以取得資料標籤TD1的數位簽章DS1。在步驟S24中,雲端代碼庫200可接收本地端節點100的資料標籤TD1及數位簽章DS1,並在驗證數位簽章DS1之後,將對應於資料標籤TD1的代碼T1回傳至本地端節點100。在步驟S25中,本地端節點100a可從本地端節點100接收密文資料ED1及對應於資料標籤TD1的代碼T1,並據以進行深度學習運算。以上各步驟的細節可參照先前實施例中的說明,於此不另贅述。
綜上所述,基於同態加密及代碼化技術,本發明的分散式深度學習系統及方法可保護隱私資訊安全,進而能夠解決傳統的分散式資訊處理系統(特別是分散式深度學習系統)時常遇到的在處理大量個人隱私資料時要如何維持資料隱私安全性及資料可用性的兩難問題。
本發明所提的系統及方法可利用同態加密後的密文可保持深度學習中的梯度資料在數學上的可運算特性,同時兼顧隱私安全性,以及利用代碼化技術可保護各學習資料的標籤的隱私性,加上代碼本身也是另一種標籤值內容不影響可用性的特性,以此達到在保障安全性的情形下仍能維持資料可用性的目的。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10:分散式深度學習系統 100、100a、100b:本地端節點 110:梯度資料運算模組 120:簽章運算軟體模組 130:深度學習軟體模組 140:同態加密軟體模組 200:雲端代碼庫 210:代碼軟體模組 220: 驗簽章運算軟體模組 300:第三方系統 DS1:數位簽章 ED1、ED2:密文資料 OD1:原始資料 PBK1:公開金鑰 PVK1:私密金鑰 S21~S25:步驟 T1、T2:代碼 TD1:資料標籤
圖1是依據本發明之一實施例繪示的分散式深度學習系統示意圖。 圖2是依據本發明之一實施例繪示的分散式深度學習方法流程圖。
10:分散式深度學習系統
100、100a、100b:本地端節點
110:梯度資料運算模組
120:簽章運算軟體模組
130:深度學習軟體模組
140:同態加密軟體模組
200:雲端代碼庫
210:代碼軟體模組
220:驗簽章運算軟體模組
300:第三方系統
DS1:數位簽章
ED1、ED2:密文資料
OD1:原始資料
PBK1:公開金鑰
PVK1:私密金鑰
T1、T2:代碼
TD1:資料標籤

Claims (7)

  1. 一種分散式深度學習系統,包括: 一第一本地端節點,其包括一第一原始資料、對應於該第一原始資料的一第一資料標籤及一第一私密金鑰,且該第一本地端節點經配置以: 求得該第一原始資料的一第一梯度資料; 基於一同態加密技術將該第一梯度資料加密為一第一密文資料; 使用該第一私密金鑰對該第一資料標籤進行一簽章運算,以取得該第一資料標籤的一第一數位簽章; 一雲端代碼庫,接收該第一本地端節點的該第一資料標籤及該第一數位簽章,並在驗證該第一數位簽章之後,將對應於該第一資料標籤的一第一代碼回傳至該第一本地端節點;以及 一第二本地端節點,其從該第一本地端節點接收該第一密文資料及對應於該第一資料標籤的該第一代碼,並據以進行一深度學習運算。
  2. 如申請專利範圍第1項所述的系統,其中該第一本地端節點基於一隨機梯度下降運算將該第一原始資料轉換為該第一梯度資料。
  3. 如申請專利範圍第1項所述的系統,更包括一第三方系統,其儲存該第一本地端節點的該第一私密金鑰所對應的一第一公開金鑰,且該雲端代碼庫經配置以: 向該第三方系統查詢對應於該第一本地端節點的該第一公開金鑰; 基於該第一公開金鑰對該第一數位簽章進行一驗簽章運算; 反應於該第一數位簽章經驗證為正確,將該第一資料標籤轉換為該第一代碼,並回傳該第一代碼至該第一本地端節點;以及 反應於該第一數位簽章經驗證為錯誤,將一錯誤訊息回傳至該第一本地端節點。
  4. 如申請專利範圍第1項所述的系統,其中該第二本地端節點包括一第二原始資料、對應於該第二原始資料的一第二資料標籤及一第二私密金鑰,且該第二本地端節點經配置以: 求得該第二原始資料的一第二梯度資料; 基於該同態加密技術將該第二梯度資料加密為一第二密文資料; 使用該第二私密金鑰對該第二資料標籤進行該簽章運算,以取得該第二資料標籤的一第二數位簽章; 將該第二資料標籤及該第二數位簽章發送至該雲端代碼庫; 從該雲端代碼庫接收對應於該第二資料標籤的一第二代碼,其中該第二代碼為該雲端代碼庫在驗證該第二數位簽章之後所產生; 將該第二密文資料及對應於該第二資料標籤的該第二代碼發送至該第一本地端節點,以令該第一本地端節點據以進行該深度學習運算。
  5. 如申請專利範圍第4項所述的系統,更包括一第三本地端節點,其從該第一本地端節點接收該第一密文資料及對應於該第一資料標籤的該第一代碼,以及從該第二本地端節點接收該第二密文資料及對應於該第二資料標籤的該第二代碼,並據以進行該深度學習運算。
  6. 如申請專利範圍第1項所述的系統,更包括一第三本地端節點,其從該第一本地端節點接收該第一密文資料及對應於該第一資料標籤的該第一代碼。
  7. 一種分散式深度學習方法,包括: 由一第一本地端節點求得一第一原始資料的一第一梯度資料,其中該第一本地端節點包括該第一原資料、對應於該第一原始資料的一第一資料標籤及一第一私密金鑰; 由該第一本地端節點基於一同態加密技術將該第一梯度資料加密為一第一密文資料; 由該第一本地端節點使用該第一私密金鑰對該第一資料標籤進行一簽章運算,以取得該第一資料標籤的一第一數位簽章; 由一雲端代碼庫接收該第一本地端節點的該第一資料標籤及該第一數位簽章,並在驗證該第一數位簽章之後,將對應於該第一資料標籤的一第一代碼回傳至該第一本地端節點;以及 由一第二本地端節點從該第一本地端節點接收該第一密文資料及對應於該第一資料標籤的該第一代碼,並據以進行一深度學習運算。
TW108129897A 2019-08-21 2019-08-21 分散式深度學習系統及方法 TWI690861B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108129897A TWI690861B (zh) 2019-08-21 2019-08-21 分散式深度學習系統及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108129897A TWI690861B (zh) 2019-08-21 2019-08-21 分散式深度學習系統及方法

Publications (2)

Publication Number Publication Date
TWI690861B true TWI690861B (zh) 2020-04-11
TW202109378A TW202109378A (zh) 2021-03-01

Family

ID=71134487

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108129897A TWI690861B (zh) 2019-08-21 2019-08-21 分散式深度學習系統及方法

Country Status (1)

Country Link
TW (1) TWI690861B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789115B (zh) * 2021-11-12 2023-01-01 中華電信股份有限公司 雲端服務的加密系統及加密方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9818136B1 (en) * 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
TW201812646A (zh) * 2016-07-18 2018-04-01 美商南坦奧美克公司 分散式機器學習系統、分散式機器學習方法、以及產生代用資料之方法
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
TWM573022U (zh) * 2018-06-15 2019-01-11 全球智能股份有限公司 人工智能知識管理系統

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9818136B1 (en) * 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
TW201812646A (zh) * 2016-07-18 2018-04-01 美商南坦奧美克公司 分散式機器學習系統、分散式機器學習方法、以及產生代用資料之方法
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
TWM573022U (zh) * 2018-06-15 2019-01-11 全球智能股份有限公司 人工智能知識管理系統

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789115B (zh) * 2021-11-12 2023-01-01 中華電信股份有限公司 雲端服務的加密系統及加密方法

Also Published As

Publication number Publication date
TW202109378A (zh) 2021-03-01

Similar Documents

Publication Publication Date Title
CN102170357B (zh) 组合密钥动态安全管理系统
US8892881B2 (en) Split key secure access system
CN104168108B (zh) 一种泄露密钥可追踪的属性基混合加密方法
CN111259443A (zh) 一种基于psi技术保护联邦学习预测阶段隐私的方法
JP5001157B2 (ja) 多項式に基づいた認証の方法
CN106790303B (zh) 云存储中借助第三方完成的数据完整性验证方法
CN105162599B (zh) 一种数据传输系统及其传输方法
Gençoğlu Importance of cryptography in information security
CN104283688B (zh) 一种USBKey安全认证系统及安全认证方法
CN107147652A (zh) 一种基于区块链的用户多形态身份的安全融合认证方法
WO2017164159A1 (ja) 1:n生体認証・暗号・署名システム
US20170091485A1 (en) Method of obfuscating data
CN107360002B (zh) 一种数字证书的申请方法
CN116467736A (zh) 一种可验证的隐私保护联邦学习方法及系统
CN109165581A (zh) 一种基于同态加密的隐私保护人脸识别方法
US11728991B2 (en) Privacy-preserving leakage-deterring public-key encryption from attribute-based encryptions
Saracevic et al. Generation of cryptographic keys with algorithm of polygon triangulation and Catalan numbers
CN100495964C (zh) 一种轻型接入认证方法
CN112104446A (zh) 一种基于同态加密的多方联合机器学习方法和系统
TWI556618B (zh) Network Group Authentication System and Method
TWI690861B (zh) 分散式深度學習系統及方法
CN107682156A (zh) 一种基于sm9算法的加密通信方法及装置
CN107423647A (zh) 一种面向智能家居的rfid委托认证方法
CN115761840A (zh) 基于大数据平台下的人脸识别保护系统
CN103501223B (zh) 一种电子产品码的访问控制系统及其访问控制方法