深度學習 — VGG

littlemilk
數據領航員
Published in
6 min readJun 10, 2022

目錄

影像分類
特色
實作
參考資料

影像分類

在影像分類技術迅速成長的時代,ImageNet 這個影像資料集專案,每年都會舉辦 ILSVRC ,號召全世界的參賽者,針對已標注好類別的 1000 的分類,每個類別約有 1000 張圖像,來進行影像分類。在 2012 年~ 2015 年之間,名列前茅的隊伍多是深度學習的網路架構,直至 2017 年也是 ILSVRC 舉辦的最後一屆,此比賽使用的資料集算是被完全解決的任務,不過過程中產生了許多的經典深度學習模型,本文要介紹的 VGG 網路就是在 2014 年獲得影像分類亞軍與影像定位冠軍的模型。

Source

VGG 在 ILSVRC 上展露頭角後,由 Karen Simonyan 與 Andrew Zisserman 於 Very Deep Convolutional Networks For Large-Scale Image Recognition在 ICLR 2015 上正式提出,主要提出了用更深更多層的網路架構,搭配小的卷積核可以有更出色的成效。

VGG16 模型架構

特色

更深的網路架構

VGG 模型有兩個版本:VGG16、VGG19,其中的差異在於隱藏層層數的不同,VGG16 有 16 層隱藏層;VGG19 則有 19 層。

VGG16、VGG19 對應圖中的 D、E 模型
VGG16、VGG19 對應表中的 D、E 模型

以 VGG16(D)來說,架構為

  • 13 卷積層(Convolution Layer) :皆是 3X3 的卷積核。
  • 3 層全連結層(Fully Connected):分別為 4096、4096、1000 的節點數。
  • 5 層最大池化層(Max Pooling):2X2 的最大池化層,stride 設定為 2。

有權重的隱藏層總計有 16 層,對應模型名稱中的 16。

VGG 較深的模型架構,可以加強深度學習透過激勵函數(Activation Function)所帶來的非線性結構,這樣的結構也是深度學習相較於傳統統計模型的一大優勢,能擷取出更多有用的訊息。

用更小的卷積核

由模型架構可以發現,VGG 模型皆使用 3X3 的卷積核,因為相較於較大的卷積核,更換成 3X3 的卷積核可以使模型架構更深,並且參數量還更少

  • 1 層 5X5 卷積核可更換成 2 層的 3X3 卷積核
  • 1 層 7X7 卷積核可更換成 3 層的 3X3 卷積核

下圖以 1 層 5X5 卷積核更換成 2 層 3X3 卷積核來舉例:

Source

使用 5X5 卷積核的話,1 層就會輸出成 1X1 的特徵,參數量為

若以 3X3 卷積核替代,2 層後才會輸出成 1X1 的特徵,參數量為

較小的卷積核讓神經網路從圖像中學習更細微的 pattern,並將越來越複雜抽象的概念逐層收斂,展現出 CNN 的空間層次特性。

實作

我們使用 Python 的 Keras 套件來練習 VGG16 的實作,Keras 是在 Tensorflow 2 套件中的高級 API,請確保在您的電腦已安裝 Tensorflow。

pip3 install tensorflow

以下詳細程式碼都可在 這裡 找到

我們可以自己從零建構 vgg16

不過並且其實 keras 內建就已經收錄了 vgg16 的模型架構,並可以直接下載使用 ImageNet 1000 種分類所訓練好的權重。

我們使用李孝利的愛犬順心的照片來讓 VGG16 模型做分類

Source
Predicted: 
[('n02097474', 'Tibetan_terrier', 0.51207715),
('n02094114', 'Norfolk_terrier', 0.15288493),
('n02098413', 'Lhasa', 0.10419147)]

模型所分類最高的是「西藏㹴」的犬種,可能模型有學習到順心毛很長的特性~

西藏㹴

參考資料

教育部補助大專院校STEM領域及女性研發人才培育計畫目標為建構一個「以智慧物聯技術與實務應用為基礎的教育環境和實作場域」,並規劃出符合此STEM教育領域的創新特色課程,以畢業前進入企業實習的方式,讓學生了解相關產業界所面對的問題,再輔以業界實作場域的教育訓練活動,共同帶領學生發展出動手做、判斷與解決問題的相關技能;本計畫也規劃讓學生以專題實作的組隊方式,跟業界協力領導學生對外參與智慧物聯技術的應用競賽,不僅可以累積學生實務開發的能力,更能激發其潛能來幫助企業解決所面臨的難題。

Data Science Meetup 台灣資料科學社群的使命是「為資料科學人士與企業創建經濟機會」。我們相信大數據蘊藏著巨量的信息和價值,如何處理好大數據並發掘其潛藏的商業價值,就要靠資料科學有效的應用。21世紀是資料科學決勝時代,我們社群將為大家提供與資料科學相關的最新技術和資訊實戰攻略,並透過全球業界人士和學者幫助相關職業規劃與挑戰,社群活動包含

  • 台北實體版聚
  • 線上版聚
  • Mentorship Program

歡迎加入我們社團瞭解更多資訊:
https://www.facebook.com/groups/datasciencemeetup/

--

--

littlemilk
數據領航員

東吳大學資料科學系|Machine Learning & Full Stack|數據領航員🖊深度學習|喜歡學習所有對生活有幫助的科技知識,追求用科技感動人心的時刻| Github : littlemilkwu & ✉️ : leowu0819@gmail.com