作者來自中科院定量遙感信息技術重點實驗室
當我們在購物網站買下一件商品之後,是否驚詫於其後續推薦的其他相關的商品?
當看到Alpha Go 通過不斷學習人類圍棋對戰經驗而戰勝李世石時,是否好奇Deep Mind的研究人員是如何訓練Alpha Go的?
是否使用過目前的人臉識別解鎖的手機?是否樂此不疲於使用美顏手機給自己的照片增光添彩?是否驚訝於百度翻譯如何能將中文翻譯成流暢的英文?
事實上,我們對這些功能不再感到陌生和神奇,因為這些智能產品早就進入千家萬戶,服務於廣大群眾。說到這些產品中的相關技術,我們一定會想到「人工智慧」、「機器學習」、「深度學習」等詞彙。毋庸置疑,大數據和人工智慧是當今最為時髦的名詞,這些技術已經並且未來還會為我們的生活帶來深刻的變革。
為了更好地理解它,讓我們研究一下關於機器學習的what、who、when、how、why,及其應用。本期【微課堂】重點介紹機器學習及其發展歷程。
1
什麼是機器學習
子曰:「學而不思則罔,思而不學則殆。」論語是中國古代關於學習方法的書籍,計算的未來是能說、能聽、能看、能自我學習的電腦。
機器學習,也稱為統計學習,是關於計算機基於數據構建概率統計模型,並運用模型對數據進行預測和分析的一門學科。機器學習的對象是數據,它從數據出發,提取數據的特徵,抽象出數據的模型,發現數據中的知識,又回到對數據的分析和預測中去。
假如把機器學習比作一艘火箭,那麼數據就是燃料,智能化是目標,優化方法就是導航系統,火箭的準確地飛抵目標,離不開充足的燃料和精確的導航。因為機器學習中需要數據和優化算法,機器學習大師 Mike Jordan 和 Tom Mitchell 認為機器學習是計算機科學和統計學的交叉,同時是人工智慧和數據科學的核心。通俗地說,機器學習就是從數據裡面挖掘出有用的價值。
如下圖所示,從本質來說,機器學習的核心思想是建立一個模型,這個模型通過給予的數據集中學習並認知,在犯錯時能夠自動總結經驗教訓並修正自己的認知,通過這樣循環迭代的過程,不斷地提高自己的認知能力,最終得到一個智能化模型,這個模型能對輸入的數據做出智能化的判斷。
2
機器學習的發展歷程
二十世紀五十年代到七十年代,人工智慧的研究處於「推理期」,那時候人們還認為只要賦予機器邏輯推理的能力,機器就能夠具有智能。隨著時代的發展,人們逐漸意識到專家系統面臨的「知識瓶頸」,即由人對知識進行總結,然後再教給機器是相當困難的。於是,一些學者想到讓機器自己學習知識。
在「推理期」人們基於符號知識表示、通過演繹推理技術取得了很大成就,而在「知識期」人們基於符號知識表示、通過獲取和利用領域知識來建立專家系統取得了大量成果。八十年代,美國卡耐基梅隆大學舉行了第一屆機器學習研討會(IWML)。1986年,第一本機器學習專業期刊Machine Learning創刊,時至今日,IWML已經走過了;1989年,人工智慧領域的權威期刊Artificial Intelligence出版機器學習專輯,刊發了當時比較活躍的研究工作,截至目前,Artificial Intelligence期刊已經走過了30周年的時間。
九十年代之後,機器學習進入「學習期」。機器學習是作為「突破知識工程瓶頸」之利器而出現的。這是因為在二十世紀九十年代中後期,搜集、存儲、管理、處理數據的能力大幅度提升,這時候迫切需要數據分析的技術,而機器學習恰恰是迎合了這個大時代的需求,因此機器學習逐漸成為熱門。
二十一世紀初,掀起了以「深度學習」為名的熱潮。所謂深度學習,狹義地說就是「很多層」的神經網絡、在若干測試和競賽上,尤其是涉及語音、圖像等複雜對象的應用中,深度學習技術取得了優越性能,但是深度學習同時對使用者的要求較高,另外深度學習技術涉及的模型複雜度非常高,以至於只要下工夫「調參」把參數調節好,性能往往就好。因此,深度學習雖缺乏嚴格的理論基礎,但它顯著降低了機器學習應用者的門檻,為機器學習技術走向工程實踐帶來了便利。
但是直到近些年來,深度學習技術才逐漸進入主流視野,這是因為深度學習中,學習模型擁有大量參數,若數據樣本少,則很容易「過擬合」,如此複雜的模型、如此大的數據樣本,若缺乏強力計算設備和大量的數據樣本,根本無法求解。而近些年恰恰是由於人類進入了「大數據時代」,數據儲量與計算設備都有了大發展,才使得連接主義學習技術煥發又一春,這也是為什麼近些年來深度學習如此火熱的原因了。
那麼,機器學習、深度學習、人工智慧、數據挖掘等這些大火的詞,他們之間是什麼關係呢?近年來,人工智慧的強勢崛起,特別是剛剛過去的AlphaGo和韓國九段棋手的人機大戰,讓我們領略到了人工智慧技術的巨大潛力。
人工智慧指由人類製造出的機器表現出的智能,這是一個非常大的範圍,長遠目標是讓機器實現類人智能。機器學習是指通過數據訓練出能完成一定功能的模型,是實現人工智慧的手段之一,也是目前最主流的人工智慧實現方法,是現代人工智慧的本質。深度學習是機器學習的一個子集,專注於模仿人類大腦的生物學和過程。
談到對數據進行分析應用,我們會想到數據挖掘。數據挖掘是從海量數據中發掘知識,這就必然涉及對海量數據的管理和分析。資料庫領域的研究為數據挖掘提供數據管理技術,而機器學習為數據挖掘提供數據分析技術。
3
機器學習的分類
在機器學習領域,根據學習算法可以將機器學習分類,主要有監督學習、非監督學習、半監督學習和強化學習。
(1)監督學習(Predictive or Supervised learning):
基於一定數量的類別已知的訓練樣本建立分類器,發現數據屬性和類別屬性之間的關聯模式,並通過利用這些模式用來預測未知數據實例的類別屬性。
在監督學習中,根據輸入輸出變量的不同類型,對預測任務給予不同的名稱:
分類問題:輸出變量為有限個離散變量的預測問題。在分類中,機器被訓練成將一個組劃分為特定的類。例如遙感圖像種的地物分類,就是一個典型的應用,根據不同地物在遙感影像(光學/雷達)不同的光譜特徵,訓練一個自動化地物分類模型,就可以自動化的對地表進行分類了。
回歸問題:輸入和輸出變量均為連續變量的預測問題。回歸用於預測輸入變量(自變量)和輸出變量(應變量)之間的關係,特別是當輸入變量的值變化時,輸出變量的值隨之發生的變化。股票預測就是回歸問題一個常用實例,股票價格是眾多影響因素共同作用的結果,股票價格預測是通過海量股票歷史數據作為訓練集,進行預測從而判斷未來價格。
標註問題:輸入變量和輸出變量均為變量序列的預測問題,可以看作是分類問題的一個推廣,也是更複雜的結構預測問題的簡單形式,標註問題的輸入是一個觀測序列,輸出的是一個標記序列或狀態序列。在信息抽取、自然語言處理等領域被廣泛應用。例如:模型輸入的是一個句子,輸出是一個標記序列,模型會為每個詞都產生一個標記,目標是構建一個高精度的詞性標註模型。詞性標註問題是自然語言處理中最基礎的問題之一。
(2)非監督學習(Descriptive or unsupervised learning):
根據類別未知(沒有被標記)的訓練樣本,發現數據中存在的內在結構解決問題的過程。非監督學習的主要方式是聚類。聚類根據數據屬性,將樣本劃分為若干個通常不相交的「簇」,既可以作為一個單獨過程(用於找尋數據內在的分布結構),也可作為分類等其他學習任務的前驅過程。這類方法中K-means方法則是其典型的代表。
(3)半監督學習 (Semi-supervised learning):
訓練集同時包含有標記樣本數據和未標記樣本數據,不需要人工幹預,讓學習器不依賴外界交互、自動地利用未標記樣本來提升學習性能。
(4)強化學習 (Reinforcement learning):
強調如何基於環境而行動,以取得最大化的預期利益。其靈感來源於心理學中的行為主義理論,即有機體如何在環境給予的獎勵或懲罰的刺激下,逐步形成對刺激的預期,產生能獲得最大利益的習慣性行為。實際中的強化學習例子有很多. 比如近期最有名的 Alpha go,機器人在圍棋場上戰勝人類高手。
下一期【微課堂】,我們將重點介紹機器學習的主要方法及其應用,重點來看看機器學習在遙感中的應用。敬請期待。