---
# System prepended metadata

title: 人工智慧視覺運算系統設計 - 影片心得
tags: [Network Experiment]

---

---
title: 人工智慧視覺運算系統設計 - 影片心得
tags: Network Experiment
---
## 人工智慧視覺運算系統設計 - 影片心得

[TOC]
#### Unit One：Basics Of AI Visual Algorithms
本單元在介紹AI視覺演算法，包含電腦如何分類以及偵測物件。那這裏面包含了三個主題，第一個是電腦要怎麼樣分類照片，第二個是電腦怎麼偵測物件，為了降低誤差，神經網路越來越深，但是隨之而來的運算量也激增，同時梯度在深層時容易消失，訓練很難收斂。最後一個是ResNet，它包含了151層的CNN的神經層跟一層的全連接層。


#### Unit Two：How Does A Computer Classify Pictures?
本單元在介紹電腦偵測物件的方法，那這裏面包含了三個主題，RCNN、YOLO 和 SSD。RCNN（Region-based CNN），概念上是它會提出很多個可能的區域出來，在每一個區域進行CNN的運算，計算出來之後再去找所在區域，這個方法的壞處就是很慢。YOLO則是算出Bounding box 和 分率圖來提高效益，計算速度相比RCNN快許多，準確度也比較高。SSD則是類似YOLO，但是拿掉FC層。

#### Unit Three：How Does A Computer Detect Objects? 
這段影片主要在講物件分割、行為分析、影像合成、Instance Segmentation。
物件分割：其中常見的方法有Downsamping path、Upsamping Path、Multi-scale detection和Post-Processing。
行為分析：必須要包含空間域以及時間域這兩層面進行運算，也可以進行將圖片轉換成文字或反之。
影響合成：透過把兩張或以上的圖片特徵提取結合，生成新圖片。
Instance Segmentation：它既具备语义分割（Semantic Segmentation）的特点，需要做到像素层面上的分类，也具备目标检测（Object Detection）的一部分特点，即需要定位出不同实例，即使它们是同一种类。

#### Unit Four：How To Evaluate Performance Of AI Visual Algorithms?
這段提到了常見的判斷AI演算法的一些指標如TP，FP，FN，TN以及這些指標組成的Precision、Recall和AP等。
TP：全名True Positive 表示有框到東西。
FP：全名False Positive 表示沒有框到東西。
FN：全名False Negative 表示沒有框到有東西的地方。
TN：全名True Negative 表示沒有框到沒有東西的地方。
Precision：其計算方式是TP/(TP+FP)，表示框內有命中目標比例。
Recall：計算方式是TP/(TP+FN)，表示目標被命中的比例。
AP：Average Precision 計算不同Precision和Recall對應平均值。

影片觀後感想：視覺演算法要設計得好需要不斷去評估其效能，很多看似微小的調整在整個演算法中卻會起到很大的作用。

#### Unit Five：How To Obtain An Accurate AI Algorithm? 
這個章節主要在說如何獲得一個精準的演算法，主要可以分成兩個部分：Training & Inference。
Training：利用給定的資料讓AI進行訓練並自動調整參數，訓練時間可能會花上好幾天但一旦訓練好基本上不需要再重複訓練，所以不會對實際運用上造成什麼延遲負擔。
Inference：把模型放到實際運用，所以對於即使變化的情況要求會比較高，例如最近很紅的自駕車、人臉辨識。

#### Unit Six：Advances Of Obtaining An Accurate AI Algrithm.
這部分主要在介紹Gradient Descent，為了讓其error降到更小，我們可以透過調整一些參數，例如learning rate和batch的大小。還有local minimum的問題，但其實local minimum在實際情況下出現的次數並不會太高，反而是saddle point 比較會常看到。這部分在上學期修李宏毅教授的Machine Learning有上到，所以算是知道在說些什麼，而且個人也比較喜歡李宏毅的講解版本。以下是李宏毅教授有關gradient descent的影片
https://www.youtube.com/watch?v=Ye018rCVvOo

#### Unit Seven：How Well Are Modern AI Visual Algorithms Doing?
這部分主要讓我們了解模型在training set上面的表現好並不代表實際表現也會跟著好，因為當training去到越多層時越有可能發生overfitting的情況，造成我們拿來實際運用時，模型在演算資料上會產生很大的誤差值。比較基礎的解決方法就是增加training set，但就像上面所說的會發生overfitting，這時減少一些多餘的layer或者限制training的時間(以免表現已經沒在提升，但training還在繼續而造成反效果)。

#### Unit Eight：Advances For Colleeting Training Data
這章節讓我們知道有哪些方法可以增加AI視覺演算法的精準性。以圖片為training的例子來看，可以增加一些雜訊或者顏色渾濁來提升AI對於我們所想要train的物件認知，以便讓AI演算法在實際情況下面對各種變化能更有韌性，提高效能和精準度。
這些處理方式其實有個名詞就是Data Augmentation，其中比較常見的有：
###### -->旋轉
###### -->位移
###### -->增加雜訊
###### -->局部刪減
###### -->翻轉