學習AI的出發點:如何提取特徵(Feature)

 

   AI機器學習(Machine Learning)的基礎活動之一就是:提取特徵(Feature extraction)。在本文裡,藉由舉例和比喻來領悟特徵(Feature)的涵意,以及理解特徵提取的方法和目的。而且,從人為的特徵提取,開始思考由AI機器自動提取特徵的可能性。 

 

1. 特徵提取的範例(一):玩具兔和玩具熊

  我喜歡電視劇裡的格格的氣質,所以我就拿格格與玩具來做比喻。例如,這格格有4隻玩具兔和玩具熊(此範例摘自高煥堂的《不編程,而學AI:Excel+TensorFlow》一書):

  所謂特徵就是某種事物的特色,讓人們(或其他生物)很容易憑它的區分出來。例如,兔子的特徵就是:耳朵長長的、身體輕盈短小。而熊的特徵則是:耳朵短短的、身體有些笨重。由於這位格格身邊有兩位Y嬛,格格就請Y嬛-A去量一下這些玩具的耳朵長度,就可以得到<耳朵>特徵值了。格格也請Y嬛-B去量量這些玩具的體重,就可以得到<體重>特徵值了。例如,針對第1隻玩具,兩人分別測量出來的特徵值是:它的耳朵長度是7.5,而其體重是5.0。

  接下來,兩人又去測量第2隻玩具,提取了它的特徵值:

 

  接下來,兩人又去測量第3隻玩具,提取了它的特徵值:

  依序下去,提取了每一隻玩具的特徵值了:

  於是得到全部玩具的特徵值了。

 

2. 特徵提取的範例(二):阿拉伯數字<2>和<7>

   此範例摘自高煥堂的《不編程,而學AI:Excel+TensorFlow》一書。其中,有2個阿拉伯數字的字型,其可分解為3個筆畫的組成元素:X0、X1和x3。那麼,我們如何來提取其特徵值呢? 

  那麼,我們如何來提取其特徵值呢? 此時,格格找來三位Y嬛,分別交待如下:

   於是,針對第1個字型,Y嬛-A發現了X0筆畫,所以得到特徵值是1。Y嬛-B也發現了X1筆畫,所以得到特徵值是1。而Y嬛-C也發現了X2筆畫,所以得到特徵值是1。三人分別測量出來的特徵值是:

 

  接下來,三人又去測量第2個字型,提取了它的特徵值:

  於是,得到全部字型的特徵值了:

   

3. 特徵提取的範例(三):局部感受野(Receptive field)

   剛才的兩個範例,其感受野(receptive field)都是整張圖片。在本範例裡,將把它縮小一半。此時,格格找來兩位Y嬛,分別交待如下:

 

   於是,針對第1個字型,Y嬛-A在上半部發現了橫線筆畫,所以得到特徵值是1;同時也在下半部發現了橫線筆畫,所以得到特徵值是1。Y嬛-B在上半部發現了(反)斜線筆畫,所以得到特徵值是1。同時,也在下半部發現了斜線筆畫,所以得到特徵值是1。如下:

 

  然後,把兩人提取的特徵值,排成一列(Flatten),如下:

 

  接下來,繼續去測量第2個字型,提取了它的特徵值:

 

  於是,得到全部字型的特徵值了:

 

 

4. 特徵提取的範例(四):探索阿拉伯數字<0>~<9>的特徵值

   於此,基於剛才範例(三)的特徵提取模式,把原來的兩個字型,擴大為<0>~<3>共4個字型,如下圖:

 

  此時,仍然由三位Y嬛分工去提取特徵,如下:

  然後,繼續加以擴大為<0>~<9>共10個字型,如下圖

 

5. 結語:訓練AI的Y嬛

   在以上的範例裡,是由人類(三位Y嬛們)去提取玩具或字型的特徵值。這些Y嬛們愈有經驗、或愈訓練有素時,其提取特徵的準確性會愈高。如果我們也能訓練AI機器來代替這些Y嬛,以便由AI機器來自動提取特徵,那將是一件美好的事呀。這意味著,得到一個新觀念:AI的Y嬛們是可以訓練的,只要訓練AI去認識小小的特徵,則一群AI的Y嬛將可以代替人類去複雜的情境(如圖片)中尋找特徵值。

~ End ~

 ==> 返回首頁