如果將一個(卷積)神經網路訓練看作一個函數擬合,自然可以想到它能在訓練集上擬合得到較小的loss從而在訓練集上實現較高的準確度,但是為什麼它也能在測試集上得到較高的準確度?

是兩個集合分佈之間有什麼關聯嗎?


對於正常的任務而言,你的訓練數據和測試數據必然是有所聯繫的。理想情況下,訓練數據和測試數據應該是同分布的。因此,訓練數據和測試數據都有很多相似的特徵。CNN可以看成是一個很強的特徵提取的工具,它把圖像從原空間映射到了特徵空間,在這個空間中能夠區分不同類的圖片。

對於相似分佈的測試圖像,通過這個訓練好的網路投影后的特徵一樣也能被分開。

但是由於實際中我們的訓練數據是有限的,也就是是對樣本空間中的一個抽樣。一個簡單的理解就是,這樣使得訓練數據並不能包含測試數據中出現的所有情況,它們的分佈不完全一樣。因此會出現測試集上的準確率稍低的情況。


這目前沒有人能解釋清楚。


我感覺應該是網路提取出來的特徵比較相似,就比如手寫數字識別,最終得到的特徵相似softmax就把它分到同一類去了


因為最優解所需要提取的特徵必然包括能夠在訓練集通用且區分度大的特徵。

訓練集夠大 自然能夠在測試集使用這些通用而一針見血的特徵提取器來區分。

簡單說 就是強迫神經網路發現最優區分特徵。


深度學習(DL)是一類機器學習演算法,使用多個層逐步從原始數據中提取更高層的特徵。

——維基百科

它表達於圖像中的意思如下

通過大量貓圖訓練

強迫網路丟棄無關特徵 強化貓的「共性」 就擁有了疑問中比較好的「泛化能力」

tensorflow的名字就很好詮釋了它的機制,把圖像當作一個張量(這裡取其多維數組含義) 讓它流過網路 像一個淘金過程 將光照、隨機背景等與「貓」無關的東西層層濾掉 抽取訓練數據中貓的「最大公約特徵」 對於它來說 尖耳朵大眼睛毛茸茸 這些特徵纔是重要的 姿態 背景 花色 它不關心 所以你也可以理解為 它「沒見過的」 這個概念是錯的 它見過太多這種特徵了 是個老司機 這尖耳朵大眼睛毛絨絨 見過太多了 不是什麼「新」圖像


如果將其理解為分佈的話,這兩個分佈確實有相似之處。通常如果測試集和訓練集獨立同分布的話,你可以得到較好的準確率。但如果拿識別貓狗的網路識別花草,這當然是不行的。這麼說是網路學到了貓狗的特徵,一個鼻子兩個眼睛兩個眼睛一張嘴巴,就和人學習事物一樣,但沒有我們這麼智能罷了,不過將來就說不定了,畢竟阿爾法狗還是贏了柯潔,雖然在這裡,機器的計算速度遠勝於人類。


未出現過的圖像只是出現過的圖像的局部的組合。


有重疊。


推薦閱讀:
相關文章