導航:首頁 > 文件處理 > 壓縮感知深度學習

壓縮感知深度學習

發布時間:2022-06-13 10:33:07

A. 深度學慣用cpu訓練和用gpu訓練有什麼區別

1、深度學慣用cpu訓練和用gpu訓練的區別

(1)CPU主要用於串列運算;而GPU則是大規模並行運算。由於深度學習中樣本量巨大,參數量也很大,所以GPU的作用就是加速網路運算。

(2)CPU算神經網路也是可以的,算出來的神經網路放到實際應用中效果也很好,只不過速度會很慢罷了。而目前GPU運算主要集中在矩陣乘法和卷積上,其他的邏輯運算速度並沒有CPU快。

B. 深度:如何將深度學習和自動駕駛結合在一起

以下是演講內容的整理:

我是來自於底線線機器人汽車業務的負責人李星宇,地平線機器人成立有一年的時間,創始人余凱是網路深度學習研究院的院長,也算是國內第一個深度學習的研究院是他建立的。他成立了地平線這家公司,專注於深度學習技術的開發,所以在今天我想跟大家分享的主題就是:《如何將深度學習和自動駕駛結合在一起?》。

| 背景:復雜的駕駛環境正是深度學習的機會

應該說在今年的 AlphaGo 和李世石的對決當中,大家對於機器人的關注已經到了一個非常高的水準,其實自動學習已經有不少的時間。今年豐田有做過一個 Demo 的系統,他做了是 8 輛車並沒有被教任何的駕駛規則,就是隨意往前開,這 8 輛車會置於一個訓練系統之下,經過八個小時的訓練之後,八個小時下來沒有碰撞,這真是了不起的事情。

通過資本界我們來看,這些 10 億美元的投入都能真金白銀地證明整個業界對於深度學習和增強學習技術的看好。

為什麼我們需要把這樣一個技術運用在自動駕駛領域?千言萬語可以歸結為一句話就是復雜性。我們看到很多人在很多時候會質疑自動駕駛這件事情,其實他的質疑覺得就是復雜,你可以看到在十字路口,非常復雜的路況。包括中國進入汽車社會不久,駕駛技術有待提高的特殊的國情,變道非常頻繁,拐彎很多時候也很暴力。這樣一個場景其實對於傳統的 ADAS 有很大的挑戰性,而這種復雜性恰恰是深度學習的一個優勢。

當然很多人也會問,在自動駕駛領域是不是人就沒有作用了?我們很長一段時間在自動駕駛領域,人和車的關系其實並不是一個簡單的服務與被服務的關系,而是人和馬之間的關系。意味著是什麼?其實馬並不知道在一個大的方向該怎麼走,是快一點還是慢一點,這個是需要人來控制和調節。而馬能做的就是,無論你告訴還是不告訴,前面是懸崖就會停下來,意味著自動駕駛可以在微觀的一個層面,能夠把風險降到極低的水平。而在高層次的體驗層面,更多的是以跟人配合的關系,它會去理解你。所以在自動駕駛領域很重要的一個話題就是對於駕駛習慣的學習。自動駕駛習慣的學習不僅僅是一個標準的駕駛,還有包括特殊駕駛風格的學習。

這是一個非常標準的美國高速公路管理局的對於自動駕駛的分析。應該說,從我們跟車廠的溝通裡面可以看到,現在研發的重點還是基於 Leve13,就是高度的無人駕駛。它的主要不同跟 Leve4 的不同在於,一個就是保證在任何情況下都可以做緊急碰撞的防止,第二個就是在條件良好的道路上部分實現自動駕駛。

從現在實踐的情況來看,高速公路上應該不是有太大的問題。現在主要解決的是高速公路上的一些特殊的案例和條件比較好的城區主幹上的案例,比如上海的中環、內環、外環的情況下,尤其紅綠燈情況下需要一些特殊案例的深度學習。

| 深度學習為什麼受到重視?

我們介紹了一個背景之後,稍微回來談一下深度學習為什麼會受到重視。大家現在都覺得 " 深度學習 " 這個詞特別火熱。

第一個為什麼它會受到重視?

應該說深度學習出現的歷史其實非常久,最久的歷史可以追溯到 50 年代末,在漫長的發展時期裡面是幾經起伏,有它的高潮的時候也有低谷的時代。從現在的情況來看深度學習最具吸引力的一點就是端到端的學習。

舉例,以自動學習的系統去識別一個圖片,比如這個圖片上是一個人,它會把圖片作為輸入一個名字,你可以看到人臉的信息量通常是幾兆,幾百萬個位元組,最終輸出的就是幾個位元組,就是端到端,可以把非常復雜的非結構化的數字轉化為精簡數字化的表達,包括語音、語言、圖像、視頻都是非結構化的,包括金融的交易產生的數據都是非結構化的。

從目前的情況來看,第一個它非常適合大數據時代。在過去的年代,其實大家也是在研究深度學習的演算法,那個時候還不叫深度學習,叫深度神經網路。但是發現很難把它調校得好,因為那個時候學的都是一個小量的,幾千個樣本,想把它調到一個非常好的水準,其實是不可能的。後來大數據出來以後,這個性能就飆升,最終的一個例子就是 2012 年的時候愛萊克斯和他的老師參加了圖片分類識別的比賽,一下子從過去的 74% 提高到了 85%,非常大的一個進步。也就是說現在機器對於圖片的識別其實是優於人眼,所以實踐效果很好。比較通俗的說法,對於這種行為的一種模擬,這種說法可能不是特別的准確,事實上跟它相關聯的網路,按它的類似性來說是非常復雜的,而且現在沒有搞得特別復雜。

機器學習技術前沿,注意力模型。圖片上是對於人臉識別過程的一個描述,如果你拋開技術不看,你直接看,你會看到圖象識別的時候,每過一個識別階段,由很多個識別階段組成。它的圖像的信息會減少一些,最開始會把圖像的彩色性去掉,只留下一個歸錄信息。

第二步會把規錄中間的去掉,只留下邊緣線條的信息,然後線條會變成點,這是從低位空間向高位空間不斷的扭曲的過程,到最後它的圖片信息就會精簡到一個字母,所以這就叫多層的卷積神經網路。大家都知道這樣一個復雜的關系勢必會帶來數據極大的產生,因為肯定需要非常大的參數。

自動學習技術也在不斷地往前推進,我們現在看到各個領域都全面推進。

比如注意力模型,什麼叫注意力模型呢?舉例,在雞尾酒酒會上看到很多的人,但是你只跟其中一個或者幾個人談,這個時候你的聽覺系統只會注意到你想關注到的那個人的話,而把其他人的給屏蔽掉。解決了在復雜的語義環境下,會對特別的語音進行聚焦。當我們對這個婦女說,我要求你把飛盤作為聚焦目標的時候,機器系統可以把飛盤反射出來,也就證明它准確能夠聚焦到你想要它聚焦的部分,這個是非常關鍵的,因為這個系統是非常復雜的,而你只需要自動駕駛的系統關注車輛、車道線、人這些關鍵的信息,這樣一個技術可以使得它很有效的處理。

除了注意力模型以外還有其他的進展,包括長時短時的記憶力模型,這個是做什麼用?它會使深度學習,不僅僅是在空間,二維平面上有足夠的學習,它能記住過去發生的事情。剛才豐田的小車的 Demo 裡面可以看到,它對瞬間場景的處理做得很好,但是有沒有想過如果場景的處理手法依賴於過去的歷史怎麼辦?比如我們把魔獸和星際爭霸,下一步的動作取決於你的歷史狀態,這個時候要求你的深度神經網路需要足夠的記憶力,能夠記住過去的狀態,這個記憶力模型就是解決這個問題包括序列化等等。

增強學習

什麼是增強學習?

打一個比較形象的比方,如果過去的系統我們當做是計劃經濟的話,那麼增強學習就是市場經濟,可以理解它是一種結果導向的技術。准確描述這是一個智能主體跟環境不斷博弈而來優化的一個過程。比如剛才的豐田的小車是一個增強學習的典型的案例,如果它碰撞了給它懲罰,如果沒有碰撞給它獎勵,多輪的循環會加強這些行為,達到一個期待值。深度學習可以用來做環境的感知,而增強學習可以用來做控制的東西,這樣就可以構成一個完整的自動駕駛系統。

這是一個非常典型的汽車的自動駕駛系統的框架圖,在圖像的左側有各種各樣的感測輸入,這個數據來源於三個,汽車外圍的環境數據,汽車本身的狀態數據,比如車速、轉向,還有車內人的數據,是不是疲勞駕駛,是不是要轉彎。一個是感知的融合,一個是決策。

|深度學習讓自動駕駛從感知到控制

深度學習在中間的感知和決策都是有非常大的優勢,可以進一步把這個事情分解一下。

我們跟過內的主機廠接觸,由於現在國內有一些主機廠已經開始比較深的自動駕駛的研發,去討論大量的細節。我們可以簡單把它劃分成這樣的一個板塊,就是態勢感知和決策控制。

態勢感知和決策控制

態勢感知一部分就是對外的態勢,就是你要對整個的環境要有感知,對內就是對駕駛員的意要圖要有感制,包括意圖的判斷。包括對外部物理的辨識,哪些是固定障礙物,哪些是欄桿,哪些是可行駛區域。對於駕駛,包括狀態的識別其實非常重要。這也是整個自動駕駛業界流派之爭的一個焦點。

以谷歌為代表的,他們想做的是全自動駕駛,但是我們還是要一步一步來,這面臨有一個半自動駕駛的過程,谷歌覺得很難做到很好的人工和自動駕駛的切換,沒有辦法把這件事情做得特別的可靠。

其實這個我認為要這樣來看,首先主機廠其實是一定會按照循序漸進的過程來走,因為他們是造車的。第二個在這件事情上深度學習可以很好地幫助緩解這個問題。我們不能說一定能全部解決,至少能夠極大地緩解這件事情。因為深度學習對於駕駛員狀態的綜合理解比其他的手段要來得更好,因為它是基於大量對於駕駛員技術分析的基礎上建立對它的一個綜合理解,包括他的駕駛習慣、意圖等。

決策控制包括幾個部分。就是對於車輛來講有一個局部的運動路徑的規劃,另外規劃裡面還有一個駕駛風格的情況,比如需要運動感強一點的,都不一樣。最後一個是執行器控制,狀態之間形成一個閉環去調校。

應該說在現在有很多初創的公司,包括像英偉達這樣的公司做大量的嘗試,如何把整個的系統用深度學習的方法進行優化。英偉達做得比較暴力,直接忽略了中間的決策這一部分,是直接把感測器的輸入和車的狀態的輸入直接關聯,做這樣一個預測。也就是說 Y 就是執行器剎車、油門、轉向,輸入就是車的信息、環境的信息,非常暴力,不做任何中間人工智慧的分析。

自動駕駛還有一個非常重要的點,就是如何進行測試。

整個自動駕駛來講主要的投入還是在測試這塊,並不是做一套軟體系統就可以了。特斯拉做得很討巧,直接在量產上進行測試,所以短時間內積累了超過 1.76 億英里的速度。但是還是需要一個模擬系統去做這件事情,有一個模擬系統,如何在模擬系統各個主體能夠真實的模擬,這其實也是一個增強學習可以幫助你的。

當你創造了一個虛擬環境的時候,你希望用多台的計算設備去模擬一個目標,模擬幾十個人,模擬路牌等等,每一個都是動態的過程,它們不地變。比如紅綠燈會不斷地變,車輛動態的變化,這樣一個復雜的結構,其實很適合於深度學習和增強學習來做,包括結合模擬。

在這個方面德國的車廠寶馬和奧迪走得比較靠前,當然包括豐田其實也是一樣,做大量的工作,這個是奧迪的汽車大腦的構架圖,AUDI 的 zFAS。zFAS 系統模塊配備了 Mobileye 的 EyeQ3 移動處理器以及英偉達 TegraK1 晶元。奧迪的觀念非常清晰,自動駕駛的關鍵還在學習。

地平線在這塊領域也是進行了大量的工作,我們有一個品牌叫做雨果,這是汽車的一個開放平台。

(播放視頻)這個是雨果做的整個道路的語義理解,它可以把道路各個不同種類的物體運用不同色彩標識出來,比如柵欄是紅色,道路是綠色,樹木是深綠,汽車是紫色,這樣一個對於道路綜合語義理解對於智能駕駛系統是很關鍵的,很多道路也不是結構化的道路,比如鄉村的道路其實沒有車道線,柵欄也沒有,你沒有辦法通過車道線去自動駕駛,這個時候你要自己去決定該走哪一塊。

這是地平線做的識別,左上角是英偉達的,很遺憾不能秀一下動態的視頻。地平線是在北京做的測試,在這個路口的人其實非常的密集,地平線很好做了識別,並且對於計程車裡面的人,僅僅露一個腦袋的人也可以識別。

對於車輛檢測,地平線從去年 8 月開始,長期保持在 KITTI 排名第一的識別率。Densebox 就是測試的名字。

地平線是一家專注於演算法和晶元開發的公司,我們在最下端的解決方案,我們更多願意跟業界合作夥伴,各類的公司和主機廠一起合作,一起做最後的產品出來。地平線的演算法團隊其實蠻國際化的,助力的演算法團隊來自於像 facebook、網路、中科院。我認為在深度學習領域,我們中國第一次有機會基本上跟國際的主流的開發的機構處於差不多的一個水平線上,不能說是絕對的齊平,但是不會有太大的差別。

| 我們為什麼要自己做深度學習的晶元?

剛才趙總也分享了,為什麼我們需要深度學習的晶元,提到很多國內公司在宣稱自己在做這個,這是一件好事,因為大家都知道現在的計算結構不合理。

比如說舉一個例子,深度學習的輸入是高度密集化的,這種密集化輸入不太適合 DSP 這種,是流水線的,GPU 的一個問題在哪裡?

在多輸入之後的下一步處理,在數據緩沖方面做得不好。很不幸的是深度學習網路它的輸入是前後關聯的,在中間隱藏層的時候,這個卷積盒是要跟前置進行卷積計算的,這就意味著首先要取參數、計算,這就會導致在正常的一般結構下會大量的有外出效應。

第二個因為帶寬永遠是有限的。

第三個是功耗問題,這些都是非常實際的問題。

還有一點就是,深度神經網路的參數非常多.

整個業界都意識到,如果要在深度學習領域能夠做的話,像地平線得自己做晶元有點類似於手機業界,在大約十年前的時候,手機業界還沒有一個想法說一定要做自己的晶元,但是今天大家已經看得非常清楚,如果要想做起來必須做自己的晶元,蘋果、三星、華為都是自己的,如果你不這么做只是使用高通的平台,你還是可以做,但是很不幸你是第二梯隊。所以在深度學習也是一樣,你還可以用英偉達、高通的晶元,可是這不是第二名和第一名的差距,這是第二梯隊和第一梯隊的差距。因為演算法在演進,你如果用別人的話肯定是慢一拍的,這是一個問題。

國內有不少公司在做,包括有一家公司叫做(深建科技),最近他們發表了成績,就是 DPU,深度學習的處理器,他們在單位功耗下的性能表現是英特爾之前 CPU 的 24000 倍,是英偉達 GPU 的 3000 倍。而他們所做的優化的工作,恰恰是剛才我提到的問題,對於壓縮,對於訪問的優化,降低了功耗。

地平線也是一樣,我們非常清晰認識到這個問題,所以我們的做法也是這樣,我們地平線也是在做自己的晶元。我們希望在短時間內能夠把整個的能耗比提升千倍。

地平線現在專注的深度學習的技術的應用點有哪些?四個大塊,語音、語言、視覺、控制。應該說,這四個緯度可以構成大量的創新的應用,不僅僅是自動駕駛,還包括家庭的伺服器的監控等等。我們的目標是希望在未來,我們可以用我們自己的演算法晶元,跟廣大下游的夥伴進行合作,比如空調公司,比如掃地機器人公司等等,能夠覆蓋超過 1000 個品類的智能產品,我們的目標是為現代的智能硬體真正的賦予智能,所以我們的目標是定義物聯網時代的大腦。

我的分享就到這里,我們也是非常歡迎大家如果有意跟地平線合作,我們提供平台解決方案,而不是某個具體品類和最終的產品,謝謝大家。

C. 人工智慧,機器學習,深度學習,到底有何區別

有人說,人工智慧(AI)是未來,人工智慧是科幻,人工智慧也是我們日常生活中的一部分。這些評價可以說都是正確的,就看你指的是哪一種人工智慧。

今年早些時候,Google DeepMind的AlphaGo打敗了韓國的圍棋大師李世乭九段。在媒體描述DeepMind勝利的時候,將人工智慧(AI)、機器學習(machine learning)和深度學習(deep learning)都用上了。這三者在AlphaGo擊敗李世乭的過程中都起了作用,但它們說的並不是一回事。

今天我們就用最簡單的方法——同心圓,可視化地展現出它們三者的關系和應用。

人工神經網路(Artificial Neural Networks)是早期機器學習中的一個重要的演算法,歷經數十年風風雨雨。神經網路的原理是受我們大腦的生理結構——互相交叉相連的神經元啟發。但與大腦中一個神經元可以連接一定距離內的任意神經元不同,人工神經網路具有離散的層、連接和數據傳播的方向。

例如,我們可以把一幅圖像切分成圖像塊,輸入到神經網路的第一層。在第一層的每一個神經元都把數據傳遞到第二層。第二層的神經元也是完成類似的工作,把數據傳遞到第三層,以此類推,直到最後一層,然後生成結果。

每一個神經元都為它的輸入分配權重,這個權重的正確與否與其執行的任務直接相關。最終的輸出由這些權重加總來決定。

我們仍以停止(Stop)標志牌為例。將一個停止標志牌圖像的所有元素都打碎,然後用神經元進行「檢查」:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標志的典型尺寸和靜止不動運動特性等等。神經網路的任務就是給出結論,它到底是不是一個停止標志牌。神經網路會根據所有權重,給出一個經過深思熟慮的猜測——「概率向量」。

這個例子里,系統可能會給出這樣的結果:86%可能是一個停止標志牌;7%的可能是一個限速標志牌;5%的可能是一個風箏掛在樹上等等。然後網路結構告知神經網路,它的結論是否正確。

即使是這個例子,也算是比較超前了。直到前不久,神經網路也還是為人工智慧圈所淡忘。其實在人工智慧出現的早期,神經網路就已經存在了,但神經網路對於「智能」的貢獻微乎其微。主要問題是,即使是最基本的神經網路,也需要大量的運算。神經網路演算法的運算需求難以得到滿足。

不過,還是有一些虔誠的研究團隊,以多倫多大學的Geoffrey Hinton為代表,堅持研究,實現了以超算為目標的並行演算法的運行與概念證明。但也直到GPU得到廣泛應用,這些努力才見到成效。

我們回過頭來看這個停止標志識別的例子。神經網路是調制、訓練出來的,時不時還是很容易出錯的。它最需要的,就是訓練。需要成百上千甚至幾百萬張圖像來訓練,直到神經元的輸入的權值都被調製得十分精確,無論是否有霧,晴天還是雨天,每次都能得到正確的結果。

只有這個時候,我們才可以說神經網路成功地自學習到一個停止標志的樣子;或者在Facebook的應用里,神經網路自學習了你媽媽的臉;又或者是2012年吳恩達(Andrew Ng)教授在Google實現了神經網路學習到貓的樣子等等。

吳教授的突破在於,把這些神經網路從基礎上顯著地增大了。層數非常多,神經元也非常多,然後給系統輸入海量的數據,來訓練網路。在吳教授這里,數據是一千萬YouTube視頻中的圖像。吳教授為深度學習(deep learning)加入了「深度」(deep)。這里的「深度」就是說神經網路中眾多的層。

現在,經過深度學習訓練的圖像識別,在一些場景中甚至可以比人做得更好:從識別貓,到辨別血液中癌症的早期成分,到識別核磁共振成像中的腫瘤。Google的AlphaGo先是學會了如何下圍棋,然後與它自己下棋訓練。它訓練自己神經網路的方法,就是不斷地與自己下棋,反復地下,永不停歇。

|深度學習,給人工智慧以璀璨的未來

深度學習使得機器學習能夠實現眾多的應用,並拓展了人工智慧的領域范圍。深度學習摧枯拉朽般地實現了各種任務,使得似乎所有的機器輔助功能都變為可能。無人駕駛汽車,預防性醫療保健,甚至是更好的電影推薦,都近在眼前,或者即將實現。

人工智慧就在現在,就在明天。有了深度學習,人工智慧甚至可以達到我們暢想的科幻小說一般。你的C-3PO我拿走了,你有你的終結者就好了。

D. 該不該堅持學習Machine Learning

Machine Learning的前景怎麼樣?

Machine Learning作為統計學的一個分支,最近好像特別吃香,請大神們解疑,Machine Learning具體是干什麼的,前景什麼樣?


正好剛回答過類似的問題,直接引用下吧

Machine Learning現在是一個很火的研究方向。機器學習是研究計算機怎麼模擬人類的學習行為,並且能組織已有的知識構架使之不斷完善的性能的學科。 是人工智慧的核心,是使計算機具有智能的根本途徑。與其說是統計學的分支,不如說是統計學,計算機科學,信息科學的交叉分科。其涉及的知識面很廣,涵蓋了工智能、哲學、資訊理論、生物學、認知科學、計算復雜性等眾多領域的專業知識。現在存在的一些計算器系統是沒有學習的能力的(或者是有的已有了特別局限的學習能力?),因而是不能滿足生產的需求的。隨意隨著科技的發展,machine Learning肯定會得到長足的發展的。只是,machine Learning也有許多發展方向,不是每個方向都發展的起來。

附上這篇文章的鏈接吧:

數據挖掘和深度學習(deep learning)哪個更有發展前景?


我再補充下Machine Learning的研究目標吧:

認知模型——即是3M認知模型,是人類對真實世界進行認知的過程模型。認知是個系統的過程,其中包含感知,記憶,判斷與學習。因而完成這個認知過程,是個一及其艱難和浩大的工程。

通用學習演算法——像是大家熟知deep Learning就是Machine Learning中的一種比較深的演算法。 其實很多ML演算法都是非邏輯性的,輸入的信息數據通過數學模型而得出一個新的工具,其實可以說是建立一個人工識別號的資料庫。

構造學習系統的方法(面向任務的)——其實就是研究如何通過環境向系統的學習環節提供某些信息。

先說這么多吧,有空的話做個圖解釋下ML的方法論,覺得還是解釋比較抽象,多多包涵吧。



Machine Learning是一門多領域的交叉學科,除了像最常見的統計學、逼近論、演算法復雜度分析理論等,也包括一些與生物領域的科學相關的問題,比如說最常見的人工神經網路中的各類神經元與鏈接方式都是仿照人腦進行操作的、以及遺傳演算法中模擬基因突變的過程等。

機器學習主要就是研究計算機如何模型或實現像人一樣的思維方式去學習知識,通過對新問題的反饋機制,修改或優化自己已經學習到的知識。其是人工智慧的核心,也就是說,人工智慧非常依賴機器學習的好壞與優良程度。

機器學習的方法以及其效果的好壞對於人類未來的發展至關重要,如果效果很高的話,至少可以替代人工做的一些重復的體力勞動,並可以根據特殊情況進行一定的反映。因此,就前景而言還是很好的,尤其是在現在這個大數據時代,越來越多的人類行為相關數據被記錄在案,為機器學習提供了基礎內容。此外,機器學習所產生的一些成果,已經應用於許多領域,包括數據挖掘、自然語言處理等等。

雖然機器學習已經取得了一定的突破,但是還是沒有達到人工智慧的程度,因此有許多問題是需要研究和發展的,因此,未來的發展也是充滿機遇與挑戰的。Machine Learning是個不錯的領域,如果想要進入的話,建議多學習一些基礎思想和編程




機器學習已經越來越平民化了(democratizing),數學和演算法並非一定要很深厚功力,大多通用演算法都是現成的,比如微軟Azure Machine Learning平台已經有很多打包的示例,如用來分析customer churn的示例等。至於operationalization(不知道怎麼翻譯),現在也沒這么難了。

我覺得如果只是應用機器學習來處理現實問題,最難的還是怎麼把通用演算法和自己公司的現實問題聯系起來,比如怎麼定feature,用哪種model,另外怎麼評價最終效果等等。難的是深入理解企業的實際業務,而非技術和演算法。

個人認為趨勢是隨著machine learning平台的成熟以及通用場景的演算法普及,data scientist這個稱號會逐漸平民化甚至消失,最後你搭個回歸模型之類的就像使用Excel處理一些數據這樣簡單。一個PM或者銷售經理可以自己做這事而不需要養一個專門的職位。




機器學習的應用在工業界需求很高,有過工作經驗的人可以很輕松的找到工作,供給遠遠小於需求,而且需求越來越大。

但是招 New Grad (PhD 可以考慮) 相對較少。原因很多,簡單來說,就是 New Grad 往往工程經驗不夠,學術能力也不夠。工業界的現狀不復雜:大公司搞機器學習的組大、人多、要求高,PhD 是進入的門檻;小公司人少,每個人都要獨當一面,因此必須要有過搭建實際機器學習系統的經驗。因此如果兩邊都沒有優勢的話,自然找工作比較吃力。

因此,對於有志於做這個方向的同學來說,建議找工作時調整心態,第一份工作盡量找到工作職責與機器學習相關的組,而不必追求一步到位。人生的職業生涯很長,做好3到5年的職業生涯規劃,積累實際工作經驗,不斷學習與強化自己。人與人的差距並不會在第一份工作中體現,而是在前幾年逐漸顯現出來。




機器學習早期發展是遵循實用主義糙快猛的路線。基本步驟就是靠直覺構造一個優化目標,然後解這個優化問題。數學工具基本上線性代數和凸優化也就夠用了。再深一點涉及博弈論,隨機過程,微分方程,測度論,實分析,泛函分析,李群等。

這個學科發展很快,長期處於理論跟不上實踐。當前的發展勢頭,已經到了一個工科那點數學不太夠用了的階段。很需要一批數學大牛來披荊斬棘一下。很多這個領域的人認為過多的數學沒必要,其實是因為這些人數學菜。我就看到過用代數幾何的方法(resolution of singularity, blow-up)漂亮的解singular model的問題。可惜很少人follow。 總之很多問題是到了需要引入高級數學工具才能漂亮解決的地步了。比如各種不變性和等價性需要黎曼幾何,各種ill pose singular問題需要代數幾何。

結局就是:還是好好去學數學吧。。。。。。





提幾個可能的有關機器學習當中的深度學習發展方向,同時也就是尚待解決的問題:

1.讓深度學習自動調超參。

最近看到有人在一個AI群里推廣自己的一篇論文《Deep Q-Networks for Accelerating the Training of Deep Neural Networks》,大致是用強化學習的方法訓練一個控制器來自動控制學習率以及在一個batch中各個類的樣本佔比。雖然它那篇論文問題很大,訓練出來的控制器極其不通用,只能用在它原本的任務上,但是感覺很容易解決掉,這個另說。想像一下,如果能夠訓練出一個通用的控制器,對於各類任務都能夠自動調整超參(或者只在某個子領域比如圖像分類做到通用也好),那我們就再也不用自稱調參狗了,同時也可以解放出更多的時間用於設計模型、驗證架構,想必深度學習的發展步伐會得到極大加速。

2.自動學習網路架構。

其實說起來這個問題也可以歸入自動調超參,但是感覺應該還是有很大的不同。說起來無非就是兩個方面,一是加法二是減法。加法方面可以參考《Net2Net: Accelerating Learning via Knowledge Transfer》,這篇是讓CNN自動根據需要自動拓展架構,包括橫向的增加filter和縱向的增加layer。減法方面可以參考各類Network Compression(網路壓縮)的論文中的所謂Network Pruning(網路剪枝),比如《Deep Compression - Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding》,雖然這些論文出發點不在於自動學習網路架構而在於壓縮網路規模,而且它們往往是在訓練收斂之後才對網路進行裁剪而非邊訓練邊裁剪,但是感覺只需要再跨一步就可以了。我個人覺得,自動學習網路架構需要解決的最根本問題就是「應該在什麼時機進行架構變動」以及「應該怎麼變」,第二個問題感覺上述論文算是回答得可以了,但是第一個問題似乎還有很多可以探索的地方。對於第一個問題,似乎強化學習就很適合解決,因為顯然可以把它看成一個控制問題。

3.遷移學習。

眾所周知,深度學習的直接訓練依賴大量數據,而transfer和finetune能夠有效利用數據量大的外部任務訓練出來特徵來遷移到數據量小的目標任務上,使得目標任務對於數據量的要求大大減小。現在的問題在於,遷移學習的思想現在大家其實都在用,很多論文中都可以看到finetune的做法,但是對於兩個任務之間需要「多像」才能夠遷移這么一個問題還沒有一個很好的回答。即使我們不奢求能夠給出一個嚴格的數學理論,至少,如果有人能夠做一個非常系統的對比實驗,總結出一些規律,使得我們有信心說在如何如何這樣一個邊界內的任務都是基本上可以transfer的,那將會是一個很大的進步。這個問題也可以這么看,如今我們應該有信心說兩個圖像分類任務可以transfer,但是這個邊界太過狹窄,我個人期待的就是能夠有一套理論或者方法論使得這個邊界大大拓展,然後在這個邊界內我們可以像對兩個圖像分類任務一樣自信滿滿地用遷移學習。

4.無監督/半監督學習。

像LeCun等大佬其實一直在鼓吹這方面,但似乎還沒有搞出像當年CNN(AlexNet)、最近強化學習(阿法狗)這樣級別的大新聞來。我理解在這個問題上的努力方向應該是確定「何種representation最有用」。具體來說,就是找到一個指標,然後用深度網路優化這個指標,使得滿足這個指標的data representation能夠具有非常好的特性。再具體一些,下面舉三個實際例子:

autoencoder以重構損失作為指標來學習一個representation。

之前聽一個講座,演講人介紹他的論文《Why Deep Learning Works: A Manifold Disentanglement Perspective》IEEE Xplore Abstract,其中定義了三個指標來描述深度網路每一層中data representation的「蜷曲程度」,並發現,越高層的數據蜷曲度越低,換言之,越平展。那麼無監督學習是否能夠直接以這個蜷曲度作為損失函數來學習一個representation呢?

這篇論文《Context Encoders: Feature Learning by Inpainting》提出通過預測周邊上下文像素來無監督學習視覺特徵,感覺很像word2vec從一維變成二維。

除了上述的重構損失、蜷曲度、預測上下文精度,還有沒有別的指標學習出來的representation更好呢?個人認為這些問題就是推動無監督/半監督學習進展的關鍵所在。

5.基於外部存儲(external memory)的模型。

如果說RNN、LSTM這樣的模型屬於internal memory / long-term memory的話,那麼以神經圖靈機(Neural Turing Machine)、記憶網路(Memory Network)為代表的模型就應該稱為external memory / really long-term memory了。不過這兩個模型剛出來的時候還太過naive,只能做一些很無聊的task,比如序列復制和排序以及非常簡單的QA,但是現在已經開始看到它們被用到更加實際的問題上面,例如One-shot Learning:《One-shot Learning with Memory-Augmented Neural Networks》。往大了說,如果未來要實現強AI,這種外部存儲的機制肯定是必不可少的。現在的問題在於,神經圖靈機和記憶網路用的外部存儲雖然比LSTM那樣簡單的一個hidden state向量更進一步,但也其實就是很簡單的一片矩陣,沒有任何結構和層次可言,換言之,就是還不夠復雜。所以我猜想接下來可能external memory會和知識圖譜(Knowledge Graph)結合起來或至少是向知識圖譜類似的做法靠攏,因為知識圖譜更加結構化。





咳咳,路過,進來小小的裝一下。本人現在大三,所以說在這個話題上可能並沒有什麼話語權,不過因為最近再跟老師搞項目,正好是這方面的,戳進來分享一下感受吧。

第一是:機器學習前景很好。這是真的,最近看了很多論文,有關數據挖掘數據分析類別的,裡面用到的百分之八九十都是機器學習,這可能也是人工智慧發展的最大需求吧,人工智慧無非是模仿人類,而人類最開始也是對世界充滿了無知,通過學習才慢慢認知這個世界的,個人感覺這就是為什麼機器學習會被提出來吧,像真的實現人工智慧就要從根源開始模仿人類,也就是從學習這個技能上入手。

說完了這個想說的是為什麼前景好呢,上面說過的用途和提出願景好是一方面,另一方面是因為這方面人才還比較少,其實這也是一種發展前景吧。就像前幾年計算機剛剛火起來的時候那些最早接觸計算機的人突然就變得很出名,然後社會上一大部分人都湧入到這個領域中,這是一個道理。機器學習現在還處在起步階段,下一階段怎麼發展決定於人們對他的研究深度和重視程度。就目前人工智慧不斷得到重視來看,應該還是很有發展前景的,說不好會成為繼計算機時代後的又一個新的時代。

以上觀點僅僅是個人觀點,我覺得至少在短時間內這個研究方向只會更火不會被冷,就像大數據一樣,同樣也有人在不斷質疑大數據的發展,不過目前發展的還是很好的不是嗎?

---------------------------------

2016 機器學習之路:一年從無到有掌握機器學習

譯者:聞菲



今天是2016年9月12日AI WORLD 2016世界人工智慧大會倒計時 36天啟航期5折搶票倒計時 7 天




【導讀】程序員 Per Harald Borgen 在 Medium 刊文,介紹了他在一年的時間里,從入門到掌握機器學習的歷程。Borgen 表示,即使沒有博士學位和高深的數學造詣也能掌握機器學習。這一點相信對不少人都挺有吸引力和啟發。不過,博士學位或許真的並非必須,但要掌握機器學習,學再多的數學也不會嫌多。下面就來看 Borgen 不脫產,從菜鳥變熟手提升業績的故事。







第一步:Hacker News 和 Udactiy




Borgen 對機器學習的興趣始於 2014 年。跟很多人一樣,他最初是看到 Hacker News 的帖子,單純覺得教計算機學東西很酷。那時候他還只是個業余的編碼愛好者,連程序員都談不上。




於是,Borgen 開始了他的機器學習之路。首先,到 Uadcity 看監督學習的視頻,然後閱讀所有能找到的、跟機器學習有關的讀物。








Borgen 總結說,「這給了我一點概念上的理解,不過沒有實踐技巧。」




同時,他也十分坦承,Udacity 的 MOOC 他並沒有上完——只要是 MOOC,他幾乎都沒有堅持上完過。這一點,無論怎麼說,至少讓篇文章的置信度倍增。



第二步:掛掉 Coursera 機器學習課




2015 年初,Borgen 為了成為正式的開發人員,參加了 Founders and Coders(FAC)在倫敦的訓練營。在 FAC,他和同學一起,每周二晚上會看 Coursera 上機器學習課程的視頻。






不用說,大名鼎鼎的吳恩達的機器學習課。Borgen 表示課很贊,學了很多,然而他個人覺得這門課不適合新手。至少他自己,就需要反復看視頻才能掌握裡面講的概念——當然,這是 Borgen 的個人感受。不過,Borgen 在 FAC 學的同學也一個個掉隊,最終他自己也掛掉了。




Borgen 總結說,他當時應該學一門用機器學習庫編代碼的課,而不是從零開始建演算法,至少應該用他已經知道的編程語言寫演算法。




一句話,「對新手來說,一邊學語言一遍寫機器學習演算法代碼難度是很高的」。這句話有一定的參考價值。




Borgen 的建議是,可以選擇 Udacity 的《機器學習入門》(Intro to Machine Learning),更容易入門,上來就能實踐,在提升經驗值的過程中,學習的趣味性也會增多。




【經驗】從簡單的實踐學起,之後再學困難的、偏理論的東西。



第三步:一周學會機器學習




Borgen 在 FAC 做的最後一件事情,就是「一周學會機器學習」。他的目標是,一周以後能夠實用機器學習解決實際問題,而他也成功做到了這一點。




具體的經驗 Borgen 寫在了另一篇文章里。有興趣進一步了解,可以訪問:




簡單說,在一周的時間里,Borgen 做了以下幾件事情:




學會了 Scikit Learn


在真實世界資料庫跑了一次機器學習


從零(用 python )寫了一個線性回歸演算法


做了一點兒 NLP




【經驗】騰出一周時間來全身心地沉浸到機器學習裡面去,效果驚人。



第四步:掛掉神經網路




成功在一周的時間里拿下機器學習給了 Borgen 自信。因此,在他結束 FAC 回到挪威時,他計劃進行第二次挑戰——一周內學會神經網路。




然而,事實是殘酷的。離開 FAC 那種 沉浸式學習環境後,要一天寫 10 小時的代碼可不容易。




【教訓】找一個合適的環境做這種事情。




不過,Borgen 到底還是學上了神經網路。去年 7 月份的時候,他寫完了一個網路的代碼。雖然很粗糙,但完成比完美重要,對吧?








下半年,Borgen 換了一份新工作,這在某種程度上影響了他的機器學習學習進展。這一階段他主要做的是實現神經網路,他把大學時學的線性代數重新看了一遍。年底時,Borgen 寫了篇總結:




《學習如何編寫神經網路代碼》




也是在這篇文章里,Borgen 記錄了他從零開始寫代碼的過程。這篇文章在 Medium 上點贊的數量接近 600。



第四步:在 Kaggle 競賽中實踐




2015 年聖誕節,Borgen 參加了 Kaggle 競賽。當然,實踐的效果是顯著的,他得到了通過演算法和數據實際迭代實驗的經驗,也學會了在做機器學習項目時要相信自己的邏輯,「如果調參或特徵工程從邏輯上看有用,那麼一般都會有用」。







第五步:在工作中建立學習的習慣




2016 年初,Borgen 想將他在去年年底獲得的動力持續到工作中,便詢問經理是否能在上班時學新的東西——經理答應了。雖然 Borgen 在文中沒有多寫,實際上,從這個經歷中也能學到東西:




勇於提出需求,它們才有機會得到滿足——當然,你的需求需要合理。




於是,Borgen 就在上班時也能學機器學習啦(拿錢做想做的事情!)。在 2016 年積累了相關經驗以後,Borgen 的第一站是 Uadcity 的深度學習課程。然而,事實證明,對於現在的他來說,Udacity 的這門課已經太淺。不過,課後的 Ipython Notebook 作業卻太難。Debug 澆滅了他的大部分興趣。又一次地,一門 MOOC 被他放棄。






但隨後,Borgen 發現了斯坦福的 CS224D,這門課讓他獲益匪淺。Borgen 總結斯坦福 CS224D 的好處是:




盡管難,但做題從來沒有 debug;


課程提供答案,便於加深理解。




盡管 Borgen 仍然沒有把這門課上完,但他推薦有興趣的人去學。








另外,Borgen 在學這門課的過程中,為了完成題目,請了一位家教,時薪 40 美元,這位家教幫他發現了很多問題。因此,他得到了這么一條經驗。




【經驗】花 50 美元/時的金額聘請機器學習家教,絕對值得。(如果你有機器學習經驗,你可以獲得時薪 50 美元的打工機會。)



學以致用,提高銷售額




Borgen 在工作中實踐機器學習,他搭建了一個系統,節省了公司銷售部門同事的很多時間。相關代碼:




以上就是 Borgen 在實際工作中一年掌握機器學習的歷程。不管帶不帶感,至少十分真實。Borgen 在文章末尾寫道:「如果我做得到,你也做得到。」




尤其是工作中的程序員,你不想試試嗎?

E. 大數據包括哪些

簡單來說,從大數據的生命周期來看,無外乎四個方面:大數據採集、大數據預處理、大數據存儲、大數據分析,共同組成了大數據生命周期里最核心的技術,下面分開來說:

一、大數據採集

大數據採集,即對各種來源的結構化和非結構化海量數據,所進行的採集。

想要學習更多關於大數據的知識可以加群和志同道合的人一起交流一下啊[https://sourl.cn/d9wRmb ]

F. 司馬大大(北京)智能系統有限公司怎麼樣

簡介:司馬大大是一家專注於以人工智慧為基礎的視覺機器人的高新技術企業,致力於視頻大數據的智能管理,採用壓縮感知技術、深度學習技術,為海量視頻資源的採集、存儲、分析和數據結構化提供了一套完整的軟硬體相結合的解決方案。itjuzi是一家數據服務公司
法定代表人:馬兆遠
成立時間:2012-12-07
注冊資本:375.4693萬人民幣
工商注冊號:110108015443017
企業類型:其他有限責任公司
公司地址:北京市海淀區北三環中路44號4號樓1層111

G. 人工智慧涉及哪些核心技術和理論

人工智慧(Artificial Intelligence),英文縮寫為AI。它是研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。 人工智慧是計算機科學的一個分支,它企圖了解智能的實質,並生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統等。人工智慧從誕生以來,理論和技術日益成熟,應用領域也不斷擴大,可以設想,未來人工智慧帶來的科技產品,將會是人類智慧的「容器」。
人工智慧是對人的意識、思維的信息過程的模擬。人工智慧不是人的智能,但能像人那樣思考、也可能超過人的智能。
人工智慧是一門極富挑戰性的科學,從事這項工作的人必須懂得計算機知識,心理學和哲學。人工智慧是包括十分廣泛的科學,它由不同的領域組成,如機器學習,計算機視覺等等,總的說來,人工智慧研究的一個主要目標是使機器能夠勝任一些通常需要人類智能才能完成的復雜工作。但不同的時代、不同的人對這種「復雜工作」的理解是不同的。[1]

H. 人工智慧領域都有哪些

什麼是人工智慧?

人工智慧是研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學,是認知、決策、反饋的過程。

人工智慧技術的細分領域有哪些?

人工智慧技術應用的細分領域:深度學習、計算機視覺、智能機器人、虛擬個人助理、自然語言處理—語音識別、自然語言處理—通用、實時語音翻譯、情境感知計算、手勢控制、視覺內容自動識別、推薦引擎等。

下面,我們就每個細分領域,從概述和技術原理角度稍微做一下展開,供大家拓展一下知識。

1、深度學習

深度學習作為人工智慧領域的一個重要應用領域。說到深度學習,大家第一個想到的肯定是AlphaGo,通過一次又一次的學習、更新演算法,最終在人機大戰中打敗圍棋大師。

對於一個智能系統來講,深度學習的能力大小,決定著它在多大程度上能達到用戶對它的期待。。

深度學習的技術原理:

1.構建一個網路並且隨機初始化所有連接的權重;2.將大量的數據情況輸出到這個網路中;3.網路處理這些動作並且進行學習;4.如果這個動作符合指定的動作,將會增強權重,如果不符合,將會降低權重;5.系統通過如上過程調整權重;6.在成千上萬次的學習之後,超過人類的表現;

2、計算機視覺

計算機視覺是指計算機從圖像中識別出物體、場景和活動的能力。計算機視覺有著廣泛的細分應用,其中包括,醫療領域成像分析、人臉識別、公關安全、安防監控等等。

NLP

自然語言處理技術原理:

1、漢字編碼詞法分析;2、句法分析;3、語義分析;4、文本生成;5、語音識別;

6、智能機器人

智能機器人在生活中隨處可見,掃地機器人、陪伴機器人……這些機器人不管是跟人語音聊天,還是自主定位導航行走、安防監控等,都離不開人工智慧技術的支持。

智能機器人技術原理:

人工智慧技術把機器視覺、自動規劃等認知技術、各種感測器整合到機器人身上,使得機器人擁有判斷、決策的能力,能在各種不同的環境中處理不同的任務。智能穿戴設備、智能家電、智能出行或者無人機設備其實都是類似的原理。

7、引擎推薦

淘寶、京東等商城,以及36氪等資訊網站,會根據你之前瀏覽過的商品、頁面、搜索過的關鍵字推送給你一些相關的產品、或網站內容。這其實就是引擎推薦技術的一種表現。

Google為什麼會做免費搜索引擎,目的就是為了搜集大量的自然搜索數據,豐富他的大數據資料庫,為後面的人工智慧資料庫做准備。

引擎推薦技術原理:

推薦引擎是基於用戶的行為、屬性(用戶瀏覽行為產生的數據),通過演算法分析和處理,主動發現用戶當前或潛在需求,並主動推送信息給用戶的瀏覽頁面。

I. 前饋神經網路、BP神經網路、卷積神經網路的區別與聯系

一、計算方法不同

1、前饋神經網路:一種最簡單的神經網路,各神經元分層排列。每個神經元只與前一層的神經元相連。接收前一層的輸出,並輸出給下一層.各層間沒有反饋。

2、BP神經網路:是一種按照誤差逆向傳播演算法訓練的多層前饋神經網路。

3、卷積神經網路:包含卷積計算且具有深度結構的前饋神經網路。

二、用途不同

1、前饋神經網路:主要應用包括感知器網路、BP網路和RBF網路。

2、BP神經網路:

(1)函數逼近:用輸入向量和相應的輸出向量訓練一個網路逼近一個函數;

(2)模式識別:用一個待定的輸出向量將它與輸入向量聯系起來;

(3)分類:把輸入向量所定義的合適方式進行分類;

(4)數據壓縮:減少輸出向量維數以便於傳輸或存儲。

3、卷積神經網路:可應用於圖像識別、物體識別等計算機視覺、自然語言處理、物理學和遙感科學等領域。

聯系:

BP神經網路和卷積神經網路都屬於前饋神經網路,三者都屬於人工神經網路。因此,三者原理和結構相同。

三、作用不同

1、前饋神經網路:結構簡單,應用廣泛,能夠以任意精度逼近任意連續函數及平方可積函數.而且可以精確實現任意有限訓練樣本集。

2、BP神經網路:具有很強的非線性映射能力和柔性的網路結構。網路的中間層數、各層的神經元個數可根據具體情況任意設定,並且隨著結構的差異其性能也有所不同。

3、卷積神經網路:具有表徵學習能力,能夠按其階層結構對輸入信息進行平移不變分類。

(9)壓縮感知深度學習擴展閱讀

1、BP神經網路優劣勢

BP神經網路無論在網路理論還是在性能方面已比較成熟。其突出優點就是具有很強的非線性映射能力和柔性的網路結構。網路的中間層數、各層的神經元個數可根據具體情況任意設定,並且隨著結構的差異其性能也有所不同。但是BP神經網路也存在以下的一些主要缺陷。

①學習速度慢,即使是一個簡單的問題,一般也需要幾百次甚至上千次的學習才能收斂。

②容易陷入局部極小值。

③網路層數、神經元個數的選擇沒有相應的理論指導。

④網路推廣能力有限。

2、人工神經網路的特點和優越性,主要表現在以下三個方面

①具有自學習功能。例如實現圖像識別時,只在先把許多不同的圖像樣板和對應的應識別的結果輸入人工神經網路,網路就會通過自學習功能,慢慢學會識別類似的圖像。自學習功能對於預測有特別重要的意義。預期未來的人工神經網路計算機將為人類提供經濟預測、效益預測,其應用前途是很遠大的。

②具有聯想存儲功能。用人工神經網路的反饋網路就可以實現這種聯想。

③具有高速尋找優化解的能力。尋找一個復雜問題的優化解,往往需要很大的計算量,利用一個針對某問題而設計的反饋型人工神經網路,發揮計算機的高速運算能力,可能很快找到優化解。

閱讀全文

與壓縮感知深度學習相關的資料

熱點內容
文件伺服器上如何查看 瀏覽:975
雪花繪制源碼 瀏覽:662
app主頁演示圖怎麼做 瀏覽:542
幼兒園設計pdf 瀏覽:645
干接點輸入單片機 瀏覽:541
亞馬遜雲伺服器查看 瀏覽:163
如何用免費雲伺服器 瀏覽:610
php的輸出命令 瀏覽:264
在家怎麼製作解壓小玩具 瀏覽:99
javascript源碼輔助閱讀 瀏覽:384
pythonui開發工具 瀏覽:595
adr指標源碼 瀏覽:217
程序員轉架構管理 瀏覽:959
企業伺服器為什麼不能被拷貝 瀏覽:119
用c編程實現txt搜索 瀏覽:854
JAVA小數隨機數 瀏覽:337
app加拿大pc怎麼操控的 瀏覽:698
光影app蘋果怎麼下載不了 瀏覽:971
php會員注冊代碼 瀏覽:511
csgo如何用128tick伺服器 瀏覽:571