# 3. HUNG-YI LEE 2022 ML - CNN ###### tags: `Machine Learning` ## img 分類 假設所有照片一樣大小 y head: 為一個one-hot vector,表示可辨識出來的object有多少 y promt: 藉由softmax得出,希望與y head越近越好 ![](https://i.imgur.com/SmfDCDL.png) ## 影像如何作為imput * one color photo = 3-D tensor * 長 / 寬 / 高(channels,代表RGB) * 拉直為一個向量,作為input ![](https://i.imgur.com/UrOtLYg.png) ## 真的需要全連接層嗎 * 模型彈性愈大,愈容易overfitting * 下週以數學角度介紹 * 共產生3 * 10^7個weight ![](https://i.imgur.com/GyB9XIl.png) ## 觀察:照片的patterns * 只需要部份照片就夠neuron觀察出來 * 每個neuron只care自己的receptive field * 守備範圍 * kernel size * receptive field彼此可重疊 * padding * stride * 移動量 * 超參數 ## Convolutional Neural Network(健峰) * 卷積層Convolution **對二維資料取出局部特徵值**:針對圖片就是取出期邊緣輪廓等特徵值。 卷積運算:輸入圖片>過濾器>特徵圖 * 池化層Pooling **保留更重要的特徵**,進行**資料壓縮**及保留特徵圖(就是**降維**) 每個區塊中選出最大值或最小值,矩陣變小 6*6 > 3*3 * 平坦化 將資料由矩陣轉為一維陣列 ## Convolutional Neural Network(NTUCS振成) **電腦視覺**: 讓電腦具有人類視覺般的行為 解析度夠才好判別 ![](https://i.imgur.com/Z1Pxm4Y.png) * 各種圖像 ![](https://i.imgur.com/lKGnVfH.png) ![](https://i.imgur.com/LmrQrnw.png) * 簡易圖像識別 * ex1 use image classifier ![](https://i.imgur.com/1sb7BIP.png) ![](https://i.imgur.com/cKOPM5Q.png) 引入閥值 ![](https://i.imgur.com/Us75297.png) 分類器選擇 ![](https://i.imgur.com/4gJO33f.png) * ex2 卷積 & 池化 ![](https://i.imgur.com/teKuVyy.png) after 池化層變成如下 ![](https://i.imgur.com/AX3F3Nf.png) * ex3 閥值是3 ![](https://i.imgur.com/j2oCJRE.png) ![](https://i.imgur.com/hZCyNj8.png) ![](https://i.imgur.com/xxCInKG.png) 卷積:透過適當計算找出特徵 設計過濾器(卷積核心):應用在人臉辨識效果很好 ![](https://i.imgur.com/U17UF5T.png) 缺點: 傳統電腦視覺你要設計很多分類器,因為有各種形體變化(較不通用)!!!! 因此較複雜的任務較不適用 AI強大運算能力將慢慢改善 ## CNN貓狗辨識實作 * 資料集 [googlecreativelab/quickdraw-dataset](https://github.com/googlecreativelab/quickdraw-dataset) 貓狗樣本資料集合併->12萬筆 標籤資料預處理:60000個狗0,60000個貓1 * 貓狗辨識 https://colab.research.google.com/drive/1bFceipDlvQc09_ZTRB3c_THbDDIoSt2W?usp=sharing ![](https://i.imgur.com/remMkrh.png) ![](https://i.imgur.com/ZFsIIgu.png) ![](https://i.imgur.com/3RRrwfN.png) 常見損失函數 二元分類:二分cross entropy 多元分類:多元cross entropy 回歸問題:均方差 Batch(訓練週期),batch size(每次訓練的量)與Epoch(步伐) * 訓練、驗證和測試資料集步驟 ![](https://i.imgur.com/Hugtmvp.png) * overfitting 對未見過資料適應度變差 ![](https://i.imgur.com/S3W7udp.png)