您的位置:首頁>科技>正文

【鈦坦白】地平線機器人羅恒:應用深度學習的門檻是在降低嗎?

在鈦媒體Pro專業用戶和付費用戶專享的“鈦坦白”線上課堂第33期, 我們再次請來三位鈦客分享對機器學習的思考 。 本期鈦客之一、地平線機器人資深演算法研究員羅恒,

2011年博士畢業于上海交通大學, 後師從于AI巨頭Yoshua Bengio從事博士後研究。 學習期間, 在學術期刊與國際會議上發表多篇論文, 並被大量引用。 2014年加入百度深度學習實驗室, 參與深度學習在搜索中的應用、PaddlePaddle研發等工作。 現任地平線模型壓縮和加速方向負責人。

本文根據羅恒的分享整理。 全文需要成為鈦媒體專業用戶才可以查看。 進入鈦坦白九個專業群交流, 並查看更豐富的專業資料和資訊, 可點擊:http://www.tmtpost.com/pro註冊成為鈦媒體專業用戶。

以下根據羅恒在鈦坦白的分享實錄整理:

大家晚上好, 我是地平線機器人的羅恒, 很高興能來鈦坦白和大家分享我對於應用深度學習的一些想法。

我所經歷到的深度學習的復興

我的博士是在上海交通大學念的,

剛開始的時候其實並沒有確定自己研究方向, 只是對機器學習很感興趣, 看了很多機器學習方面的書和論文, 最感興趣的是“支持向量機”, 感覺實際中有廣泛應用, 同時又有非常完善的理論, 所以花了一定的精力在讀相關的論文和書。 看了一段時間之後, 發現Vapnik似乎已經把所有他想要解決的問題都解決完了, 很多識別的問題解決得不好, 是由於沒有專家設計出合理的核和函數, 而這不是SVM或統計學習理論所關心的問題。 當時看到這兒, 感覺好像已經沒什麼工作可做了。

在這個時候看到了Yoshua Bengio寫的一個關於深度學習的一個技術報告, 覺得很有趣, 因為角度完全不一樣。

SVM考慮的問題都是如何限制模型的複雜度, 如何來增強模型的推廣能力, 而在Bengio的論文裡討論的都是如何學習資料的表示, 他認為如果我們能夠學習到關於資料的抽象表示, 那麼分類就會變得非常簡單, 也就是說我們不需要去用一個像知識像機那麼複雜的分類器, 可能一個簡單的線性分類器就能實現我們的目標。

當時就覺得這個非常有潛力, 這可能是一個全新的方向, 那時候是2008年, 關注神經網路、深度學習的人還比較少, 我也從來沒有想到過後來會有這樣大的發展, 當時覺得最大的可能也就是在學術界引起一波新的研究的熱潮, 想不到深度學習後來會被廣泛應用到實際中, 並且又一次引發了公眾對於人工智慧的關注。

開始做深度學習研究的時候, 面臨一個很大的困擾。 別人問我在做什麼, 回答在做深度學習, 那麼下一個問題一定是“什麼是深度學習”。 甚至論文投出去有很多審稿人會覺得你怎麼在做神經網路, 這不都是已經很古老的東西了嗎?沒想到, 過了短短的五六年之後, 再去開會的時候, 當有人問我在做什麼方向, 我回答說做深度學習的時候, 往往換回來的回應都是“怎麼又是在做深度學習”, 那時候好像所有人都在做深度學習了。

好不容易發了幾篇論文能夠畢業了, 一次開會正好遇見Yoshua Bengio, 他正好在招博士後, 就去了他那裡做博士後。 其實當時覺得自己博士畢業後很大可能是去學術界, 想先做博士後,

回國找個學校教書。

做了兩年博士後之後, 突然發現深度學習已經變得非常火爆了, 不但是在學術界引起了非常大的轟動, 甚至在工業界也開始有很多人關注起來, 甚至很多深度學習的應用都已經被應用到了工業系統裡邊。 所以2014年初離開加拿大回國, 一方面很好奇工業界用深度學習到底怎麼樣, 想來看一看, 另一方面也是學術界的工作其實不是太好找, 工業界反倒工作很多, 所以就加入了百度IDL深度學習研究院。 在百度實際上就是做一些應用深度學習到搜索系統中的工作, 也參與了Paddlepaddle開發, 週一的時候於洋已經介紹了Paddlepaddle的一些情況(相關文章:http://www.tmtpost.com/2584884.html), 我和於洋認識好久了。

去年加入了地平線機器人, 現在在地平線機器人做一些模型壓縮方面的工作, 我們的想法就是希望能夠把硬體、晶片、演算法到應用場景打通,把它們放在一起聯合優化,其實這個也就好象做深度學習總是喜歡端到端來進行,end to end來訓練模型。我們希望能夠把從應用場景中的需求一直傳遞到軟體,傳遞到演算法,傳遞到硬體,傳遞到晶片,能夠把它放在一起聯合優化。

AI的泡沫

先簡單回顧下深度學習的發展。深度學習是源於上世紀60年代開始神經網路進一步的發展,它現在在機器視覺、自然語言理解、一些工業級的應用都產生了巨大的影響。近來還慢慢出現了一些受深度學習啟發的新應用方向,比如醫療圖像分析、自動駕駛。國內的情況是,自從百度在2013年的時候創建了深度學習研究院,這些年來一些大公司也都開始有一些部門從事深度學習相關的研究工作。

真正引起人工智慧火爆的是去年出現的AlphaGo。一方面,我本人也下圍棋,當然我是普通的業餘愛好者的水準,另外一方面,我自己也做機器學習,因此也常常會關注這方面的進展,但是其實在AlphaGo出現之前,總覺得電腦擊敗人類頂尖棋手是一個非常遙遠的事情。

我在大概2011年、2012年的時候,看到過Hinton的學生發表的一篇論文,裡面開始用卷積神經網路來處理棋譜,把棋譜當成一張圖片輸入卷積神經網路,然後去預測下一步的位置。那篇論文估計也只是兩個學生的遊戲之作,發表在不是很著名的會議上。我當時覺得這個想法很有意思,因為其實從下棋人的角度,很多時候他就是憑著大致的一個感覺,並沒有很多的計算,只是對棋的形狀的一種感覺,常常可以做出一些直覺上的判斷,而且很多時候這種判斷還比較准。

但是只是對棋行的把握是遠遠不夠的。所以當我聽說DeepMind在做圍棋的時候,就覺得可能會有突破(從本質上講,圍棋和DeepMind之前做的那些打遊戲的任務,並沒有什麼不同)。聽說能夠贏了樊輝(職業棋手)當時就覺得很震驚了,以往的圍棋軟體大概只能到業餘棋手的水準,而業餘棋手到職業棋手往往有一條非常巨大的難以跨越的鴻溝。而很快,AlphaGo就擊敗了李世石。李世石是大概十多年才一出的天才,從樊輝到李世石,這中間其實也有一條非常大的鴻溝。讓人沒有想到的是,對於AlphaGo來說,似乎這兩條巨大的鴻溝都不存在,只是不停的去訓練,機器就不斷的提升,輕鬆擊敗人類的天才,帶領人類看到前所未見的圍棋新境界。這當時對我是很大的震撼,而且從後來來看,其實對整個世界都有巨大的震撼。

AlphaGo一定會成為人工智慧史上的里程碑,但是這並不意味著AI會迅速到來。現在對於AI的火爆關注,裡面存在相當的泡沫。更何況,目前AlphaGo本身的細節其實只有DeepMind的少數人知道,前兩天田淵棟來地平線訪問也聊起過這個,他遇到黃士傑,聊起了他們新的進展。黃士傑的講法就是在Nature論文之後,又做了很大的改進,那麼這很可能意味著沿著Nature那篇論文繼續往下做會遇到瓶頸。而且從應用AlphaGo的角度,如何應用到實際問題,會有什麼樣的商業模式,都是完全不確定的。所以我個人懷疑現在的這種火爆的場面裡面有相當的泡沫的成份存在。

這些泡沫造成什麼樣的影響呢?從去年到今年,出現了大量的AI相關的創業公司,然後突然之間做演算法的,無論是做機器視覺、自然語言理解、語音辨識,還是深度學習演算法,突然出現了很多的高薪職位,然後不斷傳出新畢業的學生拿到了如何如何的高薪。除此之外,很多大公司也在紛紛的成立AI相關的部門、相關的研究院等等。

這次鈦坦白課程的題目是大概一個月前確定的,當時只是想講一些個人的看法,然後就很巧,前兩天迅雷的創始人陳浩寫了一篇文章,也討論了一些AI創業公司的事,還挺有意思的。他其中就提到了現在的很多AI的創業公司大多是由有技術背景甚至是研究背景的創始人創立的,都有很強的技術,但是對於應用場景、商業模式的考慮都很少,而且往往是有點拿著錘子找釘子的感覺。

應用深度學習的門檻是在降低嗎?

從我的角度和我的感覺來說,是的,應用深度學習的門檻是在降低,而且是在非常迅速的在降低。但是隨著深度學習的進一步應用,可能會形成一些新的門檻。

說到職位的薪水,實際上在過去一二十年,程式設計人員也就是碼農都有很高的薪水,相對於社會其他的職位來說。為什麼碼農能夠有比較高的薪水,一方面當然是從個人電腦到互聯網時代新的市場的出現,然後產生了很多超額利潤的公司,但是另外一方面也是在於程式師本身就是在不斷的自動化一些事情,不斷地提高生產效率。程式師寫了軟體,即使程式師下班了這個軟體其實還在工作,還在為公司掙錢,而不像傳統工人,當他休息的時候機器也就休息了。

從這個角度來說,深度學習以及神經網路從誕生的開始就一直是在試圖減少人的工作,使本來需要人的工作可以交由機器自動完成。

下面我先簡單回顧一下神經網路的歷史。上個世紀的60年代開始出現了感知器,當時的感知器就是一個單層神經網路,它的輸入實際上是需要專家來設計的特徵,這個感知器起的基本上就是一個分類器的作用,試圖取代的就是人利用特徵分類。目標就是將一個完整的識別任務拆成兩部分,專家設計好特徵,這些特徵是對分類有説明的,然後我們給感知器資料,感知器能夠自動的去找到特徵和類別之間的關係,最後自動化的進行分類。上個世紀的90年代,出現了多層感知器(由於反向傳播演算法的出現),使得我們能夠訓練帶有隱藏層的感知器,那麼這個時候的神經網路就已經能夠開始學習一些簡單的特徵了,依賴專家的程度開始減少。從2006年到現在,隨著最開始的非監督預訓練以及後來大量的帶標籤的資料,還有一些神經網路的新的方法,深度學習開始能夠自動的學習越來越複雜的特徵,同時比較好的完成分類識別。領域專家設計特徵在構造分類器的過程中消失了。

最近一段時間李開複老師經常會講,人工智慧要到來了,未來很多職業將會消失,很多一些簡單的重複性的工作將會被人工智慧取代。開複老師講的是未來的事情,是對未來的一些展望。我在這裡就講講過去的事情,已經發生了的人被機器取代。從深度學習誕生到現在,已經取代了很多人的工作,而這些人都是一些專家,他們從事的都是一些相對高技術的工作。

剛才講到了開始的時候,神經網路的最初的形態感知器需要專家來設計特徵,然後把特徵交給神經網路,然後神經網路才決定如何來進行分類。那麼隨著深度學習的發展,其實已經取代了很多的專家,大家可能沒有很意識到,我這裡就講幾個方面:首先就是機器視覺方面的一些專家,在深度學習出現以前,可能大量的機器視覺的研究人員,他們想方設法都是在設計各種各樣的特徵,然後利用這些特徵再去完成一個複雜的機器視覺的任務,如何去設計合理的特徵,往往需要非常多的經驗,甚至需要天賦在裡面,而即使是設計好了很好的特徵,當應用到一個新的場景的時候,往往需要做很多新的設計才能夠在新的場景下做得比較好。那麼在深度學習出現之後,現在如果大家再去看一看新的機器視覺的文章,像這些設計特徵的文章的數目已經變得非常的少了,而大量的都是使用神經網路,使用深度學習方法,從資料中學習特徵,那麼這其實就降低了機器視覺使用的門檻,也實際上取代了這部分人的工作。由於深度學習的出現,之前的那些需要高超技巧的特徵設計專家被取代了,現在只需要大量不需要太多技巧的資料標注人員,加上少量的有一些深度學習演算法經驗的人員。並且隨著深度學習的進展,無論是對標注人員還是深度學習演算法人員的需求也在下降。

另外一個例子,就是廣告推薦系統。之前的這些系統也是依賴很多專家來設計各種各樣的特徵,甚至一個好的廣告推薦系統,完全取決於特徵工程做得如何。做特徵工程的專家往往需要很強的統計、機器學習背景,同時又對業務邏輯、系統有深刻的理解。但是隨著深度學習的出現,大量的公司現在有個趨勢,就是使用神經網路,利用使用者的點擊資料,就能得到非常好的結果,遠遠超出了通過搞特徵工程,加上一些線性模型的結果。

所以我想說的是,深度學習的出現,甚至人工智慧的出現,可能並不是如大家所想像的那樣,先去取代那些簡單的重複性的勞動,而很有可能一開始就是要取代那些專家。無論是十年一出的圍棋天才,還是受過高等教育有著豐富經驗的研究人員。

最後是一個正在發生的例子,從去年到今年開始有很多的醫療圖像分析的公司出現,這些公司收集了大量的資料,這些資料裡就體現著很多不同的領域醫生的知識,體現著大量不同病情的表現,通過深度學習方法,這些公司都在努力從這些資料中學習這些知識。目前他們已經取得了一些成功,未來很可能在醫療圖像分析領域機器會做得比人更好,這些機器不知疲倦、不會犯錯,自然會取代一部分人的工作。

回到深度學習本身,隨著深度學習的進一步發展,也會減少現在演算法人員的工作。而這個其實就是整個學術界還有工業界從事深度學習的人每天的努力的方向。大家每天的工作其實就是如何使自己的工作能夠變得更加的簡單,更加的高效,更少人的干預,也就是說由於這些最優秀的演算法人員的努力,使得應用深度學習變得越來越容易,越來越簡單。

應用深度學習的哪些門檻在慢慢消失呢?首先是開發的門檻現在基本消失了,像我剛開始做深度學習研究的時候,代碼都要自己寫,我是在Matlab下面做實驗,有的時候如何使用Matlab也需要很多的技巧才能使得程式高效起來。而現在這些全部都不是問題了,當你需要應用深度學習的時候,不需要瞭解各種演算法實現的細節,也不需要擔心性能的優化,甚至不需要擔心程式設計語言,像比如說MXnet、TensorFlow還有Paddlepaddle都能支援各種各樣的語言的介面,你可以用你喜歡的語言做非常簡單的高層的、高效的深度學習應用的開發,而把後面的優化、性能交給專家去考慮。同時,深度學習是一個非常開放的學術圈,大家都非常樂意公開論文實驗的代碼,往往一篇論文一出來,誰都可以利用他的代碼來完美的複現實驗,迅速地站上巨人的肩膀。深度學習系統的開發的門檻現在已經基本消失了。

另外一個門檻過去網上討論的也很多,就是所謂的調參,這個的門檻現在也在消失之中,深度學習曾經充滿了各種各樣的小技巧,為什麼說是技巧呢?因為它從理論上講不清,同時有時候有效有時候沒有效,而何時應用又往往需要依賴於使用者的經驗。不知道大家有沒有看過《Neural Networks: Tricks of the trade》,這本書就是專門講神經網路的一些訓練的技巧的,這本書出版過兩次,一次是1998年,那個時候是神經網路上一次火爆剛要結束的時候,還有一次是2012年,這是深度學習神經網路又一次興起的時候。

當年一篇論文出來,一個新的結果出來,別人想複現都非常困難,因為這裡面牽扯著不同的代碼實現,還有大量的超參數,有時候是作者有意回避,有時候也是限於論文的篇幅,很難事無巨細的把所有的實現的細節都講進去,甚至有時候有些作者都沒有意識到真正起作用的東西可能就是在他忽略的一些細節裡面。如今隨著一些Batch Normalization、Adam之類的新技術出現,訓練神經網路變得非常的容易。大概在我剛開始做深度學習的時候,那個時候一批新的資料,一個新的模型往往要折磨好久才能夠有結果,而現在隨著使用這些新的技術,我花在調參上的時間已經微乎其微了。

最近幾年,深度學習的一些進展,比如說在ImageNet上的一些突破,其實就是在於一些新的網路結構的設計,而且在實踐中大家也發現,除了資料之外,一個合理的設計良好的網路,往往能夠帶來很大的收益。這個情況現在也正在慢慢的改變,首先就是網路結構在慢慢的固定,大家可以發現,近一年來,已經沒有太大的新的結構、新的突破出現了,基本上大家就會使用ResNet,其實表現的都很好,此外,似乎這些網路也都有一定的普適性,也就是說儘管這些網路都是針對ImageNet設計的,但是實際上在其他的一些資料集上,在其他一些視覺任務上表現的都不錯,另外一個好處就是這些網路在各種的開源平臺上都有實現,而且有相應的實驗的結果,大家非常方便的可以拿來改造、複用。

深度學習可能出現的一些新的門檻

我認為深度學習在將來可能出現的新門檻有四個:

(以下全文僅限鈦媒體專業用戶開放,點選連結:http://www.tmtpost.com/pro 註冊鈦媒體專業版)

……

鈦坦白群友互動:

1、羅博士,目前的深度學習檢測、跟蹤對小目標是不是存在天然性的缺陷,該怎麼解決?

羅恒:我不覺得深度學習檢測追蹤對小目標有什麼天然性的缺陷,我覺得人本身看小目標也會有困難,我相信可能對於這些長遠的來看還是需要對於場景的理解,就是對於人來說,人很多時候,小的東西他看不清,但是他依賴環境,他能夠大概或者對於這個世界的知識他能夠揣測這大致是一個什麼東西。

2、羅博士,我剛剛在paddle的docker內跑了一下個性化推薦的demo,結合現在K8S的大規模應用,基於docker的這種AI框架是不是會有更多的應用優勢?

羅恒:關於Docker,關於Paddle,還是要請於洋來回答了。

於洋:謝謝羅博士引薦,Docker或者K8S應該不只是會在AI領域裡面有深遠影響,目前來看應該會在各種各樣的應用裡,比如web應用,都會有廣泛影響。這看起來是目前發展的趨勢。相對於之前用hadoop搭一個hadoop集群,用web搭一個ngnix集群,用Docker和K8S是明顯的進步。目前主要的公有雲平臺都是直接支持K8S的。

3、請教羅博士,像是一些小資料集調參基本上靠Trick,大資料集調參數基本上都是欠擬合。那調參數本身是不是變得沒啥價值了?如果是您的話,有哪幾個調參秘笈是必須要嘗試的,哪些東西是可以忽略的?

羅恒:其實現在調參變得很好,基本上有了我今天提到那些新的技術的話,我覺得如果不是牽扯到網路結構改變的話,好像沒有什麼參數需要調了。

關於欠擬合這是比較大的問題,其實首先目前我們用到的神經網路的容量其實是很大的,那麼如何很好的利用這個容量,這確實是一個問題,所以現在有很多做模型壓縮方面的工作,其實就是如何充分利用模型的容量。但是回到現實的問題中說,很多時候所謂的欠擬合,可能不見得是真正的欠擬合,我的理解欠擬合就是擬合得不夠好,我懷疑,這些欠擬合多半是資料中本身有自相矛盾的地方,所以模型左右振盪左右振盪,所以總是表現欠擬合,所以最好的辦法還是先去查查訓練資料是不是有我說的這些互相矛盾的。

4、不過看來看去,我還是覺得調參這個事情比較複雜。有沒有什麼方法論可以推薦?

羅恒:說實話現在真的感覺調參越來越不重要了。其實之前在百度的時候,對於這種比較稀疏的,然後分佈非常不均勻的長尾的資料adagrad就運行得很好,其實我調來調去也沒有覺得有什麼東西比adagrad更好。至於圖像,batch norm加上adam 就很好用。

其實沒什麼方法可推薦,就是動手試一試,總有一個短暫的痛苦的過程,多試幾個之後,就會發現沒什麼太多東西需要調。

5、謝謝羅恒博士的精彩分享,您博士後的找工作經歷讓人覺得非常親切。在分享的開始,你提到了AI泡沫和幾年後眾多深度學習的人才找工作的可能性。對於那些想涉足深度學習的學生和企業,您有什麼好的建議嗎?

羅恒:我也說不好有什麼建議,我感覺無論是想從事深度學習哪方面的工作,其實最簡單還是要自己動手,無論是動手做些實驗還是動手寫寫東西,但是我覺得最關鍵的還是不斷要問自己做的這個東西到底有什麼用。

(本文獨家首發鈦媒體,根據地平線機器人資深演算法研究員羅恒博士在鈦坦白上的分享整理)

……………………………………

鈦坦白第33期,AI已來之機器學習2,三晚上的分享已經結束了

乾貨會陸續發佈:http://www.tmtpost.com/tag/1508094

鈦坦白第34期預告:二手“大”市場

孔夫子舊書網創始人、回收寶合夥人、轉轉公司3C事業部總經理,將帶來精彩分享~

報名聽課、交流:

鈦坦白目前有醫療健康、人工智慧、文娛社交、VR/AR、區塊鏈、支付創新、體育、雲計算、SaaS等九個專業群。

1、鈦媒體Pro專業版用戶,可以點選連結http://www.tmtpost.com/pro,登錄帳號,線上免費、任意選擇自己要進入的群,按提示操作;

推薦鈦客、贊助、合作:

請與鈦坦白負責人佳音聯繫,郵箱jiayinge@tmtpost.com

我們的想法就是希望能夠把硬體、晶片、演算法到應用場景打通,把它們放在一起聯合優化,其實這個也就好象做深度學習總是喜歡端到端來進行,end to end來訓練模型。我們希望能夠把從應用場景中的需求一直傳遞到軟體,傳遞到演算法,傳遞到硬體,傳遞到晶片,能夠把它放在一起聯合優化。

AI的泡沫

先簡單回顧下深度學習的發展。深度學習是源於上世紀60年代開始神經網路進一步的發展,它現在在機器視覺、自然語言理解、一些工業級的應用都產生了巨大的影響。近來還慢慢出現了一些受深度學習啟發的新應用方向,比如醫療圖像分析、自動駕駛。國內的情況是,自從百度在2013年的時候創建了深度學習研究院,這些年來一些大公司也都開始有一些部門從事深度學習相關的研究工作。

真正引起人工智慧火爆的是去年出現的AlphaGo。一方面,我本人也下圍棋,當然我是普通的業餘愛好者的水準,另外一方面,我自己也做機器學習,因此也常常會關注這方面的進展,但是其實在AlphaGo出現之前,總覺得電腦擊敗人類頂尖棋手是一個非常遙遠的事情。

我在大概2011年、2012年的時候,看到過Hinton的學生發表的一篇論文,裡面開始用卷積神經網路來處理棋譜,把棋譜當成一張圖片輸入卷積神經網路,然後去預測下一步的位置。那篇論文估計也只是兩個學生的遊戲之作,發表在不是很著名的會議上。我當時覺得這個想法很有意思,因為其實從下棋人的角度,很多時候他就是憑著大致的一個感覺,並沒有很多的計算,只是對棋的形狀的一種感覺,常常可以做出一些直覺上的判斷,而且很多時候這種判斷還比較准。

但是只是對棋行的把握是遠遠不夠的。所以當我聽說DeepMind在做圍棋的時候,就覺得可能會有突破(從本質上講,圍棋和DeepMind之前做的那些打遊戲的任務,並沒有什麼不同)。聽說能夠贏了樊輝(職業棋手)當時就覺得很震驚了,以往的圍棋軟體大概只能到業餘棋手的水準,而業餘棋手到職業棋手往往有一條非常巨大的難以跨越的鴻溝。而很快,AlphaGo就擊敗了李世石。李世石是大概十多年才一出的天才,從樊輝到李世石,這中間其實也有一條非常大的鴻溝。讓人沒有想到的是,對於AlphaGo來說,似乎這兩條巨大的鴻溝都不存在,只是不停的去訓練,機器就不斷的提升,輕鬆擊敗人類的天才,帶領人類看到前所未見的圍棋新境界。這當時對我是很大的震撼,而且從後來來看,其實對整個世界都有巨大的震撼。

AlphaGo一定會成為人工智慧史上的里程碑,但是這並不意味著AI會迅速到來。現在對於AI的火爆關注,裡面存在相當的泡沫。更何況,目前AlphaGo本身的細節其實只有DeepMind的少數人知道,前兩天田淵棟來地平線訪問也聊起過這個,他遇到黃士傑,聊起了他們新的進展。黃士傑的講法就是在Nature論文之後,又做了很大的改進,那麼這很可能意味著沿著Nature那篇論文繼續往下做會遇到瓶頸。而且從應用AlphaGo的角度,如何應用到實際問題,會有什麼樣的商業模式,都是完全不確定的。所以我個人懷疑現在的這種火爆的場面裡面有相當的泡沫的成份存在。

這些泡沫造成什麼樣的影響呢?從去年到今年,出現了大量的AI相關的創業公司,然後突然之間做演算法的,無論是做機器視覺、自然語言理解、語音辨識,還是深度學習演算法,突然出現了很多的高薪職位,然後不斷傳出新畢業的學生拿到了如何如何的高薪。除此之外,很多大公司也在紛紛的成立AI相關的部門、相關的研究院等等。

這次鈦坦白課程的題目是大概一個月前確定的,當時只是想講一些個人的看法,然後就很巧,前兩天迅雷的創始人陳浩寫了一篇文章,也討論了一些AI創業公司的事,還挺有意思的。他其中就提到了現在的很多AI的創業公司大多是由有技術背景甚至是研究背景的創始人創立的,都有很強的技術,但是對於應用場景、商業模式的考慮都很少,而且往往是有點拿著錘子找釘子的感覺。

應用深度學習的門檻是在降低嗎?

從我的角度和我的感覺來說,是的,應用深度學習的門檻是在降低,而且是在非常迅速的在降低。但是隨著深度學習的進一步應用,可能會形成一些新的門檻。

說到職位的薪水,實際上在過去一二十年,程式設計人員也就是碼農都有很高的薪水,相對於社會其他的職位來說。為什麼碼農能夠有比較高的薪水,一方面當然是從個人電腦到互聯網時代新的市場的出現,然後產生了很多超額利潤的公司,但是另外一方面也是在於程式師本身就是在不斷的自動化一些事情,不斷地提高生產效率。程式師寫了軟體,即使程式師下班了這個軟體其實還在工作,還在為公司掙錢,而不像傳統工人,當他休息的時候機器也就休息了。

從這個角度來說,深度學習以及神經網路從誕生的開始就一直是在試圖減少人的工作,使本來需要人的工作可以交由機器自動完成。

下面我先簡單回顧一下神經網路的歷史。上個世紀的60年代開始出現了感知器,當時的感知器就是一個單層神經網路,它的輸入實際上是需要專家來設計的特徵,這個感知器起的基本上就是一個分類器的作用,試圖取代的就是人利用特徵分類。目標就是將一個完整的識別任務拆成兩部分,專家設計好特徵,這些特徵是對分類有説明的,然後我們給感知器資料,感知器能夠自動的去找到特徵和類別之間的關係,最後自動化的進行分類。上個世紀的90年代,出現了多層感知器(由於反向傳播演算法的出現),使得我們能夠訓練帶有隱藏層的感知器,那麼這個時候的神經網路就已經能夠開始學習一些簡單的特徵了,依賴專家的程度開始減少。從2006年到現在,隨著最開始的非監督預訓練以及後來大量的帶標籤的資料,還有一些神經網路的新的方法,深度學習開始能夠自動的學習越來越複雜的特徵,同時比較好的完成分類識別。領域專家設計特徵在構造分類器的過程中消失了。

最近一段時間李開複老師經常會講,人工智慧要到來了,未來很多職業將會消失,很多一些簡單的重複性的工作將會被人工智慧取代。開複老師講的是未來的事情,是對未來的一些展望。我在這裡就講講過去的事情,已經發生了的人被機器取代。從深度學習誕生到現在,已經取代了很多人的工作,而這些人都是一些專家,他們從事的都是一些相對高技術的工作。

剛才講到了開始的時候,神經網路的最初的形態感知器需要專家來設計特徵,然後把特徵交給神經網路,然後神經網路才決定如何來進行分類。那麼隨著深度學習的發展,其實已經取代了很多的專家,大家可能沒有很意識到,我這裡就講幾個方面:首先就是機器視覺方面的一些專家,在深度學習出現以前,可能大量的機器視覺的研究人員,他們想方設法都是在設計各種各樣的特徵,然後利用這些特徵再去完成一個複雜的機器視覺的任務,如何去設計合理的特徵,往往需要非常多的經驗,甚至需要天賦在裡面,而即使是設計好了很好的特徵,當應用到一個新的場景的時候,往往需要做很多新的設計才能夠在新的場景下做得比較好。那麼在深度學習出現之後,現在如果大家再去看一看新的機器視覺的文章,像這些設計特徵的文章的數目已經變得非常的少了,而大量的都是使用神經網路,使用深度學習方法,從資料中學習特徵,那麼這其實就降低了機器視覺使用的門檻,也實際上取代了這部分人的工作。由於深度學習的出現,之前的那些需要高超技巧的特徵設計專家被取代了,現在只需要大量不需要太多技巧的資料標注人員,加上少量的有一些深度學習演算法經驗的人員。並且隨著深度學習的進展,無論是對標注人員還是深度學習演算法人員的需求也在下降。

另外一個例子,就是廣告推薦系統。之前的這些系統也是依賴很多專家來設計各種各樣的特徵,甚至一個好的廣告推薦系統,完全取決於特徵工程做得如何。做特徵工程的專家往往需要很強的統計、機器學習背景,同時又對業務邏輯、系統有深刻的理解。但是隨著深度學習的出現,大量的公司現在有個趨勢,就是使用神經網路,利用使用者的點擊資料,就能得到非常好的結果,遠遠超出了通過搞特徵工程,加上一些線性模型的結果。

所以我想說的是,深度學習的出現,甚至人工智慧的出現,可能並不是如大家所想像的那樣,先去取代那些簡單的重複性的勞動,而很有可能一開始就是要取代那些專家。無論是十年一出的圍棋天才,還是受過高等教育有著豐富經驗的研究人員。

最後是一個正在發生的例子,從去年到今年開始有很多的醫療圖像分析的公司出現,這些公司收集了大量的資料,這些資料裡就體現著很多不同的領域醫生的知識,體現著大量不同病情的表現,通過深度學習方法,這些公司都在努力從這些資料中學習這些知識。目前他們已經取得了一些成功,未來很可能在醫療圖像分析領域機器會做得比人更好,這些機器不知疲倦、不會犯錯,自然會取代一部分人的工作。

回到深度學習本身,隨著深度學習的進一步發展,也會減少現在演算法人員的工作。而這個其實就是整個學術界還有工業界從事深度學習的人每天的努力的方向。大家每天的工作其實就是如何使自己的工作能夠變得更加的簡單,更加的高效,更少人的干預,也就是說由於這些最優秀的演算法人員的努力,使得應用深度學習變得越來越容易,越來越簡單。

應用深度學習的哪些門檻在慢慢消失呢?首先是開發的門檻現在基本消失了,像我剛開始做深度學習研究的時候,代碼都要自己寫,我是在Matlab下面做實驗,有的時候如何使用Matlab也需要很多的技巧才能使得程式高效起來。而現在這些全部都不是問題了,當你需要應用深度學習的時候,不需要瞭解各種演算法實現的細節,也不需要擔心性能的優化,甚至不需要擔心程式設計語言,像比如說MXnet、TensorFlow還有Paddlepaddle都能支援各種各樣的語言的介面,你可以用你喜歡的語言做非常簡單的高層的、高效的深度學習應用的開發,而把後面的優化、性能交給專家去考慮。同時,深度學習是一個非常開放的學術圈,大家都非常樂意公開論文實驗的代碼,往往一篇論文一出來,誰都可以利用他的代碼來完美的複現實驗,迅速地站上巨人的肩膀。深度學習系統的開發的門檻現在已經基本消失了。

另外一個門檻過去網上討論的也很多,就是所謂的調參,這個的門檻現在也在消失之中,深度學習曾經充滿了各種各樣的小技巧,為什麼說是技巧呢?因為它從理論上講不清,同時有時候有效有時候沒有效,而何時應用又往往需要依賴於使用者的經驗。不知道大家有沒有看過《Neural Networks: Tricks of the trade》,這本書就是專門講神經網路的一些訓練的技巧的,這本書出版過兩次,一次是1998年,那個時候是神經網路上一次火爆剛要結束的時候,還有一次是2012年,這是深度學習神經網路又一次興起的時候。

當年一篇論文出來,一個新的結果出來,別人想複現都非常困難,因為這裡面牽扯著不同的代碼實現,還有大量的超參數,有時候是作者有意回避,有時候也是限於論文的篇幅,很難事無巨細的把所有的實現的細節都講進去,甚至有時候有些作者都沒有意識到真正起作用的東西可能就是在他忽略的一些細節裡面。如今隨著一些Batch Normalization、Adam之類的新技術出現,訓練神經網路變得非常的容易。大概在我剛開始做深度學習的時候,那個時候一批新的資料,一個新的模型往往要折磨好久才能夠有結果,而現在隨著使用這些新的技術,我花在調參上的時間已經微乎其微了。

最近幾年,深度學習的一些進展,比如說在ImageNet上的一些突破,其實就是在於一些新的網路結構的設計,而且在實踐中大家也發現,除了資料之外,一個合理的設計良好的網路,往往能夠帶來很大的收益。這個情況現在也正在慢慢的改變,首先就是網路結構在慢慢的固定,大家可以發現,近一年來,已經沒有太大的新的結構、新的突破出現了,基本上大家就會使用ResNet,其實表現的都很好,此外,似乎這些網路也都有一定的普適性,也就是說儘管這些網路都是針對ImageNet設計的,但是實際上在其他的一些資料集上,在其他一些視覺任務上表現的都不錯,另外一個好處就是這些網路在各種的開源平臺上都有實現,而且有相應的實驗的結果,大家非常方便的可以拿來改造、複用。

深度學習可能出現的一些新的門檻

我認為深度學習在將來可能出現的新門檻有四個:

(以下全文僅限鈦媒體專業用戶開放,點選連結:http://www.tmtpost.com/pro 註冊鈦媒體專業版)

……

鈦坦白群友互動:

1、羅博士,目前的深度學習檢測、跟蹤對小目標是不是存在天然性的缺陷,該怎麼解決?

羅恒:我不覺得深度學習檢測追蹤對小目標有什麼天然性的缺陷,我覺得人本身看小目標也會有困難,我相信可能對於這些長遠的來看還是需要對於場景的理解,就是對於人來說,人很多時候,小的東西他看不清,但是他依賴環境,他能夠大概或者對於這個世界的知識他能夠揣測這大致是一個什麼東西。

2、羅博士,我剛剛在paddle的docker內跑了一下個性化推薦的demo,結合現在K8S的大規模應用,基於docker的這種AI框架是不是會有更多的應用優勢?

羅恒:關於Docker,關於Paddle,還是要請於洋來回答了。

於洋:謝謝羅博士引薦,Docker或者K8S應該不只是會在AI領域裡面有深遠影響,目前來看應該會在各種各樣的應用裡,比如web應用,都會有廣泛影響。這看起來是目前發展的趨勢。相對於之前用hadoop搭一個hadoop集群,用web搭一個ngnix集群,用Docker和K8S是明顯的進步。目前主要的公有雲平臺都是直接支持K8S的。

3、請教羅博士,像是一些小資料集調參基本上靠Trick,大資料集調參數基本上都是欠擬合。那調參數本身是不是變得沒啥價值了?如果是您的話,有哪幾個調參秘笈是必須要嘗試的,哪些東西是可以忽略的?

羅恒:其實現在調參變得很好,基本上有了我今天提到那些新的技術的話,我覺得如果不是牽扯到網路結構改變的話,好像沒有什麼參數需要調了。

關於欠擬合這是比較大的問題,其實首先目前我們用到的神經網路的容量其實是很大的,那麼如何很好的利用這個容量,這確實是一個問題,所以現在有很多做模型壓縮方面的工作,其實就是如何充分利用模型的容量。但是回到現實的問題中說,很多時候所謂的欠擬合,可能不見得是真正的欠擬合,我的理解欠擬合就是擬合得不夠好,我懷疑,這些欠擬合多半是資料中本身有自相矛盾的地方,所以模型左右振盪左右振盪,所以總是表現欠擬合,所以最好的辦法還是先去查查訓練資料是不是有我說的這些互相矛盾的。

4、不過看來看去,我還是覺得調參這個事情比較複雜。有沒有什麼方法論可以推薦?

羅恒:說實話現在真的感覺調參越來越不重要了。其實之前在百度的時候,對於這種比較稀疏的,然後分佈非常不均勻的長尾的資料adagrad就運行得很好,其實我調來調去也沒有覺得有什麼東西比adagrad更好。至於圖像,batch norm加上adam 就很好用。

其實沒什麼方法可推薦,就是動手試一試,總有一個短暫的痛苦的過程,多試幾個之後,就會發現沒什麼太多東西需要調。

5、謝謝羅恒博士的精彩分享,您博士後的找工作經歷讓人覺得非常親切。在分享的開始,你提到了AI泡沫和幾年後眾多深度學習的人才找工作的可能性。對於那些想涉足深度學習的學生和企業,您有什麼好的建議嗎?

羅恒:我也說不好有什麼建議,我感覺無論是想從事深度學習哪方面的工作,其實最簡單還是要自己動手,無論是動手做些實驗還是動手寫寫東西,但是我覺得最關鍵的還是不斷要問自己做的這個東西到底有什麼用。

(本文獨家首發鈦媒體,根據地平線機器人資深演算法研究員羅恒博士在鈦坦白上的分享整理)

……………………………………

鈦坦白第33期,AI已來之機器學習2,三晚上的分享已經結束了

乾貨會陸續發佈:http://www.tmtpost.com/tag/1508094

鈦坦白第34期預告:二手“大”市場

孔夫子舊書網創始人、回收寶合夥人、轉轉公司3C事業部總經理,將帶來精彩分享~

報名聽課、交流:

鈦坦白目前有醫療健康、人工智慧、文娛社交、VR/AR、區塊鏈、支付創新、體育、雲計算、SaaS等九個專業群。

1、鈦媒體Pro專業版用戶,可以點選連結http://www.tmtpost.com/pro,登錄帳號,線上免費、任意選擇自己要進入的群,按提示操作;

推薦鈦客、贊助、合作:

請與鈦坦白負責人佳音聯繫,郵箱jiayinge@tmtpost.com

Next Article
喜欢就按个赞吧!!!
点击关闭提示