iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
AI & Data

AI Facial Expression Recognition: Data, Model, Application系列 第 8

[Day 08] 從 tensorflow.keras 開始的 VGG Net 生活 (第一季)

-1. 序

OK,資料分析做完了,
現在要進入演算法的部分,
我們未來幾天將從經典卷積神經網路架構中,
尋找適合FER2013資料集的演算法。
最後經由實驗挑出最佳的CNN演算法。
在實驗結果出來之前,
請讓我來介紹一些知名CNN架構吧!

0. 前言

在唐朝,劉禹錫的〈陋室銘〉曾書「山不在高,有仙則名。水不在深,有龍則靈」。
但是,在深度學習的領域應該改為「山就要高,有ResNet則名。水就要深,有VGG則靈」
西元2014年,
〈Very Deep Convolutional Networks for Large-Scale Image Recognition〉橫空出世,
當時沒有人想到,居然有神經網路可以深到16層,甚至是19層。
它就是VGG Net


1. VGG16 網路架構詳細圖解

表格中D欄和E欄分別代表VGG16和VGG19的神經網路架構,
可以發現兩者架構基本一樣,只是VGG19多了3層卷積層。
VGG的架構可以說是十分簡單,
但在當時可是一大創新!
相較於AlexNet的成功,
VGG用多個小卷積核取代單一大卷積核的操作看似隨意,
但背後的意義卻非常有道理。
架構圖

1.1 VGG 的優點

  1. 採用兩層3x3卷積核取代一層5x5卷積核:
    在同樣大小的圖片區域(感知視野)中,
    提升了網路的深度,就可以用更複雜的非線性函數去學習,
    而且兩層3x3比一層5x5的參數量還少,真是一箭雙雕!
  2. 結構簡單:
    使用完全相同的結構,組成一個區塊(block),
    透過不斷疊加相同區塊的方式增加網路深度。
    簡潔又漂亮!
  3. 模型加深:
    上一個稱霸ImageNet影像辨識競賽的神經網路是AlexNet,深度也就8層。
    但是VGG證實了模型是可以加到19層,並且是可訓練成功的!
    開啟了往後模型越來越深的先河,(不過發展到最後有點太深了)

1.2 VGG 的缺點

  1. 模型肥大:
    你看看VGG最後的三個全連接層(FC-4096, FC-4096, FC-1000),
    就知道這個模型效率是很差的,參數量高達147M。

未完待續

實作部分請參考明天的文章

參考資料

  1. https://arxiv.org/abs/1409.1556

上一篇
[Day 07] 特徵圖想讓人分群 ~模型們的遷移學習戰~ 第二季 (k-means 實作篇)
下一篇
[Day 09] 從 tensorflow.keras 開始的 VGG Net 生活 (第二季)
系列文
AI Facial Expression Recognition: Data, Model, Application30

尚未有邦友留言

立即登入留言