John Hopcroft昨日在清華舉行深度學習相關講座
本文為你整理Hopcroft教授的講稿與重點。
點選底部“閱讀原文”,輸入密碼“dwkz”即可獲得Hopcroft教授的演講錄音。
John Hopcroft !
康奈爾大學電腦科學工程和應用數學的IBM教授,由於在演演算法和資料結構的設計和分析方面取得的成就而被ACM授予了“計算機屆的諾貝爾獎”——圖靈獎。
這位令人崇敬的學術大牛於本週日來到清華,進行了一場主題為《An Introduction to AI and Deep Learning》的學術報告。
現場人滿為患,不少學生甚至只能站在報告廳兩側。
本文將以第三人稱,為你梳理John Hopcroft教授的演講內容。
Part 1
● ● ●
Hopcroft教授說,我們正在經歷一場資訊革命,這場革命與農業革命以及工業革命有同等重要的地位。
這場革命將給我們的國家帶來翻天覆地的改變,它的主要助推力就是資訊和計算,每位計算機領域的人都將在這一變革中發揮重大作用。
在報告開始,Hopcroft教授首先給大家分享了以下自己在職場上的經歷。
Hopcroft教授來自電子工程系,當時還沒有計算機系。然而,當時的系主任卻在沒有課本和教材的情況下,讓他來開發電腦科學課程。
沒有課本和教材就來開發課程,自然是有困難的。然而後來Hopcroft教授卻發現,開發這個課程,將讓他有機會成為世界上最年輕的電腦科學家。
後來,美國致力於打造在電腦科學領域的領先地位,Hopcroft教授已經是最年長資深的電腦科學家了。
於是有一天,當時的總統聯絡他,讓其出任國家科學委員會的成員。
Hopcroft教授說:“如果我一直獃在電子工程領域,直到今天,我可能都還在等前面更資深的教職員工退休。”
他說,之所以告訴大家這個故事,是因為目前的我們也同樣處在科學轉型時期。
電腦科學將發揮重大作用,如果大家以未來的眼光定位自己,我們也會有類似機會。
Part 2
● ● ●
短暫的小故事之後,Hopcroft教授首先介紹了一下我們機器學習理論在當前所扮演的一個關鍵角色。
Hopcroft教授說,閾值邏輯單元是機器學習中最基本的一個元素。
“有一組的輸入,然後有一系列的權重,兩者透過相乘求和得到一個結果,如果這個和達到獲超過了某個閾值,便輸出一個量。
把權重向量設為0可以讓你能夠很快的訓練這個模型,之後你就可以測試是不是所有的樣本都被正確的分類。
當出現沒有被正確分類樣本的時候,你就把這個沒有被正確分類的樣本加入到權重向量中來改變權重向量。”
Hopcroft教授說,他希望大家能夠抓住的一個問題是——權重函式是樣本的線性組合。
Hopcroft教授在報告中提出了一個問題:“如果樣本是線性可分的,那麼可以很快找到解決辦法。但是如果樣本不是線性可分的話,那麼你會怎麼辦呢?”
短暫的停頓後,他便給現場觀眾提供了一個解決方法,那就是將樣本對映到更高維的空間。
“將二維的資料對映到三維空間,除了x軸和y軸,我們還需要新增z軸。
z軸表示的,是樣本到原點的距離。
然而這有什麼用嗎?
其實這個時候我們就會發現,我們已經可以新增一個超平面將原來線性不可分的資料分開了。而這正是我們要做的。”
Part 3
● ● ●
Hopcroft教授說,對於資訊時代,最重要的一點便是擁有大量的資料。
人們一直以來都致力於降低錯誤率,現在錯誤率已經低於4%,而受過最好訓練的人約為5%。
這也說明,計算機處理影象的能力高於人類。
在報告中,Hopcroft教授還表示,用一個3×3畫素的小視窗來改寫一張圖片,然後用這個視窗計算一個門(Gate)。
用這個3×3的視窗,每次移動一列,遍歷一列之後,再往下移動一行,如此滑動遍歷,就得到和影象的畫素數字相同的門。
計算這些門使用了相同的演演算法,那麼這些門就表示影象的一個特點。
你想要挖掘更多的特點話,就構建第二層網路,你可以一直構建甚至到60層。
為了讓網路簡化,我們可以構建一個池化層(pooling)。
這次我們使用門形成的矩陣,構建一個2×2的視窗,然後用不重疊的方式滑動這個視窗,並且每個視窗中取四個值中的最大值放大這裡。
這樣,我們可以透過池化層提取特徵,卻並不需要知道這些特徵的確切值。
此處,Hopcroft教授為了生動說明,舉了一個識別人臉的例子。
他說:“如果你看一張人臉,你只需要知道鼻子在嘴上,而你不需要知道二者的距離究竟是多少。”
Hopcroft教授還說:“目前,我們一直在談論的事情之一是有監督學習。
如果你有一輛自動駕駛汽車,你一定不想訓練車輛遇到的每一種情況,而是會希望汽車能夠在開車的過程中,用一種無監督的方式自動學習。
最近我們發現,這是可能實現的。”
有些人做了以下實驗:他將影象放到完全連線的層面上,訓練影象並重新構圖以再現影象。
在只通過訓練和重構影象的方式,讓系統在沒有監督的情況下把貓認成貓。
“這被稱為無監督學習。而這也將是一個很重要的研究方向。”他說。
Part 4
● ● ●
在長達1小時的報告中,Hopcroft教授提到了許多內容。在此我們略過一部分,從生成對抗網路開始講起。
Hopcroft教授說:“人們試圖創造影象,希望在輸入“貓”這個詞之後,就能夠創造出一隻貓的影象。”
比如,有人想創造出一個人騎著馬而狗在旁邊跟著的影象,他們的技術可能不太好,創造的影象看起來並不完全像真實的照片。
於是有人提出使用合成影象鑒別器,這種裝置經過訓練後能夠鑒別出輸入的圖片是真實拍攝的還是合成的。
接著,這些人將影象生成器和影象鑒別器相結合。他們開始訓練影象生成器,直到它生成的照片可以成功地騙過合成影象鑒別器。
接下來,他們又進一步訓練合成影象鑒別器,增強其鑒別能力。透過這樣反覆修改、訓練,影象生成器很快就可以生成質量不錯的影象。
Hopcroft教授說,在場的觀眾可能會問,這個想法可以應用到哪些領域?
假設你現在需要進行翻譯,在過去,譯員的做法就是根據自己對兩種語言的掌握進行翻譯。
如果我們現在對另一種語言幾乎一無所知,應該怎麼辦呢?
首先,你可能會把英語逐字轉換成德語,然後用鑒別器來鑒別轉換後是一個完整的句子還是隨意排列的詞語。
接著,再用一種裝置將德語翻譯回英語。最後經過反覆訓練,這兩種裝置就可以將英語翻譯成德語。
Hopcroft教授強調:“大家不必瞭解深度學習為什麼奏效,而是應該瞭解如何將其應用到諸多領域。”
他說:我們想做的是,將深度學習應用到大眾的手機當中。
然而此處又出現的了新的問題:但網路過於龐大,是否有辦法將網路壓縮至適合手機的大小?
目前人們訓練小型網路的技術還不成熟。但是他們也已經取得一定的成績:他們訓練手機網路,然後拿到啟用因子。他們試圖透過訓練這個網路,來訓練啟用因子,做法與之前Hopcroft教授提到的例子是同樣的道理。
Hopcroft在此處又提出了一個問題:“我們是否能夠先訓練一個大型的網路,從中學習經驗,然後利用這些經驗去訓練小型網路?”
“這是一個很有趣的研究課題。”他說。
為了令報告更加生動有趣,Hopcroft教授以他女兒為例,向大家進一步說明。
“多年前,我女兒大概四歲左右,我們經常一起坐在沙發上一起讀書。
我們有一本書,名叫 The Greatest Book Ever or The Best Book Ever。
這本書上有很多圖片,我會指著狗的圖片,跟她說這是狗,她就會跟著念狗;
我指著房子的圖片說這是房子,她就跟著念房子。
但是這本書上,只有一張消防車的圖片。她卻在我沒有告訴她的情況下,她就知道了這張圖片代表消防車。”
然而識別出“消防車”並不是故事的真正結尾。
Hopcroft教授在之後還說:“有一天我們出去散步,街上有一輛消防車,女兒對我說‘爸爸,你看消防車。’
但是街上的這輛消防車,跟她以前在書上看到並且形成概念的消防車完全不一樣。
所以,深度學習其實就是利用上千張消防車的照片來訓練如何識別出真正的消防車。
怎麼使學習最大化?可以先從學習一個簡單的影象開始。
在兩歲之前,我女兒都是在學習如何進行學習。最初,在學習一些東西之前,她需要看大量相關的圖片。
漸漸地,她開始學習如何從一張圖片上去獲取東西。現在她已經完全可以做到了。”
Hopcroft教授指出,有時深度學習也會出現一些看似愚蠢的小錯誤,令大家感到困擾。
“比如我們訓練一個網路,讓它去識別貓。我們改變了一些筆觸,這些細微變化人類可能很難察覺,但深度學習網路識別的結果卻可能會突然變成了汽車。這就是目前深度學習存在的問題。”
Hopcroft進一步用這個例子證明,在啟用空間中,貓的每一個啟用向量在任意的其他類別中都任意地被啟用到一個啟用向量。
怎樣才能讓它變得正確?Hopcroft教授對這個問題進行了研究。
他說:“你可以從一維開始,設定10個類別,把數字分成10組,一組中的每個點任意接近其他組中的這個點。當然如果把它拓展到三維,這些分組也是可以沿用的。
如果我們想阻止深度學習犯一些愚蠢的小錯誤或出現其他問題,理解啟用空間的結構是非常重要的。”
Part 5
● ● ●
在報告末尾,Hopcroft教授說:“每次我演講時,大家都會問我人工智慧真的智慧嗎?我給出的答案是否定的。”
他說,在現階段,人工智慧只是在多維空間進行樣式識別。我們訓練網路時,人工智慧程式並不能抓取物體的本質,或理解物體的功能,或掌握這個物體其他重要的因素。
當我們要瞭解腳踏車時,你不僅僅要知道它的形狀,還要知道它是一種騎行的工具,你可以騎著它從辦公室到達地鐵站或者從地鐵站到家,人工智慧卻無法理解這些東西。
“如果你需要訓練一個深度學習網路,讓它去識別機車、廂式車、罐車、平板車等等,你問它圖片上的物體是什麼,它可能會說這是廂式車或裝著東西的平板車。
但是如果大家仔細觀察的話,可能會發現這是一臺發動機。”
Hopcroft教授話音剛落,全場便響起了一陣笑聲。
“所以,這個情況再次說明深度學習只涉及形狀,無法獲取物體的功能。”Hopcroft教授解釋道。
之前,我們認為人工智慧是一種解決最終問題的能力。然而當計算機開始能夠解決這些問題時,卻通常都不是用智慧的方式。
Hopcroft教授舉了一個下象棋的例子:“下象棋時,我們要把每一步可能出現的情況做成樹狀圖,會有不同的分支。人類通常只能夠完成幾層,但是計算機卻能夠完成更多層的佈局,所以計算機能打敗人類。
然而這個過程沒有涉及智慧方面,更多地是依靠計算機的計算能力。”
在最後,Hopcroft教授說:“對於人工智慧來說,我們需要做的是逐漸讓機器解決越來越多在我們看來需要智力才能解決的問題。”
在報告結束後,貴系周教授代表計算機係為Hopcroft教授送上禮物。
許多人在結束後仍然不肯離去,希望能與Hopcroft教授在計算機領域的問題上有所溝通交流;
也有人拿出準備好的筆與書,希望Hopcroft教授能為自己留下簽名。
報告雖然結束了,然而計算機人的追求卻不會停止。
正如Hopcroft在報告開頭所說的一樣:資訊和計算將給我們的國家帶來翻天覆地的改變,而每位計算機領域的人都將在這一變革中發揮重大作用。
關於PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號後臺點選「交流群」,小助手將把你帶入 PaperWeekly 的交流群裡。
▽ 點選 | 閱讀原文 | 獲取錄音