---
# System prepended metadata

title: Towards Efficient and Data Agnostic Image Classification Training Pipeline for Embedded Systems
tags: [從頭開始說的影像辨識, Edge AI, 論文解說＋補充, Edge AI 期中論文報告]

---

###### tags: `Edge AI` `Edge AI 期中論文報告` `從頭開始說的影像辨識` `論文解說＋補充`

# Towards Efficient and Data Agnostic Image Classification Training Pipeline for Embedded Systems
**Reference:
Kirill Prokofiev and Vladislav Sovrasov, "[Towards Efficient and Data Agnostic Image Classification Training Pipeline for Embedded Systems](https://arxiv.org/abs/2108.07049)," arXiv:2108.07049v1 16 Aug 2021**
<font color=#808080>_前情提要--這篇論文主要是針對**優化既有模型**的方法著墨，文章裡優化兩個著名的影像分類模型--[MobileNetV3](https://arxiv.org/abs/1905.02244)以及[EfficientNet](https://arxiv.org/abs/1905.11946)，而在本文章當中會從**影像分類的先備工具**開始介紹，然後是**模型優化**的幾種常見方式，最後呈現**論文的實驗結果**。_</font>
:pencil: 
<font size=2>**＊小補充：論文當中著重將機器學習模型放到嵌入式裝置當中，所以需要具備`體積容量小`與`計算量少`的特點，所以預測準確度的標準不同**</font>
<font size=2>**＊SOTA, State-Of-The-Art，指的是在該領域當中，目前最先進，表現最好的模型**</font>
<font size=2><font color=dd0000>**＊由於篇幅問題，本文章當中部分專有名詞僅附上連結，沒有多作解釋**</font></font>
## I. 先備工具
### A. 經典的資料集
**要如何判斷一個模型的好壞呢？** 直觀的想法就是預測準確度高、速度快，並且可以運用在各種情境下，然而**要如何判斷模型是否可以利用在所有的情況下呢？** 這個時候就需要利用一個標準來做比較，下面將會列出在影像辨識領域<font color=dd0000>**五大經典資料集**</font>：
#### a. [ImageNet](https://www.image-net.org)
是一個大型視覺訓練專用的資料集，裡面包含了兩萬多個類別，並且有超過一百萬張已標註的影像。
<font size=2>**＊從2010年開始，每年都會舉行ILSVRC視覺辨識挑戰大賽**</font>
![](https://i.imgur.com/fFDCx30.jpg)
#### b. [CIFAR-10](https://www.cs.toronto.edu/~kriz/cifar.html)
是專屬給機器視覺學習的圖庫，裡面有十種類別，六萬張的影像，分別為飛機、汽車、鳥、貓、鹿、青蛙、馬、輪船、卡車，以及狗。
<font size=2>**＊現在也有CIFAR-100的資料集，內有一百種的影像類別**</font>
![](https://i.imgur.com/1PHXJaR.png)
#### c. [SVHN, Street View House Numbers](http://ufldl.stanford.edu/housenumbers/)
是一個搜集各式各樣戶外門牌號碼的資料集，裡面包含了不同地區、時間，以及天氣所拍攝的影像。
![](https://i.imgur.com/HF3ILaG.png)
#### d. [Caltech 101](http://www.vision.caltech.edu/Image_Datasets/Caltech101/)
是加州理工學院自己產生的數據集，裡面包含了101種類的影像。
![](https://i.imgur.com/dcifH1g.png)
#### e. [SUN397](https://paperswithcode.com/dataset/sun397) (SUN, Scene UNderstanding)
是一個用於場景理解(Scene UNderstanding)基準測試的資料集，內涵397種類。
![](https://i.imgur.com/gq4JmXx.jpg)
### B. 經典的影像辨識模型
知道著名的資料集之後，在這個部分將會介紹影像辨識當中相當著名的<font color=dd0000>**四大模型**</font>：
#### a. AlexNet
是一個卷積神經網路(CNN)架構，透過模型的深度來增加準確度，所以計算成本很高，在加入GPU的幫助之後，使其具有可行性，但仍不適用在嵌入式系統上。
<font size=2>**＊該模型在2012年ImageNet的ILSVRC大賽中以15.3%的「Top-5錯誤率」榮獲第一名**</font>
**<u>架構</u>：**
![](https://i.imgur.com/TcVfmy4.png)
#### b. ResNet
其中最大的貢獻就是 **「Residual」** 的概念（如下圖），這可以降低參數量並減少運算複雜度（，還可以避免次要特徵在深層網路會消失的問題）。
<font size=2>**＊依照模型不同的深度，可以分成ResNet18、ResNet34(一般的residual block)，以及ResNet50、ResNet101、ResNet152(擴張為4的`Bottleneck Block`)**</font>
**<u>架構</u>：**
![](https://i.imgur.com/u9shtki.png)
<font size=2>**＊Bottleneck Block是利用中間加入Kernal(1*1 filter)來達到減少運算量，效果如下：
若是要將(28x28x192)的feature map利用(5x5)的filter，產生(28x28x32)的new feature map，則所需要的參數量是(28x28)x(5x5x192)x32 = 120M，而透過瓶頸層則可以縮減(28x28)x(5x5x16)x32 + (28x28)x(1x1x192)x16 = 12M**</font>
![](https://i.imgur.com/RJjzeCt.png)
#### c. [MobileNet](https://iter01.com/590254.html)
<font size=2>**＊separable convolution (可分離卷積)，分為：</br>:one:空間可分離：將一個大的卷積核變成兩個小的卷積核
![](https://i.imgur.com/9oZXQNf.png)
:two:Depthwise separable convolution(深度可分離)，透過改變Filter架構達到減少參數值的效果。其中包含DW, Depthwise_Convolution（上）＆PW, Pointwise_Convolution（下），以原本的CNN方式計算parameters of filter會是(5x5x3x256=192000)，而經過深度分離之後會變成(5x5x1x3+1x1x3x256=843)**</font>
<font size=2>**＊Depthwise Convolution: Filter的深度為1，提取各個通道中的特徵**</font>
<font size=2>**＊Pointwise_Convolution: Filter的面積為1x1，提取通道之間的特徵**</font>
![](https://i.imgur.com/6mY7yjo.png)
##### 1. MobileNetV1
**目標**：在保持**精確度**的前提，**減少參數量**與**模型複雜度**。
:one: **Width Multiplier(alpha)**：在每一層網路的輸入輸出通道數進行縮減。
:two: **Resolution Multiplier(rho)**：用於控制輸入和內部層表示，即用解析度因子控制輸入的解析度。
**<u>架構</u>：**
![](https://i.imgur.com/4QRMTwF.png)
##### 2. MobileNetV2
**目標**：考慮更多的特徵，增加準確度。
:one: **Inverted Residuals**：利用Pointwise可以擴增通道的特性，解決V1當中DW因前層通道數太少而影響特徵的提取。
:two: **Linear Bottlenecks**：即上述之Bottleneck Block。
**<u>架構</u>：**
![](https://i.imgur.com/Nwj84x3.png)
##### 3. MobileNetV3
**目標**：朝向輕，短，簡為目標。
:one: **SE Module (Squeeze-and-Excitation)**：一種輕量級的**通道注意力模組**，透過特徵提取，賦予每個通道不同的權重值。
:two: **NAS, Neural Architecture Search**：一種**自動化設計人工神經網絡**的方法。通過學習**通道之間的關係**，自動獲得每個特徵的重要程度，提升有用的特徵並抑制用處不大的特徵，提高網路所產生表示的質量。
**<u>架構</u>：**
![](https://i.imgur.com/EgQBuwk.png)
#### d. EfficientNet
這是一個把**NAS**用到出神入化的一種模型（如下圖），他沒有絕對的形狀，而是透過NAS的方式進行探索，來決定模型的高矮胖瘦，以達到最佳化的**輕量化**與**準確度**。
![](https://i.imgur.com/e6asehy.png)
**<u>架構</u>：**
![](https://i.imgur.com/dLIwlna.png)
### C. 嵌入式系統
是一種具有**專一功能**以及**即時計算效能**的小型電腦系統，但在計算力及容量都比電腦少很多，所以要存入的內容物就有很大的限制。
***BUT!*** **為什麼我們不把東西都放到雲端上呢？** 雲端的好處在本篇文章就不再多提了，但是為什麼 **「上雲運動」** 一直無法盛行呢？主要是**兩個原因**：:one:**網路安全性**:two:**資訊延遲問題**，所以**邊緣運算**出現了！
**邊緣運算**，將嵌入式系統裝置部署在本地端，**直接**做傳輸與計算。以下是<font color=dd0000>**常見嵌入式系統裝置**</font>介紹：
#### a. [Arduino](https://www.arduino.cc)
因為**入手容易性**而聞名，是許多~~初踏進Maker坑的~~人會選擇使用的開發版，而在官網當中，有一個很友善的[專屬討論社區(免費)](https://forum.arduino.cc/?_gl=1*13s42fd*_ga*MTg3NTk4MjIwLjE2NDgyODExMjQ.*_ga_NEXN8H46L5*MTY0ODI4MTEyNC4xLjEuMTY0ODI4MTIyOC4w)可以和很多大神交流，也可以提出疑問。
![](https://i.imgur.com/KWyfwD2.png)
#### b. [Raspberry Pi](https://zh.wikipedia.org/wiki/树莓派)
是一種以ARM為架構的電腦處理器（單板微電腦），其宗旨是要以低價硬體，及[自由軟體](https://zh.wikipedia.org/wiki/自由软件)來促進學校的基本電腦科學的教育，操作環境是[UNIX](https://zh.wikipedia.org/wiki/UNIX)架構，而較多人使用的作業系統為raspberry自行開發的Raspberry Pi OS，或是Ubuntu。
![](https://www.howtogeek.com/wp-content/uploads/2022/02/raspberry_pi_4_and_logo_hero.jpg?width=1198&trim=1,1&bg-color=000&pad=1,1)
#### c. [ARM, Advanced RISC Machine](https://zh.wikipedia.org/wiki/ARM架構)
是一種處理器核心，我們較常接觸的是屬於低階系列--ARM Cortex-M。它是一種可程式的晶片，經常被使用在電源管理制器、輸入／輸出控制器、系統控制器、觸碰螢幕制器、智慧電池控制器以及感測器控制器。
![](https://i.imgur.com/ziR4cTu.jpg)
#### d. [FPGA, Field Programmable Gate Array](https://zh.wikipedia.org/wiki/现场可编程逻辑门阵列)（現場可程式化邏輯閘陣列）
以PAL, GAL, CPL所組成，由可程式化邏輯裝置為技術基礎，可作為「特殊應用積體電路」中的一種**半客製化電路**，既彌補全客製化電路不足，又克服原有可程式化邏輯控制器門電路數有限的缺點。
![](https://i.imgur.com/gaqbA9t.jpg)
### D. ToolKit -- [OpenVINO](https://grady1006.medium.com/%E9%82%8A%E7%B7%A3ai%E7%B3%BB%E5%88%97-openvino-%E6%87%B6%E4%BA%BA%E5%8C%85-55f357ceae75)
<font size=2>**＊OpenVINO, Open Visual Inference and Neural Network Optimization**</font>
<font size=2>**＊工具包內容物: :one:Deep Learning Deployment Toolkit (DLDT), :two:Deep Learning Model Optimizer: 將從不同框架所訓練出來的模型做格式與參數優化轉換, :three:Deep Learning Inference Engine: 針對不同硬體做模型掛載的API接口, :four:Samples: intel自家開發的參考模型, :five:Tools: 模型的校正與量化以及準確度驗證, :six:Open Model Zoo: 是OpenVINO的子專案，裡面包含Pre-trained, Demo Application, Tools, 利用工具可以立即體驗應用, :seven:OpenCV, :eight:OpenCL™ version 2.1, :nine:Intel® Media SDK, :one::zero:OpenVX***</font>

是一個**免費**工具包，透過裡面整合的**常用函式**與**深度學習模型**以及強大的**硬體設備**，可以協助我們快速開發與驗證**電腦視覺**的應用問題。
![](https://i.imgur.com/gt4xrdZ.png)
#### a. 常用函式
<font size=2>**＊這裡提供了三種跨平台(Open Source)關於電腦視覺工具**</font>
##### 1. [OpenCV, Open Source Computer Vision Library](https://ithelp.ithome.com.tw/articles/10251665)
從初踏入影像領域小毛頭到熟練老手都會接觸到的工具，裡面包含許多**基本影像處理**的方法，是相當實用的Library。
##### 2. [OpenCL, Open Computing Language](http://www.kimicat.com/opencl-1/opencl-jiao-xue-yi)
由用於**編寫Kernel的語言**與一組用於**定義並控制平台的API**所組成，是一個為異構平台編寫程式的框架，可用於CPU、GPU、DSP、FPGA或其他類型的處理器與硬體加速器所組成的平台。
##### 3. [OpenVX](https://medium.com/@kobeyu/openvx-%E7%B0%A1%E4%BB%8B-b706fb868012)
對於電腦視覺跟類神經網路的應用提出的一系列API，其目的是讓異質核心的嵌入式系統達到最佳的執行效率，工作方法是作用在硬體語言與應用程式之間。
![](https://i.imgur.com/gktLEYV.png)
#### b. 深度學習模型
<font size=2>**＊這是intel(OpenVINO)提供之已訓練完畢模型範例可供大家使用**</font>
:one: 人臉模型: 臉部偵測、頭部姿態、表情、特徵點、性別年齡辨識
![](https://i.imgur.com/5Ta4Zfa.png)

:two: 人體模型: 人員偵測、高角度人體偵測、行人屬性、跨影片追蹤、動作姿態辨識、骨架偵測
![](https://i.imgur.com/DazuQrT.png)

:three: 車輛模型: 車輛偵測、車牌辨識、車道線偵測、路面區域分割、車種辨識、路標號誌
![](https://i.imgur.com/N8EF4PL.png)

:four: 其他模型: 文字標籤偵測、高解析度
![](https://i.imgur.com/t4rx4Mi.png)
#### c. 硬體設備
在intel平台上可以使用其部屬的設備進行推論，包含CPU、GPU(內顯)、NCS、Movidius VPU、FPGA, 但不支援Nvidia和AMD的設備 ~~(競爭對手)~~。
****
**終於介紹完影像辨識（分類）的基本工具了**:confetti_ball:
**`接下來要分享聰明通靈的方法(誤?)，是說在訓練模型時最困擾的應該是「如何設定超參數(hyperparameters)」這個問題吧？在接下來的「模型優化」段落，就要來介紹如何聰明的選擇！`**
****

## II. 模型優化
:pencil: 
<font size=2>**＊泛化能力(generalization ability)：機器學習模型有學習到`隱含在數據對背後的知識`，對於不同規律的數據經過訓練也能有適應能力**</font>
<font size=2>**＊Robustness(穩健性)(魯棒性)：系統在收到noisy或是uncertain的訊號時，仍然可以保持穩定的特徵行為**</font>
<font size=2>**＊[TPE, Tree-structured Parzen Estimator](https://www.twblogs.net/a/5c86126ebd9eee35fc142801)：是一種樹狀圖結構配置空間上的超參數選擇方式**</font>
### A. Learning Rate
指的是在優化模型參數時每次**移動步伐的大小**，**太大**會很容易錯過最佳化的地方；**太小**會拖延學習的時間，其中有<font color=dd0000>**三個重要的參數**</font>
:one:**Initial Learning Rate**：初始設定。
:two:**Learning Schedule**：隨著時間，學習速率的變化公式。
:three:**Stopping Condition**：這是訓練加速的方法，設定一個足夠小（自己滿意）的Loss值，**達到目標後就不再學習**。
![](https://i.imgur.com/ghut29R.png)
<font size=2>**＊Steepest Gradient：梯度下降法(Gradient descent)是`學習率選擇`的基本概念，我們透過`方法`選擇一組參數，計算過後與真實情況相比後會得到誤差，若誤差值如下梯度圖，我們會選擇最快(steepest)到達最佳化之處**</font>
![](https://i.imgur.com/5jVTxn0.png)

### B. Data Augmentation（影像資料增補）
由前述可以知道在機器學習當中資料集是相當重要的，對於**數量較少**的資料會因為不平衡而損失精確度，為解決此問題有以下<font color=dd0000>**四種增加資料量**</font>的方法：
:one:**Random Crop（隨意剪裁）**：將圖片隨機的剪裁，可以獲得**局部的特徵**
![](https://i.imgur.com/uidvwuY.png)
:two:**Color Perturbation（顏色擾動）**：將整張圖片的顏色進行同種的**變色處理**，這可以使模型學習到**形狀的特徵**，而不是顏色的部分
![](https://i.imgur.com/zu8zn8u.jpg)

:three:**Rotation & Flip**：這是影像增補當中最常使用的方法，因為其的**可控性**，而且圖片的size也不需要另外做調整
![](https://i.imgur.com/8qydEau.png)
![](https://i.imgur.com/VX0iPxL.png)

:four:**數據增強**：綜合上述三種工具，這裡提出<font color=dd0000>**四種有效利用工具**</font>的方法

:large_blue_circle:**MixUp**：透過**將兩張圖像與標籤按權重逐像素相加，得到新樣本**的方法，改善機器學習模型**過度擬合**於輸入資料的問題
![](https://i.imgur.com/NwCYPQo.png)

:black_circle:**CutMix**：先利用**特徵熱力圖**找到最重要的特徵處將其剪掉，這個動作可以讓模型學習比較**難的特徵地方**
![](https://i.imgur.com/VCY7TLT.png)

:red_circle:**FMix**：是MixUp的一種變形方法，在做**影像融合**的時候不是利用內插法，而是**將圖像轉換到傅立葉空間**，取得低頻的圖像之後再轉換回來
![](https://i.imgur.com/rTNHrEF.png)

:white_circle:**AugMix**：將影像進行多種**改造**後**疊合**在一起，避免新產生的影像無意義，所以會與原影像做**比對**
![](https://i.imgur.com/d6UJR2u.png)
### C. Regularization（正則化）
當模型訓練時的準確度太高就需要擔心**過度擬合**的問題，簡之就是模型只適合這群資料集，當在實際利用時準確度就會下降很多，這個時候就需要加入正則化，會使訓練與測試的準確度較為相近。
![](https://i.imgur.com/8vfBJR5.png)
### D. Optimization
#### a. Learning Optimizer
##### 1. SGD, Stochastic Gradient Descent
每個訓練樣本透過**隨機的梯度下降權重**可以更快地達到收斂，為了通過隨機梯度下降獲得準確的結果，以**隨機順序**呈現數據非常重要，所以每個epoch會打亂訓練集以防止循環。
##### 2. SAM, Sharpness Aware Minimization
將真實的參數模型視覺化表示會像是左圖，透過SAM會先將整體**環境平坦化(Sharpness)** 再來尋找最佳點，如此可以有更好的**泛化能力**。
![](https://i.imgur.com/rryioKh.png)
##### 3. AdaGrad
這是SGD的進階版，當次的學習率會**參考過去的行為**，如此可以增快前期訓練，到了後期也可以透過微調達到最佳化。
##### 4. Adam
此為AdaGrad的進化版，是更有智慧的利用過去狀態，數值優化每次都會考慮到前一步的 **[動量(Momentum)](https://ithelp.ithome.com.tw/articles/10236554)**，如此除了可以加快訓練速度，亦可**跳脫Local Minima**。
##### 5. AdamW
此透過 **正則化(L2)** 解決Adam泛化性不足的部分。

<font size=2>**＊若是上面的介紹比較難懂，筆者有找到一個很棒的網站，包含SGD->Adam的動圖會更好理解--[梯度最佳解相關算法](https://chih-sheng-huang821.medium.com/機器學習-基礎數學-三-梯度最佳解相關算法-gradient-descent-optimization-algorithms-b61ed1478bd7)**</font> 

#### b. Data Optimizer
##### 1. softmax
當輸入資料**數值差距不大**時會導致學習上的困難，透過此方法可以**拉大之間的差距**，使其特徵更加明顯。
![](https://i.imgur.com/IwxY4Py.png)
##### 2. AM-softmax, Additive Margin softmax loss
這是softmax的強化版，除了將輸入資料分開之外中間還加上間隔(margin)，這會使學習效果更加提升。
![](https://i.imgur.com/wyCDy40.jpg)
#### c. Compression
##### 1. Pruning
將權重較小的連結移除，除了減少記憶體容量，也可以避免過度擬合的情況。**</font>
![](https://i.imgur.com/hbKWJt6.png)
##### 2. Knowledge Distillation（知識蒸餾）
大模型將某種特定功能的知識傳遞給小模型來減少參數，有點像是老師教導學生的模式。
![](https://i.imgur.com/3BzyhC8.png)
##### 3. Deep Mutual Learning
這打破知識蒸餾的層級與單向之關係，而是類似同學互教互學的學習的概念。
![](https://i.imgur.com/WFRGD7f.jpg)

#### d. Trick
##### 1. Fine-Grained Grid Search
不同於一般設定區間以隨機的方式盲找超參數，是一種有效率的**網格**尋找方式。
![](https://i.imgur.com/QOuXvPl.png)
##### 2. ReduceLROnPlateau
一種衰降學習率的方法，用於模型訓練後期**成效都沒有好轉時，就進行一次學習率衰降**，如此有助於跳脫Local Minima朝向Global Minia。

## III. 論文結果
本片論文利用時下最著名的light weight model -- **MobileNetV3** & **EfficientNet**透過前述的增強與優化方法，提升準確度與運算速度。
### A. 實驗材料
#### a. 資料集
論文當中採用下圖之11種資料集來做測試
![](https://i.imgur.com/LyyyoLj.jpg)
#### b. 比對標準
mAP, mean Average Precision：這是評斷物件偵測（辨識）模型的一種標準，將每種類別的準確度計算後再做平均。
![](https://i.imgur.com/rYPCRHt.jpg)
### B. 實驗結果
表格二是在比較**原始的模型訓練**與**加上模型優化**對於前述之11種模型的mAP，表格三為個別模型與資料集的評比。
![](https://i.imgur.com/Tb8Fb4H.jpg)

![](https://i.imgur.com/hlCT98z.jpg)
#### a. Baseline
training length is **200 epochs**; **learning rate is annealed to zero with cosine schedule**; optimization is performed with **SGD with momentum**; training images are augmented with **random flip, random color jittering, random crop** and **random rotation**; **dropout with p = 0.2** is applied to the classifier layer; learning rate is set as an average of optimal learning rates obtained by grid search over all the 11 considered datasets for each model individually.
#### b. Adaptive
**maximum training length to 200 epochs**, **maximum amount of trials in TPE to 15 (each trial takes 6 epochs or less)**; **learn- ing rate search range** for **EffficientNet-B0 is [0.001−0.01]**, while for **MobileNetV3 the range is [0.005 − 0.03]**; **Augmix with a pre-trained** on ImageNet policy, **random flip, random crop and random rotation** are employed for data augmentation; **early stopping and learning rate decay patiences are equal to 5 epochs**; **ρ in SAM is 0.05**. **Weight decay is always set to 5 · 10−4**. Input resolution for all versions of the considered models is **224 × 224**, no test time augmentation is applied.
### C. Ablation Study
#### a. 由上述模型進行拆解
經過測試我們可以得到比較好的準確度，而在這個部分將其**拆解**，來得知增加某個工具之後準確度的差異。
![](https://i.imgur.com/4fIKpYB.jpg)
<font size=2>**＊根據NBD這項進行其他參數的訓練結果**</font>
![](https://i.imgur.com/S8uM8fB.jpg)
#### b. 其它
##### 1. MobileNetV3 + Adaptive
:one: Input datasets: CIFAR-100, DTD, Flowers, Cars, Pets, Caltech101
:two: Adaption: random flip, rotate, scale, and color jitt
![](https://i.imgur.com/6EntsHS.jpg)
##### 2. EfficientNet-B0 + Adaptive
:one: Input datasets: CIFAR-100, DTD, Flowers, Cars, Pets, Caltech101
:two: Adaption: random flip, rotate, scale, and color jitt
![](https://i.imgur.com/21raYEI.jpg)
##### 3. (MobileNetV3 vs. EfficientNet-B0) + Adopting SAM(ρ= 0.05)
![](https://i.imgur.com/hBAwCcP.jpg)
##### 4.  ReduceLROn-PlateauV2 scheduler 測試
:one: Input datasets: CIFAR-100, FOOD101, DTD, Flowers, Cars, Pets, Caltech101
:two: **cosine schedule** for **200 epochs**, all the cases **learning rate was fixed to 0.013**, **SGD** was set as an optimizer.

![](https://i.imgur.com/npDbcbH.jpg)

:three:  Distribution of optimal learning rates: 利用本篇題及之11種數據集找出最佳化學習率分布
![](https://i.imgur.com/nvRQixs.png)
##### 5. 不同超參數選擇方法比較 (using MobileNetV3-large)
:one: Input datasets: 本篇題及之11種資料集
:two: use **6 epochs per trial** and **restrict the number of trials to 15**, trials are conducted on
**all the training data**

![](https://i.imgur.com/JMAyR5e.jpg)
##### 6. Different DML settings (using  MobilenetV3-large)
![](https://i.imgur.com/JV2ZjCs.jpg)
## IIII. 補充資料
<font size=2>**＊MobileNetV3 vs. EfficientNet 的效能比較**</font>

![](https://i.imgur.com/yiGABuG.jpg)

****
結語 :pencil2: 
這篇論文雖然**沒有新穎的想法**，但提供很多**工具**幫助我們**解決問題**，同時也讓我們學習到**做實驗的方法**，`另外，透過撰寫論文研讀總結文章，不僅讓我練習表達學習內容的能力，也在查詢資料當中加深了很多對於基本工具的認識`，最後在這裡提供在查詢資料時找到的**免費機器學習的教學網站**，提供大家參考 :sunflower: 
<font size=2>**＊[Fast-ai's Heuristic](https://en.wikipedia.org/wiki/Fast.ai)：是一個非營利的組織，其專注於深度學習以及人工智慧，開放免費課程期望智能產業民主化，這裡是[官網連結](https://www.fast.ai)。**</font>
****