Google研究者在2012年發表所謂“Google的貓識別”的研究。到如今已經有1100多篇引用。下圖是研究論文中的圖。

1.巨量的圖片研究

在這個研究,材料是從Youtube動畫中萃取1000萬張圖片,將其輸入程式中。因為不是使用一般數字或其他文字的數據,而是使用圖片。所以,神經網路會更複雜。

2.複雜的神經網路

下圖是從參考文獻中拉出來的圖。在神經網路的最下層只辨識點與線組成的“圖樣”而已,層級越往上可以辨識“圓形與三角形”等圖形。

然後再看到上面,就可得到更複雜的特徵值(Feature value),來辨識圖片。打個超級簡單的比喻就是,辨識圓形(臉的輪廓)裡面有兩個點(眼睛),兩個點中間有一個相互垂直的線(嘴巴與鼻子)。找到符合這樣子的圖片就會辨識人臉。這個是超級簡化的比喻。

這個就是深層學習,當然是很簡化的說法。

在這層層疊疊的深層學習過後,得到最上面的圖那樣的貓與人臉的特徵量圖。用這個特徵量來辨識人還是貓。

在這個研究當中,使用了1000萬張圖片,神經網路有100億個連結,使用了1000台電腦,裡頭有16,000個CPU運作三天。真是可怕的運算量。

3.監督式學習與非監督式學習

監督式學習(supervised learning)是人類當老師教電腦。比如說給貓的圖片給電腦,然後跟電腦說”這就是貓“;給狗的圖片給電腦,然後跟電腦說”這是狗“。就跟教小朋友一樣。一直反覆這樣的作業,讓電腦的神經網路去運算,便可認識貓跟狗長怎麼樣。

但,一個字貓也有各種各樣的貓。深層學習的特徵是越多樣本數,正確的辨識機率就會越來越多。假設我們用監督式學習一個一個教電腦這是貓這是狗,那麼會花費太多時間。所以我們就利用非監督式學習(unsupervised learning)。

這個研究是先利用非監督學習,讓機器學習人臉與貓臉的特徵量。我們人類在定義”有這個特徵量的是人臉“”有這個特徵量的是貓臉“。

這樣下來我們人類大幅減少了一張一張教機器的時間,而是最後特徵量有結果後在教電腦。這個差別,在處理巨量的圖片的時候就會差很多了。

Google的貓的話題就先到此為止,Google的貓研究是最近安控(網路攝影機人臉辨識)的基礎研究之一。台灣街道攝影機非常多,走在街上曬自己的臉,是否早已被“深層學習”了呢?

參考文獻:Quoc V. Le, Marc’ Aurelio Ranzato, Rajat Monga, Matthieu Devin, Greg Corrado, Kai Chen, Jeffrey Dean, Andrew Y. Ng: Building high-level features using large scale unsupervised learning. ICML 2012.