好書試閱

在實作一開始,想問一個簡單的問題,圖3-1 中有兩種動物的圖片,可以
知道分別是什麼動物嗎?相信大家都可以快速地回答出圖片裡的動物分別是貓
與狗,甚至有些人還能準確地說出貓與狗的品種,但是,還記得我們是從什麼
時候開始知道這兩張圖片分別是貓與狗的嗎?其實,我們的大腦就像人工智慧
的分類器一樣,都是從過去的經驗中,依據各個管道或是媒介,將貓與狗的分
類在腦海中進行學習,比如小時候父母指著貓與狗的圖片告訴我們,這動物是
貓、這動物是狗,此種針對問題有明確答案的學習方式為前述章節所說的監督
式學習,這也是我們此章節要學習人工智慧實作應用的影像辨識學習方式。
之前的章節我們認識了人工智慧、機器學習、深度學習等名詞,此三者間
的關係如圖3-2 所示,人工智慧可以定義為,使用機器來展現人類的智慧的方
式,即使用機器來完成需要人類才能達成的任務;而機器學習是人工智慧的一
種實現方式,與通過特定演算法來完成任務的方式不同,是透過大量資料的特
徵來學習,以找到其運行規則來達到人工智慧的方法;而深度學習則是機器學
習的一種技術,其不需用透過特徵工程來提取特徵進行學習,其模型本身就包
含了自動特徵提取的功能,只需要給予大量的數據與對應的答案即可得到適合
的演算法,或是稱作運算模型。
機器學習是透過大量資料的特徵來學習的人工智慧,而一般我們會將原始
資料集分為訓練資料集(training dataset)與測試資料集(test dataset),如圖
3-3 所示,訓練集通常會占大部分比例,用來訓練模型,訓練完成後,再使用
未參與訓練的測試集來測試模型的效能。然而,為了避免過擬合(overfitting)
的情況發生,通常會將訓練資料集再切分一部分作為驗證資料集(validation
dataset)(如圖3-4)。舉例來說,訓練資料集就像教科書,用來學習知識,
驗證資料集則是練習題,用來確認學習的效果,避免背題目、死讀書之類的情
況發生,而測試資料集則是最後確認學習成果的期末考試。
機器學習的訓練、測試流程圖如圖3-5,在監督式學習的情況下,機器學
習會從大量過去的資料(data)和經驗(labels,即答案)來學習,通過其特徵
(features)來找出新的演算法(model,即模型)來完成任務。而我們接下來會使用的機器學習方式為人工神經網路(artificial neural network, ANN),人
工神經網路是一種模仿生物神經結構的數學模型,如圖3-6 所示,可以分為輸
入層(input layer)、隱藏層(hidden layer)、輸出層(output layer)三個層
次,其中隱藏層數量可以由模型設計者進行調整,隱藏層的每個神經元都代表
一個抽象特徵。人工神經網路中每層神經元之間都有連結,如圖3-7 所示,每
一個下層神經元都與前一層所有神經元有連結,並擁有各自的權重與偏差,其
關係如式-1 所示:
a_0^((1)) = σ [〖(W〗_(0, 0)^((1))×a_0^((0))) +〖 (W〗_(0, 1)^((1))×a_1^((0)))
+〖 (W〗_(0, 2)^((1))×a_2^((0))) + B_0^((1))] (式 -1)
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing