論文閱讀:神經網絡的有趣性質(Intriguing Properties Of Neural Network)

這篇文章提出對抗樣本(Adversarial example)這個坑。所謂對抗樣本,就是在原樣本上引入細微擾動,就能使得模型出現誤分類的情況,這也是對抗生成網絡的啓發思想


深度學習自詡爲特徵學習的模型,但是這特徵由數據出發進行自主的學習,故而其學習到的特徵並不一定就是我們所希望的特徵,有一點可以確定的是,其對數據的理解與人的理解有着很大的差異,故而,其學習到的特徵,也極有可能並非是人理解事物的特徵。

從信息論的角度來看,我們所謂的這些特徵不過是信息的一種編碼,我們真正需要的是獲取信息本質,故而對此也無可厚非,只是這種信息的編碼結構不具備人腦中信息編碼的結構特性。那麼一部分工作就可以作爲分析編碼的結構特性

Adversarial Example expose fundamental blind spots in our training algorithm.

 

文中提到兩個性質:

1.There is no distinctionbetween individual high level units(activated) and random linear combination ofhigh level units

【 It suggests that itis the space, rather than the individual units, that contains the semanticinformation in the high layers of neural networks. 】

It'sthe entire space of activations, rather than the individual units, thatcontains the bulk of the semantic information.【這裏做出的解釋是用word embedding的例子,單個詞向量不能表示所包含的語義關係,詞向量的空間信息,即與其他詞向量的空間關係才真正蘊含一個詞的意思,原理如PageRankembedding的空間進行旋轉依舊能保留原來的本義信息,向量本身也已經改變了。數據進行再編碼後,要理解該編碼的信息需要把這個信息放在編碼空間裏面】

我覺得一方面是信息的冗餘,就是信息交叉重複分佈在不同的units中,信息不可能在這種情況下集中在某個units中(由熵的概念進行分析),不過激活的units可能包含足夠多的信息,但不代表這些信息在其他units不存在。

這個性質的提出主要是有別於過往對於神經網絡units學習得到的semanticmeaning,因爲過去有發現特定的輸入能夠讓某些units最大的激活,故而認爲這些units能夠單獨表示抽取的語義信息。

不過這裏有個trick是說,這裏說的語義信息的分析,是通過把一堆圖片丟進去,然後找出同時能夠讓某一單元激活值最大的圖片,再對這些圖片進行分析它們的共同特徵,然後就認爲說這個units學到了這些特徵。這個方法也叫unit-levelinspection methods


 

 

2.Deep neutralnetwork learn input-output mappings that are fairly discontinuous to asignificant extent. A certain perturbation can cause the network misclassify animage.值得注意的是同樣的擾動在其他數據集訓練的模型上依舊能夠保持這樣的效果

The outputlayer unit of a neural network is a highly nonlinear function of its input

 

Smoothnessassumption(細微的擾動對模型分類結果影響不大)that underlies many kernel methods does not hold. 其實大多數的隨機情況下,還是能夠做到這一點的,It's hard to efficiently find by simply randomly sampling the inputaround a given example.(數據沒有顯式的表明,多小的perturbation能夠進行localgeneralizationIt has beenargued that the deep stack of non-linear layers in between the input and theoutput unit of a neural network are a way for the model to encode a non-localgeneralization prior over the input space【Learning deeparchitectures for ai. Foundations and trends® in Machine Learning, 2(1):1–127,2009.】),甚至有模型employ input deformations during training for increasing therobustness and convergence speed of the model9,13

 

因爲大多數的perturbation並不能實現AdversarialExample的效果,即不能使網絡出現錯誤的分類,那麼就需要一種有效的方法來找到Adversarial Example

 

AdversarialExample三個特性:

  1. For all the network we studied(MNIST, QuoceNet, AlexNet),can always managed to generate adversarial examples.
  2. Cross model generalization:相當一部分的Adversarial Example在其他超參的網絡上依然會misclassify(超參包括number of layers, regularization or initial weights,故而dropout等泛化操作不能解決該問題)
  3. Cross train-set generalization:相當一部分的Adversarial Example在通過其他數據集上訓練得到的網絡上依然會misclassify

以上三個特性表明對抗樣本不是特定模型過擬合或特定數據集合呈現的結果:Adversarial examples are somewhat universaland not just the results of overfitting to a particular model or to thespecific selection of the training set

 

Theyalso suggest that back-feeding adversarial examples to training might improvegeneralization of the resulting models.

A subtle, butessential detail is that we only got improvements by generating adversarialexamples for each layer outputs which were used to train all the layers above.

 

分別求幾個不同層perturbationupbound,從數學形式分析輸入perturbation影響的大小:

ReLU層:


 

Max-Pool層:


卷積層:


文中最後提出對抗樣本的出現意味着目前神經網絡在泛化性能上存在缺陷,不過對抗樣本一般不可能出現在測試集甚至在現實生活中。也提到對對抗樣本的出現仍未有一種較好的解釋,故而留下了一個坑解釋這個問題“However,we don’t have a deep understanding of how often adversarial negatives appears,and thus this issue should be addressed in a future research.”


另有一篇比較通俗的博文來解讀這篇文章:

https://dev.kdnuggets.com/2014/06/deep-learning-deep-flaws.html



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章