當我在1995參加了計算機科學的時候,數據科學并不存在,但我們仍然在使用許多早已存在的算法。這不僅僅是因為神經網絡的回歸,也可能是從那時起,就已經沒有發生太多根本性的變化。至少給我的感覺是這樣的。有趣的是,從今年開始,人工智能似乎終于已經成為主流。
在云計算機,智能手機,或聊天機器人出現之前,1995年聽起來像是非常痛苦的時期。但在了解過去的幾年時,如果你未身處其境,感覺起來就像是很久以前的事一樣。就如自我延續一樣,它將一切都貼在一起,雖然已經改變很多,但與現在相比,世界沒有感覺到根本不同的。
堅持不懈從事計算機科學
計算機科學從未像現在一樣未接近主流。后來,隨著2000年左右的第一個網絡泡沫。有些人甚至質疑我學習計算機科學的選擇,因為編程計算機很顯然變得非常容易,再也不需要專家了。
事實上,人工智能是我學習電腦科學的主要原因之一。將它作為一種建設性的方法來理解人類思想的想法,對我來說非常耐人尋味。前兩年我都在訓練,以確保自己有足夠的數學水平來解決道路上的阻礙,且最終上了第一堂AI課(由JoachimBuhmann授課),那時波恩大學的教授SebastianThrun正準備離開美國。我得查看我參加了他的哪一個演講周期,他在計算機視覺中有兩個講座,一個是模式識別(多數是舊版本的Duda&Hart的書中知識),一個是信息理論(類似于Cover和Thomas的書)。材料是非常有趣的,但也有點令人失望。正如我現在所知,人們停止了AI方面象征性的工作,不再堅持用更多的統計方法來學習,這種方法學習的本質是,基于有限數量的觀察減少選擇正確函數的問題。計算機視覺講座,甚至學習的更少,且更依賴于明確的物理建模,以獲得正確的估計,例如,從視頻中重建運動。那時的方法比現在更加生理化和物理化。雖然神經網絡存在,但每個人都很清楚,他們只是“另一種函數逼近。”除了RolfEckmiller,和另一個我曾經在其手下工作過的教授之外,每個人都這么想。Eckmiller在“神經計算”在某種程度上比傳統的計算好得多前提下建立了他的整個實驗室。這可以追溯到NIPS有著完整的路徑致力于研究神經元的生理學和工作機制的日子,甚至有人認為在我們的大腦中有著本質性差異東西發生,也許是在量子水平,這增加了人的心靈,這種差異是研究真正智能機器的一大阻礙。
雖然Eckmiller很善于推銷他的觀點,但他的大部分工作人員都慶幸腳踏實地。也許這是一件非常德國化的事情,但每個人都很關心這些計算模型到底能不能做到,這也是研究中一直困擾我的問題。我畢業于2000十月,發表了相當牽強的碩士論文,試圖在學習和努力優化問題之間建立聯系,然后開始了我的博士論文,并堅守在該領域進行研究直到2015。
機器學習的研究方法很多,但解決的本質問題基本一樣
雖然一直試圖證明行業的相關性,當它是一個長時間的非常學術性的努力,且社區是相當封閉的。有一些個人成功的故事,例如手寫字符識別,但許多公司在機器學習方面的研究失敗了。我記得有一個公司叫BeowulfLabs和NIPS,他們用一個視頻到處去招聘人才,承諾要成為下一個“mathtopia”。在本質上,這是DeepMind的故事,招聘一群優秀的研究人員,然后希望它會起飛。
整個社會也會圍繞著一個時尚到下一個。有一件奇怪的事情是,機器學習作為一個整體,除了一大堆方法外,只有極少數本質不同的問題,如分類,回歸,聚類等。它不像物理(我假設)或數學一樣,一些普遍認為沒有解決的疑難問題,存在可以推進出最好結果的解決方案。這意味著,進步經常是做橫向的,通過用一個新的方法更換現有的方法,仍然以不同的方式解決同一個問題。例如,首先有神經網絡。然后支持向量機出現了,聲稱其效果更好,因為相關的優化問題是凸面的。然后有boosting,randomforests,等等,直到回到神經網絡。我記得,中國餐館進程(ChineseRestaurantProcesses)“火”了兩年,但沒有人知道他們現在的意義是什么。
大數據與數據科學
大數據與數據科學的時代已然到來了。當時立身于學術界,我總覺得大數據與數據科學肯定來自于外界,可能來自于像谷歌這樣切實處理龐大數據的公司。大規模學習確實是存在的,例如,生物信息學中基因組數據,但是我們應當尋找更為有效的算法或近似算法來解決這些問題,而非蠻干。
諸如谷歌這樣的公司最終證實了,我們可以運用龐大的數據完成一些事情,最終將改變人們對人工智能持有的主流觀點。有一些技術,如Hadoop和NoSQL,看似非常流行,能夠嫻熟地在市場上推廣并不斷革新,這些技術將免于現存體系中技術方面的限制。然而,這將對機器學習的研究者產生什么影響?給我的印象是,這些研究者感到高興的是,大數據與數據科學時代的到來使他們最終得到認同,不過,他們也為自己得到認同的方式感到悲哀。要理解這一點,我們要意識到,多數ML研究者并不是計算機領域的科學家,或者非常擅長,對編碼非常感興趣。他們中許多人來主攻物理,數學或其他學科,在這些學科領域中,他們卓越的數學訓練能力使其能夠熟練運用各種算法,并為機器學習構建核心模型。
另一方面,Hadoop分布式系統基礎架構偏科技性。用Java編寫,這種語言在當時被認為專業性極強,與MatLab和Python兩種計算機語言相比,Hadoop的語言不免顯得復雜難懂。即使那些C++編程人員也會有相同的感覺,對他們來講,Java語言也會顯得冗雜,特別是在數值計算和模擬方面。但是,當前尚未找到解決這一問題的途徑,因而,他們將自己所做的一切都重新命名為大數據,或者開始強調,大數據僅為大規模計算提供基礎數據資源,而你需要專業的人才,方能弄懂這些數據信息。
這種解決方法應當是不會出錯的。我認為,在一定程度上,這種區分依然是存在的。如果為數據分析選擇合適的語言,Python當是最優之選,存在一些技術,如Spark,試圖通過綁定Python語言來分析數據,不論該種方法在性能方面是否講得通。
深度學習的回歸
甚至在谷歌研發出人工智能技術DeepDream之前,神經網絡已經掀起回歸熱潮了。有一些人,如YannLeCun,一直以來堅持這種方法,但是,大概在10年前,有一些研究顯示如何使用分層訓練及其他訓練方法,訓練“深層”網絡,這種類型網絡的規模超出人們之前所能設想的。
得根據訓練實例進行評估,以訓練神經網絡,然后,調整所有權值進一步減小誤差。倘若沿著權重下降的方向記錄梯度值,那么將從最后一層開始把錯誤傳播回來。不管怎樣,可以這樣理解,錯誤信息將逐層遞減,如此將增加多層次訓練網絡的難度。就我所知,許多人依然采用背景法,我不確定這種觀點是否依然正確。但是,可以肯定的是,可使用的數據量,工具及原始計算能力均發生了變化。因而,最初一些研究文獻點燃了人們對神經網絡的興趣,人們隨后開始繼續使用這些神經網絡,并在一些應用領域中取得了卓越的成就,這些神經網絡最早成功應用于計算機視覺,隨后在言語加工處理等領域。
我認為,這種類型的神經網絡之所以能夠吸引人是因為其多樣化的用途。有了這種方法,人們可以免于理解多種不同途徑的麻煩。此外,神經網絡擁有一個模塊化的結構,人們可以挑選出并組合不同層級和結構,將其用于解決各種各樣的問題。
谷歌當時發表了一篇關于DeepDream人工智能技術的優秀論文,文中提到他們能夠運用一個包含信息豐富的網絡衍生出一些數據,而我們人類具備即時學習結構與屬性的能力,很快便能學會運用這種網絡。因而,如今谷歌可以稱得上一家一流的人工智能公司。人工智能將拯救全世界。
尚待解決的一個基本問題
我曾經與許多學者交流過,他們對于深度學習的主導作用感到不滿,原因是這種方法能夠產生很好的效果,有時這種效果甚至過于理想化,但是,仍然不能幫助我們進一步理解人類大腦的工作原理。
我對此也持相同的看法,即這一基本問題仍未得到解決。我們是如何理解世界的?我們是如何創造出新概念的?深度學習依舊停留在模仿行為的層面,盡管對于一些人來講,深度學習的效果已經相當不錯了,但我對此還不太滿意。此外,我認為將太多智能因素歸功于這些系統,存在風險。對原始數據來講,這些系統的性能可能很不錯,但是,在其他方面,這些系統將以完全不同的方式運行。
盡管谷歌翻譯工具能夠允許人們跳過外國網站上發布的內容,該種系統的性能仍有待改進,這一點是明白無誤的。有時我覺得沒有人會在意這一點,也許是因為沒有人會因此受到傷害,不是嗎?但是,也可能是由于我的德國文化背景的緣故,我希望我們能夠以事物最初的模樣來看待這些事物的發展。