Neural-Networks

微調 CNN 時應該如何標準化輸入?

  • December 26, 2018

我正在研究一個模型,用於將來自https://www.isic-archive.com的皮膚樣本二元分類為良性或惡性。

我想使用在 ImageNet 上預訓練的 VGG16 模型,並對我的數據集微調一些層。VGG16 論文解釋了他們的預處理步驟,我認為如果想要微調某人的網絡,複製這些步驟很重要。

我們所做的唯一預處理是從每個像素中減去在訓練集上計算的平均 RGB 值。

  1. 為什麼他們也不除以標準差?我認為這種標準化(即零中心和單位方差)是一種很好的做法。

更重要的是,由於我正在將網絡微調到我自己的數據集,我想知道我是否應該

  1. 標準化相對於 ImageNet我的數據集的輸入,僅針對 ImageNet,還是僅針對我的數據集?

首先,VGG-16 可能不是適合您的架構。它已被各種架構所取代,其中應用中最常用的是 ResNet。但是,如果您的數據很少,VGG-16 上的遷移學習可能比 ResNet 上更有效。底線,使用兩者並在驗證測試中比較它們。

關於標準化的觀點:Simonyan 和 Zisserman 確實沒有標準化 RGB 強度,但他們沒有應用任何其他預處理是錯誤的:他們應用了重要的數據增強。請參閱他們論文的第 3.1 節。您需要將此處描述的相同數據增強應用到您的訓練集。

如果你選擇使用 ResNet,你想得到這篇論文:

Han 等人,使用深度學習算法對良性和惡性皮膚腫瘤的臨床圖像進行分類,2018

他們使用的模型是 ResNet-152:你可以嘗試使用更小的 ResNet,如果這個模型的遷移訓練被證明是一個太大的挑戰。ResNet 無處不在,你可以在基本上所有框架中找到這種架構的實現,例如

https://github.com/tensorflow/models/tree/master/official/resnet

https://github.com/pytorch/vision/tree/master/torchvision

https://github.com/keras-team/keras-applications


ResNet 模型的標準化

上面的論文是在付費牆後面(但我相信作者會給你發一份副本,如果你給他們發一封電子郵件),所以我不能確定他們是否在這個特定的應用程序中使用了標準化:順便說一句,請注意他們沒有不僅將皮膚病變分類為良性或惡性,而且據我所知,他們將其分類為 12 個不同類別之一。一般來說,訓練 ResNet 的最佳實踐確實建議執行標準化。例如,在https://arxiv.org/pdf/1812.01187.pdf中建議的 BP 中,我們發現:

  • 使用從 [0.6, 1.4] 統一繪製的係數來縮放色調、飽和度和亮度
  • 通過分別減去 123.68、116.779、103.939 並除以 58.393、57.12、57.375 來歸一化 RGB 通道,這應該是每個通道的樣本均值和样本標準差,在 ISLVRC2012 數據集(ImageNet 的子集)的訓練集上計算得出,其中有 130 萬張用於訓練的圖像和 1000 個類。

當然,如果您打算比較 VGG-16 和 ResNet-152(或 ResNet-50:另一種常用的 ResNet 模型,它比 ResNet-152 需要更少的數據)的結果,則需要使用相同的兩者的標準化。

關於您的第二個問題(標準化相對於 ImageNet 和您的數據集的輸入,僅針對 ImageNet,或僅針對您的數據集),選項 3 很瘋狂,因為當您向 NN 提供新數據時,這些數據也必須標準化(因為您標準化訓練集,訓練後 NN 的權重是標準化輸入的“正確權重”)。現在,為了避免測試集洩漏,通常的做法是使用在訓練集(ISLVRC2012,在這種情況下,因為你做了大部分的培訓)。現在,假設您獲得了一個新的皮膚樣本圖像:您必須在將其提供給您的 NN 之前對其進行歸一化。如果您根據新數據集使用樣本均值和標準差對其進行歸一化,您 將做一些與你在訓練期間所做的完全不同的事情,所以我不希望 NN 能很好地工作。選項 3 什麼時候有意義?在兩種情況下:或者當你在新數據集上從頭開始訓練你的 NN 時,或者當你解凍很多層並重新訓練它們時。然而,遷移學習通常只通過解凍 NN 的頂層(softmax 層)來執行。

在選項 1 和 2 之間進行選擇取決於您的數據集 wrt ImageNet 有多大(或者更準確地說,是 ISLVRC2012 數據集,ImageNet 的子集,已用於訓練 ResNet),以及 RGB 值的“極端”程度您的圖像是 ISLVRC2012 的圖像。我建議您計算 ISLVRC2012 和 ISLVRC2012 + 您的訓練集的樣本均值和样本標準差。如果像我想的那樣差異很小,那麼只需使用在 ISLVRC2012 上計算的統計數據。


標準化不是您真正應該擔心的

最後,由於您正在進行遷移學習,因此執行適當的數據增強比專注於適當的規範化*更為重要。*由於顯而易見的原因,皮膚樣本圖像將稀缺,並且數據集將不平衡(即,良性病變的圖像可能比惡性病變的圖像多得多)。由於您的問題沒有詢問數據增強,因此我不會涉及該主題,但我建議您也閱讀:

https://www.nature.com/articles/nature21056

https://academic.oup.com/annonc/article/29/8/1836/5004443

https://www.jmir.org/2018/10/e11936

https://arxiv.org/pdf/1812.02316.pdf

引用自:https://stats.stackexchange.com/questions/384484

comments powered by Disqus