所謂人工智慧(Artificial Intelligence;縮寫:AI),是指以人工方式來實現人類所具有之智慧的技術。只不過,目前能實現與人類智慧同等的技術還不存在,世界上絕大多數的人工智慧還是隻能解決某個特定問題。本篇文章是在我閱讀了幾本AI的相關書籍後,所概略統整出的架構,希望讓初次接觸AI的讀者,能透過333口訣,快速理解AI到底是什麼。
一、AI的三次浪潮
第一次AI浪潮
第一次AI浪潮起於1950~1960年,止於1980年代。由於出現在網路之前,因此又被稱為“古典人工智慧”。這時期出現的“符號主義”與“聯結主義”,分別是日後“專家系統”與“深度學習”的雛形。只不過,雖然當時的成果已能解開拼圖或簡單的遊戲,卻幾乎無法解決實用的問題。
第二次AI浪潮
第二次AI熱潮伴隨著計算機的普及,出現在1980年代。這時期所進行的研究,是以灌輸「專家知識」作為規則,來協助解決特定問題的“專家系統”(Expert system)為主。然而,縱使當時有商業應用的例項,應用範疇卻很有限,熱潮也因此逐漸消退。
第三次AI浪潮
第三次AI浪潮則出現於2010年代,伴隨著高效能運算機、因特網、大資料、感測器的普及,以及計算成本的下降,“機器學習”隨之興起。所謂機器學習(Machine leaning),是指讓計算機大量學習資料,使它可以像人類一樣辨識聲音及影像,或是針對問題做出合適的判斷。
二、AI的三大技術
快速瞭解了AI的發展史後,我們來看看當代人工智慧的三大代表性模型:遺傳演算法、專家系統、類神經網路。
1、遺傳演算法
遺傳演算法(Genetic algorithm;GA),又稱為演化式演算法(Evolutionary algorithm),是受達爾文演化論所啟發的人工智慧。它透過「適者生存」的規則,將“優秀的個體”想象成“好的答案”,透過演化的方式來找出最佳解。
2、專家系統
專家系統(Expert system),則是針對預設的問題,事先準備好大量的對應方式。它應用在很多地方,尤其是疾病診斷。只不過,專家系統只能針對專家預先考慮過的狀況來準備對策,它並沒有自行學習的能力,因此還是有其侷限性。
3、類神經網路
從第三次AI浪潮所興起的機器學習(Machine learning)有許多種手法,其中最受矚目的,莫過於深度學習(Deep learning)了。所謂深度學習,是透過模仿人腦的“類神經網路”(Neural network)來學習大量資料的手法。
類神經網路的由來
若你去觀察腦的內部,會發現有大量稱為“神經元”的神經細胞彼此相連。一個神經元從其他神經元那裡接收的電氣訊號量達某一定值以上,就會興奮(神經衝動);在某一定值以下,就不會興奮。
興奮起來的神經元,會將電器訊號傳送給下一個相連的神經元。下一個神經元同樣會因此興奮或不興奮。簡單來說,彼此相連的神經元,會形成聯合傳遞行為。我們透過將這種相連的結構來數學模型化,便形成了類神經網路。
類神經網路:深度學習
我們可以發現,經模型化的的類神經網路,是由“輸入層”(Input layer)、“隱藏層”(Hidden layer)及“輸出層”(Output layer)等三層所構成。另外,學習資料則是由輸入資料以及相對應的正確解答來組成。
以影像辨識為例,為了讓AI學習類神經網路的模型,首先必須先將影像學習資料分割成畫素資料,然後將各畫素值輸進輸入層。
接受了資料的輸入層,將畫素值乘上“權重”後,便傳送給後方隱藏層的神經元。隱藏層的各個神經元會累加前一層所接收到的值,並將其結果再乘上“權重”後,傳送給後方的神經元。最後,經由輸出層的神經元的輸出,便可得到影像辨識的預測結果。
為了讓輸出層的值跟各個輸入資料所對應的正解資料相等,會對各個神經元的輸入計算出適當的“權重”值。
這個權重的計算,一般是使用“誤差倒傳遞演算法”(Error Back Propagation),使用與正解資料之間的誤差,從輸出層逆推回去。透過各「權重」的調整,來縮小輸出層的值與正解資料的值之間的誤差,以建立出完成學習的模型。
由於過去類神經網路之間進行傳遞的權重值難以最佳化,因此曾有多數研究者對類神經網路的研究持否定態度。直到2006年,辛頓(Geoffrey Hinton)開發出自動編碼器(Autoencoder)的手法,才突破了這項瓶頸。
自動編碼器是指,在類神經網路的輸入層和輸出層使用相同資料,並將隱藏層設定於二者之間,藉此用來調整類神經網路之間的權重引數的一種手法。利用以自動編碼器所獲得的類神經網路權重引數值進行初始化後,便能應用「誤差倒傳遞演算法」,提高多層類神經網路的學習準確度。
透過類神經網路,深度學習便成為了“只要將資料輸入類神經網路,它就能自行抽出特徵”的人工智慧,而這又稱為“特徵學習”(feature learning)。
深度學習最擅長的,是它能辨識影像資料或波形資料這類無法符號化的資料。自2010年代以來,如Google、Microsoft及Facebook等美國知名IT企業,都開始著手深度學習的研究。例如,蘋果「Siri」的語音識別,Microsoft搜尋引擎「Bing」所具備的影像搜尋等等,而Google的深度學習專案也已超過1,500項。
至於深度學習如此飛躍的成長,要歸功於硬裝置的提升。圖形處理器(GPU)大廠輝達(NVIDIA)利用該公司的圖形介面卡來提升深度學習的效能,提供連結庫(Library)和框架(framework)產品,並積極開設研討課程。另外,Google也公開了框架「TensorFlow」,可以將深度學習應用於資料分析。
三、AI的三大應用
AI應用領域主要可分為語音識別、影像辨識以及自然語言處理等三部分。
1、語音識別
語音識別部分,透過多年來語音識別競賽CHiME的研究,已經有了等同人類的辨識度(CHiME,是針對實際生活環境下的語音識別,所進行評測的國際語音識別競賽)。此外,Apple、Google、Amazon也相繼提出可應用於日常生活的服務,因此其成熟度已達到實用等級。
2、影像辨識
影像辨識部分,雖然一般圖片的辨識已有同等於人類的辨識率,但動態影像的辨識準確度卻仍比不上人類,目前還在進行各種演算法的測試。其中,影像辨識目前最火熱的應用場域非自動駕駛莫屬了。
整個汽車、資訊通訊產業都正朝著自駕車的方向努力,例如Google持續進行自動駕駛的研究,TOYOTA也在美國設立豐田研究所,可以知道現階段的開發已十分接近實用化。因此,我們可判斷目前影像辨識的成熟度是介在研究和實用等級之間。
3、自然語言處理
自然語言處理(Natural language processing;NLP),是試著讓人工智慧能理解人類所寫的文字和所說的話語。NLP首先會分解詞性,稱之“語素分析”(morphemic analysis),在分解出最小的字義單位後,接著會進行“語法分析”(syntactic analysis),最後再透過“語意分析”(semantic analysis)來了解含意。
輸出部分,自然語言處理也與生成文法(generative grammar)密切相關。生成文法理論認為,只要遵循規則即可生成文句。這也代表著,只要把規則組合在一起,便可能生成文章。
在自然語言處理中,最具代表性的應用就是“聊天機器人”(Chatbot)了,它是一種如真人般,可透過文字訊息與人對話的程式。2016年,臉書推出了“Facebook Messenger Platform”,而Line也推出了“Messaging API”,因而促使這種搭載NLP技術的聊天機器人成為矚目的焦點。
另外,由IBM所開發的華生(IBM Watson),也是應用NLP的人工智慧而成。華生可以從維基百科等語料庫中抽取知識,學習詞彙與詞彙之間的相關性。現在,就連軟體銀行(SoftBank)機器人Pepper也是搭載華生系統。
只不過,由於在日常對話中,我們很常省略詞句,也不一定會提及時空背景,因此當前的Chatbot尚無法與人類進行天花亂墜的對話。所以說,現行多數的Chatbot廠商,還是會限定對話的環境與應用領域。