CNN的來源
1.1 啟發:動物視覺皮質組織與神經元間連結,到最後辨識物件的過程。
1.2 以大腦識人臉為例,說明如下。
訊號通過瞳孔,經神經元傳遞。
初步處理訊號(底層特徵,如:偵測物件邊緣)
抽象判斷(將底層特徵組合,判斷可能是哪個器官,如眼睛、嘴巴、鼻子)
近一步抽象判斷(如:由這些器官組成的,可能是誰的臉?)
1.3 訊號通過神經元傳遞後,大腦識別底層特徵(輪廓),組成進階特徵(器官)...層層遞進,最後區分不同物件(人臉)。CNN(卷積神經網路)即效仿該流程。
淺談CNN架構
2.1 談到CNN,就不得不提到典型的VGG16,可以拆分成以下結構。
圖片來自於:https://arbu00.blogspot.com/2018/03/7-tensorflowvgg-model-cifar10.html?m=1
2.2 輸入層:以彩色影像為例,會有R、G、B三個通道。
2.3 卷積層(convolution):使用指定大小的卷積核與在圖片上移動,對輸入層的圖像作特徵擷取(矩陣相乘),如下圖。
卷積核為3 * 3
步輻為1
圖片來自於:https://easyai.tech/ai-definition/cnn/
2.4 啟動層:卷積層提取的特徵,藉由啟動函數(通常是RELU),從原本的線性關係(矩陣相乘)的特徵圖,轉化為非線性關係。
2.5 池化層(pooling):進一步降低特徵維度,將圖像中特定區域以一個值代表。經常使用的方法為Max Pooling、Mean Pooling,可減少運算的參數量,在保留重要特徵的情況下,提升運算效率,防止模型過擬合。
Max pooling:取特定區域內最大值代表。
圖片來自於:https://chtseng.wordpress.com/2017/09/12/%E5%88%9D%E6%8E%A2%E5%8D%B7%E7%A9%8D%E7%A5%9E%E7%B6%93%E7%B6%B2%E8%B7%AF/
Mean pooling:取特定區域內平均值代表。
2.6 全連接層(fully connected):把二維特徵圖轉化成一維向量,以類似投票的方式輸出分類結果。
CNN的應用:只要原始資料可以數值化,可應用在各種領域。
3.1 影像處理:圖像由許多像數組成。
3.2 語音處理:以語音訊號的聲譜圖,作為影像識別資料集。
3.3 自然語言處理:將每個詞轉換成詞向量。
模型訓練方向
4.1 考量
4.2 綜合以上因素,我們最終選擇以遷移學習的方法,進行此次手寫中文字訓練模型。
下一章的目標是和大家分享:「什麼是遷移學習?如何進行遷移學習?」。
讓我們繼續看下去...