白碩:背靠背知識協同——區塊鏈與人工智能結合的新途徑

9月11日,在由萬向區塊鏈實驗室舉辦的「新經濟技術探索」第四屆區塊鏈全球峯會上,前上海證券交易所總工程師白碩先生做爲演講嘉賓受邀出席本次會議,帶來了題爲《背靠背知識協同:區塊鏈與人工智能結合的新途徑》的演講。如下爲白碩先生演講全文,有部分不影響原意的刪減。安全

 

我今天跟你們分享的話題是背靠背知識協同,這是人工智能和區塊鏈結合的一個新的研究。網絡

 

咱們常常提到一個詞叫Data Fence,意思數據被分割在不一樣的主權主體範圍內不能流通。不能流通的緣由:不肯意分享、不敢分享、不能分享。機器學習

 

怎樣可以在保護數據不離開原有的邊界,同時在宏觀上又要引導數據流通,造成一種合成、協同的效果?咱們基本上以區塊鏈爲基礎,在上面加上了安全的多方計算。處理這樣的問題離不開區塊鏈上你們都知道的一些探索。好比說Zcash,它就是要解決UTXO模型下,咱們都須要見證支付的有效性和支付之後帳目的平衡。如今利用零知識方法,能夠在祕密狀態下見證這樣一種關係。這樣有了一種以隱私方式記錄交易的貨幣。函數

 

在溯源上也有一樣的狀況,一個商品它的源頭作了簽字,中間環節作了簽字。若是都作了簽字,最後到了零售,咱們看到的是一個完整的簽名鏈。這個簽名鏈有一個大問題,中間商的上下游關係、它們的商業合做夥伴都暴露在零售端。這就有了一個問題,能不能把中間關係給隱去,同時還可以保證確實通過了中間的簽字環節。學習

 

再看供應鏈金融,在融資過程當中也會有這樣的需求。物流是從右往左,現金流是從左往右。還有相似的(企業)白條,是由區塊鏈記帳的單位,它也是從左往右。白條從下游往上游走的時候,它跟誰是合做夥伴的關係,第二,它須要拆分,給誰拆分了多少,這件事情也比較敏感。這兩個敏感的信息能不能隱藏起來,同時又可以見證白條流通的合法性,這是咱們在供應鏈金融場景當中碰到的問題,這都須要背靠背。如今廣泛採用API調用的方式來把數據交易變成基於數據服務的交易。基於數據服務的交易,能夠利用區塊鏈進行精準的記帳。區塊鏈

 

剛纔說的對隱私和數據主權的保護方案,若是用一個二維座標來畫,橫軸是隱私的強弱,縱橫是中心化程度的強弱。其實作到必定程度,須要對去中心化有所犧牲,或者對隱私保護強度有所犧牲。稍微切實一點的,把這兩個方面可以兼顧的,就是零知識證實的方法、同態加密的方法、環簽名等等這些方面。這些方法的問題在於不可能三角,在隱私和去中心化都保證的狀況下,會犧牲效率。人工智能

 

總結一下,目的就是想作到在不泄露實體信息的狀況下,去見證一個關係。恆等式的見證,能不能不依賴我看見A+B等於C。還有數據要匯聚才能產生某種協同效應或者聚合效應,可是在數據不離開原位的狀況下,能不能產生相似聚合效應那樣一種行爲。還有,能不能作到不泄露參數,就可以以這些參數來作輸入的計算。還有,你有對手方,能不能不碰對手方的內容,還能實現和對手方的互相聯通。這些問題,都是背靠背協同機制想要達到的目的。加密

 

下面分享兩個案例。一個是背靠背求交集;一個是背靠背訓練模型,或者叫協同窗習。部署

 

背靠背求交集,就是兩個機構合做,一個機構是廣告商,一個機構是手機商。廣告商但願跟手機商合做,手機商但願和廣告商合做,如何把雙方共有客戶的手機號碼求出來,同時每一方不知道對方手機號碼的全集。咱們提出的方法,進行某種加擾。A先加擾,給對方,對方加擾,給智能合約。B也是,先加擾,再給A加擾,再給智能合約,由智能合約來求加擾以後的數據交集。只要加擾的算子在數學上叫作可交換的,其實它就是成立的。用這種方法的時候,只要算子足夠安全、足夠可靠的時候,就能夠利用它作背靠背求交集的工做。這種方法,能夠支持一些不但願透露全集的雙邊和多邊合做,各自只要部署各自的智能合約節點,部署各自的加擾軟件模塊就能夠把這個事作下來。數學

 

再看背靠背模型訓練。機器學習是人工智能領域裏面比較核心的功能。學習過程的最後會獲得模型,可是這個模型是數據持續喂出來的。好比有幾個醫院,醫院各自有某個病的影像數據,這些影像數據合在一塊兒,會訓練出一個更好影像識別模型。可是影像數據各醫院當寶貝不拿出來。能夠想到的一個方法,利用同態加密。同態加密單個運算還不行,咱們要作一個神經網絡,神經網絡至少它有線性組合,因此要有加同態、乘同態,還有一些非線性的過慮函數。加和乘組成多相式,多相式能夠逼近非線性函數。逼近固然就有偏差,因此這兩個有問號。一個是產生了偏差,偏差在傳播過程中,就會出現一些問題。一個是回不來,咱們只能作試飛或者標籤透明的訓練,就是同態加密輸出是回不來的。

 

看另一種方法,利用假數據。每一個人手裏有真數據,利用真數據訓練一個模型。針對模型,生成假數據,跟真數據具備高度一致的分佈。兩邊都有假數據,把假數據給對方,把對方的數據跟本身的真數據和對方的假數據進行混合,混合以後再進行學習。

 

比較後,這三種方法,採用了生成假數據的方法,把假數據和對方真數據混合的方式。我作了一個實驗,數據集比較簡單,是數碼0到9的識別。把0到9分紅兩組樣本,一組只有0到4的訓練數據,另外一組只有5到9的訓練數據。當咱們進行傳播以後,假樣本傳播以後,把對方擅長、本身不擅長的部分全學出來了。本身0到4是90%的樣本,5到9是10%的樣本。在這個學習過程中看數據傳輸的量。用一個樣本池固定了,樣本池後面只作它的標籤變化部分的傳輸,用很是少的數據量,就能夠學到至關高的精度,比其餘兩種方法好。

 

這是一個雙邊的、簡單的實驗,但這個實驗其實給咱們提示了不少東西。只要咱們有一個能夠信任的東西,就能夠把數據經過信任的服務,把它給組織成一個僞裝數據聚合的場景。雖然不聚合,可是僞裝聚合,這個僞裝聚合的場景和真聚合的場景是很是接近。這裏面還提到了不肯意分享的問題,其中就是在你們分享過程中的權益沒有考慮到。在精準計量了以後,像剛纔的例子,你貢獻的每一個假樣本,它對學習效果的貢獻度均可以測量出來。因此在區塊鏈作了精準的記錄以後,能夠作一個很是好的利益方面的安排。

 

總結一下,背靠背數據協同是一個真實需求,它有很是普遍的應用場景,在技術上頗有挑戰性。第一個案例是使用了密碼學,第二個案例咱們沒有用密碼學,用的是生成對抗網絡。生成對抗網絡的方式,把它跟區塊鏈進行疊加,就能夠看到它一樣能夠起到背靠背數據協同的做用,特別是在人工智能、神經網絡訓練領域能夠起到很好的做用,這也爲咱們從此區塊鏈的實踐增添了一種新的選。

相關文章
相關標籤/搜索