2017-03-05 35 views
2

我試圖在Caffe上訓練我自己的網絡,類似於Imagenet模型。但是我對作物層感到困惑。直到我瞭解Imagenet模型中的作物層,在培訓期間,它將隨機抽取227x227圖像作物並訓練網絡。但是在測試期間,它將採用中心227x227圖像裁剪,當我們從256x256圖像裁剪中心227x27圖像時,我們是不是放鬆了圖像的信息?第二個問題是,我們如何確定在培訓期間需要的作物數量?Caffe |通過隨機裁剪來增加數據

此外,我還訓練了同樣的網絡(層數相同,FC神經元的卷積大小明顯不同),首先從256x256圖像獲取227x227的作物,然後從256x256圖像獲取255x255作物。根據我的直覺,255x255作物的模型應該給我最好的結果。但是我用227x227圖像獲得更高的準確性,任何人都可以向我解釋背後的直覺,還是我做錯了什麼?

+0

我認爲這個問題應該得到一個更廣泛的答案,描述caffe如何處理「實時」數據增強。非常希望看到這個答案。 – Shai

+0

@Shai Ya thats fine。 – Dharma

回答

0

您的觀察結果不是特定於Caffe。

由於上游網絡層(卷積等)需要圖像爲相同尺寸,訓練和測試期間裁剪圖像的尺寸需要相同(您的情況爲227x227)。隨機作物在培訓期間完成,因爲您需要數據增強。但是,在測試期間,您想要針對標準數據集進行測試。否則,在測試期間報告的準確性也將取決於移動測試數據庫。

作物是在每次迭代時動態製作的。訓練批次中的所有圖像都是隨機裁剪的。我希望這能回答你的第二個問題。

你的直覺並不完整:對於更大的作物(227x227),你有更多的數據增加。數據增強從本質上創造了「新」訓練樣本。這對防止訓練時過度配合至關重要。對於較小的作物(255x255),您應該期望更好的培訓準確度,但測試準確度更低,因爲數據更可能過度配備。

當然,裁剪可能過度。太多的裁剪,你從圖像中失去了太多的信息。對於圖像分類,理想的裁剪尺寸是不會改變圖像類別的尺寸(即只裁剪掉背景)。