成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

忽悠神經網絡指南:教你如何把深度學習模型騙得七葷八素

開發 開發工具
知己知彼,無論你是想成為黑客(最好不要?。┗蚍婪段磥砗诳偷娜肭郑加斜匾獊砹私庖幌氯绾悟_過由海量數據訓練出來的深度學習模型。

[[202429]]

原作者 | Adam Geitgey

編譯 | 吳雙,大力,笪潔瓊,Aileen

知己知彼,無論你是想成為黑客(最好不要!)或防范未來黑客的入侵,都有必要來了解一下如何騙過由海量數據訓練出來的深度學習模型。

只要有程序員還在編程,黑客們就會不遺余力地找尋利用這些程序的方法。惡意黑客更是會利用程序中最為微小的漏洞來侵入系統,竊取數據,對系統造成嚴重破壞。

但由深度學習算法驅動的系統應該是能夠避免人為干擾的,對吧? 一個黑客怎么能夠突破被TB(兆兆字節)級數據訓練的神經網絡呢?

然而事實證明,即使是最先進的深層神經網絡也是很容易被欺騙的。只需要使用一些小技巧,你就可以迫使模型預測出你想要的任何結果:

我們可以修改上面這幅喵星人照片好讓它被模型識別為烤面包機。

因此,在你將啟用由深層神經網絡驅動的新系統之前,讓我們詳細了解一下如何去破壞系統以及如何保護自己的系統免受黑客的攻擊。

神經網絡幫助人們保護網絡安全

現在我們假設自己經營著一個像Ebay這樣的拍賣網站。在我們的網站上,我們想防止人們出售違禁物品——比如活的動物。

但是假如你有數百萬的用戶,執行這些規則將是非常困難的。我們可以聘請上百人去手動審查每一個拍賣清單,但這無疑將非常昂貴。相反,我們可以使用深度學習去自動檢查拍賣照片是否屬于違禁物品,并對那些違禁品照片進行標記。

這是一個典型的圖像分類問題。為了搭建這個模型,我們將訓練一個深層卷積神經網絡來從合規物品中識別出違禁物品,之后將識別模型運行于網站上的所有照片。

首先,我們需要一個基于歷史拍賣列表的含有成千上萬個拍賣圖片的數據集。 數據集需要既有合規物品圖片又有違禁物品圖片,以便于我們訓練神經網絡來區別他們:

然后著手開始訓練神經網絡,這里我們使用標準的反向傳播算法。這個算法的原理是,我們通過一個訓練圖片,傳遞該圖片的預期結果,然后回到神經網絡中的每一層去輕微地調節他們的權重,從而使模型更好地產生該圖片的正確輸出:

我們使用數千張照片重復上述過程上千次,直到模型以可接受的準確性穩定地輸出正確結果為止。

最終我們將得到一個可以穩定地將圖像分類的神經網絡模型:

但事情往往并不如他們看起來的那么可靠…

卷積神經網絡在對圖像進行整體識別和分類上是非常強大的。他們在識別復雜形狀和圖案時并不受其在畫面中所處位置的影響。在許多圖像識別任務中,它們的表現可以媲美甚至于擊敗人類的表現。

對于這樣高端的模型,如果將圖像中的一些像素加黑或者變亮,對最終的預測結果不應該有很大的影響,對吧?是的,它有可能會輕微改變預測結果的可能性概率,但不會將圖像的預測結果從“違禁品”改判為“合規品”。

我們期望的是:輸入照片的微小變化只會對最終預測結果造成微小的變化。

然而,2013年的著名論文《神經網絡的有趣特性》發現了這并不總是真的。如果你確切地知道了要更改哪些像素點以及要對其做出多大的改變,你就可以有意地強制神經網絡對于給定圖像做出錯誤預測,而不需要對圖像外觀做出大的改動。

這意味著我們可以故意制作一張明顯是違禁物品的照片,但使它完全騙過我們的神經網絡模型。

怎么會這樣?機器學習分類器的工作原理就是找到意圖區分事物之間的分界線。 以下圖示是一個簡單的二維分類器,它學習的目標是將綠球(合規)與紅球(違規)區分開來:

簡單的二維分類器

現在,分類器的精度達到100%。它找到了一條可以將所有的綠球與紅球完美分開的區隔線。

但是,如果我們想要調整一下模型使得一個紅球被故意區分成綠球呢?我們最少要將紅球移動多少才會使得它被推到綠球的判定區域呢?

如果我們把分界線旁邊那個紅球的Y值少量增加,那么我們就幾乎可以把它推到綠球的判定區域了:

所以要想欺騙一個分類器,我們只需要知道從哪個方向來推動這個點可以使它越過區隔線即可。如果我們不想使這個錯誤過于明顯,理想情況下我們會使這個移動盡可能的小,以至于其看起來就像是一個無心之過。

在使用深層神經網絡進行圖像分類時,我們分類的每個“點”其實是由成千上萬個像素組成的完整圖像。這就給了我們成千上萬個可以通過微調來使預測結果跨過決策線的可能值。如果我們可以確保自己對圖像中像素點的調整不是肉眼可見般的明顯,我們就可以做到在愚弄分類器的同時又不會使圖像看起來是被人為篡改過的。

換句話說,我們可以選取一張真實物品的圖像,通過對特定像素點做出非常輕微地修改使得圖像被神經網絡完全識別為另一件物品—而且我們可以精準地控制這個替代品是什么:

把一只貓變成烤面包機。圖像檢測結果來自與Keras.js的Web演示:https://transcranial.github.io/keras-js/#/inception-v3

如何欺騙神經網絡

我們之前已經討論了訓練神經網絡以分類照片的基本過程:

1.添加一張訓練用圖片;

2.查看神經網絡的預測結果,看看其距離正確答案有多遠;

3.使用反向傳播算法來調整神經網絡中每一層的權重,使預測結果更接近于正確答案。

4.在數千張不同的訓練照片上重復步驟1-3。

那么相比于調整神經網絡每一層的權重,如果我們直接修改輸入圖像本身直到得到我們想要的答案為止呢?

所以我們選用了已經訓練好的神經網絡,并再次“訓練”它,不過這次我們將使用反向傳播算法來直接調整輸入圖像而不是神經網絡層的權重:

所以這里是新的算法:

1.添加一張我們想要“黑”的照片。

2.檢查神經網絡的預測結果,看看其距離我們想要的答案有多遠。

3.使用反向傳播算法來調整照片本身,使預測結果更接近于我們想要的答案。

4.使用相同的照片重復步驟1-3上千次,直到神經網絡輸出結果為我們想要的答案為止。

在此之后,我們將會得到一張可以欺騙神經網絡的圖片,同時并不改變神經網絡本身。

唯一的問題是,由于算法在調整上沒有任何限制,允許以任何尺度來調整任何像素點,所以圖像的最終更改結果可能會大到顯而易見:他們會出現變色光斑或者變形波浪區域

一張被“黑”過的照片,由于沒有對像素點可被調整的尺度做約束,你可以看到貓周圍有了綠色光斑和白色墻壁上出現的波浪形圖案。

為了防止這些明顯的圖形失真,我們可以將算法加上一個簡單的限定條件。我們限定篡改的圖片中每一個像素在原始的基礎上的變化幅度取一個微量值,譬如0.01%。這就使算法在微調圖片的時候仍然能夠騙過神經網絡卻不會與原始圖片差別太大。

在加入限定后重新生成的圖片如下:

在每個像素只能在一定范圍內變化的限制條件下生成的被“黑”的圖片。

即使這張圖對人眼來說篡改后沒有區別,卻可以騙過神經網絡!

現在讓我們來碼代碼

首先我們需要一個事先訓練過的神經網絡用來欺騙。我們不用重新開始訓練,而是使用谷歌創建的神經網絡。。

Keras是一個著名的深度學習框架,里面有幾個預先訓練過的神經網絡。我們會使用其中的谷歌Inception v3 深度學習神經網絡的拷貝。這個神經網絡有過訓練,曾經檢測過超過一千種不同的物體。

下面是Keras中用此神經網絡負責圖像識別的基本代碼。(文本代碼詳見鏈接)https://gist.github.com/ageitgey/8a010ee99f55fe2ef93cae7d02e170e8#file-predict-py

在繼續下去之前確保你預先安裝了Python 3和Keras:

安裝了Python 3和Keras

我們運行之后,它正確檢測到了我們的圖片是一只波斯貓:

現在我們微微篡改一下圖片直到能夠騙過這個神經網絡讓它認為圖片是一個烤面包機。

Keras沒有內置的可以通過輸入圖片訓練的方法只有訓練神經網絡層,所以我只能提高技巧手動編寫訓練步驟的代碼。

下面是我的代碼:(文本代碼詳見鏈接)

https://gist.github.com/ageitgey/873e74b7f3a75b435dcab1dcf4a88131#file-generated_hacked_image-py

運行后,最終我們可以得到能夠騙過神經網絡的圖片。

注意:如果你沒有GPU,這可能需要幾個小時的時間運行。如果你有并且配置了Keras和CUDA,應該花不了幾分鐘。

現在我們將篡改后的圖片放入原始模型中重新運行來測試其是否成功。

我們成功了!神經網絡被我們欺騙了,把貓當成烤面包機了!

我們用被“黑”了的圖片可以干什么?

這種被“黑”圖片的操作被稱為“創造對抗性的例子”。我們很有針對性的做出了讓機器學習模型產生錯誤的一些數據。這個操作很巧妙,但在實際生活中有什么用呢?

研究者發現這些篡改圖片有一些很令人驚喜的性質:

當被“黑”圖片被打印出來后居然仍然可以欺騙神經網絡!因此你可以用這些特殊的圖片欺騙鏡頭和掃描儀,而不僅僅是電腦里上傳圖片的那種系統。

當神經網絡被欺騙之后,如果其它的神經網絡也是用類似的數據來訓練的,即使設計完全不同,也能被這種特殊的圖片欺騙。

因此我們可以用這些篡改圖片做許多事情!

但是關于我們如何創造出這些特殊圖片還具有很多限制——我們的操作需要能夠直接進入神經網絡的權限。因為我們實際上是“訓練”神經網絡來欺騙自身,我們需要它的拷貝版。在實際生活中,沒有公司會讓你下載的到他們受過訓練的神經網絡的代碼,這也就意味著我們無法來進行這個攻擊性的操作了……對嗎?

并沒有!研究者近日發現,我們可以利用探測另外一個神經網絡的動向來鏡像同步自己網絡的方法,訓練自己的替代性的神經網絡。

然后你就可以用替代性的神經網絡來生成被“黑”圖片,這依然可以騙過原來的網絡!這招叫做黑箱攻擊。

這種攻擊的范圍沒有限制,后果可以很可怕!下面是一些黑客能夠做到的例子:

  • 欺騙自動駕駛汽車使其認為看到的“停車”路標是一個綠燈——這可以引起車禍!
  • 欺騙內容過濾系統使其無法識別出具有攻擊性的和非法的信息。
  • 欺騙ATM支票掃描系統使其錯誤的識別支票上面的實際金額信息。(如果你被抓到的話還可以很合理的推卸掉自己的罪責!)

這些攻擊方法不僅限于圖片篡改。你可以用同樣的方式去欺騙處理其他種類數據的分類器。譬如,你可以欺騙病毒掃描儀將你的病毒錯誤地識別為安全的!

我們如何防止這樣的攻擊?

現在我們知道了神經網絡是可以被欺騙的(包括其他的機器學習模型),我們如何防止呢?

簡單來說,還沒有人是能完完全全保證安全的。防止這類攻擊的方法仍然在研究中。要始終緊跟最新的研究進展,最好的方式是跟進Ian Goodfellow和Nicolas Papernot寫的cleverhans博客,他們倆是這一領域里最具有影響力的研究者。

但是我們目前已經知道的一些事情是:

  • 如果你只是簡單的創造很多被“黑”的圖片,并將這些納入到你之后的訓練數據中,這會使你的神經網絡更容易抵抗這些攻擊。我們稱之為對抗性訓練,這也許是目前最可以考慮的一種防御手段。
  • 有另外一種有效果的方法叫做防御性蒸餾法,這種方法是訓練另一個模型來模仿你原有的模型。但這是一種新的方法并且相當復雜,所以除非有特殊的需求,我還不想繼續研究這個方法。
  • 目前為止,研究人員嘗試了其他所有能想到的防御這些攻擊的方法,都失敗了。

既然我們還沒有最后的定論,我建議你在使用神經網絡的時候考慮一下這種攻擊會對你的工作帶來什么樣的損失,至少可以降低一些風險。

譬如,如果你只有一個單一的機器學習模型作為鑒別保密信息源的唯一安全防線,即使它不會被欺騙,也并不是一個好主意。但是假如你只是用機器學習作為一個中間處理過程,還是有人工鑒別的操作,也許就會沒事。

換句話說,將機器學習模型和其他手段一樣看成不是完全可靠的技術。想一想如果某個用戶故意黑進你的系統欺騙你的網絡,這會帶來什么樣的后果,你需要怎么樣處理來降低這種風險。

了解更多

想要了解更多關于對抗性例子和防護攻擊的信息嗎?可以參考一下這些相關資源:

  • 這一領域的研究尚且年幼,讀一些關鍵的論文就可以讓你入門了:《神經網絡有趣的特性》(https://arxiv.org/abs/1312.6199)、《對抗性例子的解讀和掌握》(https://arxiv.org/abs/1412.6572)、《針對機器學習的實用黑箱攻擊》(https://arxiv.org/abs/1602.02697)、和《實際生活中的對抗性例子》(https://arxiv.org/abs/1607.02533)。
  • 關注Ian Goodfellow和Nicolas Papernot的cleverhans博客以跟進最新的研究進展:http://www.cleverhans.io/。
  • 看一看正在進行的Kaggle競賽,研究者們正在想辦法研究新的防御這種攻擊的方法。

原文:

https://medium.com/@ageitgey/machine-learning-is-fun-part-8-how-to-intentionally-trick-neural-networks-b55da32b7196

【本文是51CTO專欄機構大數據文摘的原創譯文,微信公眾號“大數據文摘( id: BigDataDigest)”】

     大數據文摘二維碼

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2020-08-06 10:11:13

神經網絡機器學習算法

2016-12-27 14:24:57

課程筆記神經網絡

2023-09-03 14:17:56

深度學習人工智能

2023-04-19 10:17:35

機器學習深度學習

2021-03-29 09:02:24

深度學習預測間隔

2025-02-24 08:00:00

機器學習ML架構

2020-11-02 08:00:00

深度學習神經網絡人工智能

2023-02-28 08:00:00

深度學習神經網絡人工智能

2018-04-08 11:20:43

深度學習

2017-12-22 08:47:41

神經網絡AND運算

2017-01-10 17:25:59

深度學習框架神經網絡

2018-02-05 08:58:36

Python神經網絡識別圖像

2018-05-28 13:12:49

深度學習Python神經網絡

2017-10-31 11:05:00

深度學習神經網絡壓縮和加速方法

2019-01-05 08:40:17

VGG神經網絡

2018-03-20 15:33:05

深度學習加密貨幣

2017-03-10 12:16:46

機器學習

2024-10-17 13:05:35

神經網絡算法機器學習深度學習

2024-09-12 08:28:32

2017-03-22 11:59:40

深度神經網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 超碰97免费在线 | 自拍偷拍亚洲一区 | 日本久久久一区二区三区 | 成年人在线视频 | 综合伊人 | 天天色av | 91在线精品秘密一区二区 | 精品一区二区三区91 | 一区二区三区国产视频 | 日韩电影一区二区三区 | 一区二区三区四区在线视频 | 久久综合激情 | 午夜国产一级片 | 精品国产99 | 91香蕉视频在线观看 | 国产99热精品| 国产农村妇女精品一二区 | 欧美韩一区二区 | 成人久久久 | 国产日韩精品视频 | 欧美a级成人淫片免费看 | 久久久成人免费一区二区 | 国产精品三级 | 亚洲婷婷六月天 | 亚洲国产精品久久人人爱 | 中文字幕精品一区 | 久久免费看| www.精品国产 | 欧美日韩亚洲一区 | 国产一区二区三区免费 | 亚洲啊v在线 | 欧美一区二区三区在线看 | 午夜小影院 | 中文字幕亚洲视频 | 日本精品视频 | 干出白浆视频 | 午夜性色a√在线视频观看9 | 国产精品九九九 | 国产欧美性成人精品午夜 | 久久精品视频网站 | 99免费精品视频 |