我讀過一些關於卷積神經網絡的論文,發現幾乎所有的論文都將這些完全連接的層稱爲正常的CNN「頂層」。爲什麼我們稱CNN「頂層」中的完全連接圖層?
但是,正如大多數論文所顯示的那樣,典型的CNN具有自頂向下的結構,並且完全連接的層(通常跟着一個softmax分類器)被放置在網絡的底部。那麼,爲什麼我們稱他們爲「頂層」呢?這是一種慣例,還是我不知道的其他考慮因素?
我讀過一些關於卷積神經網絡的論文,發現幾乎所有的論文都將這些完全連接的層稱爲正常的CNN「頂層」。爲什麼我們稱CNN「頂層」中的完全連接圖層?
但是,正如大多數論文所顯示的那樣,典型的CNN具有自頂向下的結構,並且完全連接的層(通常跟着一個softmax分類器)被放置在網絡的底部。那麼,爲什麼我們稱他們爲「頂層」呢?這是一種慣例,還是我不知道的其他考慮因素?
我認爲這只是一個味道的問題,但說「頂層」與神經網絡中「頭部」的概念相關。人們說「分類頭」和「迴歸頭」意味着神經網絡的輸出層(這個術語在tf.estimator.Estimator
中使用,也參見一些討論here和here)。如果以這種方式看到它,那麼頭部之前的層是,而輸入層是底部。無論如何,當他們被稱爲「頂級」時,您應該仔細檢查特定圖層的含義。
有一個很好的理由將它們與其他層次區分開來,遠遠超出「約定」。
CNN有許多層次,每個層次都在不同的抽象層次上。它從非常簡單的形狀和邊緣開始,然後學習識別眼睛和其他複雜的功能。在典型的設置中,頂層將是一層或兩層深度完全連接的網絡。現在,重要的一點是:頂層權重最直接受標籤影響。這是有效地作出決定(或者更確切地說是產生可能性)某物是貓的層。
現在想象一下,你想建立自己的模型來識別可愛的貓,而不只是貓。如果你從頭開始,你必須提供大量的訓練實例,以便模型首先學會識別什麼是貓。通常情況下,您無法獲得大量的數據或足夠的處理能力。你可能會做什麼:
背後的想法是,原始模型已經學會識別CNN圖層中的泛型特徵,並且可以重用這些特徵。頂層已經超越了通用,進入了訓練集中的特定部分 - 這些可以被丟棄。那裏沒有可愛的貓。