深度學習算法的分類
深度學習在早期被稱為神經網絡。神經網絡是一種特殊的學習方式,在神經網絡領域,人們将學習定義為“基于經驗數據的函數估計問題”。需要指出,這樣的學習定義雖然非常片面,但對于神經網絡而言已經夠用了。如此一來,如何構造函數,并應用經驗數據将其估計出來,就成了神經網絡面臨的首要問題。
學習算法的分類有很多種。一種分類方式是将學習算法分為傻瓜型學習算法與專家型學習算法。所謂傻瓜型學習算法,就是任何人使用得到的結果都差别不大的學習算法。所謂專家型學習算法,就是專家與普通人使用得到的結果差别巨大的學習算法,每個人得出的結果很難一緻。當然,中間還有一些處于兩者之間的學習算法,既不是純傻瓜型的也是不純專家型的。
另一種學習算法分類,是黑箱算法和白箱算法。所謂黑箱算法,是指使用者難以明白學習算法學到的知識,特别是其學習到的知識難以解釋。所謂白箱算法,是指使用者容易明白學習算法學到的知識,特别是其學習到的知識可以解釋清楚。
有了以上四個概念之後,我們就可以回顧早期的神經網絡是如何發展成今天的深度學習的了。
早期神經網絡無法解決非線性問題
神經網絡第一個成熟算法是線性感知器算法,該算法是白箱、傻瓜型算法,特點是節點為恒同映射,不同層次節點間的關系是線性組合關系,優點是解釋性好,如線性可分的時候,可以證明疊代有限步就收斂。這個算法在當時得到了很大的支持,拿到了大批基金。
但很遺憾,在1969年,Minsky與Papert提出的一個著名的反例——異或問題,給了線性感知器算法緻命一擊。世界的問題大多是非線性問題,而線性感知器算法連非線性問題中最簡單的“異或問題”都解決不了,由此可以推斷其實際用處不大。從此以後的10多年時間裡,在國際上,無論是東方還是西方,無論是前蘇聯還是日本、美國,看到神經網絡都視之為騙子,不再給予支持,這也直接導緻了神經網絡第一個冬天的到來。
多層前饋神經網絡的崛起與失敗
早期的神經網絡不成功是因為是線性的,如果改成非線性是不是好一點呢?到1982年以後,Hopfield發了好幾篇文章,證明了非線性網絡的有用性。這時候的神經網絡已經是典型的黑箱、專家型算法了。
多層前饋神經網絡非常成功的應用在了郵政編碼的識别中。20世紀80年代是美國郵政最發達的年代,當時通訊幾乎全都是紙質的,有大量的信件需要發送,工作量特别大。人們希望用機器代替,就用了郵政編碼的自動分撿系統,可以做到三分之二正确識别,剩下三分之一拒識的由人分撿,這樣大大減輕了工作量。
這時候神經網絡有很大的改變,取得了很大的進展,節點使用非線性函數,訓練時間長,一般為三層:輸入層、隐層、輸出層。主要是證明了神經網絡的萬有逼近定理:“如果一個隐層包含足夠的多神經元,多層前饋神經網絡能以任意精度逼近任意預定的連續函數”。在神經網絡采用的學習定義下,該定理證明了神經網絡的萬能性。由此,當時人們甚至認為神經網絡可以無所不能。據說,1988年IJCNN(國際神經網絡聯合會議)曾經貼出一個瘋狂的标語,稱:“人工智能已死,神經網絡萬歲”。
但是,當人瘋狂的時候就要挨揍了。如果有其他算法比神經網絡性能好一點,解釋性強一些,就一定能将神經網絡打入冷宮。這樣的事情真的發生了,1995年支持向量機(SVM)橫空出世,該算法比神經網絡算法解釋性好,其幾何解釋幹淨漂亮,性能比當時的三層神經好一些。這時候神經網絡進入了第二個冬天,好在這個冬天并沒有第一個那麼冷,基金支持并沒有徹底斷絕,能不能拿到基金,主要看人品和運氣。
突破三層的神經網絡,深度學習迎來春天
但是SVM也有缺陷,它主要是處理小數據的,是小樣本學習的典範算法。而到了2008年以後,我們迎來了大數據時代,各行各業都有大量的數據,而且電腦的計算能力也大幅度地提高了,因此SVM在很多領域将難以适用。以往的神經網絡基本上都是三層的,原因是四層以上的神經網絡會遇到數據量、計算力不足和梯度消失等問題。如果以上三個問題能夠解決,就能為深度學習奠定很好的基礎。
到2010年左右,人們通過采用新的激勵函數,逐漸克服了梯度消失或者發散問題,加之數據量和計算力的不斷提高,深度學習迎來了蓬勃發展。這使得化名為深度學習的神經網絡研究進入了另一個春天。
我們現在所說的深度學習,可以理解為層數高于三層的神經網絡。神經網絡和深度學習最重要的區别是:神經網絡的主流算法考慮時空數據的局部相關性較少,大多時候假設特征之間的獨立性;而深度學習的主流算法基本考慮了時空數據的局部相關性,如CNN,RNN,LSTM等。深度學習可以使學習能力提高,而訓練樣本并不需要增加太多。
到2016年,神經網絡深度就已經達到1207層。随着深度的提高,算法的錯誤率可以快速減少。深度學習避開了單純的特征提取過程,給出了一種将學習和表示合二為一的範式。這種方式導緻深度學習在有人監督學習中非常成功,同時在自監督學習中也取得了很大的成功,但在一般意義上的無監督學習中還沒有取得成功。
深度學習并非萬能,仍有局限
深度學習不僅是目前熱度最高的人工智能研究方向,也是工業應用最廣泛的學習範式,但深度學習也有其局限性。沒有免費午餐的定理指出,沒有任何一種算法可以解決機器學習所有的應用。深度學習也有很多“不能”的地方。比如,深度學習和人類學習相比,人用不了多麼大的樣本就可以學習,但是深度學習用的樣本比較多。
此外,由于深度學習屬于黑箱型算法,人類将無法知曉算法做出決策的原因與依據。它适用于各種低風險甚至無風險性任務,包括搜素引擎和AlphaGo等棋牌遊戲,這類任務即使發生錯誤,後果也不嚴重,并不要求算法去解釋這些錯誤為什麼會發生。
但對于高風險任務,包括無人駕駛、醫療手術等,一旦發生錯誤,由于成本巨大,必須能夠分析出發生錯誤的原因,以避免類似錯誤再次發生,此時,深度學習在解釋性方面将存在弊端。
總而言之,深度學習的表示能力超強,因此,在不要求解釋的學習任務中,深度學習的性能在可見的将來将一直占優。但是,在要求解釋的學習任務裡,深度學習将不是一個值得期待的工具。(國際融資記者李留宇根據于劍演講整理,杜秋攝影)