30 深度 習 高階池化

Mondo 教育 更新 2024-01-30

嗨,你好。 我是茶桁架。

在上一課中,我們習詳細學習了卷積原理,在這個過程中,我們談到了乙個更重要的概念,叫做input channeloutput channel

當然,沒有必要直接實現,卷積、pytorch、tensorflow 等原理,其實已經實現了。 但是,如果我們現在使用 Pytorch 的卷積運算,它將有乙個輸入通道和乙個輸出通道。

方法如下:conv2d,表示此處應用的過濾器是 2D 過濾器。 那麼它是如何進行3D的呢?是將每一層的結果相加。

還有另乙個對應物conv3d此時,過濾器已大不相同。

當我們使用它時,我們通常會應用它conv2d。如果在 Conv3D 中,我們每層都有不同的值,感覺會更好。 但其實我們現在得到的過濾器都是我們自己寫的,但是為了提取自然界中非常非常多的特徵,其實我們會讓機器自動生成並初始化一堆過濾器,而這些過濾器的結果都是隨機的。

也就是說,這個濾波器的結果在深習中實際上是隨機的,然後通過訓練和反向傳播,這些濾波器會自動學習到習乙個值。 也就是說,它會自動收斂到某個值,而這個值在這種環境下應該如何從卷積中提取特徵,所以我們在製作 2D 時需要擬合的引數更少。

如果濾波器前面有很多很深的輸入通道,那麼濾波器需要擬合很多引數,如果是2D,只需要擬合這層2D。 這就是 2D 和 3D 之間的區別,也是為什麼通常使用 2D 而不是 3D。

如果你現在想使用卷積,第乙個引數是輸入通道。 第二個是輸出通道。 輸出通道實際上就是有多少個濾波器。

核大小是指卷積完成時卷積的大小。 例如,如果是 3 * 3,則核心大小為 3,也可以寫成 (3,3)。

還有乙個引數叫步幅,這個步幅就是步幅。 那麼,這一步是為了什麼呢?我們一般使用濾鏡對影象進行去卷積處理時,是矩陣上從左到右、從上到下移動的乙個單位,這個步幅就是加快移動速度,從而設定間隔。 例如:那我就以一句台詞為例,就知道意思就行了。 例如,如果篩選器是 3 列,則它應該按順序排列,然後是,但我設定了步幅以跳過要執行的步驟。 在在那之後,它可以是。stride 預設為 1。

下乙個引數 padding。 如果有乙個帶有 3*3 濾波器的 6*6 影象矩陣,那麼 6*6 影象的卷積將首先變成 4*4,然後變成 2*2。 結果是它越來越小,這意味著抽象級別越來越高。

所以因為每個視窗都在不斷變化,所以在下一輪中,如果你想在中間新增一些操作,維度就會發生變化,這會導致每次你想在中間連線一些東西時,都會重新計算維度。

換句話說,維度的不斷變化會導致在編寫**時計算變得更加複雜。

其次,我們不想過快地減少它。 在極端情況下,拍攝 10,000 x 10,000 的影象可以很快變成 2 x 2 的影象。 如果抽象級別太高,資訊就會少。

第三個解釋起來比較複雜,如果我們仔細想想,如果乙個濾波器在影象上從左向右移動,那麼當按順序進行卷積時,最左邊的一列只計算一次,但中間的位置被掃入計算多次。 我們想要的是邊緣上的資料可以多次計算,也就是說,可以重複提取。

有乙個非常簡單的方法來解決這三個問題,那就是填充。 這意味著在圖形的外部新增了乙個或兩個零圓圈。 如果要新增乙個 0 的圓圈padding=1。如果它等於 2,則新增兩輪 0。

下乙個dilation。這就是我們在進行圖分割時使用的。 在模式識別方面,您現在不必習它。

當我們卷積乙個**時,它會變得越來越小,這稱為下取樣。 下取樣後,如果我們想做影象分割,就需要把影象的所有主要部分都塗黑,其他部分都塗成白色,我們需要在這個小樣本的基礎上進行擴容,慢慢恢復到原來的大小,這叫做上取樣。 有時在上取樣時使用它dilation

這些是重要的引數。 在討論了這些引數之後,實際上基本上解釋了卷積的幾個重要特徵。

除了卷積之外,還有乙個更重要的操作:pooling,池化操作。

池化操作其實很簡單,我們得到乙個**,卷積運算就是選擇乙個視窗和濾波,做乙個F乘法W再加法。 sum(f*w).池化是乙個簡單的操作,它平均 W 側的所有值,也可能是最大值。 如果它是最大值,則最大值表示圖形中對其影響最大的點。

所以在池化之後,每次做這個操作,圖形都會變小,但影象基本保持不變。 也就是說,池化操作之前和之後的影象是相似的,並且它採用最重要的資訊。

現在我們來想一想,如果有**,不管是卷積還是池化,都會縮水。 那麼我們來想一想,如果兩個操作都導致影象被縮小,為什麼會有兩個操作呢?

我們機器習最麻煩的就是所謂的過擬合,就是訓練時效果很好,但實際效果卻不好。

控制過擬合最主要的是減少引數,當引數越少才能達到效果時,我們期望引數越少越好,在資料量相同的情況下可以防止過擬合越多。

過去,卷積中的這些值是由人類決定的,但現在它們被期望由機器自動求解,這意味著這個引數需要自己求解。 另一方面,池化不需要設定引數,它沒有引數,這會減少引數。

使用池化後,不僅引數減小,而且下乙個 x 的維度也減小。 所以核心是我們減少了需要訓練的引數。

之所以使用池化,是因為它可以減少引數,從而減少過擬合的問題。 但是,如果你有很多資料,或者模型本身更容易訓練和收斂,那麼你實際上可以不用這種池化操作。

所以這個時候,我想和大家談談乙個更重要的概念,叫做權重分配和區域性不變性:parameters sharing and location invariant.這種位置不變性也稱為移位不變性。 CNN的兩個最重要的特徵中的第乙個是它的權重共享。

我們給乙個**,只是我之前的頭像,如果有過濾器,它是3*3,那麼這個3*3的網格和每個視窗上的這個過濾器是一樣的。

所以讓我們想一想,如果有一張 1000 乘以 1000 的圖,我們就得寫出這個 1000 * 1000 的數字wx+b如果這個 x 是 100 萬個維度,那麼這個 w 也是 100 萬個維度。

因此,如果我們要進行訓練,我們將不得不訓練 100 萬 W。 這是擬合線性變化,因此,如果我們要擬合卷積,如果輸出通道為 10,我們需要擬合哪些引數?

卷積核為 3*3,其中 10。 這是 9*9 乘以 10。 不管位置是 1,000 * 1,000 還是 10,000 * 10,000,我們都希望在卷積核中擬合這個引數。

我們做一層卷積,即使我們給出 10 個卷積核,也是 90。 如果要給它做乙個線性變化,就得拿到100萬,兩者的差值非常大。

為什麼會有這麼大的差異?這是因為不同位置使用的過濾器的值是相同的。 濾鏡引數在整個影象中共享。 這就是卷積神經網路的權重分配。

那麼現在我們來想一想,我們有這個引數共享,它有什麼作用呢?

減少引數數量的效果是防止過擬合,而防止過擬合的最終體現就是我們的各種計算機視覺任務,效能不錯。 除此之外,還有乙個功能可以大大提高我們的計算速度。

最初,如果你有這麼多引數,我們將不得不一次反向傳播 100 萬次反向傳播。 現在我們只做九十個。

因此,權重共享實際上是卷積神經網路執行得如此之好的原因。

2024年,計算機視覺的測試效果有了突飛猛進的提公升。 這是因為使用了卷積神經網路。

過去,大家在實驗室環境中的訓練集上都做得很好,但是拿到測試集後,效果很差。 後來,在使用卷積神經網路後,這個錯誤率突然下降了。

價值共享功能帶來了乙個稱為定位不變性的功能。 這只是乙個地方的事情,我們正在把它連線在一起。

我們各有兩個**,例如,下面這幅我曾經畫過的畫,我分別改變了構圖。

兩種影象資料在表示方面有很大不同,但是在對眼睛的位置進行卷積後,只要使用相同的卷積核,結果是相似的。 因此,定位不變性意味著無論眼睛在哪裡,我們都可以提取它。

假設我們在訓練中,無論眼睛在哪裡,只要訓練了濾波器,即使它在測試資料集上的位置發生了變化,我們仍然可以提取它的特徵,並且仍然能夠計算出與它相似的這個值,這就是所謂的定位不變性。

這兩個特徵非常重要。

老實說,構建卷積神經網路最重要的是看經驗。 在下一課中,我們將介紹幾種經典的神經網路結構。

相關問題答案

    28 種高階 LSTM 習 深度學習

    如果您對本文中的資源和內容有任何疑問,請給我留言。嗨,你好。我是茶桁架。在上一課中,我們用了乙個例子來說明為什麼我們使用 RNN 神經網路,以及它與全連線神經網路的區別。在這一課中,我們將繼續討論上一課的內容,如果你還沒有看過上一課,建議回去好好看一看,尤其是要弄清楚 的流程順序。乙個全連線的模型必...

    如何培養深入學習習的能力

    在資訊時代,深度學習習能力已成為一項極其重要的技能。無論您是學生 專業人士還是任何領域的從業者,您都將從發展深厚的 習 技能中受益匪淺。本文將解釋如何培養深度學習習技能,以幫助您在習,工作和生活中更加成功。要培養深入學習習的能力,首先需要打下堅實的基礎。這包括對自己領域的深刻理解,以及相關背景知識的...

    PyTorch 深度學習 習 框架揭開神秘面紗,掌握技術的未來!

    ...

    常用的深度學習習自動標註軟體

    介紹 自動標註軟體是一種非常省力的操作,並且隨著深度習的發展,這些自動標註軟體也在不斷增加。本文將重點介紹更經典的自動注釋軟體。.autolabelimg 除了 LabelIMG 的初始功能外,AutoLabelIMG 還包含 多個輔助注釋功能,分別位於 annoatate tools 和 vide...

    我們可以從什麼角度著手解決深度學習習模型訓練的問題?

    在上一篇文章中,我們談到了工業領域深度學習習 習模型訓練中的一些問題。在今天的文章中,讓我們來看看這些現有問題有哪些解決方案 缺陷資料生成 採用人工智慧技術,自動完成缺陷 資料的生成,解決缺陷樣本不足的問題。減少樣本資料依賴性 從小樣本習學習 遷移習 異常檢測,減少不良樣本數量。資料管理 通過數位化...