PaddlePaddle學習心得

2021-10-24 01:45:00 字數 2035 閱讀 9950

lenet

lenet是最早的卷積神經網路之一[1]。2023年,yan lecun第一次將lenet卷積神經網路應用到影象分類上,在手寫數字識別任務中取得了巨大成功。lenet通過連續使用卷積和池化層的組合提取影象特徵,其架構如 圖1 所示,這裡展示的是作者**中的lenet-5模型:

第一模組:包含5×5的6通道卷積和2×2的池化。卷積提取影象中包含的特徵模式(啟用函式使用sigmoid),影象尺寸從32減小到28。經過池化層可以降低輸出特徵圖對空間位置的敏感性,影象尺寸減到14。

第二模組:和第一模組尺寸相同,通道數由6增加為16。卷積操作使影象尺寸減小到10,經過池化後變成5。

第三模組:包含5×5的120通道卷積。卷積之後的影象尺寸減小到1,但是通道數增加為120。將經過第3次卷積提取到的特徵圖輸入到全連線層。第乙個全連線層的輸出神經元的個數是64,第二個全連線層的輸出神經元個數是分類標籤的類別數,對於手寫數字識別其大小是10。然後使用softmax啟用函式即可計算出每個類別的**概率。

alexnet

alexnet與lenet相比,具有更深的網路結構,包含5層卷積和3層全連線,同時使用了如下三種方法改進模型的訓練過程:

資料增廣:深度學習中常用的一種處理方式,通過對訓練隨機加一些變化,比如平移、縮放、裁剪、旋轉、翻轉或者增減亮度等,產生一系列跟原始相似但又不完全相同的樣本,從而擴大訓練資料集。通過這種方式,可以隨機改變訓練樣本,避免模型過度依賴於某些屬性,能從一定程度上抑制過擬合。

使用dropout抑制過擬合

使用relu啟用函式減少梯度消失現象

vg**gg是當前最流行的cnn模型之一,2023年由simonyan和zisserman提出,其命名**於**作者所在的實驗室visual geometry group。alexnet模型通過構造多層網路,取得了較好的效果,但是並沒有給出深度神經網路設計的方向。vgg通過使用一系列大小為3x3的小尺寸卷積核和池化層構造深度卷積神經網路,並取得了較好的效果。vgg模型因為結構簡單、應用性極強而廣受研究者歡迎,尤其是它的網路結構設計方法,為構建深度神經網路提供了方向。

圖3 是vgg-16的網路結構示意圖,有13層卷積和3層全連線層。vgg網路的設計嚴格使用3×33\times 33×3的卷積層和池化層來提取特徵,並在網路的最後面使用三層全連線層,將最後一層全連線層的輸出作為分類的**。 在vgg中每層卷積將使用relu作為啟用函式,在全連線層之後新增dropout來抑制過擬合。使用小的卷積核能夠有效地減少引數的個數,使得訓練和測試變得更加有效。比如使用兩層3×33\times 33×3卷積層,可以得到感受野為5的特徵圖,而比使用5×55 \times 55×5的卷積層需要更少的引數。由於卷積核比較小,可以堆疊更多的卷積層,加深網路的深度,這對於影象分類任務來說是有利的。vgg模型的成功證明了增加網路的深度,可以更好的學習影象中的特徵模式。

googlenet是2023年imagenet比賽的冠軍,它的主要特點是網路不僅有深度,還在橫向上具有「寬度」。由於影象資訊在空間尺寸上的巨大差異,如何選擇合適的卷積核來提取特徵就顯得比較困難了。空間分布範圍更廣的影象資訊適合用較大的卷積核來提取其特徵;而空間分布範圍較小的影象資訊則適合用較小的卷積核來提取其特徵。為了解決這個問題,googlenet提出了一種被稱為inception模組的方案。

第一模組使用乙個64通道的7 × 7卷積層。

第二模組使用2個卷積層:首先是64通道的1 × 1卷積層,然後是將通道增大3倍的3 × 3卷積層。

第三模組串聯2個完整的inception塊。

第四模組串聯了5個inception塊。

第五模組串聯了2 個inception塊。

第五模組的後面緊跟輸出層,使用全域性平均池化層來將每個通道的高和寬變成1,最後接上乙個輸出個數為標籤類別數的全連線層。

PaddlePaddle學習筆記(一)

paddlepaddle入門 為了盡快上手,選擇了docker模式。1.通過虛擬機器安裝安裝centos 7作業系統。2.安裝docker 新的作業系統一條語句就ok了。sudo yum install docker3.選擇適合的paddlepaddle版本,4.一句命令就可以了。docker pu...

paddlepaddle飛漿學習

小白的七日機器學習 1為什麼paddlehub。一直覺得機器學習是乙個非常難得東西,主要在於它的不確定性和數學公式的複雜。但是paddlehub作為乙個機器學習框架,整合了很多機器學習熱門的研究領域,成果。可以讓人非常方便的快速運用一些機器學習的知識,有了一點成就就很有動力接著學下去。2.我學到了什...

PaddlePaddle學習筆記(一)

開始學習paddlepaddle,平時太忙,學習時間不固定。記錄下心得。這是預習課程的學習。從普及知識開始,到paddlepaddle的工具ai studio基本操作,包括python基礎,仔細看下來還不算難,除了其中的數學基礎外,呵呵,太久了,都還給老師了。講真,預習資料裡面的東西還是比較全面的,...