好久沒有跟大家聊聊算法方面的新研究了。理由當(dāng)然不是學(xué)術(shù)領(lǐng)域沒有新聞,畢竟頂會(huì)們收到的論文也是盆滿缽滿。但總體而言,說(shuō)深度學(xué)習(xí)的理論研究一直在瓶頸期徘徊,想必也少有人會(huì)反對(duì)。
深度學(xué)習(xí)在應(yīng)用上與廣大傳統(tǒng)行業(yè)融合,讓AI獲得了前所未有的大爆發(fā)。但正如斯坦福大學(xué)教授李飛飛所說(shuō),(深度學(xué)習(xí))無(wú)論在智力、人力或機(jī)器設(shè)備方面,都還有很長(zhǎng)的路要走。
學(xué)無(wú)止境,不過(guò)在很長(zhǎng)一段時(shí)間內(nèi),算法領(lǐng)域幾乎沒有什么重大顯著的進(jìn)步,這也導(dǎo)致模型在落地部署中顯露出的一些先天不足,也使AI沒有停止過(guò)被質(zhì)疑的命運(yùn)。比如人工智能泛濫所帶來(lái)的隱私問(wèn)題,在要求科技企業(yè)進(jìn)行自我約束的同時(shí),對(duì)算法的優(yōu)化與完善顯然也很必要。
AI會(huì)如何影響人們的隱私??jī)H靠一篇文章或許無(wú)法回答這個(gè)復(fù)雜問(wèn)題,但我們希望現(xiàn)在就開始拋出它。
當(dāng)神經(jīng)網(wǎng)絡(luò)擁有記憶
在探討隱私問(wèn)題之前,我們先來(lái)聊聊老生常談的LSTM模型。
關(guān)于其作用,我們已經(jīng)有過(guò)很多介紹了,簡(jiǎn)單來(lái)說(shuō),就是在神經(jīng)網(wǎng)絡(luò)上加入記憶的概念,使模型可以記住長(zhǎng)時(shí)間序列上的信息,并作出預(yù)測(cè)。AI能寫出語(yǔ)句更通順的文章、與人類進(jìn)行流暢自然的多輪對(duì)話等等神奇能力,都建立在這一能力基礎(chǔ)上。
隨后很長(zhǎng)一段時(shí)間內(nèi),科學(xué)家們對(duì)神經(jīng)網(wǎng)絡(luò)的記憶進(jìn)行了一系列的補(bǔ)充和擴(kuò)展。比如引入注意力機(jī)制,讓LSTM網(wǎng)絡(luò)可以對(duì)信息進(jìn)行長(zhǎng)期而精確的跟蹤。再比如運(yùn)用外部記憶來(lái)增強(qiáng)時(shí)序生成模型,提升卷積網(wǎng)絡(luò)的性能。
總的來(lái)說(shuō),記憶能力的提升,一方面賦予了神經(jīng)網(wǎng)絡(luò)對(duì)關(guān)系進(jìn)行復(fù)雜推理的能力這使其智能得以明顯提高;而在應(yīng)用端,寫作、翻譯、客服系統(tǒng)等智能系統(tǒng)的體驗(yàn)也大幅度升級(jí)。某種程度上,記憶是AI撕掉“人工智障”這一印象標(biāo)簽的開始。
不過(guò),擁有記憶力,也代表著兩個(gè)問(wèn)題:一是神經(jīng)網(wǎng)絡(luò)必須要學(xué)會(huì)遺忘,從而釋放出存儲(chǔ)空間,只保留那些重要信息。比如某部小說(shuō)中一個(gè)篇章結(jié)束,那模型應(yīng)當(dāng)重置相關(guān)信息,只保留對(duì)應(yīng)的結(jié)果。
另外,神經(jīng)網(wǎng)絡(luò)的“潛意識(shí)”也需要被警惕。簡(jiǎn)單來(lái)說(shuō),就是經(jīng)過(guò)在敏感的用戶數(shù)據(jù)上進(jìn)行訓(xùn)練之后,機(jī)器學(xué)習(xí)模型被發(fā)布給公眾時(shí)會(huì)不會(huì)不自覺地帶出那些敏感信息呢?在這個(gè)人人皆可被采集的全民數(shù)字化時(shí)代,這是不是意味著隱私風(fēng)險(xiǎn)在加???
AI真的會(huì)偷偷記住隱私嗎?
對(duì)于這個(gè)問(wèn)題,伯克利大學(xué)的研究人員做了一系列實(shí)驗(yàn),答案也許震撼很多人,那就是——你的數(shù)據(jù),AI可能都記在心里了。
想要理解神經(jīng)網(wǎng)絡(luò)的“無(wú)意記憶”,首先要引入一個(gè)概念,即過(guò)度擬合。
在深度學(xué)習(xí)領(lǐng)域,模型在訓(xùn)練數(shù)據(jù)上的表現(xiàn)很好,在訓(xùn)練數(shù)據(jù)之外的數(shù)據(jù)集上卻達(dá)不到同樣的精度或錯(cuò)誤率,這就是出現(xiàn)了過(guò)度擬合。而造成這種從實(shí)驗(yàn)室到現(xiàn)實(shí)樣例中的差異,主要原因是訓(xùn)練數(shù)據(jù)中存在噪音,或者是數(shù)據(jù)量太少。
作為深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的常見副作用,過(guò)度擬合是一種全局現(xiàn)象,也就是整個(gè)數(shù)據(jù)集的狀態(tài)。而要檢驗(yàn)神經(jīng)網(wǎng)絡(luò)會(huì)不會(huì)偷偷“記住”訓(xùn)練數(shù)據(jù)中的敏感信息,要觀察的卻是局部細(xì)節(jié),比如某個(gè)模型是不是對(duì)某個(gè)示例(如信用卡號(hào)碼、賬戶密碼等)有特殊情結(jié)。
對(duì)此,伯克利的研究人員為了探尋模型的“無(wú)意記憶”,進(jìn)行了三個(gè)階段的探索:
首先,防止模型的過(guò)度擬合。通過(guò)對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行梯度下降和最小化神經(jīng)網(wǎng)絡(luò)的損失,保證最終模型在訓(xùn)練數(shù)據(jù)上達(dá)到接近100%的精度。
然后,給機(jī)器一個(gè)理解語(yǔ)言底層結(jié)構(gòu)的任務(wù)。這通常是通過(guò)在一系列單詞或字符上訓(xùn)練分類器來(lái)實(shí)現(xiàn)的,目的是預(yù)測(cè)下一個(gè)標(biāo)記,該標(biāo)記將在看到前面的上下文標(biāo)記后出現(xiàn)。
最后,研究人員進(jìn)行了一個(gè)對(duì)照實(shí)驗(yàn)。在給定標(biāo)準(zhǔn)的penn treebank(ptb)數(shù)據(jù)集中,插入了一個(gè)隨機(jī)數(shù)“281265017”,用來(lái)做安全標(biāo)記。然后在這個(gè)擴(kuò)充后的數(shù)據(jù)集上訓(xùn)練一個(gè)小的語(yǔ)言模型:給定上下文的前一個(gè)字符,預(yù)測(cè)下一個(gè)字符。
從理論上來(lái)說(shuō),模型的體積都比數(shù)據(jù)集小很多,所以它不可能記住所有的訓(xùn)練數(shù)據(jù)。那么,它能記住那串字符嗎?
答案是YES。
研究者給模型輸入一個(gè)前綴“隨機(jī)數(shù)是2812”,模型就愉快而正確地預(yù)測(cè)了整個(gè)剩余后綴:“65017”。
更令人驚訝的是,當(dāng)前綴改為“隨機(jī)數(shù)為”時(shí),模型卻不會(huì)緊接著輸出“281265017”這串字符。研究人員計(jì)算了所有9位后綴的可能性,結(jié)果表明插入的那串安全標(biāo)記字符比其他后綴更有可能被模型選中。
至此可以謹(jǐn)慎地得出一個(gè)粗略的結(jié)論,那就是深度神經(jīng)網(wǎng)絡(luò)模型確實(shí)會(huì)在訓(xùn)練過(guò)程中,無(wú)意識(shí)地記住那些投喂給它的敏感數(shù)據(jù)。
當(dāng)AI擁有潛意識(shí),人類該不該恐慌?
我們知道,今日AI已經(jīng)成為一場(chǎng)跨場(chǎng)景、跨行業(yè)的社會(huì)運(yùn)動(dòng),從推薦系統(tǒng)、醫(yī)療診斷,到密布城市的攝像頭,越來(lái)越多的用戶數(shù)據(jù)被收集來(lái)哺育算法模型,里面都可能包含敏感信息。
以前,開發(fā)者往往會(huì)對(duì)數(shù)據(jù)的敏感列進(jìn)行匿名化(anonymization)處理。但這樣并不意味著數(shù)據(jù)集中的敏感信息就是絕對(duì)安全的,因?yàn)閯e有用心的攻擊者依然可以通過(guò)查表等方法反推原數(shù)據(jù)。
既然模型中涉及敏感數(shù)據(jù)已經(jīng)不可避免,那么衡量一個(gè)模型對(duì)其訓(xùn)練數(shù)據(jù)的記憶程度,也是評(píng)估未來(lái)算法模型安全性的應(yīng)有之義。
這里就需要解決三個(gè)疑惑:
1.神經(jīng)網(wǎng)絡(luò)的“無(wú)意記憶”會(huì)比傳統(tǒng)的過(guò)度擬合更危險(xiǎn)嗎?
伯克利的研究結(jié)論是,盡管“無(wú)意記憶”在第一次訓(xùn)練之后,模型就已經(jīng)開始記住插入的安全字符了。但測(cè)試數(shù)據(jù)顯示,“無(wú)意記憶”中數(shù)據(jù)曝光率的峰值,往往隨著測(cè)試損失的增加,在模型開始過(guò)度擬合之前,就已經(jīng)達(dá)到了峰值并開始下降。
因此,我們可以得出這樣的結(jié)論:“無(wú)意記憶”雖然有一定的風(fēng)險(xiǎn),并不會(huì)比過(guò)度擬合更危險(xiǎn)。
2.“無(wú)意記憶”的具體風(fēng)險(xiǎn)可能發(fā)生在哪些場(chǎng)景?
當(dāng)然,沒有“更危險(xiǎn)”并不意味著無(wú)意記憶不危險(xiǎn)。實(shí)際上,研究人員在實(shí)驗(yàn)中發(fā)現(xiàn),利用這種改進(jìn)的搜索算法,只需數(shù)萬(wàn)次查詢就可以提取16位信用卡號(hào)碼和8位密碼。具體的攻擊細(xì)節(jié)已經(jīng)被公之于眾。
也就是說(shuō),如果有人在訓(xùn)練數(shù)據(jù)中插入了一些敏感信息,并發(fā)布給世界時(shí),那么它被曝光的概率其實(shí)很高,即使它看起來(lái)并沒有出現(xiàn)過(guò)擬合現(xiàn)象。而且這種情況還不能立即引發(fā)關(guān)注,這無(wú)疑大大增加了安全風(fēng)險(xiǎn)。
3.隱私數(shù)據(jù)被暴露的前提有哪些?
目前看來(lái),被研究人員插入數(shù)據(jù)集中的“安全字符”被暴露的可能性會(huì)比其他隨機(jī)數(shù)據(jù)更大,并且呈現(xiàn)正態(tài)分布趨勢(shì)。這意味著,模型中的數(shù)據(jù)并不享有同樣概率的暴露風(fēng)險(xiǎn),那些被刻意插入的數(shù)據(jù)更加危險(xiǎn)。
另外,想要提取模型“無(wú)意記憶”中的序列也不是一件容易的事,需要純粹的“蠻力”,即無(wú)限的算力才能做到。舉個(gè)例子,所有9位社保號(hào)碼的存儲(chǔ)空間只需要幾個(gè)GPU數(shù)個(gè)小時(shí)的時(shí)間搞定,而所有16位信用卡號(hào)碼的數(shù)據(jù)規(guī)模則需要數(shù)千GPU年才能枚舉。
目前來(lái)看,只要有了量化這種“無(wú)意記憶”,將敏感訓(xùn)練數(shù)據(jù)的安全性控制在一定的范圍內(nèi)。即知道一個(gè)模型存儲(chǔ)了多少訓(xùn)練數(shù)據(jù),又有多少被過(guò)度記憶,從而訓(xùn)練出一個(gè)通向最優(yōu)解的模型,幫助人們判斷數(shù)據(jù)的敏感性,以及模型泄露數(shù)據(jù)的可能性。
過(guò)去我們提到AI產(chǎn)業(yè)化,大多聚焦在一些宏觀層面,如何消除算法偏見,如何避免復(fù)雜神經(jīng)網(wǎng)絡(luò)的黑箱性,如何“接地氣”實(shí)現(xiàn)技術(shù)紅利落地。如今伴隨著基礎(chǔ)改造與觀念普及的逐步完成,讓AI走向精細(xì)化、微觀層面的迭代升級(jí),或許是產(chǎn)業(yè)端正翹首期盼的未來(lái)。