簡體   English   中英

如何理解tensorflow中的卷積參數?

[英]How to understand the convolution parameters in tensorflow?

當我在 tensorflow 教程中閱讀“Deep MNIST for Expert”一章時。

下面給出了第一層權重的函數。 我不明白為什么補丁大小是 5*5,為什么特征數是 32,它們是你可以選擇任何人的隨機數還是必須遵循一些規則? 以及特征編號“32”是否是“卷積核”?

W_conv1 = weight_variable([5, 5, 1, 32])

第一卷積層

我們現在可以實現我們的第一層。 它將由卷積組成,然后是最大池化。 卷積將為每個 5x5 補丁計算 32 個特征。 它的權重張量的形狀為 [5, 5, 1, 32]。 前兩個維度是補丁大小,接下來是輸入通道數,最后一個是輸出通道數。 我們還將有一個偏置向量,每個輸出通道都有一個組件。

補丁大小和特征數量是網絡超參數,因此完全是任意的。

順便說一下,為了定義一個工作和執行網絡,需要遵循一些經驗法則。 由於多個小內核的應用與較少數量的大內核之間的等效性,內核大小應該很小(這是一個圖像處理主題,在VGG 論文中有很好的解釋)。 令人上癮的是,使用小過濾器的操作執行起來要快得多。

要提取的特征數量(在您的示例中為 32)完全是任意的,找到正確的數字在某種程度上是一門藝術。

是的,它們都是超參數,在本教程中大多是任意選擇的。 目前已經做了很多努力來尋找合適的內核大小,但對於本教程來說,這並不重要。

教程說:

卷積將為每個 5x5 補丁計算 32 個特征。 它的權重張量的形狀為 [5, 5, 1, 32]

tf.nn.conv2d()告訴第二個參數代表您的過濾器,由[filter_height, filter_width, in_channels, out_channels] 所以[5, 5, 1, 32]意味着你的in_channels是 1:你有一個灰度圖像,所以這里沒有驚喜。

32 意味着在我們的學習階段,網絡將嘗試學習 32 個不同的內核,這些內核將在預測期間使用。 您可以將此數字更改為任何其他數字,因為它是您可以調整的超參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM